/* AVIAN exhibition: Renkara typography, deep navy, ice blue, and titanium. */
:root { --av-night:#050b14; --av-frost:#eaf4ff; --av-dim:#9aacc1; --av-hairline:rgba(172,205,238,.16); }
.av-prototype nav.glass-strong { background:rgba(5,11,20,.84); backdrop-filter:blur(22px); border-bottom:1px solid var(--av-hairline); }
.av-prototype footer { background:#050b14; color:#eaf4ff; }
body.av-showcase { padding-top:0; background:var(--av-night); color:var(--av-frost); }
.av-showcase .av-container { width:min(100% - 96px,1320px); }
:where(.av-showcase) a { color:inherit; text-decoration:none; }
.av-showcase button { font:inherit; }
.av-eyebrow { display:flex; align-items:center; gap:12px; font-size:.68rem; font-weight:600; letter-spacing:.19em; text-transform:uppercase; color:#adc0d5; }
.av-mono { font:500 .64rem 'Fira Code',monospace; letter-spacing:.11em; color:#99b0c6; }
.av-status-dot { width:6px; height:6px; border-radius:50%; background:#9fe4ff; box-shadow:0 0 15px #78cfff; }
.av-experience { position:relative; min-height:880px; height:calc(100svh + 1px); max-height:1200px; overflow:hidden; isolation:isolate; background:#050b14; }
.av-experience__field { position:absolute; inset:0; width:100%; height:100%; z-index:-3; }
.av-experience::before { content:''; position:absolute; inset:0; z-index:-4; background:radial-gradient(ellipse at 78% 45%,#112b4c 0%,#081526 35%,#050b14 70%); }
.av-experience__veil { position:absolute; inset:0; z-index:-1; pointer-events:none; background:linear-gradient(90deg,#050b14 0%,rgba(5,11,20,.88) 22%,rgba(5,11,20,.27) 53%,transparent 73%),linear-gradient(0deg,#050b14 0%,transparent 20%); }
.av-experience__content { position:relative; z-index:1; height:100%; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:80px 0 110px; pointer-events:none; }
.av-experience__content a { pointer-events:auto; }
.av-experience h1 { margin:32px 0 27px; font-size:clamp(4.7rem,7.55vw,8.6rem); font-weight:600; letter-spacing:-.08em; line-height:1.04; }
.av-experience h1 em { font-style:normal; color:#b1cce6; background:linear-gradient(105deg,#eff8ff 0%,#a5c9ed 68%,#7798bb); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.av-experience__intro { color:#a9bcd2; font-size:clamp(1.05rem,1.45vw,1.23rem); font-weight:400; line-height:1.65; letter-spacing:-.025em; margin:0 0 42px; }
.av-experience__actions { display:flex; gap:36px; align-items:center; }
.av-watch-link { display:inline-flex; gap:16px; align-items:center; font-size:.87rem; font-weight:600; }
.av-watch-link small { display:block; color:#a2b5ca; font-size:.63rem; font-weight:400; letter-spacing:.04em; margin-top:7px; }
.av-play-icon { display:grid; place-items:center; width:52px; height:52px; padding-left:3px; font-size:13px; border-radius:50%; border:1px solid #7999b6; background:rgba(159,220,255,.04); transition:background .25s,box-shadow .25s; }
.av-watch-link:hover .av-play-icon { background:#19384b; box-shadow:0 0 30px #4e9bd133; }
.av-arrow-link { display:inline-flex; gap:28px; align-items:center; font-size:.77rem; font-weight:500; color:#d8e7f8; border-bottom:1px solid #66829e; padding:13px 0; }
.av-arrow-link > span { font-size:1.2rem; transition:transform .25s; }
.av-arrow-link:hover > span { transform:translate(3px,-3px); }
.av-experience__foot { display:flex; align-items:center; justify-content:space-between; gap:20px; position:absolute; left:0; right:0; bottom:31px; padding-top:24px; border-top:1px solid var(--av-hairline); color:#a6b9ce; }
.av-scroll-cue { display:inline-flex; gap:13px; font-size:.66rem; letter-spacing:.03em; align-items:center; }
.av-scroll-cue > span { font-size:1.3rem; color:#ddf1ff; }
.av-experience__signature { font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; }
.av-motion-toggle { display:flex; align-items:center; gap:8px; border:0; background:none; padding:8px 0 8px 12px; color:#b2c4d7; cursor:pointer; font-size:.62rem !important; }
.av-motion-toggle svg { width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.5; }
.av-motion-toggle[aria-pressed=true] svg { transform:rotate(90deg); }
.av-motion-toggle[hidden] { display:none; }
.av-field-fallback { background:url('/images/flux-poster.webp') center/cover no-repeat; }

.av-exhibit-heading { display:flex; flex-wrap:wrap; align-items:flex-end; gap:30px; margin-bottom:40px; }
.av-exhibit-heading .av-eyebrow { flex-basis:100%; margin-bottom:0; }
.av-exhibit-heading h2 { margin:0 auto 0 0; font-size:clamp(2rem,4.15vw,4rem); font-weight:500; letter-spacing:-.06em; line-height:1.1; }
.av-exhibit-heading .av-mono { margin-bottom:8px; }
.av-film { padding-top:85px; padding-bottom:95px; scroll-margin-top:100px; }
.av-film__stage { position:relative; aspect-ratio:16/9; background:#0a1626; overflow:hidden; border:1px solid #2c3e51; box-shadow:0 30px 110px #0009; }
.av-film__stage::after { content:''; position:absolute; inset:0; background:linear-gradient(0deg,rgba(3,8,15,.6),rgba(3,8,15,.04) 65%); pointer-events:none; transition:opacity .3s; }
.av-film__stage.is-playing::after { opacity:0; }
.av-film__stage video { display:block; width:100%; height:100%; object-fit:contain; }
.av-film__play { position:absolute; z-index:1; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:18px; width:100%; height:100%; border:0; cursor:pointer; color:white; background:rgba(3,10,20,.14); }
.av-film__play[hidden] { display:none; }
.av-film__play > span { display:grid; place-items:center; width:90px; height:90px; border-radius:50%; padding-left:5px; border:1px solid #e6f6ffb3; background:#142b4470; backdrop-filter:blur(10px); font-size:21px; transition:transform .3s,background .3s; }
.av-film__play:hover > span { transform:scale(1.09); background:#245274a0; }
.av-film__play strong { font-size:.7rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; }
.av-film__caption { display:flex; justify-content:space-between; gap:25px; margin-top:23px; color:#9cadc2; font-size:.72rem; }
.av-film__caption a { color:#d9e9f8; }
.av-film__caption a span { margin-left:12px; }

.av-scale { padding:60px 0 100px; }
.av-scale__numbers { display:grid; grid-template-columns:1fr 1.35fr 1fr 1fr; border-top:1px solid var(--av-hairline); }
.av-scale__numbers > div { padding:40px 0 30px; }
.av-scale__numbers strong { display:block; font-size:clamp(3.4rem,7.4vw,7.5rem); font-weight:400; line-height:1; letter-spacing:-.075em; font-variant-numeric:lining-nums; background:linear-gradient(#f5faff 15%,#7393b9 95%); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.av-scale__numbers span { display:block; color:#afbed0; font-size:.68rem; margin-top:22px; }
.av-squadron { padding:70px 0 100px; background:radial-gradient(ellipse at 50% 40%,#102238 0%,#081322 38%,#050b14 70%); }
.av-squadron__featured { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--av-hairline); border-bottom:1px solid var(--av-hairline); }
.av-insignia-exhibit { position:relative; display:block; min-width:0; padding:24px 28px 30px; isolation:isolate; overflow:hidden; }
.av-insignia-exhibit + .av-insignia-exhibit { border-left:1px solid var(--av-hairline); }
.av-insignia-exhibit::before { content:''; position:absolute; inset:0; z-index:-1; opacity:0; background:radial-gradient(ellipse at var(--light-x,50%) 35%,#3a618a33,transparent 75%); transition:opacity .4s; }
.av-insignia-exhibit:hover::before { opacity:1; }
.av-insignia-exhibit__index { color:#98aec5; font:400 .59rem 'Fira Code',monospace; letter-spacing:.12em; }
.av-insignia-exhibit__art { aspect-ratio:1; display:grid; place-items:center; perspective:700px; }
.av-insignia-exhibit__art img { width:95%; height:95%; object-fit:contain; transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition:transform .3s ease-out,filter .4s; filter:drop-shadow(0 18px 16px #0007); }
.av-insignia-exhibit:hover img { filter:drop-shadow(0 18px 22px #000a) brightness(1.13); }
.av-insignia-exhibit__label { display:flex; align-items:flex-end; justify-content:space-between; gap:15px; }
.av-insignia-exhibit__label div > span { display:block; color:#a2b7ce; font-size:.63rem; margin-bottom:10px; }
.av-insignia-exhibit__label h3 { font-size:clamp(1.5rem,2.5vw,2.5rem); line-height:1; font-weight:500; letter-spacing:-.05em; margin:0; }
.av-insignia-exhibit__label sup { font-size:.58rem; margin-left:4px; top:-1em; }
.av-insignia-exhibit__label > span { font-size:1.5rem; color:#a8bfd7; }
.av-squadron__roster { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:35px; }
.av-squadron__roster a { display:flex; gap:14px; align-items:center; padding:16px 24px 16px 0; border-bottom:1px solid var(--av-hairline); color:#c0d0e2; font-size:.75rem; transition:color .2s; }
.av-squadron__roster a:hover { color:white; }
.av-squadron__roster a span:first-child { color:#8da3ba; font:400 .59rem 'Fira Code',monospace; }
.av-squadron__roster a span:last-child { margin-left:auto; font-size:1rem; }
.av-journey { position:relative; display:grid; grid-template-columns:1.15fr 1fr; gap:9%; align-items:center; padding:110px 0 140px; }
.av-journey__art { position:relative; display:grid; place-items:center; aspect-ratio:1; isolation:isolate; }
.av-journey__art img { width:78%; height:auto; filter:drop-shadow(0 25px 50px #489fe025); }
.av-journey__orbit { position:absolute; inset:0; z-index:-1; border:1px solid #35577955; border-radius:50%; transform:rotate(-35deg) scaleY(.66); box-shadow:0 0 70px #2b71a516,inset 0 0 70px #2b71a516; }
.av-journey__orbit::before,.av-journey__orbit::after { content:''; position:absolute; inset:9%; border:1px solid #3d648b44; border-radius:50%; }
.av-journey__orbit::after { inset:-13%; border-color:#35577922; }
.av-journey__copy h2 { font-size:clamp(3rem,6.6vw,6.5rem); font-weight:500; line-height:1; letter-spacing:-.07em; margin:28px 0; }
.av-journey__copy > p:not(.av-eyebrow) { max-width:360px; color:#9cafc5; font-size:.95rem; line-height:1.85; }
.av-journey__copy > a { margin-top:12px; }
.av-horizons { padding:50px 0 120px; border-top:1px solid var(--av-hairline); }
.av-horizons h2 { margin:40px 0 45px; font-size:clamp(3.5rem,9vw,9.2rem); font-weight:500; line-height:.97; letter-spacing:-.075em; }
.av-horizons h2 span { color:#7896b7; }
.av-horizons__links { display:flex; gap:60px; }
.av-horizons__links a { display:flex; justify-content:space-between; gap:40px; font-size:.74rem; padding:17px 0; border-bottom:1px solid #5b718b; }

/* The full insignia collection. */
.av-collection-hero { position:relative; min-height:740px; display:grid; align-items:center; grid-template-columns:1fr 1fr; gap:4%; padding-top:100px; padding-bottom:70px; }
.av-collection-hero h1 { font-size:clamp(3.6rem,6.8vw,7rem); font-weight:500; letter-spacing:-.07em; line-height:1.01; margin:30px 0; }
.av-collection-hero h1 em { font-style:normal; color:#a8c4e0; }
.av-collection-hero p:not(.av-eyebrow) { max-width:420px; color:#a4b8cc; font-size:1rem; line-height:1.8; }
.av-collection-hero__art { position:relative; display:grid; place-items:center; aspect-ratio:1; isolation:isolate; }
.av-collection-hero__art::before { content:''; position:absolute; inset:4%; z-index:-1; border-radius:50%; background:radial-gradient(#35517038,transparent 68%); border:1px solid #354c6555; box-shadow:0 0 0 50px #3457750a,0 0 0 100px #34577506; }
.av-collection-hero__art img { width:100%; height:auto; filter:drop-shadow(0 20px 40px #000a); }
.av-collection-index { position:relative; padding:20px 0 70px; }
.av-collection-index .av-squadron__roster { margin:0; }
.av-collection { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-top:1px solid var(--av-hairline); }
.av-collection .av-badge-card { display:flex; min-width:0; border:0; border-bottom:1px solid var(--av-hairline); border-right:1px solid var(--av-hairline); border-radius:0; background:transparent; color:var(--av-frost); padding:30px; scroll-margin-top:80px; }
.av-collection .av-badge-card:nth-child(3n) { border-right:0; }
.av-badge-card__art { position:relative; aspect-ratio:1; display:grid; place-items:center; perspective:800px; }
.av-collection .av-badge-card img { width:100%; height:100%; margin:0; object-fit:contain; transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)); transition:transform .35s ease-out,filter .35s; filter:drop-shadow(0 15px 25px #0008); }
.av-collection .av-badge-card:hover img { filter:drop-shadow(0 18px 32px #459bd31f) brightness(1.12); }
.av-collection .av-badge-card__tier { margin-top:20px; color:#9fb9d2; font-size:.65rem; font-weight:400; }
.av-collection .av-badge-card h2 { font-size:clamp(1.6rem,2.7vw,2.5rem); font-weight:500; letter-spacing:-.05em; margin:10px 0 19px; }
.av-collection .av-badge-card h2 small { font-size:.5em; font-weight:400; color:#94adc7; }
.av-collection .av-badge-card h2 sup { font-size:.5rem; top:-1.8em; margin-left:3px; }
.av-collection .av-badge-card p { color:#a9bdd0; font-size:.82rem; line-height:1.8; margin-bottom:14px; }
.av-collection-outro { padding:110px 0; display:flex; align-items:center; justify-content:space-between; gap:40px; }
.av-collection-outro h2 { font-size:clamp(2.4rem,4vw,4rem); font-weight:500; line-height:1.1; letter-spacing:-.05em; max-width:690px; margin:0; }

/* New material language carries into the architecture scroll story. */
.av-architecture .av-page-hero { padding-top:64px; background:#050b14; }
.av-architecture .av-page-hero__art { width:90%; right:-10%; opacity:.9; }
.av-architecture .av-page-hero__art::before { background:linear-gradient(90deg,#050b14,rgba(5,11,20,.5) 30%,transparent 65%); }
.av-architecture .av-page-hero__title { font-weight:500; }
.av-architecture .av-page-hero__inner { width:min(100% - 96px,1320px); }
.av-architecture .av-story { background:#080f1c; }
.av-architecture .av-story__visual { background:#0c192a; border-color:#2b3c51; min-height:650px; }
.av-architecture .av-story__caption { border-color:#26394e; }
.av-architecture .av-story__visual::before { border-color:#2a486680; box-shadow:0 0 0 65px #2e6b9e09,0 0 0 130px #2e6b9e06; }
.av-architecture .av-story__active { min-height:190px; }
.av-architecture .av-story__active img { width:135px; height:135px; object-fit:contain; }
.av-architecture .av-story__active span,.av-architecture .av-story__position { color:#a8bcd0; }
.av-architecture .av-story__node { color:#adc0d4; }
.av-architecture .av-story__node b { color:#b8d2ec; border-color:#405872; }
.av-architecture .av-story__node.is-active { background:#24466c; color:#fff; }
.av-architecture .av-story__node.is-active b { background:#d7edff; color:#173352; }
.av-architecture .av-story__progress { background:#263b51; }
.av-architecture .av-story__progress span { background:#8dd6fb; }
.av-architecture .av-story__step { border-color:#233145; }
.av-architecture .av-story__step h2 { font-weight:500; }
.av-architecture .av-story__step p { color:#aec0d4; }
.av-architecture .av-story__eyebrow { color:#91bfdc; }
.av-architecture .av-story__clusters a { color:#a7d6f3; border-color:#365470; }
.av-architecture .av-story__clusters a:hover { background:#19334c; }
.av-architecture .av-section--ink { background:#050b14; }

@media(min-width:1800px){ .av-experience__content { padding-bottom:130px; } }
@media(max-width:1100px){
  .av-showcase .av-container,.av-architecture .av-page-hero__inner { width:calc(100% - 64px); }
  .av-experience { min-height:800px; }
  .av-experience h1 { font-size:8.5vw; }
  .av-experience__signature { display:none; }
  .av-experience__actions { gap:25px; }
  .av-insignia-exhibit { padding:20px 18px 25px; }
  .av-squadron__roster { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .av-collection .av-badge-card { padding:22px; }
  .av-collection-hero { min-height:660px; }
}
@media(max-width:950px){
  .av-architecture .av-story__visual { min-height:0; }
  .av-architecture .av-story__active { min-height:0; }
}
@media(max-width:700px){
  .av-showcase .av-container,.av-architecture .av-page-hero__inner { width:calc(100% - 40px); }
  .av-experience { min-height:900px; max-height:none; height:100svh; }
  .av-experience__content { justify-content:flex-start; padding:128px 0 100px; }
  .av-experience h1 { font-size:clamp(3.6rem,12.2vw,5.3rem); letter-spacing:-.075em; margin:26px 0 22px; }
  .av-eyebrow { font-size:.57rem; letter-spacing:.15em; }
  .av-experience__intro { font-size:1rem; margin-bottom:28px; }
  .av-experience__veil { background:linear-gradient(#050b14 3%,rgba(5,11,20,.88) 15%,rgba(5,11,20,.4) 37%,transparent 57%,#050b14 95%); }
  .av-experience__actions { gap:23px; flex-wrap:wrap; }
  .av-experience__actions .av-arrow-link { font-size:.67rem; gap:15px; }
  .av-watch-link { font-size:.77rem; gap:10px; }
  .av-watch-link small { font-size:.56rem; }
  .av-play-icon { width:45px; height:45px; }
  .av-experience__foot { bottom:22px; padding-top:15px; }
  .av-scroll-cue,.av-motion-toggle { font-size:.58rem !important; }
  .av-film { padding:55px 0 65px; scroll-margin-top:88px; }
  .av-exhibit-heading { margin-bottom:28px; gap:21px; }
  .av-exhibit-heading h2 { font-size:2.35rem; }
  .av-exhibit-heading .av-mono { display:none; }
  .av-film__stage { margin-inline:-20px; border-inline:0; }
  .av-film__play > span { width:55px; height:55px; font-size:15px; }
  .av-film__play { gap:12px; }
  .av-film__play strong { font-size:.58rem; }
  .av-film__caption { font-size:.65rem; line-height:1.6; }
  .av-film__caption a { white-space:nowrap; }
  .av-film__caption a span { margin-left:4px; }
  .av-scale { padding:35px 0 65px; }
  .av-scale__numbers { grid-template-columns:1fr 1.3fr; gap:15px; }
  .av-scale__numbers > div { padding:24px 0 20px; }
  .av-scale__numbers strong { font-size:4.1rem; }
  .av-scale__numbers span { font-size:.62rem; margin-top:15px; }
  .av-squadron { padding:40px 0 60px; }
  .av-exhibit-heading .av-arrow-link { margin-top:0; }
  .av-squadron__featured { grid-template-columns:1fr; }
  .av-insignia-exhibit { padding:22px 15px 30px; }
  .av-insignia-exhibit + .av-insignia-exhibit { border-left:0; border-top:1px solid var(--av-hairline); }
  .av-insignia-exhibit__art { max-width:360px; margin:auto; }
  .av-insignia-exhibit__label h3 { font-size:2rem; }
  .av-squadron__roster { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 15px; }
  .av-squadron__roster a { padding:16px 5px 16px 0; font-size:.69rem; gap:8px; }
  .av-journey { grid-template-columns:1fr; padding:20px 0 70px; gap:10px; overflow:hidden; }
  .av-journey__art { max-width:450px; width:100%; margin:auto; }
  .av-journey__copy h2 { font-size:3.8rem; }
  .av-journey__copy > p:not(.av-eyebrow) { max-width:none; font-size:.9rem; }
  .av-horizons { padding:45px 0 65px; }
  .av-horizons h2 { font-size:14vw; margin:32px 0; }
  .av-horizons__links { display:flex; flex-direction:column; gap:3px; }
  .av-horizons__links a { font-size:.76rem; }
  .av-collection-hero { grid-template-columns:1fr; padding-top:125px; padding-bottom:25px; gap:25px; min-height:0; }
  .av-collection-hero h1 { font-size:3.6rem; margin:24px 0; }
  .av-collection-hero p:not(.av-eyebrow) { font-size:.92rem; }
  .av-collection-hero__art { max-width:410px; margin:auto; }
  .av-collection-index { padding:15px 0 50px; }
  .av-collection { grid-template-columns:1fr; }
  .av-collection .av-badge-card { padding:26px 10px; border-right:0; }
  .av-badge-card__art { max-width:400px; width:100%; margin:auto; }
  .av-collection .av-badge-card h2 { font-size:2.3rem; }
  .av-collection .av-badge-card p { font-size:.92rem; }
  .av-collection-outro { flex-direction:column; align-items:flex-start; padding:70px 0; gap:20px; }
  .av-architecture .av-page-hero__art { width:100%; right:0; opacity:.4; }
  .av-architecture .av-page-hero__inner { padding-top:90px; }
}
@media(prefers-reduced-motion:reduce){
  html { scroll-behavior:auto; }
  .av-showcase *, .av-showcase *::before,.av-showcase *::after { transition:none !important; animation:none !important; }
  .av-insignia-exhibit__art img,.av-collection .av-badge-card img { transform:none !important; }
}
/* The still also covers browsers without JavaScript or WebGL. */
[data-flux-field]:not([data-field-state]) { background:url('/images/flux-poster.webp') center/cover no-repeat; }
#collection { scroll-margin-top:85px; }
.av-film__play { align-items:flex-end; justify-content:flex-end; padding:0 42px 35px; }
@media(max-width:700px){.av-film__play {padding:0 18px 18px;} .av-film__play strong {display:none;}}
