/* Ten-second opening, dissolving into the live site over its final 1.2 seconds. */
body.gs-intro-active,body.gs-intro-lock{overflow:hidden}
.gs-intro{--gs-ivory:#eee8db;--gs-red:#851d22;--gs-green:#06472f;--gs-x:0px;--gs-y:0px;--gs-duration:10s;--gs-handoff:1.2s;position:fixed;inset:0;z-index:10000;isolation:isolate;overflow:hidden;background:#08090a;color:var(--gs-ivory);font-family:var(--sans,Arial,sans-serif);outline:none;opacity:1;transition:opacity var(--gs-handoff) cubic-bezier(.35,0,.25,1)}
.gs-intro-film{position:absolute;inset:-3%;overflow:hidden;opacity:.5;transform:scale(1.04) translate(calc(var(--gs-x)*-.3),calc(var(--gs-y)*-.3));filter:saturate(.9);transition:transform var(--gs-handoff) cubic-bezier(.25,.6,.2,1)}
.gs-intro-film img,.gs-intro-film video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.gs-intro-film video{opacity:0;transition:opacity .3s}.gs-intro-film video.is-ready{opacity:1}.gs-intro-film::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#08090ae0,transparent 40%,#08090a80),linear-gradient(90deg,#08090a60,transparent 35%,#08090a60)}
.gs-intro::before{content:"";position:absolute;inset:0;z-index:8;pointer-events:none;box-shadow:inset 0 0 18vw 7vw #000a;background:repeating-linear-gradient(0deg,#fff02 0 1px,transparent 1px 4px)}
.gs-intro-atmosphere{position:absolute;inset:-12%;background:radial-gradient(ellipse at 20% 70%,#851d2226,transparent 40%),radial-gradient(ellipse at 85% 25%,#06472f60,transparent 43%);transform:translate(calc(var(--gs-x)*-.35),calc(var(--gs-y)*-.35))}
.gs-intro-reel{position:absolute;inset:-110% -20%;opacity:.18;background:linear-gradient(90deg,transparent 24.8%,#d7c5a633 25%,transparent 25.2%,transparent 74.8%,#d7c5a633 75%,transparent 75.2%),repeating-linear-gradient(0deg,transparent 0 24vh,#d7c5a633 24.1vh 24.2vh,transparent 24.3vh 48vh);transform:perspective(900px) rotateX(24deg) rotateZ(-14deg);animation:gs-intro-roll var(--gs-duration) cubic-bezier(.25,.1,.2,1) both}
.gs-intro-aperture{position:absolute;inset:0;display:grid;place-items:center;transform:translate(var(--gs-x),var(--gs-y));pointer-events:none}
.gs-intro-aperture::before,.gs-intro-aperture::after{content:"";position:absolute;width:clamp(420px,74vw,1100px);aspect-ratio:1;border:1px solid #d7c5a624;border-radius:50%;background:repeating-conic-gradient(from 22deg,transparent 0deg 43deg,#d7c5a608 44deg 45deg);box-shadow:0 0 0 38px #0005,0 0 0 39px #d7c5a612,0 0 0 85px #0004,0 0 0 86px #d7c5a610;animation:gs-intro-aperture var(--gs-duration) cubic-bezier(.2,.5,.2,1) both}
.gs-intro-aperture::after{width:clamp(300px,52vw,850px);background:none;border:1px dashed #d7c5a620;box-shadow:none;animation-direction:reverse}
.gs-intro-scan{position:absolute;inset:-50% -10%;pointer-events:none;background:linear-gradient(170deg,transparent 48.8%,#851d2226 49.4%,#851d22ba 49.6%,#d7c5a6a0 49.7%,#06472f80 49.85%,transparent 50%);transform:translateY(-50%);animation:gs-intro-scan var(--gs-duration) ease-in-out both}
.gs-intro-topline{position:absolute;top:max(28px,env(safe-area-inset-top));left:5%;right:5%;z-index:9;display:flex;justify-content:space-between;gap:20px;font:9px/1.6 var(--mono,monospace);letter-spacing:.22em;color:#b5afa2;text-transform:uppercase}
.gs-intro-signal{display:flex;align-items:center;gap:10px}.gs-intro-signal::before{content:"";width:5px;height:5px;border-radius:50%;background:#a53636;box-shadow:0 0 15px #a5363644}
.gs-intro-story{position:absolute;inset:85px 6% 130px;display:grid;place-items:center;perspective:900px;transform:translate(calc(var(--gs-x)*.25),calc(var(--gs-y)*.25));transition:transform var(--gs-handoff) cubic-bezier(.25,.6,.2,1)}
.gs-intro-frame{position:absolute;width:100%;text-align:center;opacity:0;visibility:hidden;transform:translateY(45px) rotateX(-7deg);transition:opacity .5s ease,transform .7s cubic-bezier(.2,.7,.2,1),visibility .5s ease;will-change:transform,opacity}
.gs-intro-frame.is-current{opacity:1;visibility:visible;transform:translateY(0) rotateX(0)}
.gs-intro-frame.is-past{transform:translateY(-65px) rotateX(7deg)}
.gs-intro-eyebrow{margin:0 0 16px;font:10px/1.5 var(--mono,monospace);letter-spacing:.3em;text-transform:uppercase;color:#aaa396}
.gs-intro-heading{margin:0;font:500 clamp(60px,12vw,164px)/.83 var(--display,'Arial Narrow',sans-serif);letter-spacing:-.02em;text-transform:uppercase}
.gs-intro-heading em{display:block;font-style:normal;color:transparent;-webkit-text-stroke:1px #eee8db9c}
.gs-intro-wordmark{display:block;width:min(740px,86vw);max-height:47svh;height:auto;object-fit:contain;margin:0 auto;filter:drop-shadow(0 12px 45px #000)}
.gs-intro-mark-caption{margin-top:22px;font:9px/1.5 var(--mono,monospace);letter-spacing:.34em;color:#aaa396;text-transform:uppercase}
.gs-intro-future{font-size:clamp(54px,9.5vw,126px)}
.gs-intro-family{font-size:clamp(50px,8.5vw,106px);line-height:.95}
.gs-intro-family span{display:block}.gs-intro-family span:last-child{color:#c5c5ae}
.gs-intro-smallline{margin-top:22px;font:9px/1.5 var(--mono,monospace);letter-spacing:.2em;text-transform:uppercase;color:#aaa396}
.gs-intro-bottom{position:absolute;z-index:10;left:5%;right:5%;bottom:max(27px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px}
.gs-intro-timer{font:9px/1.5 var(--mono,monospace);letter-spacing:.2em;color:#aaa396;text-transform:uppercase}
.gs-intro-progress{height:1px;width:min(280px,32vw);margin-top:13px;background:#d7c5a62a;overflow:hidden}.gs-intro-progress span{display:block;width:100%;height:100%;background:#d7c5a6;transform-origin:left;animation:gs-intro-progress var(--gs-duration) linear both}
.gs-intro-controls{display:flex;align-items:center;gap:10px}.gs-intro-button{border:1px solid #eee8db30;background:#08090acc;color:var(--gs-ivory);padding:13px 18px;border-radius:0;font:9px/1.2 var(--mono,monospace);letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:background .2s,border-color .2s}
.gs-intro-button:hover{background:#eee8db12;border-color:#eee8db80}.gs-intro-button:focus-visible{outline:2px solid var(--gs-ivory);outline-offset:4px}.gs-intro-button[aria-pressed="true"]::before{content:"";display:inline-block;width:4px;height:4px;margin:0 8px 2px 0;border-radius:50%;background:#669880}.gs-intro-button:disabled{opacity:.5;cursor:default}
.gs-intro.is-ending{opacity:0}
.gs-intro.is-ending .gs-intro-film{transform:scale(1.1) translate(calc(var(--gs-x)*-.3),calc(var(--gs-y)*-.3 - 2vh))}
.gs-intro.is-ending .gs-intro-story{transform:translate(calc(var(--gs-x)*.25),calc(var(--gs-y)*.25 - 32px))}
.gs-intro-replay{border:0;background:none;color:var(--dim,#aaa396);font:9px/1.5 var(--mono,monospace);text-transform:uppercase;letter-spacing:.1em;text-decoration:underline;text-underline-offset:4px;padding:8px 0;cursor:pointer}.gs-intro-replay:hover{color:var(--ink,#eee8db)}
.gs-intro-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes gs-intro-roll{0%{translate:0 -8%;opacity:0}15%{opacity:.18}35%{translate:0 8%}70%{translate:0 25%}100%{translate:0 39%;opacity:.06}}
@keyframes gs-intro-aperture{0%{transform:rotate(-28deg) scale(1.35);opacity:0}20%{opacity:1}55%{transform:rotate(9deg) scale(.92)}100%{transform:rotate(30deg) scale(1.05);opacity:.4}}
@keyframes gs-intro-scan{0%{transform:translateY(-50%);opacity:0}22%{opacity:.7}54%{transform:translateY(20%);opacity:.5}100%{transform:translateY(60%);opacity:0}}
@keyframes gs-intro-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:600px){.gs-intro-topline{top:max(22px,env(safe-area-inset-top));font-size:8px;letter-spacing:.12em}.gs-intro-topline>span:last-child{display:none}.gs-intro-story{inset:80px 5% 150px}.gs-intro-heading{font-size:clamp(68px,22vw,110px)}.gs-intro-future{font-size:clamp(52px,15vw,85px)}.gs-intro-family{font-size:clamp(45px,12.5vw,74px)}.gs-intro-wordmark{width:90vw}.gs-intro-mark-caption{font-size:8px;letter-spacing:.22em}.gs-intro-eyebrow{font-size:8px;letter-spacing:.2em}.gs-intro-smallline{font-size:8px}.gs-intro-bottom{bottom:max(24px,env(safe-area-inset-bottom));grid-template-columns:1fr;gap:20px}.gs-intro-controls{justify-content:space-between}.gs-intro-button{padding:13px 15px}.gs-intro-progress{width:100%;margin-top:10px}.gs-intro-timer{font-size:8px}}
@media(prefers-reduced-motion:reduce){.gs-intro{transition:opacity var(--gs-handoff) linear!important}.gs-intro-atmosphere,.gs-intro-aperture,.gs-intro-story,.gs-intro-film,.gs-intro.is-ending .gs-intro-film,.gs-intro.is-ending .gs-intro-story{transform:none}.gs-intro-film video,.gs-intro-reel,.gs-intro-scan{display:none}.gs-intro-aperture::before,.gs-intro-aperture::after{animation:none;background:none}.gs-intro-frame,.gs-intro-frame.is-past{transform:none;transition:opacity .15s,visibility .15s}.gs-intro-progress span{animation:none;transform:scaleX(1)}}
