/* Integration and progressive enhancement; the site shell is unchanged. */
.invest-page .loop-body { display: none; }
.invest-page.invest-js .loop-body { display: grid; }
.invest-page.invest-js .loop-static { display: none; }
.invest-page .loop-static { display: grid; gap: 20px; margin-top: 24px; }
.invest-page .loop-static article { padding: 28px; border: 1px solid var(--inv-line); border-radius: 24px; background: #fff; }
.invest-page .loop-static h3 { margin: 15px 0; font-size: 1.4rem; font-weight: 500; }
.invest-page .loop-static p { line-height: 1.85; }
.invest-page .loop-static dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.invest-page .loop-static dt { color: var(--inv-muted); font-size: .8rem; margin-bottom: 8px; }
.invest-page .loop-static dd { margin: 0; line-height: 1.65; }
.invest-page .investment-status { margin: 0; padding: 0 30px 20px; color: #45646b; font-size: .875rem; line-height: 1.8; overflow-wrap: anywhere; }
.invest-page .investment-status:empty { display: none; }
.invest-page .investment-part dl > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(130px, 1.25fr); align-items: center; gap: 12px; }
.invest-page .investment-part dd { min-width: 0; }
.invest-page .investment-part-budget { margin: 18px 0 0; padding: 12px 14px; border-radius: 12px; background: #f3f7f7; color: #526b73; font-size: .8125rem; line-height: 1.8; overflow-wrap: anywhere; }
.invest-page [data-inquiry], .invest-page #investment-note-input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; padding: 12px 14px; border: 1px solid #cdd9dc; border-radius: 12px; background: #fff; color: var(--inv-ink); font: inherit; font-size: 1rem; line-height: 1.5; }
.invest-page [data-inquiry] { text-align: right; font-variant-numeric: tabular-nums; }
.invest-page [data-inquiry]::placeholder, .invest-page #investment-note-input::placeholder { color: #6c7e85; font-size: .875rem; }
.invest-page [data-inquiry]:focus-visible, .invest-page #investment-note-input:focus-visible, .invest-page #investment-send:focus-visible, .invest-page #investment-config-retry:focus-visible { outline: 2px solid #40888a; outline-offset: 3px; }
.invest-page [aria-invalid="true"] { border-color: #ae594e; }
.invest-page .investment-guidance { padding: 22px 30px 0; color: #596c73; font-size: .875rem; line-height: 1.8; }
.invest-page .investment-guidance p { margin: 0 0 6px; }
.invest-page #investment-config-retry { min-height: 44px; margin-top: 8px; }
.invest-page .investment-compose { display: flex; align-items: stretch; gap: 12px; padding: 16px 30px 22px; }
.invest-page #investment-note-input { flex: 1; min-height: 78px; resize: vertical; }
.invest-page #investment-send { flex: 0 0 auto; align-self: stretch; min-width: 80px; min-height: 48px; margin: 0; padding: 14px 20px; border: 0; cursor: pointer; }
.invest-page #investment-send:disabled { background: #e3e9e9; color: #66757a; box-shadow: none; cursor: not-allowed; transform: none; }
.invest-page [hidden] { display: none !important; }
.invest-page .hero-image-note { display: block; }
.invest-page .investment-summary strong, .invest-page .investment-part dd { overflow-wrap: anywhere; }
.invest-page.invest-paused .celebration-spark { animation-play-state: paused !important; }
@media (max-width: 760px) {
  .invest-page .hero-image-note { bottom: 14px; right: 20px; }
  .invest-page .loop-static dl { grid-template-columns: 1fr; }
  .invest-page .investment-summary { grid-template-columns: minmax(0, 1fr); }
  .invest-page .investment-split { grid-column: auto; }
  .invest-page .investment-summary > div { min-width: 0; }
  .invest-page .investment-part dl > div { grid-template-columns: minmax(0, 1fr); gap: 8px; }
  .invest-page [data-inquiry] { text-align: left; }
  .invest-page .investment-guidance { padding: 20px 20px 0; }
  .invest-page .investment-compose { gap: 8px; padding: 14px 20px 20px; }
  .invest-page #investment-send { min-width: 66px; padding: 12px; }
  .invest-page .investment-status { padding: 0 20px 20px; }
}
@media print {
  .invest-page.invest-js .loop-static { display: grid; }
  .invest-page.invest-js .loop-body { display: none; }
  .invest-page .showcase-highlight { background: none; -webkit-text-fill-color: currentColor; color: #293f48; }
  .invest-page .investment-status, .invest-page #investment-config-retry, .invest-page #investment-send { display: none; }
}
