/* Homepage scenes. Motion is composed in light-scenes.js. */
.home-document .closing { position: relative; }
.closing-aura { position: absolute; inset: 0; pointer-events: none; }
.home-document .closing > :not(.closing-aura) { position: relative; z-index: 1; }
.home-document { scroll-padding-top: 86px; }
.home-document.home-starting { scroll-snap-type: none !important; scroll-behavior: auto !important; }
.home-document .header { position: sticky; top: 0; background: rgba(11,13,26,.88); backdrop-filter: blur(18px); }
.home-document .reveal { opacity: 1; transform: none; transition: none; }
.home-document .hero-bottom { justify-content: flex-end; }
.home-document main > section { scroll-margin-top: 0; }
.home-document .kicker { line-height: 1.8; }
.home-document .story,
.home-document .journey { position: relative; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: 20px 36px; padding: 48px 0; min-height: calc(100svh - 86px); }
.home-document .intro { max-width: none; min-width: 0; }
.home-document .intro h2 { font-size: clamp(34px, 3.5vw, 56px); line-height: 1.34; letter-spacing: -.055em; }
.home-document .journey { display: block; }
.home-document body { overflow-x: clip; }
.home-document .journey-intro { margin-left: 0; margin-right: 0; margin-top: 0; text-align: left; }
.home-document .journey-intro h2 { font-size: clamp(30px,3.2vw,48px); }
.home-document .memory-field { width: 100%; height: clamp(360px, 56svh, 610px); margin: 0; background: none; border: 0; border-radius: 0; overflow: visible; }
.home-document .memory-field:before { display: none; }
.light-canvas { display: block; width: 100%; height: 100%; }
.memory-field .light-canvas { position: absolute; inset: 0; }
.home-document .memory { width: 38%; margin: 0; z-index: 1; text-align: center; pointer-events: none; }
.home-document .memory h3 { font-size: clamp(22px, 2.4vw, 30px); margin: 0 0 6px; letter-spacing: .16em; }
.home-document .memory p { font-size: 12px; line-height: 1.8; color: #b3bfcb; }
.home-document .scene { top: 4%; left: 2%; }
.home-document .feeling { top: 4%; left: 60%; right: auto; }
.home-document .footprint { top: 84%; left: 2%; bottom: auto; }
.home-document .hope { top: 84%; left: 60%; right: auto; bottom: auto; }
.journey-stage { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0 18px; align-content: center; align-items: start; }
.journey-intro { grid-column: 1 / -1; margin-bottom: clamp(72px,10svh,120px); }
.value-visual { position: relative; grid-column: 1 / -1; grid-row: 3; height: clamp(240px,38svh,400px); margin-top: 0; min-width: 0; }
.journey-copy { grid-column: 1 / -1; grid-row: 2; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 18px; min-width: 0; }
.journey-copy .journey-step { min-width: 0; margin: 0; padding: 0; text-align: center; opacity: .26; transition: opacity .55s ease; }
.journey-copy h3 { margin: 0 0 9px; color: var(--gold); font-size: clamp(20px,2vw,29px); font-weight: 400; line-height: 1.25; letter-spacing: .06em; }
.journey-copy .journey-step:nth-child(n+3) h3 { color: var(--cyan); }
.journey-copy p { max-width: 220px; margin: 0 auto; font-size: clamp(12px,1.05vw,14px); line-height: 1.7; color: #b3bfcb; }
.journey-progress { display: none; }
.home-document .journey.journey-enhanced { height: calc(100svh - 86px); min-height: calc(100svh - 86px); padding: 0; box-sizing: border-box; }
.journey-enhanced .journey-stage { position: relative; min-height: calc(100svh - 86px); padding: 28px 0; box-sizing: border-box; }
.journey-enhanced .journey-copy .journey-step.is-current { opacity: 1; }
.journey-enhanced .journey-copy .journey-step.is-complete { opacity: .7; }
.journey-enhanced .journey-progress { display: none; }
.journey-enhanced.journey-complete .journey-copy .journey-step { opacity: .78; }
.scene-replay { position: absolute; right: 2px; bottom: 2px; width: 40px; height: 40px; border: 1px solid rgba(242,245,255,.19); border-radius: 50%; color: var(--muted); background: rgba(11,13,26,.5); cursor: pointer; display: grid; place-items: center; transition: color .2s, border-color .2s; z-index: 2; }
.scene-replay svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.scene-replay:hover { color: var(--gold); border-color: var(--gold); }
.scene-replay:focus-visible { outline: 2px solid var(--cyan); outline-offset: 5px; }
.home-document .closing { min-height: calc(100svh - 86px); display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 64px 0; }
.home-document .closing h2 { max-width: none; margin: 0; white-space: nowrap; font-size: clamp(36px,4.2vw,64px); }
.home-document:lang(en) .closing h2 { white-space: normal; font-size: clamp(30px,3.5vw,52px); max-width: 1050px; }
.home-document:lang(en) .hero h1 { font-size: clamp(46px,5vw,76px); line-height: 1.12; letter-spacing: -.045em; }
.home-document:lang(en) .intro h2 { font-size: clamp(30px,3.2vw,48px); letter-spacing: -.035em; }

@media (min-width: 781px) and (min-height: 620px) and (prefers-reduced-motion: no-preference) {
  .home-document { scroll-snap-type: y mandatory; }
  .home-document main > section { scroll-snap-align: start; scroll-snap-stop: always; }
  .home-document .hero { min-height: calc(100svh - 86px); }
  .home-document .footer { scroll-snap-align: end; }
  .home-document .story,.home-document .journey { height: calc(100svh - 86px); }
  .home-document .journey { height: auto; min-height: calc(100svh - 86px); }
  .motion-ready .memory { opacity: 0; transition: opacity .8s, translate 1.2s cubic-bezier(.2,.7,.2,1); translate: 0 16px; }
  .motion-ready .memory.is-formed { opacity: 1; translate: 0 0; }
}

@media (max-width: 780px) and (prefers-reduced-motion: no-preference) {
  .home-document { scroll-snap-type: y mandatory; }
  .home-document main > section { scroll-snap-align: start; scroll-snap-stop: always; }
  .home-document .hero { min-height: calc(100svh - 73px); }
  .home-document .footer { scroll-snap-align: end; }
}

@media (max-width: 780px) {
  .home-document { scroll-padding-top: 73px; }
  .home-document .header { gap: 4px; }
  .home-document .wordmark { flex-shrink: 0; width: 110px; }
  .home-document .nav { gap: 13px; }
  .home-document .actions { margin-left: 9px; }
  .home-document .hero { flex-direction: column; padding: 54px 0 70px; }
  .home-document .story,.home-document .journey { grid-template-columns: 1fr; gap: 28px; height: auto; padding: 70px 0; min-height: calc(100svh - 73px); }
  .home-document .intro h2 { font-size: clamp(31px,8.5vw,43px); }
  .home-document .memory-field { height: 410px; }
  .home-document .memory h3 { font-size: 23px; }
  .home-document .memory p { font-size: 11px; }
  .home-document .journey-intro h2 { font-size: clamp(28px,8vw,43px); }
  .journey-stage { grid-template-columns: repeat(4, minmax(0,1fr)); gap: 0 8px; }
  .home-document .journey-intro h2 { font-size: clamp(23px,6vw,36px); }
  .journey-intro .kicker { margin-bottom: 12px; }
  .home-document .value-visual { grid-column: 1 / -1; grid-row: 3; height: clamp(260px,40svh,340px); margin-top: 0; width: 100%; justify-self: stretch; }
  .journey-copy { grid-column: 1 / -1; grid-row: 2; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px 12px; }
  .journey-copy h3 { margin-bottom: 6px; font-size: clamp(16px,4.7vw,20px); }
  .journey-copy p { font-size: 11px; line-height: 1.55; }
  .journey-copy .journey-step { padding: 0; }
  .home-document .journey.journey-enhanced { min-height: calc(100svh - 73px); }
  .journey-enhanced .journey-stage { min-height: calc(100svh - 73px); padding: 20px 0; }
  .home-document:lang(en) .journey-intro h2 { font-size: clamp(22px,5.8vw,32px); }
  .home-document .closing h2 { font-size: clamp(25px,8vw,32px); letter-spacing: -.075em; }
}

@media (min-width: 781px) and (max-height: 740px) {
  .home-document .journey { padding: 24px 0; gap: 18px 36px; }
  .home-document .journey-intro h2 { font-size: clamp(28px,3vw,40px); }
  .home-document .value-visual { height: 360px; }
  .journey-enhanced .journey-stage { gap: 16px 32px; padding: 20px 0; }
}

@media (prefers-reduced-motion: reduce) {
  .home-document { scroll-snap-type: none; }
  .home-document .memory { transition: none; }
  .scene-replay { display: none; }
}

/* Reduced motion retains the complete readable content without autoplay. */
@media (prefers-reduced-motion: reduce) {
  .home-document .journey.journey-enhanced { height: auto; min-height: calc(100svh - 86px); padding: 56px 0; }
  .journey-enhanced .journey-stage { min-height: 0; padding: 0; }
  .journey-enhanced .journey-copy { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
  .journey-enhanced .journey-copy .journey-step { display: block; opacity: 1; }
  .journey-enhanced .journey-progress { display: none; }
  .journey-copy h3 { font-size: 28px; }
}

/* === Three-page redesign preview v0.8 === */
.nav a[aria-current="page"]{color:var(--white)}

/* About page: intro → mission/vision dual cards → HQ (no Hero) */
.about-page{padding-bottom:80px}
.about-intro{padding:96px 0 48px;max-width:min(calc(100% - 80px),960px)}
.about-intro .kicker{margin-bottom:28px}
.about-intro-copy{display:grid;gap:22px}
.about-intro-copy p{margin:0;color:rgba(242,245,255,.96);font-size:clamp(16px,1.35vw,19px);line-height:1.9;letter-spacing:.01em}

.about-mission-vision{padding:28px 0 56px}
.mv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.mv-card{min-height:220px;padding:36px 34px;border:1px solid var(--line);border-radius:22px;background:linear-gradient(135deg,rgba(20,23,42,.62),rgba(11,13,26,.18));position:relative;overflow:hidden}
.mv-card:before{content:"";position:absolute;inset:auto -20% -40% auto;width:220px;height:220px;border-radius:50%;filter:blur(40px);pointer-events:none}
.mv-mission:before{background:rgba(255,200,121,.12)}
.mv-vision:before{background:rgba(111,232,255,.1)}
.mv-card .kicker{margin-bottom:22px}
.mv-card h2{margin:0;position:relative;z-index:1;font-size:clamp(22px,2.15vw,32px);line-height:1.4;font-weight:500;letter-spacing:-.04em;max-width:16em}
.mv-mission h2{color:var(--gold);background:none;-webkit-text-fill-color:unset}
.mv-vision h2{color:var(--cyan);background:none;-webkit-text-fill-color:unset}
  .mv-mission h2{color:var(--gold)}
  .mv-vision h2{color:var(--cyan)}

.about-hq,.contact-hq{padding:36px 0 72px}
.hq-block{margin-top:20px;display:grid;grid-template-columns:minmax(0,1.55fr) minmax(180px,.65fr);max-width:900px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hq-item{min-width:0;padding:25px 0 28px;display:grid;align-content:start;gap:10px}
.hq-item+.hq-item{margin-left:36px;padding-left:36px;border-left:1px solid var(--line)}
.hq-label{color:var(--muted);font-size:11px;font-weight:700;letter-spacing:.14em}
.hq-address{margin:0;color:rgba(242,245,255,.96);font-size:16px;line-height:1.75;overflow-wrap:anywhere}
.hq-phone{color:var(--gold);font-size:22px;font-weight:500;letter-spacing:.03em;width:fit-content}
.hq-phone:hover{color:var(--cyan)}

/* Products October teaser */
.products-hero .hero-copy{width:min(680px,60%)}
.products-hero h1{font-size:clamp(38px,3.75vw,56px);line-height:1.18;letter-spacing:-.055em}
.products-hero .hero-copy>p:last-child{margin-top:22px}
.home-document .products-teaser{min-height:auto;padding:100px 0 120px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}
.products-teaser .kicker{margin-bottom:18px}
.products-teaser h2{margin:0;font-size:clamp(28px,3.4vw,48px);font-weight:500;letter-spacing:-.04em;background:linear-gradient(100deg,var(--gold),var(--cyan));background-clip:text;-webkit-background-clip:text;color:transparent}

/* Footer: address + phone + three nav links + ICP */
.footer{flex-direction:column;align-items:center;gap:14px 0;padding:28px 0 36px;min-height:0}
.footer-meta{display:none}
.footer-address{line-height:1.6}
.footer-phone{color:var(--gold);font-weight:600}
.footer-nav{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:center;font-size:12px}
.footer-nav a{color:var(--muted)}
.footer-nav a:hover{color:var(--white)}
.footer .copyright,.footer .icp{font-size:11px}
.footer>span+span::before,.footer>a+span::before,.footer>span+a::before{display:none}
.footer .icp{display:inline-flex}
.footer .icp::before{content:"";display:inline-block;width:1px;height:11px;background:var(--line);margin-right:14px;align-self:center}

@media(max-width:780px){
  .products-hero .hero-copy{width:100%}
  .products-hero h1{font-size:clamp(27px,8vw,44px);line-height:1.22;letter-spacing:-.05em}
  .products-hero .product-title-break{display:block;height:0}
  .about-intro{padding:72px 0 36px;width:min(calc(100% - 40px),var(--shell));max-width:none}
  .about-intro-copy p{font-size:15px;line-height:1.85}
  .mv-grid{grid-template-columns:1fr;gap:12px}
  .mv-card{min-height:0;padding:28px 24px}
  .mv-card h2{font-size:clamp(21px,6vw,27px)}
  .about-hq,.contact-hq{padding:28px 0 56px}
  .hq-block{grid-template-columns:1fr;margin-top:16px}
  .hq-item{padding:20px 0}
  .hq-item+.hq-item{margin-left:0;padding-left:0;border-left:0;border-top:1px solid var(--line)}
  .hq-address{font-size:15px;line-height:1.8}
  .hq-phone{font-size:20px}
  .footer-meta{gap:6px 12px;font-size:11px}
  .home-document .products-teaser{padding:72px 0 96px}
  .products-teaser h2{font-size:clamp(24px,7vw,34px)}
}

html[lang="en"] .about-intro-copy p{font-size:clamp(15px,1.25vw,18px);line-height:1.85}
html[lang="en"] .mv-card h2{font-size:clamp(21px,2vw,29px);letter-spacing:-.03em;max-width:18em}

body[data-page="about"] .header,
body[data-page="contact"] .header {
  position: sticky;
  top: 0;
  z-index: 10;
  background: rgba(11,13,26,.88);
  backdrop-filter: blur(18px);
}

/* about/contact reveal fix — about page is not .home-document; keep content visible */
body[data-page="about"] .reveal,
body[data-page="contact"] .reveal,
.about-page .reveal {
  opacity: 1;
  transform: none;
  transition: none;
}

/* mission/vision: solid brand colors (avoid transparent clip invisibility) */
.mv-mission h2{color:var(--gold)!important;background:none!important;-webkit-text-fill-color:unset!important}
.mv-vision h2{color:var(--cyan)!important;background:none!important;-webkit-text-fill-color:unset!important}
.hq-address,.footer-address{color:rgba(242,245,255,.96)!important}
.about-intro-copy p{color:rgba(242,245,255,.96)!important}

/* The desktop navigation does not fit on narrow phones. */
@media(max-width:780px){
  .header{position:sticky;top:0;z-index:11}
  .header .nav{display:none}
  .header .actions{margin-left:auto;gap:12px}
  .header .wordmark{width:120px}
  .menu{display:grid;width:32px;height:32px;padding:7px 5px;border:0;background:transparent;color:var(--white);cursor:pointer;place-content:center;gap:6px}
  .menu span{display:block;width:22px;height:1px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
  .menu.is-open span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu.is-open span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .menu:focus-visible,.language:focus-visible,.mobile-nav a:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}
  .mobile-nav{position:fixed;top:73px;left:0;right:0;z-index:10;display:grid;gap:0;padding:10px 20px 18px;background:rgba(11,13,26,.98);border-bottom:1px solid var(--line);box-shadow:0 18px 30px rgba(0,0,0,.22);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-9px);transition:opacity .2s ease,transform .2s ease,visibility .2s}
  .mobile-nav.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
  .mobile-nav a{padding:15px 0;color:var(--white);font-size:15px;border-bottom:1px solid var(--line)}
  .mobile-nav a:last-child{border-bottom:0}
  body.mobile-nav-open{overflow:hidden}
  .contact-panel{min-height:0;padding:28px 24px}
  .contact-panel:has(.form.active){min-height:0}
}

.contact-panel-placeholder{margin:0;color:var(--muted);font-size:14px;line-height:1.6}
.contact-panel:has(.form.active) .contact-panel-placeholder{display:none}
.contact-panel{min-height:0}
.contact-panel:not(:has(.form.active)){display:block}

/* About page section labels should read as real headings, not annotations. */
.about-intro .kicker,.mv-card .kicker{text-align:center;font-size:18px;font-weight:700;letter-spacing:.1em}
.mv-card h2{text-align:center;margin-left:auto;margin-right:auto}
@media(max-width:780px){
  .about-intro .kicker,.mv-card .kicker{font-size:16px}
}

/* Headquarters: a single contact module, with the phone treated as an action. */
.about-hq>.kicker,.contact-hq>.kicker{font-size:16px;letter-spacing:.12em}
.hq-block{position:relative;grid-template-columns:minmax(0,1.5fr) minmax(220px,.7fr);margin-top:18px;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:linear-gradient(120deg,rgba(20,23,42,.72),rgba(11,13,26,.28))}
.hq-block:before{content:"";position:absolute;right:-12%;bottom:-75%;width:340px;height:340px;border-radius:50%;background:rgba(255,200,121,.1);filter:blur(36px);pointer-events:none}
.hq-item{position:relative;z-index:1;padding:30px 32px;gap:12px}
.hq-item+.hq-item{margin:0;padding-left:32px;border-left:1px solid var(--line);background:rgba(242,245,255,.018)}
.hq-label{color:var(--gold);font-size:12px;letter-spacing:.12em}
.hq-address{font-size:16px;line-height:1.75}
.hq-contact .hq-label{color:var(--muted)}
.hq-phone{color:var(--white);font-size:clamp(18px,1.5vw,22px);line-height:1.35;letter-spacing:.025em}
@media(max-width:780px){
  .about-hq>.kicker,.contact-hq>.kicker{font-size:15px}
  .hq-block{grid-template-columns:1fr;border-radius:17px}
  .hq-item{padding:23px 24px;gap:9px}
  .hq-item+.hq-item{margin:0;padding:20px 24px 24px;border-left:0;border-top:1px solid var(--line)}
  .hq-phone{font-size:20px}
}

/* Keep contact details continuous—this is information, not a pair of cards. */
.hq-block{overflow:visible;border:0;border-radius:0;background:none}
.hq-block:before{display:none}
.hq-item{padding:0;gap:9px}
.hq-item+.hq-item{margin-left:36px;padding-left:36px;border-left:1px solid var(--line);background:none}
.hq-label{font-size:12px}
.hq-phone{font-size:clamp(18px,1.4vw,21px)}
@media(max-width:780px){
  .hq-block{gap:0}
  .hq-item{padding:0}
  .hq-item+.hq-item{margin:22px 0 0;padding:20px 0 0;border-left:0;border-top:1px solid var(--line)}
  .hq-phone{font-size:19px}
}

/* Persistent chapter advance for the immersive product page. */
.home-document .hero-bottom{position:fixed;z-index:9;right:max(20px,calc((100vw - var(--shell))/2));bottom:28px;left:auto;pointer-events:none}
.home-document .hero-bottom .scroll{width:38px;height:52px;padding-top:11px;pointer-events:auto;background:rgba(11,13,26,.76);backdrop-filter:blur(14px);box-shadow:0 10px 26px rgba(0,0,0,.24);transition:opacity .25s ease,transform .25s ease}
.home-document .hero-bottom .scroll.is-hidden{opacity:0;pointer-events:none;transform:translateY(10px)}
@media(max-width:780px){
  .home-document .hero-bottom{right:20px;bottom:22px}
}

/* Keep the story statement intact when the viewport narrows. */
.story-title-lead{display:inline}
@media(max-width:780px){
  .home-document .story .intro h2{font-size:clamp(23px,7vw,34px);line-height:1.3;letter-spacing:-.045em}
  .home-document .story .intro h2 .story-title-lead,.home-document .story .intro h2 em{display:block}
  .home-document .story .intro h2 em{margin-top:.1em}
}

/* At the end of the product story, the same control becomes a return action. */
.home-document .hero-bottom .scroll.is-returning{padding-top:0;place-items:center}
.home-document .hero-bottom .scroll.is-returning span{display:none}
.home-document .hero-bottom .scroll.is-returning:after{content:"↑";color:var(--gold);font-size:18px;line-height:1}

/* WebKit fallback: Safari must keep the experience usable without newer CSS APIs. */
body:before{-webkit-mask-image:linear-gradient(#000,transparent 88%)}
.home-document .header,body[data-page="about"] .header,body[data-page="contact"] .header{-webkit-backdrop-filter:blur(18px)}
.home-document body{overflow-x:hidden;overflow-x:clip}
.scene-replay{display:none!important}

/* This is an in-page action, not a link: avoid iOS hash navigation and reload-like jumps. */
.home-document .hero-bottom .scroll{-webkit-appearance:none;appearance:none;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
@media(max-width:780px){
  .home-document{scroll-snap-type:none}
  .home-document main>section{scroll-snap-align:none;scroll-snap-stop:normal}
  .home-document .hero-bottom{bottom:max(22px,calc(12px + env(safe-area-inset-bottom)))}
}

/* Safari versions without small viewport units retain the same full-screen rhythm. */
@supports not (height:100svh){
  .home-document .hero,.home-document .story,.home-document .journey,.home-document .closing{min-height:calc(100vh - 86px)}
  .home-document .journey.journey-enhanced{height:calc(100vh - 86px);min-height:calc(100vh - 86px)}
  .journey-enhanced .journey-stage{min-height:calc(100vh - 86px)}
  @media(max-width:780px){
    .home-document .hero,.home-document .story,.home-document .journey,.home-document .closing{min-height:calc(100vh - 73px)}
    .home-document .journey.journey-enhanced{height:auto;min-height:calc(100vh - 73px)}
    .journey-enhanced .journey-stage{min-height:calc(100vh - 73px)}
  }
}

/* Mobile uses a visible second navigation layer; desktop keeps its single header navigation. */
.mobile-route-nav{display:none}
@media(max-width:780px){
  .header .menu{display:none}
  .mobile-route-nav{
    position:sticky;top:73px;z-index:10;
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
    width:100%;min-height:45px;padding:0 20px;
    background:rgba(11,13,26,.94);border-bottom:1px solid var(--line);
    -webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)
  }
  .mobile-route-nav a{
    position:relative;min-width:0;min-height:45px;
    display:grid;place-items:center;
    color:var(--muted);font-size:12px;letter-spacing:.02em
  }
  .mobile-route-nav a[aria-current="page"]{color:var(--white);font-weight:700}
  .mobile-route-nav a[aria-current="page"]:after{
    content:"";position:absolute;bottom:-1px;left:50%;
    width:18px;height:2px;border-radius:99px;background:var(--gold);transform:translateX(-50%)
  }
  .mobile-route-nav a:focus-visible{outline:2px solid var(--cyan);outline-offset:-3px}
  .home-document{scroll-padding-top:118px}
  .home-document main>section{scroll-margin-top:118px}
  .home-document .hero,.home-document .story,.home-document .journey,.home-document .closing{min-height:calc(100svh - 118px)}
  .home-document .journey.journey-enhanced{height:auto;min-height:calc(100svh - 118px)}
  .journey-enhanced .journey-stage{min-height:calc(100svh - 118px)}
}
@supports not (height:100svh){
  @media(max-width:780px){
    .home-document .hero,.home-document .story,.home-document .journey,.home-document .closing{min-height:calc(100vh - 118px)}
    .home-document .journey.journey-enhanced{min-height:calc(100vh - 118px)}
    .journey-enhanced .journey-stage{min-height:calc(100vh - 118px)}
  }
}
