:root{color-scheme:dark;--ink:#091114;--panel:#101b1e;--panel-2:#152226;--line:#2b3b3d;--text:#e6e8df;--muted:#a5b1af;--gold:#d8b975;--gold-soft:#edd39b}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:86px}
body{margin:0;background:var(--ink);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.55}
img,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit;text-decoration:none}
a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.skip{position:absolute;top:-100px;left:1rem;padding:.7rem 1rem;background:var(--gold);color:var(--ink);z-index:30}
.skip:focus{top:1rem}
.site-header{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:2rem;min-height:70px;padding:.8rem max(4.5vw,calc((100vw - 1460px)/2));background:rgba(9,17,20,.92);border-bottom:1px solid rgba(183,206,207,.17);backdrop-filter:blur(16px)}
.wordmark{display:flex;align-items:center;gap:.9rem;font-size:.8rem;font-weight:700;letter-spacing:.19em;white-space:nowrap}
.wordmark i{font-style:normal;color:var(--gold)}
.wordmark-mark{width:2.3rem;height:2.3rem;display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font-family:Georgia,serif;font-size:1rem;letter-spacing:-.05em}
nav{display:flex;align-items:center;gap:clamp(1.2rem,2.6vw,2.6rem);color:#c6d0cb;font-size:.85rem;white-space:nowrap}
nav a{transition:color .2s}
nav a:hover,.site-footer a:hover{color:var(--gold-soft)}
.nav-out{color:var(--gold)}
.hero{max-width:1540px;margin:auto;display:grid;grid-template-columns:minmax(320px,.77fr) minmax(0,1.23fr);gap:clamp(2.5rem,5vw,6rem);align-items:center;min-height:min(810px,calc(100svh - 70px));padding:clamp(4rem,6vw,7rem) 4.5vw}
.hero-copy{max-width:540px}
.eyebrow{margin:0;color:var(--gold);font-size:.75rem;font-weight:700;letter-spacing:.19em;line-height:1.5}
.eyebrow-line{display:inline-block;width:23px;height:1px;margin:0 .55rem .3rem 0;background:var(--gold)}
h1,h2,p,figure{margin-top:0}
h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400}
h1{position:relative;margin:1.3rem 0 1.6rem;font-size:clamp(4.6rem,7.7vw,8.5rem);line-height:.87;letter-spacing:-.075em}
h1 em{font-weight:400;color:var(--gold-soft)}
.title-2d{display:inline-block;vertical-align:top;margin:.4rem 0 0 .7rem;border:1px solid var(--gold);border-radius:50%;width:2.7rem;height:2.7rem;line-height:2.6rem;text-align:center;color:var(--gold);font:600 .8rem/2.6rem ui-sans-serif,system-ui;letter-spacing:.06em}
.hero-intro{max-width:28rem;margin-bottom:2rem;color:#c4cfca;font-size:clamp(1rem,1.35vw,1.13rem);line-height:1.65}
.hero-intro strong,.step-copy strong{color:var(--gold-soft);font-weight:700}
.text-link{display:inline-flex;gap:1.4rem;align-items:center;padding-bottom:.35rem;border-bottom:1px solid var(--gold);color:var(--gold-soft);font-size:.88rem;font-weight:600}
.text-link:hover{gap:1.75rem}
.hero-film{align-self:center;min-width:0;background:#050809;box-shadow:0 25px 70px rgba(0,0,0,.25)}
.film-topline,.film-caption{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1rem;color:var(--gold);font-size:.72rem;font-weight:700;letter-spacing:.15em}
.film-topline{border:1px solid var(--line);border-bottom:0}
.film-caption{color:#91a09f;letter-spacing:.08em;border:1px solid var(--line);border-top:0}
.hero-film video{width:100%;aspect-ratio:16/9;background:#000;object-fit:contain;border-left:1px solid var(--line);border-right:1px solid var(--line)}
.process-intro{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:4rem 4.5vw 3.7rem;background:#0d181a;text-align:center}
.process-intro h2{margin:.55rem 0 .25rem;font-size:clamp(2.5rem,4.3vw,4.3rem);letter-spacing:-.055em;line-height:1.1}
.process-intro>p:not(.eyebrow){color:var(--muted);margin:0}
.flow{max-width:1160px;margin:2.8rem auto 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:0;list-style:none;text-align:left}
.flow li{position:relative;border-top:1px solid #425051}
.flow li::before{position:absolute;content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);top:-4px;left:0}
.flow a{display:block;padding:1rem .75rem 0 0;color:#dce2da;font-size:.9rem;font-weight:600}
.flow a:hover{color:var(--gold-soft)}
.flow span{display:block;color:var(--gold);font-size:.72rem;letter-spacing:.15em;font-weight:700;margin-bottom:.25rem}
.step{max-width:1500px;margin:auto;padding:clamp(4.6rem,7vw,7.6rem) 4.5vw;display:grid;grid-template-columns:minmax(235px,.38fr) minmax(0,1fr);gap:clamp(2rem,5vw,6rem);border-bottom:1px solid var(--line)}
.step-copy{max-width:330px}
.step-number{margin:0 0 1.2rem;color:var(--gold);font-size:.86rem;font-weight:700;letter-spacing:.08em}
.step-number span{margin-left:.8rem;color:#8fa5a4;font-size:.73rem;letter-spacing:.17em}
.step h2{margin:0 0 1.5rem;font-size:clamp(2.45rem,3.6vw,4rem);line-height:1.08;letter-spacing:-.055em}
.step-copy>p:not(.step-number){color:#b8c6c1;font-size:1.02rem;line-height:1.7}
.step-visual{min-width:0}
figure{margin:0}
figcaption{display:flex;align-items:center;justify-content:space-between;gap:.8rem;color:#b8c4bd;font-size:.8rem;letter-spacing:.055em}
.image-panel{overflow:hidden;background:var(--panel);border:1px solid var(--line)}
.image-panel img{width:100%;height:100%;object-fit:cover}
.image-panel figcaption{border-top:1px solid var(--line);padding:.65rem .9rem;background:#121d1e}
.image-panel figcaption a:hover{color:var(--gold-soft)}
.concept-gallery{display:grid;gap:1.7rem}
.concept-group h3{margin:0 0 .65rem;padding-bottom:.45rem;border-bottom:1px solid var(--line);color:var(--gold);font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.concept-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.concept-cards-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.concept-cards figure{min-width:0}
.concept-cards figure>a{display:block}
.concept-cards img{width:100%;height:185px;object-fit:cover}
.concept-cards-two img{height:240px}
.concept-cards .sheet img{object-fit:contain;background:#d8d5d1}
.concept-cards .concept-object img{object-fit:contain;background:#080e10}
.concept-cards figcaption{min-height:2.5rem}
.asset-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem}
.asset-card{min-width:0;border:1px solid var(--line);background:radial-gradient(circle at 50% 45%,#233032 0,#132022 49%,#0e181a 100%)}
.asset-card img{width:100%;aspect-ratio:1;object-fit:contain}
.asset-card figcaption{display:block;min-height:3.4rem;padding:.62rem .7rem;border-top:1px solid var(--line);font-weight:600;color:#e2e6dd}
.asset-card figcaption span{display:block;margin-top:.05rem;color:var(--gold);font-size:.61rem;font-weight:700;letter-spacing:.12em}
.asset-card .turn-link{display:inline-block;margin-top:.7rem;padding-top:.35rem;border-top:1px solid #566665;color:var(--gold-soft);font-size:.68rem;font-weight:700;letter-spacing:.02em}
.asset-card .turn-link:hover{text-decoration:underline;text-underline-offset:.2em}
.motion-panel{background:var(--panel);border:1px solid var(--line)}
.motion-video{display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at 50% 45%,#203032 0,#101b1e 70%)}
.motion-video video{width:min(100%,420px);max-height:580px;aspect-ratio:2/3;object-fit:contain;background:#080d0e}
.panel-note{margin:0;padding:1.05rem 1.25rem;color:#aebdb6;font-size:.87rem;border-top:1px solid var(--line)}
.assembly-note{color:var(--gold-soft)!important}
.transformation{display:grid;grid-template-columns:.43fr .57fr;gap:.7rem}
.transformation figure{display:flex;flex-direction:column;min-width:0}
.transformation img{height:clamp(275px,29vw,425px)}
.card-art img{object-fit:contain;background:#0b1517}
.scene-final img{object-fit:cover}
.blender-captures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.75rem}
.capture-card{min-width:0;overflow:hidden;border:1px solid var(--line);background:#0b1214}
.capture-card video{width:100%;aspect-ratio:16/9;object-fit:contain;background:#060a0b}
.capture-card figcaption{min-height:2.4rem;padding:.65rem .8rem;border-top:1px solid var(--line);background:#121d1e;font-size:.73rem}
.capture-card figcaption span:last-child{color:var(--gold);white-space:nowrap}
.capture-note{margin:.65rem 0 0;color:var(--muted);font-size:.8rem}
.render-proof{margin:.8rem 0 0;padding:1rem 1.2rem;border-left:2px solid var(--gold);background:#152123;color:#bacbc4;font-size:.86rem;line-height:1.55}
.render-proof strong{color:var(--gold-soft)}
.study-grid .study-image img{height:auto;max-height:440px;object-fit:cover}
.study-video{margin-top:.7rem;border:1px solid var(--line);background:#111c1f}
.study-video-heading{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.7rem 1rem;color:var(--gold-soft);font-weight:600;border-bottom:1px solid var(--line)}
.study-video-heading span{color:var(--muted);font-size:.72rem;letter-spacing:.1em}
.study-video video{width:100%;aspect-ratio:16/9;background:#050808}
.site-footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;max-width:1500px;margin:auto;padding:2.2rem 4.5vw 3rem;color:#93a5a1;font-size:.82rem}
.site-footer p{margin:0}.site-footer p span{padding:0 .5rem;color:var(--gold)}.site-footer a{color:var(--gold)}
@media(max-width:1100px){.hero{grid-template-columns:minmax(270px,.8fr) minmax(0,1.2fr);gap:2.4rem}.step{grid-template-columns:minmax(205px,.33fr) minmax(0,1fr);gap:2.2rem}.asset-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:820px){.hero{min-height:0;grid-template-columns:1fr;padding-top:4rem;padding-bottom:4rem}.hero-copy{max-width:650px}.hero-film{width:100%}.step{grid-template-columns:1fr;gap:2rem}.step-copy{max-width:580px}.step h2 br{display:none}.flow{gap:.5rem}.flow li{min-width:0}.flow a{font-size:.78rem}.asset-grid{grid-template-columns:repeat(5,1fr)}}
@media(max-width:650px){.site-header{min-height:62px;padding:.6rem 5vw}.wordmark{font-size:.7rem}.site-header nav{gap:1.1rem;font-size:.78rem}.nav-out{display:none}.hero,.step{padding-left:5vw;padding-right:5vw}.hero{padding-top:3rem}h1{font-size:clamp(4.15rem,14vw,7rem)}.process-intro{padding:3.5rem 5vw}.flow{grid-template-columns:repeat(5,1fr);margin-top:2.2rem}.flow a{font-size:.7rem;line-height:1.2}.flow span{font-size:.62rem}.step{padding-top:4.5rem;padding-bottom:4.5rem}.concept-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.concept-cards img{height:150px}.concept-group:first-child .concept-cards figure:first-child,.concept-group:nth-child(2) .concept-cards figure:first-child{grid-column:span 2}.concept-group:first-child .concept-cards figure:first-child img,.concept-group:nth-child(2) .concept-cards figure:first-child img{height:205px}.concept-cards-two{grid-template-columns:1fr}.concept-cards-two img{height:205px}.concept-cards figcaption{font-size:.72rem}.asset-grid{grid-template-columns:repeat(3,1fr)}.asset-card figcaption{font-size:.76rem}.asset-card figcaption span{font-size:.54rem}.transformation{grid-template-columns:1fr}.transformation img{height:auto;aspect-ratio:16/9}.card-art img{max-height:350px}.blender-captures{grid-template-columns:1fr}.site-footer{padding:2rem 5vw;flex-wrap:wrap}}
@media(max-width:410px){.wordmark>span:last-child{display:none}.flow{grid-template-columns:repeat(3,1fr);row-gap:1.5rem}.flow a{font-size:.77rem}.film-topline,.film-caption{font-size:.62rem}.title-2d{width:2.2rem;height:2.2rem;line-height:2.1rem;font-size:.68rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
