/* Highway 90 template (scoped under .hwy90): generated by scripts/scope_css.py from story.css. Do not hand-edit; edit story.css and regenerate. */
@font-face { font-family:'Instrument Serif'; src:url('/site-templates/highway90/fonts/instrument-serif-latin-400-normal.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }

@font-face { font-family:'League Gothic'; src:url('/site-templates/highway90/fonts/league-gothic-latin-400-normal.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }

@font-face { font-family:'Apfel Grotezk'; src:url('/site-templates/highway90/fonts/apfel-grotezk-regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }

@font-face { font-family:'Apfel Grotezk'; src:url('/site-templates/highway90/fonts/apfel-grotezk-mittel.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap; }

@font-face { font-family:'Serif Fallback'; src:local('Georgia'); size-adjust:92%; ascent-override:94%; descent-override:26%; line-gap-override:0%; }

@font-face { font-family:'Sign Fallback'; src:local('Arial Narrow'), local('Arial'); size-adjust:78%; ascent-override:110%; descent-override:28%; line-gap-override:0%; }

/* Host shell: Tailwind 3 preflight (element selectors, specificity 0,0,1) runs before this file.
   Undo it for our own markup only, at the SAME specificity, so this file must load after globals.css.
   :where(.hwy90) adds no specificity, so Developer's islands keep their Tailwind utilities (0,1,0). */
.hwy90 { isolation:isolate; position:relative; }
:where(.hwy90) :is(h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd,hr,pre) { margin:revert; }
:where(.hwy90) :is(h1,h2,h3,h4,h5,h6) { font-size:revert; font-weight:revert; }
:where(.hwy90) :is(ol,ul,menu) { list-style:revert; margin:revert; padding:revert; }
:where(.hwy90) :is(img,svg,video,canvas,picture) { display:revert; vertical-align:revert; height:revert; }
:where(.hwy90) a { color:revert; text-decoration:revert; }
:where(.hwy90) :is(*,::before,::after) { border-width:revert; border-style:revert; border-color:revert; }
:where(.hwy90) :is(button,input,select,textarea) { font:inherit; color:inherit; }
/* Critical scene layout (was <style id="scene-layout"> in index.html) */
/* Keep artwork geometry independent of image decoding and deferred scripts. */
.hwy90.js:not(.menu-ready) #chapter-menu { display:none; }
.hwy90 .chapter,.hwy90 .hero-scene,.hwy90 .portrait-scene { position:relative; isolation:isolate; }
.hwy90 .hero { min-height:100svh; }
.hwy90 .hero-scene { height:100svh; min-height:700px; overflow:hidden; }
.hwy90 .chapter-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; }
.hwy90 .portrait-scene { aspect-ratio:4/5; max-height:760px; overflow:hidden; }
.hwy90 .image-chapter { min-height:100svh; overflow:hidden; }
.hwy90 .parallax-scene { position:absolute; inset:0; overflow:hidden; }
.hwy90 .parallax-layer,.hwy90 .hero-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hwy90 .parallax-layer { transform:scale(var(--overscan,1.16)); transform-origin:center; }
@media(max-width:700px) {
.hwy90 .hero-scene { min-height:740px; max-height:1050px; }
.hwy90 .image-chapter { min-height:850px; }
}
.hwy90 {
  --navy:#0E1A24; --sand:#E8DCC8; --gold:#C9A227; --shell:#F7F3EC; --sign:#1F4D3A;
  --ink:#0E1A24; --muted:#4a5560;
  --serif:'Instrument Serif','Serif Fallback',Georgia,serif;
  --sign-font:'League Gothic','Sign Fallback','Arial Narrow',sans-serif;
  --sans:'Apfel Grotezk',system-ui,-apple-system,'Segoe UI',sans-serif;
  --grain-image:url('/site-templates/highway90/grain.webp');
  --t:0; --ease:cubic-bezier(.2,.7,.1,1);
  --pad:clamp(20px,5vw,80px);
}
.hwy90 { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
.hwy90 { margin:0; font-family:var(--sans); font-size:clamp(16px,1vw + 12px,19px); line-height:1.6; color:var(--ink); background:var(--shell); text-rendering:optimizeLegibility; }
.hwy90::after { content:''; position:fixed; inset:0; z-index:90; pointer-events:none; background-image:var(--grain-image); background-repeat:repeat; background-size:256px; mix-blend-mode:soft-light; opacity:.1; }
.hwy90 img,.hwy90 video,.hwy90 svg { display:block; max-width:100%; }
.hwy90 a { color:inherit; }
.hwy90 :focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.hwy90 .sr-only { position:absolute !important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.hwy90 .skip-link { position:fixed; left:12px; top:-60px; z-index:100; background:var(--navy); color:var(--shell); padding:10px 16px; text-decoration:none; }
.hwy90 .skip-link:focus { top:12px; }
.hwy90 .gold { color:inherit; font-weight:inherit; background:linear-gradient(transparent 62%, rgba(201,162,39,.55) 62%); }
/* The sky runs the length of the page: shell → sand → gold → dusk → navy. */
.hwy90 .sky { position:fixed; inset:0; z-index:-1; background:linear-gradient(180deg,#F7F3EC 0%,#F1E7D3 35%,#EBD7A8 62%,#E3C68A 76%,#6B5A52 86%,#26303A 93%,#0E1A24 100%); background-size:100% 900%; background-position:0 calc(var(--t) * 100%); }
/* Two voices: road sign (League Gothic caps) and Mitchell (serif / sans). */
.hwy90 .sign-voice,.hwy90 .mile-marker,.hwy90 .header-location,.hwy90 .chapter-toggle,.hwy90 .hero-coordinate,.hwy90 .scroll-cue,.hwy90 .footer-links a { font-family:var(--sign-font); text-transform:uppercase; letter-spacing:.06em; }
.hwy90 .sign-voice { margin:0 0 .6em; font-size:clamp(18px,1.3vw + 12px,24px); line-height:1.1; color:var(--sign); }
.hwy90 .voice { font-size:clamp(18px,1vw + 12px,23px); line-height:1.55; max-width:36em; }
.hwy90 h1,.hwy90 h2 { font-family:var(--serif); font-weight:400; letter-spacing:-.01em; margin:0; }
.hwy90 h2 { font-size:clamp(52px,7vw,128px); line-height:.95; margin-bottom:.35em; }
.hwy90 .mile-marker { display:inline-flex; align-items:baseline; gap:.35em; margin:0 0 28px; padding:8px 14px 6px; background:var(--sign); color:#fff; border:2px solid #fff; border-radius:6px; box-shadow:0 0 0 2px var(--sign); font-size:22px; line-height:1; }
.hwy90 .mile-marker span { font-size:15px; opacity:.85; }
.hwy90 .mile-marker small { font-size:15px; margin-left:.6em; padding-left:.6em; border-left:1px solid rgba(255,255,255,.5); }
/* Header + chapter index */
.hwy90 .site-header { position:fixed; inset:0 0 auto; z-index:50; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px var(--pad); color:var(--shell); background:rgba(14,26,36,.82); backdrop-filter:blur(6px); }
.hwy90 .brand { text-decoration:none; }
.hwy90 .brand-sign { font-family:var(--sign-font); font-size:28px; letter-spacing:.08em; }
.hwy90 .header-location { font-size:18px; }
.hwy90 .header-contact { font-family:var(--sign-font); font-size:22px; letter-spacing:.06em; text-decoration:none; border-bottom:2px solid currentColor; }
.hwy90 .scroll-progress { position:fixed; inset:0 0 auto; height:3px; z-index:60; background:var(--gold); transform-origin:0 50%; transform:scaleX(0); }
.hwy90 .chapter-index { position:fixed; left:var(--pad); bottom:22px; z-index:55; transition:opacity .3s; }
.hwy90 .chapter-index.is-obscured { display:none; pointer-events:none; }
.hwy90 .chapter-toggle { font-size:20px; background:var(--sign); color:#fff; border:2px solid #fff; box-shadow:0 0 0 2px var(--sign); border-radius:6px; padding:8px 14px 6px; cursor:pointer; }
.hwy90 .index-mm { font-size:14px; opacity:.85; }
.hwy90 #chapter-menu { position:absolute; bottom:calc(100% + 10px); left:0; margin:0; padding:10px 0; list-style:none; min-width:260px; background:var(--navy); color:var(--shell); border-radius:6px; }
.hwy90 #chapter-menu a { display:block; padding:8px 16px; text-decoration:none; font-size:16px; }
.hwy90 #chapter-menu a span { font-family:var(--sign-font); color:var(--gold); margin-right:8px; letter-spacing:.05em; }
.hwy90 #chapter-menu a[aria-current] { background:rgba(255,255,255,.08); }
.hwy90:not(.js) #chapter-menu { position:static; margin-top:8px; }
.hwy90:not(.js) .chapter-toggle { display:none; }
/* Tide line: one gold stroke down the whole drive. */
.hwy90 main { position:relative; }
.hwy90 .tide-line { position:absolute; inset:0; width:100%; height:100%; z-index:5; pointer-events:none; overflow:visible; }
.hwy90 .tide-path { fill:none; stroke:var(--gold); stroke-width:2; vector-effect:non-scaling-stroke; }
.hwy90 .chapter { position:relative; padding:clamp(96px,14vh,180px) var(--pad); }
.hwy90 .parallax-layer { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transform:scale(var(--overscan,1.16)); transform-origin:center; }
.hwy90 .scene-tint { position:absolute; inset:0; pointer-events:none; }
.hwy90 .chapter-video.is-playing,.hwy90 .hero-video.is-playing { opacity:1; transition:opacity 1.2s; }
.hwy90 .hero-video { opacity:0; }
/* MM 01 hero */
.hwy90 .hero { padding:0; color:var(--shell); }
.hwy90 .hero .scene-tint { background:linear-gradient(180deg,rgba(14,26,36,.15) 0%,rgba(14,26,36,0) 35%,rgba(14,26,36,.72) 100%); }
.hwy90 .hero-content { position:absolute; left:var(--pad); right:var(--pad); bottom:clamp(90px,14vh,150px); z-index:3; max-width:1100px; }
.hwy90 .hero-title-visual { display:block; }
.hwy90 .hero-name { display:block; font-size:clamp(48px,7.4vw,128px); line-height:.92; }
.hwy90 .hero-role,.hwy90 .hero-place { display:block; font-family:var(--sign-font); text-transform:uppercase; letter-spacing:.06em; font-size:clamp(22px,2.4vw,40px); line-height:1.15; margin-top:.25em; }
.hwy90 .hero-place { margin-top:0; }
.hwy90 .hero .gold { color:var(--gold); background:none; }
.hwy90 .hero-lede { max-width:34em; margin:18px 0 0; font-size:clamp(17px,1vw + 12px,21px); text-shadow:0 1px 12px rgba(14,26,36,.5); }
.hwy90 .hero-coordinate { position:absolute; right:var(--pad); top:90px; z-index:3; margin:0; text-align:right; font-size:17px; line-height:1.3; }
.hwy90 .scroll-cue { position:absolute; right:var(--pad); bottom:36px; z-index:3; font-size:20px; text-decoration:none; border-bottom:2px solid var(--gold); }
/* MM 02 */
.hwy90 .rooted-layout { display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(32px,6vw,110px); align-items:center; }
.hwy90 .portrait-scene { margin:0; border-radius:4px; }
.hwy90 .headshot { position:absolute; left:50%; bottom:0; width:86%; max-width:800px; height:auto; transform:translateX(-50%); -webkit-mask-image:linear-gradient(180deg,#000 78%,transparent 100%); mask-image:linear-gradient(180deg,#000 78%,transparent 100%); filter:drop-shadow(-10px 0 18px rgba(201,162,39,.35)); z-index:2; }
.hwy90 .portrait-scene figcaption { position:absolute; right:16px; top:16px; z-index:3; }
.hwy90 .portrait-plate { display:inline-block; font-family:var(--sign-font); text-transform:uppercase; letter-spacing:.06em; font-size:22px; background:var(--sign); color:#fff; padding:6px 12px 4px; border:2px solid #fff; border-radius:6px; box-shadow:0 0 0 2px var(--sign); }
/* MM 03 */
.hwy90 .award { text-align:center; min-height:80svh; display:grid; place-items:center; align-content:center; }
.hwy90 .award .mile-marker { justify-self:center; }
.hwy90 .award-content { max-width:900px; margin:0 auto; }
.hwy90 .award-count { margin:0; font-family:var(--sign-font); font-size:clamp(120px,22vw,340px); line-height:.85; color:var(--gold); font-variant-numeric:tabular-nums; }
/* MM 04 + 06 image chapters */
.hwy90 .image-chapter { min-height:115svh; color:var(--shell); display:flex; flex-direction:column; justify-content:flex-end; }
.hwy90 .image-chapter .scene-tint { background:linear-gradient(90deg,rgba(14,26,36,.82) 0%,rgba(14,26,36,.45) 45%,rgba(14,26,36,0) 75%); }
.hwy90 .image-chapter > .mile-marker,.hwy90 .image-copy { position:relative; z-index:3; }
.hwy90 .image-chapter > .mile-marker { align-self:flex-start; }
.hwy90 .image-copy { max-width:640px; }
.hwy90 .image-chapter .sign-voice { color:var(--gold); }
.hwy90 .image-chapter .gold { background:linear-gradient(transparent 62%, rgba(201,162,39,.7) 62%); }
.hwy90 .steps { margin:0 0 24px; padding-left:1.2em; }
.hwy90 .steps li { margin-bottom:.6em; }
.hwy90 .faq details { border-top:1px solid rgba(247,243,236,.3); padding:10px 0; }
.hwy90 .faq summary { cursor:pointer; font-weight:600; }
.hwy90 .faq p { margin:.5em 0 0; }
.hwy90 .faq { margin-bottom:24px; }
/* Links */
.hwy90 .text-link,.hwy90 .quiet-link { display:inline-block; font-weight:600; text-decoration:none; border-bottom:2px solid var(--gold); padding-bottom:2px; margin-top:8px; }
.hwy90 .quiet-link { font-weight:400; display:block; width:max-content; margin-top:18px; }
/* MM 05 */
.hwy90 .selling-layout { display:grid; grid-template-columns:1fr 1fr; gap:clamp(32px,6vw,110px); align-items:start; }
/* MM 05 two-column block (Mitchell via Milo, Oct 17, 2026 8:57 PM CT): copy left, form card right on one 12-column
   grid, tops aligned. The grid itself is the chapter's .image-copy, so the desktop parallax drift moves copy and card
   together (nothing floats against anything else). Stacks at 900px and below. */
.hwy90 .selling-grid.image-copy { max-width:none; width:100%; }
.hwy90 .selling-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:clamp(20px,2.2vw,32px); row-gap:clamp(32px,5vw,48px); align-items:start; }
.hwy90 .selling-intro { grid-column:1 / span 6; min-width:0; }
.hwy90 .selling-intro > h2 { margin:0 0 clamp(20px,2.4vw,32px); }
.hwy90 .selling-intro .voice { margin-top:0; }
.hwy90 .selling-intro .cta-pair { margin-bottom:0; }
.hwy90 .selling-form { grid-column:8 / span 5; min-width:0; }
@media(max-width:1180px) {
.hwy90 .selling-form { grid-column:7 / span 6; }
}
@media(max-width:900px) {
.hwy90 .selling-intro,.hwy90 .selling-form { grid-column:1 / -1; }
}
/* Line art */
.hwy90 .draw-svg { width:100%; height:auto; overflow:visible; }
.hwy90 .draw-svg path { vector-effect:non-scaling-stroke; }
.hwy90 .lot-boundary { max-width:360px; margin:8px 0 20px; }
.hwy90 .roadside { position:absolute; right:calc(var(--pad) + 120px); bottom:0; z-index:3; width:88px; aspect-ratio:240/520; background:url('/site-templates/highway90/svg/mile-marker.svg') center/contain no-repeat; }
.hwy90 .roadside span { position:absolute; left:0; right:0; top:9%; text-align:center; font-family:var(--sign-font); color:#fff; font-size:30px; line-height:1; letter-spacing:.04em; }
.hwy90 .crossfade-from,.hwy90 .crossfade-to { position:absolute; inset:0; }
.hwy90 .dusk-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; pointer-events:none; }
.hwy90 .dusk-video[data-phase="day"].is-playing,.hwy90 .dusk-video.is-poster[data-phase="day"] { opacity:1; }
.hwy90 .dusk-video[data-phase="night"].is-playing,.hwy90 .dusk-video.is-poster[data-phase="night"] { opacity:var(--night,0); }
.hwy90.js .crossfade-to { opacity:0; }
.hwy90 picture { display:contents; }
.hwy90 .fine-print { font-size:15px; color:var(--muted); }
/* MM 07 night */
.hwy90 .contact { color:var(--shell); min-height:100svh; overflow:hidden; isolation:isolate; background:var(--navy); display:flex; flex-direction:column; justify-content:center; }
.hwy90 .contact .parallax-scene,.hwy90 .contact .dusk-video { z-index:-2; }
.hwy90 .contact .scene-tint { z-index:-1; background:linear-gradient(180deg,var(--navy) 0%,rgba(14,26,36,.55) 30%,rgba(14,26,36,.6) 70%,var(--navy) 100%); }
.hwy90 .selling .selling .quiet-link { color:var(--shell); }
.hwy90 .contact .sign-voice { color:var(--gold); }
.hwy90 .contact-layout { display:grid; grid-template-columns:1fr; gap:40px; align-items:end; }
.hwy90 .contact-phone { display:inline-block; font-family:var(--serif); font-size:clamp(48px,8vw,140px); line-height:1; text-decoration:none; border-bottom:3px solid var(--gold); }
.hwy90 .contact address { font-style:normal; margin-top:24px; font-size:18px; }
.hwy90 .contact > .mile-marker { align-self:flex-start; }
/* Footer */
.hwy90 .site-footer { position:relative; display:grid; grid-template-columns:repeat(3,auto); justify-content:space-between; gap:24px; padding:40px var(--pad) 90px; background:var(--navy); color:var(--sand); font-size:15px; }
.hwy90 .site-footer address { font-style:normal; }
.hwy90 .site-footer p { margin:0 0 6px; }
.hwy90 .footer-links { display:flex; flex-direction:column; gap:8px; }
.hwy90 .footer-links a { font-size:17px; text-decoration:none; }
/* Kinetic headings reveal word by word (only after JS splits them). */
.hwy90.js .kinetic .word { display:inline-block; white-space:nowrap; overflow:hidden; vertical-align:top; padding-bottom:.08em; margin-bottom:-.08em; }
.hwy90.js .kinetic .letter { display:inline-block; }
/* Credits page */
.hwy90 .credits-page { max-width:760px; margin:0 auto; padding:140px var(--pad) 80px; }
.hwy90 .credits-page h1 { font-size:clamp(48px,6vw,96px); line-height:1; margin-bottom:24px; }
.hwy90 .credits-page .credit-entry h2 { font-size:28px; margin:32px 0 8px; }
.hwy90 .credits-page h2 { font-size:28px; margin:32px 0 8px; }
.hwy90 .eyebrow { font-family:var(--sign-font); text-transform:uppercase; letter-spacing:.06em; color:var(--sign); font-size:20px; }
.hwy90 .credits-page ~ .site-footer,.hwy90 .credits-page + .site-footer { margin-top:40px; }
.hwy90:has(.credits-page) .site-header { color:var(--navy); mix-blend-mode:normal; background:var(--shell); }
@media(max-width:900px) {
.hwy90 .rooted-layout,.hwy90 .selling-layout,.hwy90 .contact-layout { grid-template-columns:1fr; }
.hwy90 .site-footer { grid-template-columns:1fr; }
}
@media(max-width:700px) {
.hwy90 .header-location { display:none; }
.hwy90 .hero-coordinate { display:none; }
.hwy90 .hero-content { bottom:96px; }
.hwy90 .scroll-cue { left:var(--pad); right:auto; bottom:40px; }
.hwy90 .image-chapter { min-height:auto; padding-top:60svh; }
.hwy90 .image-chapter .scene-tint { background:linear-gradient(180deg,rgba(14,26,36,0) 0%,rgba(14,26,36,.5) 35%,rgba(14,26,36,.92) 60%); }
.hwy90 .portrait-scene { aspect-ratio:4/5; }
.hwy90 .mile-marker small { display:none; }
.hwy90 [data-desktop-only] { display:none; }
.hwy90 .parallax-layer { transform:scale(1.04); }
.hwy90 .roadside { display:none; }
.hwy90 .chapter-index { display:none; }
.hwy90 .scroll-cue { display:none; }
}
/* MM 03 career milestones (Oct 17, 2026). Static list by default (reduced motion, or before/without motion):
   all five in order, finale emphasised. With motion, the section is a tall sticky stage and story.js adds
   .is-stepping: one milestone at a time, the big League Gothic year tracks it. */
.hwy90 .count { display:inline-block; }
.hwy90 .milestones { list-style:none; margin:24px auto 0; padding:0; max-width:640px; display:grid; gap:12px; text-align:left; }
.hwy90 .milestone { display:grid; grid-template-columns:3.4em 1fr; gap:14px; align-items:baseline; padding:2px 0 2px 16px; border-left:3px solid var(--gold); }
.hwy90 .milestone-year { font-family:var(--sign-font); font-size:28px; line-height:1; letter-spacing:.04em; color:var(--sign); }
.hwy90 .milestone-text { font-family:var(--serif); font-size:clamp(22px,1vw + 16px,30px); line-height:1.15; }
.hwy90 .milestone-finale { border-left-width:6px; }
.hwy90 .milestone-finale .milestone-year { font-size:34px; }
.hwy90 .milestone-finale .milestone-text { font-size:clamp(26px,1.6vw + 18px,40px); }
.hwy90 .award:not(.is-stepping) .award-count { display:none; }
.hwy90 .award.is-stepping .milestones { grid-template-areas:"m"; max-width:820px; margin:10px auto 0; text-align:center; }
.hwy90 .award.is-stepping .milestone { grid-area:m; display:block; padding:0; border:0; opacity:0; transform:translateY(16px); transition:opacity .4s ease,transform .4s ease; }
.hwy90 .award.is-stepping .milestone.is-past { transform:translateY(-16px); }
.hwy90 .award.is-stepping .milestone.is-active { opacity:1; transform:none; }
.hwy90 .award.is-stepping .milestone-year { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.hwy90 .award.is-stepping .milestone-text { display:block; font-size:clamp(28px,2.4vw + 16px,52px); }
.hwy90 .award.is-stepping .milestone-text::after { content:""; display:block; width:72px; height:3px; margin:16px auto 0; background:var(--gold); }
.hwy90 .award.is-stepping .milestone-finale .milestone-text::after { width:140px; height:4px; }
/* The supporting line belongs to the 2026 finale only (Milo, Oct 17, 2026 5:50 PM CT): under that item in the static
   list; in motion it fades in just after the finale step arrives. Not .voice, so the scroll ink-in tween leaves it alone. */
.hwy90 .milestone-note { grid-column:2; margin:8px 0 0; font-size:clamp(16px,.6vw + 13px,19px); line-height:1.55; max-width:36em; }
.hwy90 .award.is-stepping .milestone-note { margin:18px auto 0; opacity:0; transform:translateY(8px); transition:opacity .5s ease .25s,transform .5s ease .25s; }
.hwy90 .award.is-stepping .milestone.is-active .milestone-note { opacity:1; transform:none; }
@media(max-width:700px) {
.hwy90 .award { min-height:100svh; padding-top:max(96px,12svh); padding-bottom:max(40px,6svh); }
.hwy90 .award-count { font-size:clamp(96px,min(34vw,18svh),170px); }
.hwy90 .award h2 { font-size:clamp(42px,min(12vw,7svh),60px); }
.hwy90 .milestone-text { font-size:21px; }
.hwy90 .milestone-finale .milestone-text { font-size:24px; }
.hwy90 .award.is-stepping .milestone-text { font-size:clamp(24px,min(7vw,4svh),32px); }
.hwy90 .milestone-note { font-size:clamp(15px,2.1svh,18px); }
}
/* The tall stage is opt-in: story.js adds html.is-motion-ready (port: .hwy90.is-motion-ready) only after the
   milestone stepper is live, and removes it on failure or reduced motion. No class = static list, natural height. */
@media(prefers-reduced-motion:no-preference) {
.hwy90.is-motion-ready .award { display:grid; grid-template-rows:300vh; grid-template-rows:300svh; min-height:0; padding:0 var(--pad); place-items:start center; align-content:start; }
.hwy90.is-motion-ready .award > .mile-marker,.hwy90.is-motion-ready .award-content { grid-area:1 / 1; position:sticky; align-self:start; }
.hwy90.is-motion-ready .award > .mile-marker { top:76px; z-index:1; }
.hwy90.is-motion-ready .award-content { top:0; width:100%; height:100vh; height:100svh; display:flex; flex-direction:column; justify-content:center; padding:max(132px,16svh) 0 max(32px,5svh); }
}
@media(prefers-reduced-motion:reduce) {
.hwy90 { scroll-behavior:auto; }
.hwy90 *,.hwy90 *:before,.hwy90 *:after { animation:none !important; transition:none !important; }
.hwy90 .hero-video,.hwy90 .chapter-video { display:none; }
.hwy90.js .crossfade-to { opacity:1; }
.hwy90 .dusk-video.is-poster[data-phase="night"] { opacity:1; }
.hwy90 .parallax-layer { transform:scale(var(--overscan,1.16)) !important; }
}
/* Compliance: Mitchell's name/phone and Next Level Realty + office phone always share size, weight and visibility. */
.hwy90 .header-pair { display:flex; gap:22px; font-family:var(--sign-font); font-size:20px; letter-spacing:.05em; text-transform:uppercase; }
.hwy90 .header-pair .pair-item { text-decoration:none; border-bottom:2px solid currentColor; }
.hwy90 .cta-pair { display:flex; flex-wrap:wrap; gap:10px 24px; margin:12px 0 0; }
.hwy90 .cta-pair .text-link { margin-top:0; }
.hwy90 .contact-pair { display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.hwy90 .contact-pair .contact-phone { font-size:clamp(36px,4.6vw,80px); }
.hwy90 .footer-pair p { margin:0 0 10px; }
.hwy90 .footer-pair strong { font-weight:600; }
.hwy90 .cta-label { font-weight:600; flex-basis:100%; }
.hwy90 .footer-pair p:last-child { font-size:15px; }
@media(max-width:700px) {
.hwy90 .site-header { align-items:flex-start; }
.hwy90 .header-pair { flex-direction:column; gap:4px; font-size:16px; text-align:right; }
.hwy90 .contact-pair { grid-template-columns:1fr; }
}
.hwy90 .contact-pair .contact-phone { white-space:nowrap; font-size:clamp(32px,3.8vw,64px); }
.hwy90 .selling .selling-layout { max-width:1100px; }

/* ===== Highway 90 shell for host-platform pages (hand-authored; appended by scripts/scope_css.py) =====
   Detail-page header/footer variant, attribution plate, agent card and LeadForm skin.
   Data pages are calm: no parallax, no video, no scroll-linked motion. DESIGN.md §11.3–11.4. */
.hwy90.hwy90-page { --navy:#0E1A24; --sand:#E8DCC8; --gold:#C9A227; --shell:#F7F3EC; --sign:#1F4D3A; --ink:#0E1A24; --muted:#47525C; --line:#5B6670; --error:#A3261B;
  --serif:'Instrument Serif','Serif Fallback',Georgia,serif; --sign-font:'League Gothic','Sign Fallback','Arial Narrow',sans-serif; --sans:'Apfel Grotezk',system-ui,-apple-system,'Segoe UI',sans-serif;
  --pad:clamp(18px,4.5vw,64px); --wrap:1220px; --ease:cubic-bezier(.2,.7,.1,1);
  font-family:var(--sans); font-size:17px; line-height:1.6; color:var(--ink); background:var(--shell); -webkit-font-smoothing:antialiased; }
.hwy90.hwy90-page :focus-visible { outline:3px solid var(--navy); outline-offset:2px; box-shadow:0 0 0 6px var(--gold); border-radius:2px; }
.hwy90.hwy90-page .hwy90-dark :focus-visible { outline-color:var(--shell); }
.hwy90 .hwy90-sr { position:absolute !important; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
.hwy90 .hwy90-skip { position:absolute; left:12px; top:-80px; z-index:60; padding:10px 16px; background:var(--shell); color:var(--navy); font-weight:600; }
.hwy90 .hwy90-skip:focus { top:12px; }
.hwy90 .hwy90-wrap { max-width:var(--wrap); margin:0 auto; padding:0 var(--pad); }
.hwy90 .hwy90-sign-voice { font-family:var(--sign-font); text-transform:uppercase; letter-spacing:.06em; line-height:1.1; }

/* Header bar */
.hwy90 .hwy90-bar { position:relative; top:0; z-index:40; background:var(--navy); color:var(--shell); border-bottom:2px solid var(--gold); }
.hwy90 .hwy90-bar-in { display:flex; align-items:center; gap:14px; min-height:64px; padding-top:10px; padding-bottom:10px; }
.hwy90 .hwy90-mw { flex:none; display:grid; place-items:center; width:44px; height:44px; border:2px solid var(--shell); border-radius:6px; background:var(--sign); box-shadow:0 0 0 2px var(--sign); font-family:var(--sign-font); font-size:22px; letter-spacing:.06em; color:#fff; text-decoration:none; }
.hwy90 .hwy90-back { font-family:var(--sign-font); font-size:17px; letter-spacing:.06em; text-transform:uppercase; color:var(--shell); text-decoration:none; padding:10px 4px; white-space:nowrap; }
.hwy90 .hwy90-back:hover { text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:.3em; }
.hwy90 .hwy90-bar-in { flex-wrap:wrap; row-gap:8px; }
.hwy90 .hwy90-pair { flex:1 0 100%; display:flex; flex-direction:column; gap:0; padding-top:6px; border-top:1px solid rgba(232,220,200,.25); }
/* Compliance: brokerage first; both items share ONE class, so size and weight are identical by construction. */
.hwy90 .hwy90-pair-item { font-family:var(--sign-font); font-size:17px; letter-spacing:.05em; text-transform:uppercase; line-height:1.25; color:var(--shell); text-decoration:none; white-space:nowrap; }
.hwy90 .hwy90-pair-item { display:inline-block; min-height:28px; padding:4px 0 2px; }
.hwy90 .hwy90-pair-item b { font-weight:400; color:var(--gold); }
.hwy90 .hwy90-pair-item:hover { text-decoration:underline; text-underline-offset:.25em; }
@media (min-width:760px) {
  .hwy90 .hwy90-bar { position:sticky; }
  .hwy90 .hwy90-bar-in { flex-wrap:nowrap; }
  .hwy90 .hwy90-pair { flex:0 1 auto; margin-left:auto; flex-direction:row; gap:26px; align-items:center; padding-top:0; border-top:0; }
  .hwy90 .hwy90-pair-item { font-size:19px; }
}

/* Page head */
.hwy90 .hwy90-head { padding-top:28px; }
.hwy90 .hwy90-mm { display:inline-flex; align-items:baseline; gap:.4em; margin:0 0 18px; padding:7px 12px 5px; background:var(--sign); color:#fff; border:2px solid #fff; border-radius:6px; box-shadow:0 0 0 2px var(--sign); font-family:var(--sign-font); font-size:20px; line-height:1; letter-spacing:.06em; text-transform:uppercase; }
.hwy90 .hwy90-mm span { font-size:14px; opacity:.85; }
.hwy90 .hwy90-mm small { font-size:14px; margin-left:.5em; padding-left:.6em; border-left:1px solid rgba(255,255,255,.55); }
.hwy90 .hwy90-crumbs { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 14px; padding:0; list-style:none; font-size:15px; color:var(--muted); }
.hwy90 .hwy90-crumbs li + li::before { content:'/'; margin-right:6px; color:var(--line); }
.hwy90 .hwy90-crumbs a { color:var(--muted); }
.hwy90 .hwy90-title { margin:0; font-family:var(--serif); font-weight:400; font-size:clamp(40px,7.4vw,92px); line-height:.95; letter-spacing:-.015em; }
.hwy90 .hwy90-title .hwy90-place { display:block; margin-top:.35em; font-family:var(--sign-font); font-size:clamp(20px,2.2vw,28px); letter-spacing:.07em; text-transform:uppercase; color:var(--muted); }
/* The tide line: one gold rule, drawn once. transform only, so it never delays paint. */
.hwy90 .hwy90-rule { display:block; height:3px; width:min(360px,60%); margin:22px 0 20px; background:var(--gold); transform-origin:left; animation:hwy90-draw .9s var(--ease) .1s both; }
@keyframes hwy90-draw { from { transform:scaleX(0); } to { transform:scaleX(1); } }
.hwy90 .hwy90-pricing { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; margin:0 0 6px; }
.hwy90 .hwy90-price { font-family:var(--sign-font); font-size:clamp(40px,5vw,60px); line-height:1; letter-spacing:.02em; }
.hwy90 .hwy90-status { display:inline-block; padding:5px 10px 3px; border:2px solid var(--navy); border-radius:4px; font-family:var(--sign-font); font-size:17px; letter-spacing:.08em; text-transform:uppercase; }
.hwy90 .hwy90-example { display:inline-flex; align-items:center; gap:8px; padding:6px 12px 5px; background:var(--navy); color:var(--shell); border-left:6px solid var(--gold); font-family:var(--sign-font); font-size:17px; letter-spacing:.07em; text-transform:uppercase; line-height:1.2; }

/* Gallery: Developer's markup, our frame */
.hwy90 .hwy90-gallery { margin:26px 0 0; }
.hwy90 .hwy90-gallery-main { position:relative; margin:0; aspect-ratio:3/2; max-height:600px; overflow:hidden; background:var(--sand); }
.hwy90 .hwy90-gallery-main img { width:100%; height:100%; object-fit:cover; }
.hwy90 .hwy90-gallery-main .hwy90-example { position:absolute; left:0; top:16px; }
.hwy90 .hwy90-gallery-main figcaption { position:absolute; right:12px; bottom:12px; padding:5px 10px 3px; background:rgba(14,26,36,.86); color:var(--shell); font-family:var(--sign-font); font-size:16px; letter-spacing:.06em; text-transform:uppercase; }
.hwy90 .hwy90-thumbs { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin:8px 0 0; padding:0; list-style:none; }
.hwy90 .hwy90-thumbs button { display:block; width:100%; padding:0; border:0; background:none; cursor:pointer; aspect-ratio:1; overflow:hidden; }
.hwy90 .hwy90-thumbs img { width:100%; height:100%; object-fit:cover; transition:opacity .2s; }
.hwy90 .hwy90-thumbs button[aria-current="true"] { outline:3px solid var(--gold); outline-offset:-3px; }
.hwy90 .hwy90-thumbs button:not([aria-current="true"]) img { opacity:.8; }
@media (min-width:760px) { .hwy90 .hwy90-gallery { display:grid; grid-template-columns:1fr 168px; gap:8px; } .hwy90 .hwy90-thumbs { grid-template-columns:1fr; margin:0; align-content:start; } .hwy90 .hwy90-thumbs button { aspect-ratio:3/2; } }

/* Details + aside */
.hwy90 .hwy90-detail { display:grid; gap:44px; padding-top:34px; padding-bottom:64px; }
@media (min-width:1024px) { .hwy90 .hwy90-detail { grid-template-columns:minmax(0,1.5fr) minmax(340px,1fr); gap:56px; } .hwy90 .hwy90-aside { position:sticky; top:88px; align-self:start; } }
.hwy90 .hwy90-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin:0 0 36px; border-top:2px solid var(--navy); border-bottom:1px solid var(--line); }
.hwy90 .hwy90-facts div { padding:14px 10px 12px 0; }
.hwy90 .hwy90-facts dt { order:2; font-family:var(--sign-font); font-size:15px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); }
.hwy90 .hwy90-facts dd { margin:0; font-family:var(--sign-font); font-size:32px; line-height:1.05; }
.hwy90 .hwy90-facts div { display:flex; flex-direction:column; }
@media (min-width:600px) { .hwy90 .hwy90-facts { grid-template-columns:repeat(5,1fr); } }
.hwy90 .hwy90-h2 { margin:0 0 14px; font-family:var(--serif); font-weight:400; font-size:clamp(32px,3.6vw,46px); line-height:1.02; }
.hwy90 .hwy90-desc p { max-width:38em; margin:0 0 1em; }
.hwy90 .hwy90-features { display:grid; gap:22px; margin:30px 0 40px; }
@media (min-width:600px) { .hwy90 .hwy90-features { grid-template-columns:repeat(3,1fr); } }
.hwy90 .hwy90-features h3 { margin:0 0 8px; font-family:var(--sign-font); font-weight:400; font-size:19px; letter-spacing:.07em; text-transform:uppercase; color:var(--sign); }
.hwy90 .hwy90-features ul { margin:0; padding:0; list-style:none; }
.hwy90 .hwy90-features li { padding:6px 0; border-bottom:1px solid rgba(91,102,112,.35); font-size:16px; }

/* MLS attribution plate: restyled, never hidden. >=13px, navy on sand. */
.hwy90 .hwy90-mls { padding:20px 22px; background:var(--sand); border-top:3px solid var(--navy); font-size:14px; line-height:1.55; color:var(--ink); }
.hwy90 .hwy90-mls-lines { display:grid; gap:2px; margin:0 0 10px; font-weight:600; }
.hwy90 .hwy90-mls p { margin:0 0 10px; }
.hwy90 .hwy90-mls-row { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; }
.hwy90 .hwy90-mls-badge { display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border:1.5px solid var(--line); background:var(--shell); font-size:13px; font-weight:600; }
.hwy90 .hwy90-eho { display:inline-flex; align-items:center; gap:8px; font-size:14px; font-weight:600; }
.hwy90 .hwy90-eho svg, .hwy90 .hwy90-eho img { width:28px; height:28px; flex:none; }

/* Agent card */
.hwy90 .hwy90-agent { background:#fff; border:1.5px solid rgba(14,26,36,.18); border-top:4px solid var(--gold); padding:24px 22px 22px; }
.hwy90 .hwy90-agent-id { display:flex; gap:14px; align-items:center; margin:0 0 16px; }
.hwy90 .hwy90-agent-id img { width:64px; height:64px; border-radius:50%; object-fit:cover; object-position:50% 20%; background:var(--sand); flex:none; }
.hwy90 .hwy90-agent-lines { display:grid; gap:10px; margin:0; }
/* Same class for the brokerage and for Mitchell: same size, same weight. Brokerage first. */
.hwy90 .hwy90-agent-line { margin:0; font-size:17px; font-weight:600; line-height:1.3; }
.hwy90 .hwy90-agent-line span { display:block; }
.hwy90 .hwy90-agent-line a { color:inherit; text-decoration:underline; text-decoration-color:var(--gold); text-decoration-thickness:2px; text-underline-offset:.2em; white-space:nowrap; }
.hwy90 .hwy90-agent h2 { margin:0 0 12px; font-family:var(--serif); font-weight:400; font-size:30px; line-height:1.05; }

/* LeadForm skin: hooks Developer's LeadForm renders (DESIGN.md §11.4) */
.hwy90 .hwy90-form { display:grid; gap:14px; }
.hwy90 .hwy90-row { display:grid; gap:14px; }
@media (min-width:600px) { .hwy90 .hwy90-form:not(.is-compact) .hwy90-row { grid-template-columns:1fr 1fr; } }
.hwy90 .hwy90-field { display:grid; gap:6px; }
.hwy90 .hwy90-field label, .hwy90 .hwy90-legend { font-family:var(--sign-font); font-size:16px; letter-spacing:.07em; text-transform:uppercase; line-height:1.1; color:var(--ink); }
.hwy90 .hwy90-field .hwy90-opt { font-family:var(--sans); text-transform:none; letter-spacing:0; font-size:14px; color:var(--muted); margin-left:6px; }
.hwy90 .hwy90-input { width:100%; min-height:52px; padding:12px 14px; border:1.5px solid var(--line); border-radius:3px; background:#fff; color:var(--ink); font:inherit; font-size:17px; line-height:1.3; transition:border-color .15s, box-shadow .15s; }
.hwy90 textarea.hwy90-input { min-height:104px; resize:vertical; }
.hwy90 .hwy90-input, .hwy90 .hwy90-consent { scroll-margin-top:110px; }
.hwy90 .hwy90-input:hover { border-color:var(--navy); }
.hwy90 .hwy90-input:focus { outline:3px solid var(--navy); outline-offset:0; box-shadow:0 0 0 6px rgba(201,162,39,.55); border-color:var(--navy); }
.hwy90 .hwy90-input[aria-invalid="true"] { border-color:var(--error); border-width:2px; }
.hwy90 .hwy90-hint { margin:0; font-size:14px; color:var(--muted); }
.hwy90 .hwy90-err { margin:0; font-size:15px; font-weight:600; color:var(--error); }
.hwy90 .hwy90-err:empty { display:none; }
.hwy90 .hwy90-err::before { content:'! '; }
.hwy90 .hwy90-consent { display:grid; grid-template-columns:24px 1fr; gap:10px; align-items:start; min-height:7.6em; padding:12px 14px; background:var(--sand); border-left:3px solid var(--navy); font-size:13px; line-height:1.5; color:var(--ink); cursor:pointer; }
.hwy90 .hwy90-consent input { width:22px; height:22px; margin:1px 0 0; accent-color:var(--navy); cursor:pointer; }
.hwy90 .hwy90-btn { display:inline-flex; justify-content:center; align-items:center; gap:.6em; min-height:54px; padding:14px 26px 12px; border:2px solid var(--navy); border-radius:3px; background:var(--navy); color:var(--shell); font-family:var(--sign-font); font-size:21px; letter-spacing:.08em; text-transform:uppercase; text-decoration:none; cursor:pointer; transition:background-color .15s, color .15s; }
.hwy90 .hwy90-btn:hover { background:var(--sign); border-color:var(--sign); }
.hwy90 .hwy90-btn[disabled] { opacity:.65; cursor:progress; }
.hwy90 .hwy90-btn.is-ghost { background:transparent; color:var(--navy); }
.hwy90 .hwy90-btn.is-ghost:hover { background:var(--navy); color:var(--shell); }
.hwy90 .hwy90-btn.is-gold { background:var(--gold); border-color:var(--gold); color:var(--navy); }
.hwy90 .hwy90-btn.is-gold:hover { background:var(--shell); border-color:var(--shell); }
.hwy90 .hwy90-fine { margin:0; font-size:13px; color:var(--muted); text-align:center; }
.hwy90 .hwy90-formerr { margin:0; padding:10px 12px; border-left:3px solid var(--error); background:#fff; color:var(--error); font-weight:600; font-size:15px; }
.hwy90 .hwy90-formerr:empty { display:none; }
.hwy90 .hwy90-thanks { padding:26px 24px; background:var(--sand); border-top:3px solid var(--gold); }
.hwy90 .hwy90-thanks h3 { margin:0 0 6px; font-family:var(--serif); font-weight:400; font-size:34px; line-height:1.05; }
.hwy90 .hwy90-thanks p { margin:0; }
.hwy90 .hwy90-hp { position:absolute !important; left:-10000px; width:1px; height:1px; overflow:hidden; }

/* Home value band (MM 05) */
.hwy90 .hwy90-value { background:var(--navy); color:var(--shell); }
.hwy90 .hwy90-value-in { display:grid; gap:40px; padding-top:64px; padding-bottom:72px; }
@media (min-width:1024px) { .hwy90 .hwy90-value-in { grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:72px; align-items:start; } }
.hwy90 .hwy90-value .hwy90-title { font-size:clamp(46px,6.4vw,96px); }
.hwy90 .hwy90-value .hwy90-lede { max-width:30em; font-size:19px; margin:0 0 26px; color:var(--sand); }
.hwy90 .hwy90-value .hwy90-steps { margin:0 0 30px; padding:0; list-style:none; counter-reset:s; display:grid; gap:12px; }
.hwy90 .hwy90-value .hwy90-steps li { counter-increment:s; display:grid; grid-template-columns:44px 1fr; gap:12px; align-items:baseline; color:var(--shell); }
.hwy90 .hwy90-value .hwy90-steps li::before { content:counter(s,decimal-leading-zero); font-family:var(--sign-font); font-size:26px; color:var(--gold); }
.hwy90 .hwy90-value .hwy90-or { margin:18px 0 0; font-size:15px; color:var(--sand); }
.hwy90 .hwy90-value .hwy90-panel { background:var(--shell); color:var(--ink); padding:28px 24px 24px; border-top:4px solid var(--gold); }
@media (min-width:600px) { .hwy90 .hwy90-value .hwy90-panel { padding:34px 34px 28px; } }
.hwy90 .hwy90-panel h3 { margin:0 0 4px; font-family:var(--serif); font-weight:400; font-size:34px; line-height:1.05; }
.hwy90 .hwy90-panel > p { margin:0 0 18px; color:var(--muted); font-size:16px; }

/* Footer */
.hwy90 .hwy90-foot { background:var(--navy); color:var(--sand); border-top:1px solid rgba(232,220,200,.25); font-size:15px; }
.hwy90 .hwy90-foot-in { display:grid; gap:28px; padding-top:44px; padding-bottom:40px; }
@media (min-width:900px) { .hwy90 .hwy90-foot-in { grid-template-columns:1.2fr 1fr auto; } }
.hwy90 .hwy90-foot-pair { display:grid; gap:14px; margin:0 0 14px; }
@media (min-width:600px) { .hwy90 .hwy90-foot-pair { grid-template-columns:1fr 1fr; } }
.hwy90 .hwy90-foot-pair p { margin:0; font-size:18px; line-height:1.35; }
.hwy90 .hwy90-foot-pair strong { display:block; font-weight:600; color:var(--shell); }
.hwy90 .hwy90-foot-pair a { color:var(--shell); }
.hwy90 .hwy90-foot address { font-style:normal; margin:0 0 8px; }
.hwy90 .hwy90-foot p { margin:0 0 8px; }
.hwy90 .hwy90-foot .hwy90-eho { color:var(--shell); font-size:16px; }
.hwy90 .hwy90-foot .hwy90-eho svg { width:40px; height:40px; }
.hwy90 .hwy90-foot details summary { cursor:pointer; color:var(--shell); font-family:var(--sign-font); font-size:17px; letter-spacing:.06em; text-transform:uppercase; }
.hwy90 .hwy90-foot details p { margin:8px 0 0; max-width:34em; }
.hwy90 .hwy90-foot a { color:var(--shell); }

@media (prefers-reduced-motion:reduce) {
  .hwy90 .hwy90-rule { animation:none; }
  .hwy90 .hwy90-thumbs img, .hwy90 .hwy90-input, .hwy90 .hwy90-btn { transition:none; }
}

/* Phones: agent card sits right after the facts (feature map), not after the whole description. */
@media (max-width:1023px) {
  .hwy90 .hwy90-detail { gap:0; }
  .hwy90 .hwy90-detail-main { display:contents; }
  .hwy90 .hwy90-facts { order:1; }
  .hwy90 .hwy90-aside { order:2; margin:0 0 40px; }
  .hwy90 .hwy90-desc { order:3; }
  .hwy90 .hwy90-features { order:4; }
  .hwy90 .hwy90-mls { order:5; }
}
/* Data pages: no grain overlay (saves a 36 KB texture and keeps type crisp). */
.hwy90.hwy90-page::after { content:none; }
.hwy90 .hwy90-tags { display:flex; flex-wrap:wrap; align-items:center; gap:12px 14px; margin:0 0 16px; }
.hwy90 .hwy90-tags .hwy90-mm { margin:0; }
.hwy90 .hwy90-head-row { display:grid; gap:4px; }
@media (min-width:900px) {
  .hwy90 .hwy90-head-row { grid-template-columns:1fr auto; align-items:end; gap:32px; }
  .hwy90 .hwy90-head-row .hwy90-pricing { flex-direction:column; align-items:flex-end; margin-bottom:22px; }
  .hwy90 .hwy90-head-row .hwy90-rule { margin-bottom:0; }
}
@media (max-width:599px) { .hwy90 .hwy90-crumbs li[aria-current] { display:none; } .hwy90 .hwy90-head { padding-top:20px; } }

/* ---- Home page: "Find a Home" band + MLS search island (Oct 17, 2026) ----
   Markup is the port's: section.find-a-home > h2, .header-pair, EHO svg, .hwy90-island > section#search.
   Only presentation changes here; the search form's fields, handler and the results/detail dialogs
   (portalled to <body>, outside .hwy90) are untouched. */
.hwy90 .find-a-home { position:relative; z-index:1; display:grid; grid-template-columns:1fr; justify-items:center; gap:14px; padding:clamp(56px,8vw,104px) var(--pad) clamp(64px,8vw,112px); background:var(--sand); color:var(--ink); text-align:center; border-top:6px solid var(--gold); }
.hwy90 .find-a-home > h2 { margin:0; font-family:var(--sign-font); font-size:22px; line-height:1.1; letter-spacing:.08em; text-transform:uppercase; color:var(--sign); }
.hwy90 .find-a-home > .header-pair { flex-wrap:wrap; justify-content:center; gap:10px 28px; font-size:20px; color:var(--ink); }
.hwy90 .find-a-home > .header-pair .pair-item { color:inherit; }
.hwy90 .find-a-home > svg { width:32px; height:32px; color:var(--ink); }
.hwy90 .find-a-home > .hwy90-island { width:100%; max-width:1080px; }
.hwy90 .find-a-home #search { max-width:none; margin:0; padding:clamp(20px,3vw,36px) 0 0; }
.hwy90 .find-a-home #search > div:first-child { margin:0 0 clamp(20px,3vw,32px); }
.hwy90 .find-a-home #search h2 { margin:0; font-family:var(--serif); font-size:clamp(48px,6.4vw,96px); font-weight:400; line-height:.95; letter-spacing:-.01em; color:var(--ink); }
.hwy90 .find-a-home #search h2 + p { margin:12px 0 0; font-size:clamp(17px,1vw + 12px,20px); color:var(--muted); }
.hwy90 .find-a-home #search form { max-width:none; gap:10px; padding:12px; background:var(--navy); border-top:4px solid var(--gold); box-shadow:0 18px 40px -24px rgba(14,26,36,.55); }
.hwy90 .find-a-home #search form input { min-height:56px; padding:14px 16px; border:0; border-radius:0; background:#fff; color:var(--ink); font-family:var(--sans); font-size:17px; }
.hwy90 .find-a-home #search form input::placeholder { color:#5B6670; opacity:1; }
.hwy90 .find-a-home #search form button { min-height:56px; padding:0 30px; border-radius:0; box-shadow:none; color:var(--navy); font-family:var(--sign-font); font-size:22px; font-weight:400; letter-spacing:.08em; text-transform:uppercase; }
.hwy90 .find-a-home #search form button svg { width:20px; height:20px; stroke-width:2.5; }
@media (min-width:640px) {
  .hwy90 .find-a-home #search form input[type=number] { flex:0 0 9.5rem; width:9.5rem; }
}
@media (min-width:900px) {
  .hwy90 .find-a-home { grid-template-columns:1fr auto auto; justify-items:start; align-items:center; column-gap:28px; text-align:left; }
  .hwy90 .find-a-home > .header-pair { justify-self:end; }
  .hwy90 .find-a-home > .hwy90-island { grid-column:1 / -1; justify-self:center; }
  .hwy90 .find-a-home #search > div:first-child { text-align:center; }
}
@media (max-width:899px) { .hwy90 .find-a-home > .header-pair { flex-direction:column; align-items:center; gap:6px; text-align:center; } }

/* ---- My Listings band + MM 05 form card (Mitchell via Milo, Oct 17, 2026 8:57 PM CT) ----
   Page order is hero, IDX search, My Listings, then the chapters. The listings are their own band
   (section#my-listings.listings-band) right under the search band: cream cards with a gold top edge and a
   League Gothic price (whole dollars), a centred grid on desktop (1, 2 or 3 per row) and a swipe row on phones.
   With no listings the band is not rendered at all. ListingCard's own rail sizing (w-[85vw] max-w-sm sm:w-[20rem])
   is neutralised inside the strip. */
.hwy90 .listings-band { position:relative; z-index:6; padding:clamp(8px,1.5vw,16px) var(--pad) clamp(64px,8vw,112px); background:var(--sand); color:var(--ink); }
.hwy90 .listings-band::before { content:""; display:block; max-width:1080px; height:1px; margin:0 auto clamp(40px,5vw,64px); background:rgba(14,26,36,.18); }
.hwy90 .listings-head { max-width:1080px; margin:0 auto clamp(24px,3vw,36px); text-align:center; }
.hwy90 .listings-head h2 { margin:0; font-family:var(--serif); font-size:clamp(40px,4.4vw,68px); font-weight:400; line-height:1; letter-spacing:-.01em; color:var(--ink); }
.hwy90 .listings-broker { margin:14px 0 0; font-size:20px; letter-spacing:.02em; color:var(--ink); }
.hwy90 .listings-band .listings-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; max-width:1080px; margin:0 auto; padding:0; }
.hwy90 .listings-band .listings-strip[data-count="1"] { grid-template-columns:minmax(0,400px); justify-content:center; }
.hwy90 .listings-band .listings-strip[data-count="2"] { grid-template-columns:repeat(2,minmax(0,400px)); justify-content:center; }
.hwy90 .listings-strip > .hwy90-island { display:flex; min-width:0; }
.hwy90 .listings-strip > .hwy90-island > a { width:100%; max-width:none; flex:1 1 auto; border:0; border-top:4px solid var(--gold); border-radius:0; background:var(--shell); color:var(--ink); box-shadow:0 18px 36px -24px rgba(14,26,36,.5); }
.hwy90 .listings-strip > .hwy90-island > a > div:first-child { aspect-ratio:3/2; background:var(--sand); }
.hwy90 .listings-strip > .hwy90-island > a > div:first-child > span { border-radius:4px; font-family:var(--sign-font); font-size:15px; font-weight:400; letter-spacing:.08em; }
.hwy90 .listings-strip > .hwy90-island > a > div:last-child { padding:18px 20px 20px; }
.hwy90 .listings-strip > .hwy90-island > a > div:last-child > div:first-child { font-family:var(--sign-font); font-size:30px; font-weight:400; line-height:1.05; letter-spacing:.03em; color:var(--ink); }
.hwy90 .listings-strip > .hwy90-island > a > div:last-child > div:not(:first-child) { color:var(--muted); font-size:15px; }
.hwy90 .listings-strip > .hwy90-island > a > div:last-child > div:nth-child(2) { color:var(--ink); font-size:16px; }
.hwy90 .listings-strip > .hwy90-island > a:focus-visible { outline:3px solid var(--gold); outline-offset:4px; }
@media (max-width:700px) {
  /* [data-count] matches the desktop centring rules' specificity: a centred overflowing flex row would push the first card out of reach. */
  .hwy90 .listings-band .listings-strip,.hwy90 .listings-band .listings-strip[data-count] { display:flex; justify-content:flex-start; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; margin-inline:calc(var(--pad) * -1); padding:4px var(--pad) 16px; scroll-padding-inline:var(--pad); }
  .hwy90 .listings-band .listings-strip > .hwy90-island { flex:0 0 min(82vw,320px); scroll-snap-align:start; }
  .hwy90 .listings-band .listings-strip[data-count="1"] { display:grid; grid-template-columns:minmax(0,420px); overflow:visible; margin-inline:0; padding:4px 0 0; }
}
/* MM 05 form card: the right-hand column of .selling-grid (story.css). Lifted above the scene and tint, and the grid
   chapter sits above the page-long tide line (z-index 5): .chapter is isolated, so the lift has to be on the section.
   The gold meander passes under MM 05 and the My Listings band instead of crossing the cards. */
.hwy90 #the-right-buyer { z-index:6; }
.hwy90 .selling-grid > .hwy90-value { position:relative; z-index:3; margin:0; background:transparent; }
.hwy90 .selling-grid > .hwy90-value .hwy90-panel { max-width:none; box-shadow:0 24px 48px -28px rgba(0,0,0,.7); }
@media (max-width:639px) {
  .hwy90 .find-a-home #search form { display:grid; grid-template-columns:1fr 1fr; }
  .hwy90 .find-a-home #search form > input:first-child, .hwy90 .find-a-home #search form > button { grid-column:1 / -1; }
}
