/* Olympus 2.1 — responsive welcome and consent-first Olympia entry.
   Scoped on the public home only; all other page layouts remain unchanged. */
body.next-home .olympia-invite {
  position:absolute;
  top:24px;
  left:24px;
  z-index:20;
  display:grid;
  gap:7px;
  max-width:76%;
  pointer-events:none;
  text-shadow:0 2px 18px rgba(0,0,0,.72);
}
body.next-home .olympia-invite span {
  color:#e3c68c;
  font:800 10px/1.4 Inter,system-ui,sans-serif;
  letter-spacing:.19em;
}
body.next-home .olympia-invite strong {
  color:#f1eee8;
  font:500 21px/1.2 Georgia,serif;
  letter-spacing:-.02em;
}
body.next-home .next-hero .olympia-stage .olympia-call-offer {
  border-color:rgba(227,198,140,.57);
  color:#fcf5e7;
  box-shadow:0 14px 30px #0008,0 0 0 1px #0006;
}
@media(max-width:700px) {
  body.next-home .announcement {display:none}
  body.next-home nav {z-index:100}
  body.next-home .nav-modern {min-height:67px}
  body.next-home .next-hero.hero-popup {
    width:min(calc(100% - 36px),580px)!important;
    padding:26px 0 32px!important;
    gap:0!important;
    min-height:0!important;
  }
  body.next-home .next-hero .hero-copy {margin:0!important;padding:0!important}
  body.next-home .next-hero .eyebrow {
    max-width:460px;
    font-size:9px;
    line-height:1.5;
    letter-spacing:.13em;
    gap:5px;
    color:#d5bd91;
  }
  body.next-home .next-hero h1 {
    font-size:clamp(47px,12vw,72px)!important;
    line-height:.91;
    letter-spacing:-.053em;
    margin:15px 0 14px!important;
    max-width:100%;
    text-wrap:nowrap;
  }
  body.next-home .next-hero .next-lead {
    font-size:16px;
    line-height:1.46;
    max-width:540px;
    margin:0 0 12px;
    color:#eee9e0;
  }
  body.next-home .next-hero .hero-truth {display:none}
  body.next-home .next-hero .hero-actions {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:9px;
    margin:14px 0 0;
  }
  body.next-home .next-hero .hero-actions .next-button {
    display:flex;
    justify-content:center;
    width:100%;
    min-height:52px;
    padding:10px 9px;
    font-size:12px;
    line-height:1.25;
    text-align:center;
    letter-spacing:0;
    gap:6px;
  }
  body.next-home .next-hero .hero-actions .next-button span {display:none}
  body.next-home .next-hero .hero-note {margin-top:11px;font-size:10px;line-height:1.45}
  body.next-home .next-hero.hero-popup > .olympia-stage.olympia-site-presence {
    width:100%!important;
    height:310px!important;
    min-height:310px!important;
    margin:18px auto 0!important;
    border:1px solid rgba(227,198,140,.25)!important;
    border-radius:20px!important;
    overflow:hidden!important;
    isolation:isolate;
    background:radial-gradient(ellipse at 60% 25%,rgba(213,184,124,.13),transparent 55%),linear-gradient(155deg,#1d1b1b,#090d13 70%)!important;
  }
  body.next-home .next-hero .olympia-stage:after {
    content:"";
    position:absolute;
    z-index:11;
    inset:46% 0 0;
    background:linear-gradient(180deg,transparent,rgba(8,11,16,.34) 33%,rgba(8,11,16,.88));
    pointer-events:none;
  }
  body.next-home .next-hero .olympia-three {
    transform:scale(.78) translateY(5%);
    transform-origin:50% 43%;
    filter:drop-shadow(0 0 16px rgba(227,198,140,.16)) saturate(.78) brightness(.86);
  }
  body.next-home .next-hero .olympia-figure {
    transform:translateX(-50%) scale(.82);
    transform-origin:center top;
  }
  body.next-home .olympia-invite {top:17px;left:18px;gap:4px;max-width:82%}
  body.next-home .olympia-invite span {font-size:9px;letter-spacing:.16em}
  body.next-home .olympia-invite strong {font-size:17px}
  body.next-home .next-hero .olympia-call-offer {bottom:17px;min-height:44px;padding:10px 16px}
  body.next-home .next-hero .olympia-status-chip {z-index:21}
  body.next-home .manifesto-inner {padding:24px 0}
}
@media(max-width:355px) {
  body.next-home .next-hero h1 {font-size:clamp(40px,12.2vw,46px)!important}
  body.next-home .next-hero .hero-actions {grid-template-columns:1fr}
  body.next-home .next-hero .hero-actions .next-button {min-height:46px}
}
@media(prefers-reduced-motion:reduce) {
  body.next-home .next-hero .olympia-three {transition:none!important}
}
/* Keep the mobile greeting calm and lightweight. Full 3D remains on desktop
   and in the dedicated Olympia experience; mobile greeting uses line-art fallback. */
@media(max-width:700px){
  body.next-home .next-hero .olympia-three {
    opacity:0!important;
    visibility:hidden!important;
  }
  body.next-home .next-hero .olympia-figure,
  body.next-home .next-hero .olympia-stage.has-webgl .olympia-figure,
  body.next-home .next-hero .olympia-stage.olympia-v17 .olympia-figure {
    opacity:.94!important;
    top:48px!important;
    width:min(79%,285px)!important;
    height:260px!important;
    animation:none!important;
    transform:translateX(-50%)!important;
    filter:drop-shadow(0 0 28px rgba(196,183,141,.18))!important;
    z-index:3;
  }
  body.next-home .next-hero .olympia-stage:before {
    content:"";position:absolute;z-index:1;inset:13% 15% 7%;
    border:1px solid rgba(227,198,140,.08);border-radius:50%;
    box-shadow:0 0 0 35px rgba(227,198,140,.025),0 0 0 75px rgba(227,198,140,.014);
    pointer-events:none;
  }
}

@media(max-width:700px){
  body.next-home .next-hero .olympia-stage.has-webgl .olympia-figure,
  body.next-home .next-hero .olympia-stage.olympia-finished .olympia-figure {
    display:block!important;
  }
}

body.next-home .mission-card .assembly-circles-link{display:inline-block;margin-top:12px;color:var(--ol-gold);font-size:12px}
