/* ============================================================
   Shelton Station · Apex — identity layer on top of site.css
   ============================================================ */
:root {
  --navy:   #1B2740;   /* the wordmark box on the regional map */
  --deep:   #101A2E;
  --slate:  #4A5670;
  --mist:   #8A94A8;
  --haze:   #C9D0DB;
  --paper:  #F5F6F8;
  --white:  #FFFFFF;
  --beacon: #F05A28;   /* one accent — the orange of the gymnastics floor */
  --beacon-ink: #1a0f08;
  --court:  #7FB6E8;   /* secondary — the volleyball court blue, used sparingly */

  --bg: var(--paper); --surface: var(--white); --surface-2: #ECEFF4;
  --ink: #121A2B; --ink-2: var(--slate); --ink-3: #6A7590;
  --rule: #DEE3EA; --rule-2: var(--haze);
  --band: var(--navy); --band-ink: #F4F6FA; --band-ink-2: #B4BDCF; --band-rule: rgba(255,255,255,.14);
  --accent: var(--beacon); --accent-ink: var(--beacon-ink);
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) { --bg:#0E1526; --surface:#141D33; --surface-2:#1B2540; --ink:#EEF2F8; --ink-2:#B7C2D6; --ink-3:#8A97B0; --rule:#26314D; --rule-2:#31405F; --band:#101A2E; }
}
:root[data-theme="dark"] { --bg:#0E1526; --surface:#141D33; --surface-2:#1B2540; --ink:#EEF2F8; --ink-2:#B7C2D6; --ink-3:#8A97B0; --rule:#26314D; --rule-2:#31405F; --band:#101A2E; }

.btn-primary:hover { background: #FF6A36; }
.btn-navy:hover { background: #26365A; }

/* ---------- wordmark (matches the navy box on the map) ---------- */
.mark { display: inline-grid; grid-auto-flow: column; align-items: center; gap: 10px; text-decoration: none; }
.mark .box { background: var(--navy); color: #fff; font-family: var(--display); font-weight: 800; font-size: .78rem; letter-spacing: .16em; text-transform: uppercase; line-height: 1.05; padding: 7px 9px; border-radius: 4px; text-align: center; }
.mark .box b { display: block; font-weight: 800; }
.mark .sub { font-family: var(--mono); font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; color: currentColor; opacity: .8; }
.nav .mark .box { box-shadow: 0 0 0 1px rgba(255,255,255,.25); }
.nav.solid .mark .box, .nav.light-start .mark .box { box-shadow: none; }

/* ---------- hero (still; building left, copy lower-right) ---------- */
.hero-media img { object-position: 32% 60%; }
.hero-media::after {
  background:
    linear-gradient(180deg, rgba(16,26,46,.38) 0%, rgba(16,26,46,.04) 28%, rgba(16,26,46,.22) 55%, rgba(16,26,46,.92) 100%),
    linear-gradient(270deg, rgba(16,26,46,.55) 0%, rgba(16,26,46,.18) 45%, rgba(16,26,46,0) 70%);
}
.hero .hero-inner { width: 100%; max-width: var(--measure); display: grid; justify-content: end; }
.hero-copy { max-width: 660px; display: grid; gap: 22px; }
@media (max-width: 860px) { .hero-inner { justify-content: stretch; } }
.hero .pill { justify-self: start; display: inline-flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: #fff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.28); padding: 7px 12px; border-radius: 999px; backdrop-filter: blur(6px); }
.hero .pill i { width: 8px; height: 8px; border-radius: 99px; background: var(--accent); box-shadow: 0 0 0 4px rgba(240,90,40,.25); }

/* ---------- property split: image fills the copy height ---------- */
#property .split { align-items: stretch; }
#property .split-media img { height: 100%; min-height: 420px; aspect-ratio: auto; }
@media (max-width: 900px) { #property .split-media img { aspect-ratio: 4 / 3; min-height: 0; height: auto; } }

/* ---------- tenant uses grid ---------- */
.uses { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 900px) { .uses { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .uses { grid-template-columns: 1fr; } }
.use { background: var(--surface); border: 1px solid var(--rule); border-radius: var(--radius); padding: 22px; display: grid; gap: 10px; align-content: start; }
.use svg { width: 34px; height: 34px; color: var(--accent); }
.use b { font-family: var(--display); font-weight: 600; font-size: 1.05rem; letter-spacing: -.012em; }
.use span { color: var(--ink-2); font-size: .95rem; }
.use.taken { border-style: dashed; }
.use.taken .tag { font-family: var(--mono); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.promise { margin-top: 28px; display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: start; background: var(--band); color: var(--band-ink); border-radius: var(--radius); padding: 22px 24px; }
.promise svg { width: 28px; height: 28px; color: var(--accent); margin-top: 2px; }
.promise b { display: block; font-family: var(--display); font-size: 1.15rem; font-weight: 600; letter-spacing: -.012em; margin-bottom: 4px; }
.promise p { color: var(--band-ink-2); font-size: .98rem; max-width: 70ch; }

/* ---------- space ladder (to scale) ---------- */
.ladder { display: grid; gap: 0; }
.ladder-row { display: grid; grid-template-columns: 96px minmax(0, 1fr) 220px; gap: 18px; align-items: center; padding: 22px 0; border-bottom: 1px solid var(--rule); }
.ladder-row:first-child { border-top: 1px solid var(--rule); }
.ladder-row .size { font-family: var(--display); font-weight: 700; font-size: 1.35rem; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.ladder-row .size small { display: block; font-family: var(--mono); font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); font-weight: 500; letter-spacing: .1em; }
.ladder-row .bar { position: relative; height: 36px; background: var(--surface-2); border-radius: 6px; overflow: hidden; }
.ladder-row .bar i { position: absolute; top: 0; bottom: 0; left: 0; background: var(--navy); border-radius: 6px; }
.ladder-row .bar .court { position: absolute; top: 6px; bottom: 6px; width: 0; border-left: 2px solid rgba(255,255,255,.55); }
.ladder-row .fits { font-size: .92rem; color: var(--ink-2); line-height: 1.35; }
.ladder-row .fits b { color: var(--ink); font-weight: 600; }
@media (max-width: 640px) { .ladder-row { grid-template-columns: 84px minmax(0,1fr); } .ladder-row .fits { grid-column: 1 / -1; padding-left: 0; } }
.ladder-key { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 14px; font-family: var(--mono); font-size: .72rem; color: var(--ink-3); letter-spacing: .04em; }
.ladder-key i { display: inline-block; width: 22px; height: 10px; border-radius: 3px; background: var(--navy); vertical-align: middle; margin-right: 6px; }
.ladder-key i.c { width: 2px; height: 14px; background: var(--ink-3); border-radius: 0; }

/* ---------- market bars ---------- */
.bars-market { display: grid; gap: 12px; }
.mrow { display: grid; grid-template-columns: 130px minmax(0,1fr) 78px; gap: 14px; align-items: center; }
.mrow .v { white-space: nowrap; }
.mrow .n { font-weight: 600; font-size: .98rem; }
.mrow .t { height: 14px; background: var(--surface-2); border-radius: 4px; overflow: hidden; }
.mrow .t i { display: block; height: 100%; background: var(--accent); border-radius: 4px; }
.mrow .t i.range { background: linear-gradient(90deg, var(--accent) 0 70%, rgba(240,90,40,.35) 70% 100%); }
.mrow .v { font-family: var(--mono); font-size: .8rem; text-align: right; font-variant-numeric: tabular-nums; color: var(--ink-2); }
@media (max-width: 480px) { .mrow { grid-template-columns: 92px minmax(0,1fr) 72px; gap: 10px; } }
.stat-big { display: grid; gap: 6px; }
.stat-big b { font-family: var(--display); font-size: clamp(2.2rem, 4vw, 3.4rem); font-weight: 700; letter-spacing: -.035em; line-height: 1; font-variant-numeric: tabular-nums; }
.stat-big span { font-family: var(--mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }

/* ---------- timeline ---------- */
.timeline { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 0; position: relative; margin-top: 8px; }
.timeline::before { content: ""; position: absolute; left: 0; right: 0; top: 11px; height: 2px; background: var(--rule-2); }
.tl { position: relative; padding-top: 30px; padding-right: 24px; display: grid; gap: 6px; }
.tl::before { content: ""; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; border-radius: 99px; background: var(--surface); border: 3px solid var(--haze); }
.tl.now::before { border-color: var(--accent); background: var(--accent); box-shadow: 0 0 0 5px rgba(240,90,40,.2); }
.tl span { font-family: var(--mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.tl b { font-family: var(--display); font-weight: 700; font-size: 1.35rem; letter-spacing: -.02em; }
.tl p { color: var(--ink-2); font-size: .95rem; }
@media (max-width: 640px) { .timeline { grid-template-columns: 1fr; gap: 6px; } .timeline::before { display: none; } .tl { padding-top: 0; padding-left: 28px; } .tl::before { top: 6px; } }

/* ---------- map figure ---------- */
.mapfig { margin: 0; background: #fff; border: 1px solid var(--rule); border-radius: var(--radius); overflow: hidden; }
.mapfig img { width: 100%; height: auto; display: block; }
.mapfig figcaption { padding: 12px 16px; font-family: var(--mono); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); border-top: 1px solid var(--rule); }

/* ---------- CTA band ---------- */
.cta-band { background: var(--band); color: var(--band-ink); }
.cta-band .lede { color: var(--band-ink-2); }
.cta-band h2 { color: #fff; }
.cta-inner { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px; align-items: center; }
@media (max-width: 800px) { .cta-inner { grid-template-columns: 1fr; } }
.cta-inner .hero-actions { justify-content: flex-start; }

/* small tweaks */
.form h3 { font-size: 1.15rem; }
.footer .mark .box { background: rgba(255,255,255,.1); box-shadow: 0 0 0 1px rgba(255,255,255,.2); }

/* ---------- renderings strip ---------- */
.renders { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; padding-inline: 8px; }
.renders figure { margin: 0; position: relative; overflow: hidden; border-radius: 10px; background: var(--surface-2); aspect-ratio: 16 / 10; }
.renders img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.renders figure:hover img { transform: scale(1.03); }
.renders figcaption { position: absolute; left: 10px; bottom: 10px; font-family: var(--mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: #fff; background: rgba(16,26,46,.6); padding: 5px 9px; border-radius: 6px; }
@media (max-width: 720px) { .renders { grid-template-columns: 1fr; } .renders figure { aspect-ratio: 16 / 9; } }
.fine { font-size: .84rem; color: var(--ink-3); }
.renders-note { display: block; margin-top: 12px; }

/* ---------- location ---------- */
.loc-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: stretch; }
@media (max-width: 800px) { .loc-grid { grid-template-columns: 1fr; } }
.mapfig { display: flex; flex-direction: column; }
.mapfig img { aspect-ratio: 8 / 5; object-fit: cover; object-position: 50% 50%; }
.mapfig.contain img { object-fit: contain; background: #fff; }
.loc-facts { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1px; background: var(--rule); border: 1px solid var(--rule); border-radius: var(--radius); overflow: hidden; margin-top: 16px; }
@media (max-width: 900px) { .loc-facts { grid-template-columns: repeat(2, minmax(0,1fr)); } }
.loc-fact { background: var(--surface); padding: 22px; display: grid; gap: 4px; align-content: start; }
.loc-fact b { font-family: var(--display); font-weight: 700; font-size: 1.5rem; letter-spacing: -.03em; line-height: 1.05; font-variant-numeric: tabular-nums; }
.loc-fact span { font-family: var(--mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-3); }
.loc-fact p { margin-top: 8px; color: var(--ink-2); font-size: .93rem; }

/* ---------- market (navy band) ---------- */
.market { background: var(--band); color: var(--band-ink); }
.market h2 { color: #fff; }
.market .lede { color: var(--band-ink-2); }
.market .eyebrow { color: var(--band-ink-2); }
.market-grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(28px, 5vw, 72px); align-items: center; }
@media (max-width: 860px) { .market-grid { grid-template-columns: 1fr; } }
.market .mrow .n { color: #fff; }
.market .mrow .t { background: rgba(255,255,255,.1); }
.market .mrow .v { color: var(--band-ink-2); }
.market .mrow.mhead { font-family: var(--mono); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--band-ink-2); margin-bottom: 4px; }
.market .mrow.mhead .n { color: var(--band-ink-2); font-weight: 500; font-size: inherit; }
.market .mrow.mhead .t { background: transparent; height: auto; }
.market .stat-big b { color: #fff; }
.market .stat-big span { color: var(--band-ink-2); }
.market-note { margin-top: 16px; font-family: var(--mono); font-size: .7rem; letter-spacing: .06em; color: var(--band-ink-2); opacity: .85; }

/* ladder inside .fit */
.ladder-row .bar .court { border-left-color: rgba(255,255,255,.7); }


/* leasing page rail */
.rail .timeline-mini { display: grid; gap: 10px; }
.rail .timeline-mini > div { display: grid; grid-template-columns: 72px 1fr; gap: 10px; font-size: .95rem; color: var(--ink-2); }
.rail .timeline-mini > div > span { font-family: var(--mono); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-3); padding-top: 3px; }

/* segmented: keep ranges on one line, wrap the control to two rows on narrow screens */
.segmented span { white-space: nowrap; }
@media (max-width: 560px) { .segmented { display: flex; flex-wrap: wrap; border-radius: 16px; } .segmented label { flex: 1 1 45%; } .segmented span { display: block; text-align: center; padding-inline: 8px; } }
.form-status a { color: inherit; font-weight: 600; }

/* ============================================================
   v2 — destination + category-protection revision (Sept 2026)
   ============================================================ */
html { scroll-padding-top: calc(84px + env(safe-area-inset-top, 0px)); }
section[id], div[id] { scroll-margin-top: calc(84px + env(safe-area-inset-top, 0px)); }

/* hero: crop toward the buildings, label the rendering */
.hero { min-height: min(82vh, 820px); }
.hero-media img { object-position: 40% 72%; }
.render-tag { position: absolute; left: 16px; bottom: 16px; z-index: 1; font-family: var(--mono); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: #fff; background: rgba(16,26,46,.62); padding: 6px 10px; border-radius: 6px; backdrop-filter: blur(6px); }
.hero-copy { max-width: 640px; }
.hero .pill { margin-top: 2px; }
@media (max-width: 860px) { .hero { min-height: 0; } .hero-inner { padding-top: 110px; } .hero .lede { font-size: 1.05rem; } .render-tag { bottom: auto; top: calc(76px + env(safe-area-inset-top, 0px)); left: auto; right: 12px; } }

/* three-part statement strip */
.triad { background: var(--band); color: var(--band-ink); }
.triad-inner { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); }
.triad-inner > div { display: flex; align-items: center; gap: 14px; padding: 22px 24px; border-left: 1px solid var(--band-rule); font-family: var(--display); font-weight: 600; font-size: 1.05rem; letter-spacing: -.01em; }
.triad-inner > div:first-child { border-left: 0; }
.triad-inner svg { width: 28px; height: 28px; flex: 0 0 28px; color: var(--accent); }
@media (max-width: 760px) { .triad-inner { grid-template-columns: 1fr; } .triad-inner > div { border-left: 0; border-top: 1px solid var(--band-rule); padding: 16px 0; } .triad-inner > div:first-child { border-top: 0; } }

/* family visit illustration */
.visit-title { margin-top: 8px; font-size: 1.25rem; }
.visit { list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; counter-reset: step; }
.visit li { position: relative; background: var(--surface); border: 1px solid var(--rule); border-radius: var(--radius); padding: 24px 22px 22px; display: grid; gap: 8px; align-content: start; counter-increment: step; }
.visit li::before { content: counter(step); position: absolute; top: 14px; right: 16px; font-family: var(--mono); font-size: .7rem; letter-spacing: .1em; color: var(--ink-3); }
.visit li:not(:last-child)::after { content: ""; position: absolute; right: -11px; top: 50%; width: 8px; height: 8px; border-top: 2px solid var(--haze); border-right: 2px solid var(--haze); transform: translateY(-50%) rotate(45deg); }
.visit-icon { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 16px; background: var(--surface-2); color: var(--navy); }
.visit-icon svg { width: 44px; height: 44px; }
.visit li b { font-family: var(--display); font-weight: 600; font-size: 1.1rem; letter-spacing: -.012em; margin-top: 4px; }
.visit li p { color: var(--ink-2); font-size: .97rem; }
@media (max-width: 760px) { .visit { grid-template-columns: 1fr; } .visit li:not(:last-child)::after { right: auto; left: 50%; top: auto; bottom: -11px; transform: translateX(-50%) rotate(135deg); } }
.visit-caption { margin-top: 14px; font-family: var(--mono); font-size: .72rem; letter-spacing: .06em; color: var(--ink-3); }
.visit-close { margin-top: 18px; max-width: 66ch; color: var(--ink-2); font-size: 1.02rem; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .visit-icon { color: var(--court); } }
:root[data-theme="dark"] .visit-icon { color: var(--court); }

/* category protection band */
.category { background: var(--band); color: var(--band-ink); }
.category h2 { color: #fff; }
.category .eyebrow { color: var(--band-ink-2); }
.category-inner { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(24px, 5vw, 72px); align-items: start; }
.category-inner h2 { margin-top: 14px; }
.category-copy { display: grid; gap: 18px; }
.category-copy .big-statement { font-family: var(--display); font-weight: 700; font-size: clamp(1.7rem, 3.2vw, 2.6rem); letter-spacing: -.03em; line-height: 1.1; color: #fff; padding-left: 22px; border-left: 4px solid var(--accent); text-wrap: balance; }
.category-copy .lede { color: #fff; }
.category-copy p { color: var(--band-ink-2); }
.category-copy .btn { justify-self: start; margin-top: 4px; }
@media (max-width: 860px) { .category-inner { grid-template-columns: 1fr; } }

/* program interests */
.programs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
.programs a { display: flex; align-items: center; gap: 12px; padding: 14px 16px; min-height: 56px; background: var(--surface); border: 1px solid var(--rule); border-radius: var(--radius-sm); color: var(--ink); text-decoration: none; font-weight: 600; font-size: .98rem; }
.programs a:hover, .programs a:focus-visible { border-color: var(--accent); }
.programs svg { width: 26px; height: 26px; flex: 0 0 26px; color: var(--accent); }
@media (max-width: 900px) { .programs { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 420px) { .programs { grid-template-columns: 1fr; } }
.list-note { margin-top: 14px; font-size: .88rem; color: var(--ink-3); }
.list-link { margin-top: 10px; font-size: 1rem; }
.list-link a { color: var(--ink); font-weight: 600; }

/* the space */
.space { background: var(--surface); border-block: 1px solid var(--rule); }
.facts-row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--rule); border: 1px solid var(--rule); border-radius: var(--radius); overflow: hidden; }
.factcard { background: var(--bg); padding: 20px 22px; display: grid; gap: 6px; align-content: start; }
.factcard b { font-family: var(--display); font-weight: 700; font-size: 1.2rem; letter-spacing: -.02em; line-height: 1.1; }
.factcard span { color: var(--ink-2); font-size: .92rem; }
@media (max-width: 860px) { .facts-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .facts-row { grid-template-columns: 1fr; } }
.space-note { margin-top: 18px; color: var(--ink-2); max-width: 66ch; }
.space-sub { margin-top: 36px; margin-bottom: 14px; font-size: 1.25rem; }
.space .renders { grid-template-columns: repeat(2, minmax(0,1fr)); padding-inline: 0; }
.space .renders figure { aspect-ratio: 16 / 10; }
.space .renders img { object-position: 50% 68%; }
.space .renders-note { margin-top: 12px; }
.space-cta { margin-top: 24px; }

/* location */
.address-line { margin-top: 4px; font-size: 1.05rem; }
.address-line a { color: var(--ink); }
.mapfig figcaption .linklike { font: inherit; color: var(--ink); background: none; border: 0; padding: 0; text-decoration: underline; cursor: pointer; letter-spacing: inherit; text-transform: inherit; }
.mapfig a { display: block; }
.lightbox { border: 0; padding: 0; background: transparent; max-width: min(96vw, 1600px); max-height: 92vh; }
.lightbox::backdrop { background: rgba(8, 14, 28, .88); }
.lightbox img { max-width: 96vw; max-height: 88vh; width: auto; height: auto; border-radius: 12px; display: block; background: #fff; }
.lightbox-close { position: fixed; top: calc(14px + env(safe-area-inset-top, 0px)); right: 14px; width: 44px; height: 44px; border-radius: 999px; border: 0; background: rgba(255,255,255,.16); color: #fff; font-size: 26px; line-height: 1; cursor: pointer; }
.lightbox-close:hover, .lightbox-close:focus-visible { background: rgba(255,255,255,.3); }

/* timeline note */
.timeline-note { margin-top: 22px; color: var(--ink-2); max-width: 66ch; }

/* FAQ */
.faq { background: var(--surface); border-top: 1px solid var(--rule); }
.faq-inner { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); gap: clamp(24px, 5vw, 72px); align-items: start; }
.faq-inner h2 { margin-top: 14px; }
@media (max-width: 860px) { .faq-inner { grid-template-columns: 1fr; } }
.faq-list details { border-top: 1px solid var(--rule); }
.faq-list details:last-child { border-bottom: 1px solid var(--rule); }
.faq-list summary { cursor: pointer; padding: 16px 36px 16px 0; font-family: var(--display); font-weight: 600; font-size: 1.05rem; list-style: none; position: relative; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-size: 1.4rem; color: var(--accent); font-weight: 400; }
.faq-list details[open] summary::after { content: "–"; }
.faq-list summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 6px; }
.faq-list details p { padding: 0 0 18px; color: var(--ink-2); max-width: 70ch; }

/* final band */
.cta-band h2 { color: #fff; font-size: clamp(1.8rem, 3.4vw, 2.6rem); }
.cta-small { margin-top: 16px; font-size: .9rem; color: var(--band-ink-2); }

/* inquiry page */
.reassure { color: var(--ink-2); font-size: 1rem; }
.request { grid-template-areas: "form top" "form side"; grid-template-rows: auto 1fr; }
.request form { grid-area: form; }
.rail-top { grid-area: top; position: static; }
.rail-side { grid-area: side; position: sticky; }
@media (max-width: 900px) { .request { grid-template-areas: "top" "form" "side"; grid-template-rows: auto; } .rail-side { position: static; } }
.rail-render { position: relative; margin: 0; }
.rail-render img { height: auto; aspect-ratio: 16 / 10; }
.rail-render figcaption { position: absolute; left: 10px; bottom: 10px; font-family: var(--mono); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: #fff; background: rgba(16,26,46,.62); padding: 5px 9px; border-radius: 6px; }
.form-unwired { display: grid; gap: 14px; padding: 4px 0 10px; }
.form-unwired p { color: var(--ink-2); }
.form-status.info { display: block; background: var(--surface-2); color: var(--ink-2); border: 1px solid var(--rule); }
[aria-invalid="true"] { border-color: #C6392A !important; }
.field select { width: 100%; }
