@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(./assets/fonts/golos-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(./assets/fonts/golos-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(./assets/fonts/golos-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(./assets/fonts/golos-700.ttf) format('truetype');
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(./assets/fonts/golos-800.ttf) format('truetype');
}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(./assets/fonts/golos-900.ttf) format('truetype');
}

:root{color-scheme:dark;--bg:#0b0b0d;--ink:#f1f0ed;--muted:#99999c;--red:#ef343d;--line:rgba(255,255,255,.14);font-family:'Golos Text',Arial,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:#a92730 #101012}body{margin:0;background:var(--bg);color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:7px}::selection{background:var(--red);color:white}.header{position:fixed;top:0;left:0;right:0;height:110px;padding:0 4.1%;display:flex;align-items:center;justify-content:space-between;z-index:20;background:linear-gradient(#0b0b0df0,#0b0b0d00);pointer-events:none}.header>*{pointer-events:auto}.brand{display:flex;flex-direction:column;width:148px}.brand-word{font-size:44px;font-weight:900;line-height:.9;letter-spacing:-5px;font-style:italic}.brand-dot{color:var(--red);letter-spacing:-4px}.brand-caption{font-size:10px;font-weight:550;letter-spacing:5.2px;margin-top:10px;padding-left:3px}.header-nav{display:flex;gap:35px;font-size:14px;color:#bababe}.header-nav a{transition:color .2s}.header-nav a:hover{color:white}.header-cta{border-bottom:1px solid #777;padding:13px 0;font-size:14px;display:flex;gap:34px;align-items:center}.header-cta span{color:var(--red);font-size:25px;line-height:1}.story{height:790vh;position:relative}.stage{position:sticky;top:0;height:100vh;min-height:630px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 68% 59%,#282024 0%,#141416 34%,#0b0b0d 69%)}#scene{position:absolute;inset:0;z-index:1}#scene canvas{display:block;width:100%;height:100%;outline:0}.stage-word{position:absolute;left:38%;top:16%;font-weight:900;font-size:clamp(180px,26vw,450px);line-height:1;letter-spacing:-.085em;color:#fff;opacity:.027;z-index:0;user-select:none}.stage-glow{position:absolute;right:-15%;bottom:9%;width:85%;height:38%;border-radius:50%;background:radial-gradient(ellipse,#9c142425,transparent 67%);z-index:0}.top-note{position:absolute;top:145px;right:4.1%;display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:1.5px;color:#77777d;z-index:4}.red-line{width:22px;height:1px;background:var(--red)}.copy-stack{position:absolute;inset:0;pointer-events:none;z-index:4}.scene-copy{position:absolute;left:4.1%;top:50%;transform:translateY(-48%);width:41%;opacity:0;visibility:hidden;will-change:transform,opacity;pointer-events:none}.scene-copy.is-active{visibility:visible}.scene-copy.is-active a,.scene-copy.is-active button{pointer-events:auto}.eyebrow{font-size:11px;font-weight:500;letter-spacing:1.9px;line-height:1.6;margin-bottom:28px;color:#c1c1c4}.eyebrow>span{color:var(--red);margin-right:12px}h1,h2{font-size:clamp(54px,6.15vw,104px);line-height:.97;letter-spacing:-.063em;font-weight:800;margin:0;text-wrap:nowrap}.accent{color:var(--red)}.scene-copy[data-panel="0"] h1{font-size:clamp(53px,6.1vw,103px)}.scene-copy[data-panel="6"] h2{font-size:clamp(45px,5.2vw,90px)}.scene-copy p{font-size:15px;line-height:1.75;font-weight:400;color:#b4b4b8;margin:26px 0 0;letter-spacing:-.2px}.primary-link{display:inline-flex;gap:22px;align-items:center;font-size:14px;padding:0;margin-top:33px}.round-arrow{display:grid;place-items:center;width:44px;height:44px;border:1px solid #ffffff4d;border-radius:50%;font-size:24px;transition:background .2s,border-color .2s,transform .2s}.primary-link:hover .round-arrow{background:var(--red);border-color:var(--red);transform:rotate(45deg)}.detail-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px;max-width:360px}.detail-tags span{font-size:11px;color:#bababc;padding:9px 11px;border:1px solid #ffffff26}.model-caption{position:absolute;right:8.4%;bottom:22%;display:flex;flex-direction:column;align-items:flex-end;gap:8px;z-index:4;pointer-events:none}.model-caption span:first-child{font-size:12px;letter-spacing:1.6px;color:#c8c8cb}.model-caption span:last-child{font-size:9px;letter-spacing:1.1px;color:#77777c}.side-index{position:absolute;right:3.7%;top:50%;transform:translateY(-20%);display:flex;flex-direction:column;gap:12px;align-items:center;z-index:4;font-size:11px;color:#747478}.side-index span:first-child{color:var(--red)}.side-index i{height:58px;width:1px;background:var(--line)}.stage-bottom{position:absolute;left:4.1%;right:4.1%;bottom:35px;display:flex;align-items:center;justify-content:space-between;z-index:5;padding-top:25px;border-top:1px solid var(--line)}.scroll-prompt{display:flex;align-items:center;gap:13px;color:#929298;font-size:9px;letter-spacing:1px;line-height:1.7}.scroll-symbol{width:18px;height:29px;border:1px solid #77777c;border-radius:10px;display:block;position:relative}.scroll-symbol i{width:2px;height:5px;background:var(--red);position:absolute;left:7px;top:6px;animation:scroll-tick 1.8s infinite}.chapter-nav{display:flex;gap:28px}.chapter-nav button{font-size:12px;color:#96969b;position:relative;padding:14px 0;transition:color .25s}.chapter-nav button span{font-size:9px;margin-right:6px;color:#626267}.chapter-nav button:hover,.chapter-nav button.is-current{color:#fff}.chapter-nav button.is-current span{color:var(--red)}.chapter-nav button::after{position:absolute;bottom:-36px;left:0;width:100%;height:2px;background:var(--red);content:'';transform:scaleX(0);transition:transform .3s}.chapter-nav button.is-current::after{transform:scaleX(1)}.experience-label{font-size:9px;letter-spacing:1.6px;color:#6d6d73}.scroll-progress{height:2px;position:absolute;bottom:0;left:0;right:0;z-index:6;background:#ffffff05}.scroll-progress i{display:block;width:100%;height:100%;background:var(--red);transform:scaleX(0);transform-origin:left;box-shadow:0 0 14px #ef343d80}.annotation{position:absolute;z-index:4;display:flex;align-items:center;pointer-events:none;opacity:0;transform:translate(-4px,-50%);will-change:left,top,opacity}.annotation-anchor{width:8px;height:8px;min-width:8px;background:var(--red);border-radius:50%;box-shadow:0 0 0 5px #ef343d24}.annotation-line{width:47px;height:1px;background:linear-gradient(90deg,var(--red),#b9b9bb80);transform:rotate(-25deg);transform-origin:left}.annotation-text{padding:12px 14px;background:#101012cf;border-left:1px solid #ffffff44;backdrop-filter:blur(10px);min-width:155px;display:flex;flex-direction:column;gap:5px;transform:translate(-4px,-10px)}.annotation-text small{font-size:8px;letter-spacing:1.5px;color:var(--red)}.annotation-text b{font-size:12px;font-weight:500}.annotation-text>span{font-size:10px;color:#929298}.scene-loader{position:absolute;left:63%;top:55%;transform:translate(-50%,-50%);z-index:3;width:210px;transition:opacity .6s}.scene-loader.is-loaded{opacity:0;pointer-events:none}.loader-line{display:block;height:1px;background:#ffffff18;margin-bottom:15px;overflow:hidden}.loader-line i{display:block;height:100%;width:0;background:var(--red);transition:width .3s}#load-text{font-size:11px;color:#88888f;display:flex;justify-content:space-between}#load-text b{font-weight:400}.scene-error{position:absolute;right:10%;top:45%;width:300px;z-index:8;padding:24px;background:#161619;border:1px solid var(--line);font-size:14px}.scene-error[hidden]{display:none}.scene-error p{font-size:20px}.scene-error span{color:var(--muted);line-height:1.6}.scene-error button{border-bottom:1px solid var(--red);padding:12px 0;display:block;margin-top:10px}.contact{padding:92px 4.1% 0;background:#101012;position:relative;z-index:10;border-top:1px solid var(--line)}.contact-intro{display:flex;justify-content:space-between;align-items:flex-start}.contact-intro .eyebrow{color:#929298}.contact-intro p{font-size:20px;line-height:1.5;margin:0 0 45px;letter-spacing:-.5px}.contact-title{display:flex;align-items:center;justify-content:space-between;font-size:clamp(70px,13vw,215px);font-weight:750;letter-spacing:-.065em;line-height:1.1;padding:12px 0 40px;border-bottom:1px solid var(--line)}.contact-arrow{font-weight:400;color:var(--red);transition:transform .25s}.contact-title:hover .contact-arrow{transform:translate(10px,-10px)}.contact-info{display:flex;align-items:center;justify-content:space-between;padding:36px 0 85px}.contact-info>a{font-size:24px;letter-spacing:-.7px}.contact-info>span{font-size:12px;color:#89898f}.contact-info button{font-size:12px;color:#a8a8ac}.contact footer{border-top:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;font-size:10px;color:#75757b;letter-spacing:.7px}.skip-link{position:fixed;top:-100px;left:20px;background:var(--red);padding:15px;z-index:100}.skip-link:focus{top:10px}.noscript{position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--red);padding:20px;text-align:center}@keyframes scroll-tick{0%,100%{transform:translateY(0);opacity:.4}50%{transform:translateY(7px);opacity:1}}@media(min-width:1800px){.scene-copy{left:6%;width:40%}.header{padding:0 6%}.stage-bottom{left:6%;right:6%}.scene-copy p{font-size:18px}.eyebrow{font-size:13px}.chapter-nav button{font-size:14px}.header-nav,.header-cta{font-size:16px}}@media(max-height:760px) and (min-width:901px){.header{height:85px}.top-note{top:108px}.scene-copy{top:49%}h1,h2,.scene-copy[data-panel="0"] h1{font-size:min(5.4vw,76px)}.eyebrow{margin-bottom:20px}.scene-copy p{font-size:14px;margin-top:22px}.primary-link{margin-top:20px}.stage-bottom{bottom:22px;padding-top:17px}.model-caption{bottom:21%}}@media(max-width:1100px){.chapter-nav{gap:17px}.experience-label{display:none}.scene-copy p{font-size:14px}.header-nav{gap:24px}.annotation-text{min-width:140px}.detail-tags{max-width:300px}.contact-info>span{max-width:300px;line-height:1.6}}@media(max-width:900px){.header{height:90px;padding:0 6%}.brand-word{font-size:37px}.brand-caption{font-size:8px;letter-spacing:4.3px}.header-nav{display:none}.header-cta{font-size:12px;gap:15px}.story{height:650vh}.stage{min-height:640px}.top-note{top:109px;left:6%;font-size:8px}.scene-copy{left:6%;top:27%;width:90%;transform:translateY(-20%)}h1,h2,.scene-copy[data-panel="0"] h1,.scene-copy[data-panel="6"] h2{font-size:clamp(38px,8vw,65px)}.eyebrow{font-size:9px;margin-bottom:14px}.scene-copy p{font-size:12px;line-height:1.6;margin-top:15px}.primary-link{font-size:12px;margin-top:18px;gap:12px}.round-arrow{height:34px;width:34px;font-size:20px}.detail-tags{display:none}.model-caption{bottom:17%;right:6%}.model-caption span:first-child{font-size:9px}.model-caption span:last-child{font-size:7px}.stage-word{left:20%;top:49%;font-size:44vw}.stage-bottom{left:6%;right:6%;bottom:25px;padding-top:12px}.scroll-prompt{display:none}.chapter-nav{gap:0;justify-content:space-between;width:100%}.chapter-nav button{font-size:10px}.chapter-nav button span{display:block;text-align:left;font-size:8px;margin-bottom:6px}.chapter-nav button::after{bottom:-25px}.side-index{right:5%;top:48%}.scene-loader{left:50%;top:68%}.annotation{display:none}.contact{padding:50px 6% 0}.contact-intro{display:block}.contact-intro p{font-size:17px;margin-top:20px}.contact-title{font-size:15vw;padding-bottom:25px}.contact-info{flex-wrap:wrap;gap:25px;padding-bottom:45px}.contact-info>a{font-size:20px}.contact-info>span{width:100%;order:3;font-size:11px}.contact footer{flex-wrap:wrap;gap:20px;font-size:8px}.scene-error{top:55%;left:10%;right:auto;width:80%}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Readable supporting type on the desktop stage. */
@media(min-width:901px){.scene-copy p{font-size:16px}.eyebrow{font-size:12px;letter-spacing:1.5px}.top-note{font-size:11px}.chapter-nav button{font-size:14px}.chapter-nav button span{font-size:11px}.scroll-prompt{font-size:11px;letter-spacing:.5px}.experience-label{font-size:11px;letter-spacing:1px}.detail-tags span{font-size:12px}.annotation-text small{font-size:10px}.annotation-text b{font-size:14px}.annotation-text>span{font-size:12px}.annotation-text{min-width:185px}.annotation-line{width:32px}.model-caption span:last-child{font-size:11px}.contact footer{font-size:12px}.contact-info>span,.contact-info button{font-size:14px}}
@media(min-width:901px) and (max-width:1250px){.chapter-nav{gap:17px}.chapter-nav button{font-size:12px}.experience-label{display:none}.scroll-prompt{font-size:10px}}

/* Feedback dialogs and privacy controls. */
[hidden] { display: none !important; }
html { scrollbar-gutter: stable; }
html.has-modal { overflow: hidden; }
.contact-title { width: 100%; text-align: left; font-family: inherit; }
.contact-info .callback-link { font-size: 14px; color: var(--ink); border-bottom: 1px solid var(--red); padding: 8px 0; }
.callback-link span { margin-left: 12px; color: var(--red); }
.contact .site-footer { gap: 24px; align-items: center; flex-wrap: wrap; line-height: 1.6; }
.footer-legal { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.footer-legal button { font-size: 12px; padding: 0; text-align: left; color: #a5a5ad; }
.footer-legal button:hover, .studio-credit:hover { color: var(--ink); }
.studio-credit { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 5px; font-size: 12px; color: #a5a5ad; }
.studio-credit strong { color: var(--ink); font-weight: 650; }
.studio-credit > span { color: var(--red); margin-left: 5px; }
.modal { position: fixed; margin: auto; width: min(690px, calc(100% - 40px)); max-height: calc(100dvh - 24px); padding: 24px 28px; color: var(--ink); background: #151517; border: 1px solid #ffffff24; border-top: 2px solid var(--red); box-shadow: 0 35px 120px #0009; overscroll-behavior: contain; overflow: auto; }
.modal::backdrop { background: #060608c9; backdrop-filter: blur(10px); }
.modal[open] { display: flex; flex-direction: column; overflow: hidden; animation: modal-entrance .25s ease-out both; }
/* Keep scrolling text and controls clear of both the scrollbar and close button. */
.modal-body { min-height: 0; overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding-right: 32px; margin-right: -12px; }
.modal-close { z-index: 1; background: #151517; }
.modal, .modal * { box-sizing: border-box; }
.modal :is(.form-content, .form-success, .form-field, .form-consent > div) { min-width: 0; }
.modal :is(h2, h3, p, label, .modal-eyebrow, .field-error, .form-submit) { overflow-wrap: anywhere; }
.modal-close { position: absolute; right: 18px; top: 14px; display: grid; place-items: center; width: 40px; height: 40px; color: #b4b4ba; border: 1px solid #ffffff20; transition: color .2s, border-color .2s; }
.modal-close:hover { color: white; border-color: var(--red); }
.modal-close:focus-visible { outline-offset: -3px; }
.modal-close span { font: 300 28px/1 Arial, sans-serif; }
.modal-eyebrow { display: block; font-size: 11px; letter-spacing: 1.8px; color: #a2a2aa; line-height: 1.6; margin: 0 0 8px; padding-right: 40px; }
.modal .modal-title { padding-right: 20px; font-size: clamp(28px, 3vw, 36px); line-height: 1.04; letter-spacing: -.045em; font-weight: 750; text-wrap: balance; }
.modal-description { font-size: 14px; color: #aaaab2; line-height: 1.5; margin: 10px 0 16px; }
.feedback-form { display: flex; flex-direction: column; gap: 21px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px 20px; }
.form-field { display: flex; flex-direction: column; gap: 9px; }
.form-field > label { font-size: 13px; color: #d4d4d9; }
.form-field > label > span { color: var(--red); }
.form-field input, .form-field textarea, .form-field select { min-width: 0; width: 100%; font: inherit; font-size: 16px; line-height: 1.5; color: var(--ink); background: #101012; border: 1px solid #ffffff29; border-radius: 0; padding: 13px 14px; outline: none; transition: border-color .2s; }
.form-field textarea { resize: vertical; min-height: 90px; max-height: 220px; }
.form-field select { min-height: 52px; padding-right: 25px; cursor: pointer; }
.form-field input::placeholder, .form-field textarea::placeholder { color: #707079; opacity: 1; }
.form-field input:focus, .form-field textarea:focus, .form-field select:focus { border-color: #bcbcc5; }
.form-field [aria-invalid="true"] { border-color: var(--red); }
.field-error { display: block; color: #ff8f98; font-size: 12px; line-height: 1.5; }
.field-error:empty { display: none; }
.form-consent { display: grid; grid-template-columns: 19px 1fr; align-items: start; gap: 12px; }
.form-consent input { width: 18px; height: 18px; margin: 3px 0 0; accent-color: var(--red); cursor: pointer; }
.form-consent input:focus-visible { outline: 2px solid var(--red); outline-offset: 4px; }
.form-consent label { font-size: 12px; line-height: 1.7; color: #a4a4ae; cursor: pointer; }
.form-consent button { font: inherit; font-size: inherit; line-height: inherit; color: #d1d1d8; text-align: left; padding: 0; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #64646d; }
.form-consent button:hover { color: white; text-decoration-color: var(--red); }
.form-consent .field-error { margin-top: 7px; }
.form-submit { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 12px 18px; width: 100%; min-height: 48px; background: var(--red); color: white; font-size: 15px; text-align: left; transition: background .2s; }
.form-submit:hover { background: #d72833; }
.form-submit > span:last-child { font-size: 24px; line-height: 1; }
.form-submit:disabled { opacity: .55; cursor: wait; }
.callback-modal { width: min(600px, calc(100% - 32px)); }
.form-success { padding: 0; }
.form-success:focus { outline: none; }
.form-success > p { margin: 12px 0 20px; color: #b4b4be; font-size: 14px; line-height: 1.5; }
.success-icon { display: grid; place-items: center; width: 44px; height: 44px; margin-bottom: 16px; border: 1px solid #ef343d80; color: var(--red); font-size: 28px; }
.legal-modal { width: min(860px, calc(100% - 32px)); }
.modal .legal-title { font-size: clamp(22px, 2.4vw, 30px); line-height: 1.2; letter-spacing: -.035em; text-wrap: balance; padding-right: 12px; }
.legal-content { margin-top: 16px; font-size: 14px; line-height: 1.6; color: #b8b8c0; }
.legal-content h3 { font-size: 15px; font-weight: 600; margin: 16px 0 6px; color: var(--ink); }
.legal-content p { margin: 8px 0; }
.legal-content a { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: #686870; }
.legal-content a:hover { color: var(--red); }
.legal-attribution { font-size: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.cookie-banner { position: fixed; z-index: 30; bottom: 22px; left: 22px; width: min(570px, calc(100% - 44px)); max-height: calc(100dvh - 24px); overflow: auto; overscroll-behavior: contain; scrollbar-gutter: stable; padding: 20px; background: #171719f5; border: 1px solid #ffffff26; box-shadow: 0 12px 70px #0008; backdrop-filter: blur(16px); }
.cookie-heading { display: flex; align-items: center; gap: 12px; }
.cookie-mark { color: var(--red); font-size: 23px; font-weight: 850; font-style: italic; letter-spacing: -2px; }
.cookie-heading h2 { font-size: 17px; font-weight: 600; line-height: 1.4; letter-spacing: -.3px; text-wrap: balance; }
.cookie-banner > p { margin: 10px 0 14px; font-size: 13px; line-height: 1.5; color: #b0b0b9; }
.cookie-banner > p button { padding: 0; color: var(--ink); font-size: inherit; border-bottom: 1px solid #787880; }
.cookie-actions { display: grid; grid-template-columns: repeat(3, max-content); align-items: stretch; gap: 9px; }
.cookie-actions > button { display: flex; align-items: center; justify-content: center; min-height: 44px; margin: 0; padding: 10px 12px; font-size: 12px; border: 1px solid #ffffff30; line-height: 1.4; white-space: nowrap; }
.cookie-actions > button:hover { border-color: #ffffff80; }
.cookie-actions > .cookie-accept { background: var(--red); border-color: var(--red); color: white; }
.cookie-actions > .cookie-settings-link { color: #b0b0b9; }
.cookie-modal { width: min(600px, calc(100% - 32px)); }
.cookie-option { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 14px 0; border-top: 1px solid var(--line); }
.cookie-option h3, .cookie-option strong { display: block; font-size: 15px; font-weight: 550; margin: 0 0 4px; }
.cookie-option p, .cookie-option > span > span { display: block; color: #aaaab4; font-size: 13px; line-height: 1.5; margin: 0; }
.cookie-always { font-size: 11px; color: #a2a2ac; white-space: nowrap; }
.cookie-analytics { position: relative; cursor: pointer; padding-right: 2px; }
.cookie-analytics input { position: absolute; right: 0; width: 43px; height: 25px; opacity: 0; margin: 0; cursor: pointer; }
.cookie-analytics > .toggle-track { display: block; min-width: 43px; width: 43px; height: 25px; border-radius: 16px; background: #3a3a42; pointer-events: none; transition: background .2s; }
.toggle-track::after { display: block; content: ''; width: 19px; height: 19px; background: white; margin: 3px; border-radius: 50%; transition: transform .2s; }
.cookie-analytics input:checked + .toggle-track { background: var(--red); }
.cookie-analytics input:checked + .toggle-track::after { transform: translateX(18px); }
.cookie-analytics input:focus-visible + .toggle-track { outline: 2px solid var(--red); outline-offset: 5px; }
.cookie-policy-link { font-size: 12px; color: #b5b5bd; padding: 0; margin-top: 14px; text-decoration: underline; text-underline-offset: 4px; }
@keyframes modal-entrance { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 1100px) { .contact-info { flex-wrap: wrap; gap: 22px; } .contact .site-footer { align-items: flex-start; } .footer-legal { order: 3; width: 100%; } }
@media (max-width: 600px) { .modal { padding: 20px 16px; width: calc(100% - 24px); max-height: calc(100dvh - 24px); } .modal .modal-title { padding-right: 0; font-size: 28px; } .modal-close { right: 12px; top: 12px; width: 32px; height: 32px; } .modal-eyebrow { font-size: 10px; letter-spacing: 1.3px; min-height: 24px; margin-bottom: 6px; } .modal-description { margin: 8px 0 12px; } .form-grid { grid-template-columns: 1fr; gap: 18px; } .feedback-form { gap: 18px; } .cookie-banner { bottom: 12px; left: 12px; width: calc(100% - 24px); padding: 19px; } .cookie-option { gap: 12px; } .cookie-always { white-space: normal; text-align: right; } .footer-legal { gap: 12px 20px; } .footer-legal button, .studio-credit { font-size: 12px; } }

@media (max-width: 480px) { .cookie-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cookie-actions > button { width: 100%; white-space: normal; } .cookie-actions > .cookie-settings-link { grid-column: 1 / -1; } }

/* Keep the close control clear of headings, including in a short viewport. */
@media (max-width: 600px) {
  .modal { max-width: calc(100% - 24px); padding: 20px 16px; }
  .modal .modal-title { font-size: 28px; }
  .modal .legal-title { font-size: clamp(21px, 6.6vw, 27px); hyphens: auto; }
  .modal .form-submit { gap: 12px; padding-inline: 16px; }
  .modal .form-submit > span:last-child { flex-shrink: 0; }
  .cookie-option > :first-child { min-width: 0; }
  .cookie-always { flex: 0 0 66px; }
}
@media (max-width: 640px) {
  .modal .form-grid { grid-template-columns: minmax(0, 1fr); }
}

/* Compact enquiry forms; scrolling remains available when the viewport is short. */
.contact-modal { width: min(760px, calc(100% - 32px)); }
.modal .modal-title .accent { display: inline-block; }
.modal:is(.contact-modal, .callback-modal) .feedback-form { gap: 12px; }
.modal:is(.contact-modal, .callback-modal) .form-grid { gap: 12px 18px; }
.modal:is(.contact-modal, .callback-modal) .form-field { gap: 5px; }
.modal:is(.contact-modal, .callback-modal) .form-field :is(input, select, textarea) { padding: 8px 12px; }
.modal:is(.contact-modal, .callback-modal) .form-field select { min-height: 42px; padding-right: 25px; }
.modal:is(.contact-modal, .callback-modal) .form-field textarea { height: 64px; min-height: 64px; }
.modal:is(.contact-modal, .callback-modal) .form-consent { gap: 10px; }
.modal:is(.contact-modal, .callback-modal) .form-consent label { line-height: 1.5; }
@media (max-width: 600px) {
  .modal:is(.contact-modal, .callback-modal) .feedback-form { gap: 10px; }
  .modal:is(.contact-modal, .callback-modal) .form-grid { gap: 10px; }
}

/* Contextual links from the car story to the store. */
.header-nav .home-catalog-link { color: var(--ink); }
.home-catalog-link::after { content: ''; display: block; height: 2px; width: 22px; background: var(--red); margin-top: 7px; }
.scene-actions, .scene-store-links { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 22px; margin-top: 24px; }
.scene-actions .primary-link { margin-top: 0; min-height: 44px; }
.scene-store-links { gap: 10px; margin-top: 18px; }
.scene-store-link { display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 44px; max-width: 100%; padding: 11px 15px; border: 1px solid #ef343d80; border-radius: 3px; font-size: 13px; line-height: 1.5; transition: background .2s, border-color .2s; }
.scene-store-link svg { width: 16px; height: 16px; flex: none; color: var(--red); }
.scene-store-link:hover { border-color: var(--red); background: #ef343d18; }
@media (max-width: 900px) {
  .scene-actions, .scene-store-links { margin-top: 16px; gap: 8px 14px; }
  .scene-store-link { font-size: 12px; padding: 10px 12px; gap: 12px; }
}

/* First frame of the same gray car, available before the WebGL modules load. */
#scene { opacity: 0; transition: opacity .55s ease; }
.scene-poster { position: absolute; inset: 0; z-index: 2; pointer-events: none; overflow: hidden; opacity: 1; transition: opacity .55s ease; }
.scene-poster img { position: absolute; top: 0; left: 69.5%; height: 100%; width: auto; max-width: none; transform: translateX(-69.5%); }
.stage.is-scene-ready #scene { opacity: 1; }
.stage.is-scene-ready .scene-poster { opacity: 0; }
.scene-loader { left: 69.5%; top: auto; bottom: 20%; transform: translateX(-50%); pointer-events: none; }
@media (max-width: 900px) {
  .scene-poster img { left: 50%; transform: translateX(-50%); }
  .scene-loader { left: 50%; top: auto; bottom: 16%; }
}
@media (max-width: 900px) and (min-height: 640px) and (max-aspect-ratio: 66/100), (max-width: 422px) and (max-height: 639px) {
  .scene-poster img { top: 62%; width: 100%; height: auto; transform: translate(-50%, -62%); }
}
@media (max-width: 900px) and (min-height: 640px) and (min-aspect-ratio: 6601/10000), (min-width: 423px) and (max-width: 900px) and (max-height: 639px) {
  .scene-loader { left: auto; right: 6%; top: 16%; bottom: auto; width: 150px; transform: none; }
}
