:root{
  --red:#e30613;
  --red2:#ff1724;
  --black:#050505;
  --white:#f5f4f0;
  --muted:#969696;
  --line:rgba(255,255,255,.13);
  --display:"Anton",sans-serif;
  --body:"Inter",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--black);color:var(--white);font-family:var(--body);overflow-x:hidden}
body.lock{overflow:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
::selection{background:var(--red);color:#fff}
.noise{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.cursor-glow{position:fixed;z-index:1;pointer-events:none;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(227,6,19,.09),transparent 67%);transform:translate(-50%,-50%);opacity:0;transition:opacity .25s}
.loader{position:fixed;z-index:999;inset:0;background:#030303;display:grid;place-content:center;text-align:center;transition:opacity .75s,visibility .75s}
.loader.hide{opacity:0;visibility:hidden}
.loader-logo{font:400 88px/1 var(--display);letter-spacing:-.06em}.loader-logo span{color:var(--red)}
.loader-track{width:250px;height:2px;background:#202020;margin:24px auto 15px;overflow:hidden}.loader-track i{display:block;height:100%;width:0;background:var(--red);animation:loading 1.25s cubic-bezier(.75,0,.25,1) forwards}
.loader p{margin:0;font-size:8px;font-weight:700;letter-spacing:.45em;color:#777}@keyframes loading{to{width:100%}}

.header{position:fixed;z-index:50;top:0;left:0;width:100%;height:96px;padding:0 3.5vw;display:flex;align-items:center;transition:.35s;border-bottom:1px solid transparent}
.header.scrolled{height:72px;background:rgba(5,5,5,.9);backdrop-filter:blur(16px);border-color:var(--line)}
.brand{width:86px;height:58px;overflow:hidden}.brand img{width:100%;height:100%;object-fit:cover}
.nav{margin-left:auto;display:flex;gap:42px}.nav a,.social-mini a{font-size:9px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.nav a{position:relative}.nav a:after{content:"";position:absolute;left:0;bottom:-9px;width:0;height:2px;background:var(--red);transition:.3s}.nav a:hover:after{width:100%}
.header-right{display:flex;align-items:center;margin-left:45px;gap:26px}.social-mini{display:flex;gap:14px}.social-mini a{color:#aaa;transition:.2s}.social-mini a:hover{color:white}
.header-cta{border:1px solid rgba(255,255,255,.34);padding:14px 18px;font-size:9px;font-weight:800;letter-spacing:.16em;transition:.25s}.header-cta span{margin-left:15px}.header-cta:hover{background:#fff;color:#000}
.menu-button{display:none;background:none;border:0;width:44px;height:44px;padding:10px}.menu-button i{display:block;height:2px;background:#fff;margin:7px 0;transition:.3s}

.hero{min-height:100svh;position:relative;display:grid;grid-template-columns:1.1fr .9fr;align-items:center;padding:125px 7vw 85px;overflow:hidden}
.hero-ambient{position:absolute;inset:0;background:radial-gradient(circle at 70% 43%,rgba(227,6,19,.16),transparent 25%),linear-gradient(90deg,#050505 0%,#080606 48%,#050505 100%)}
.hero-lines{position:absolute;inset:0;opacity:.055;background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px);background-size:110px 110px;mask-image:linear-gradient(90deg,black,transparent 62%)}
.hero-content{position:relative;z-index:3;max-width:860px}
.eyebrow{margin:0 0 28px;display:flex;align-items:center;gap:15px;font-size:9px;font-weight:800;letter-spacing:.34em;text-transform:uppercase}.eyebrow:before{content:"";width:42px;height:2px;background:var(--red)}
.hero h1{margin:0;font:400 clamp(68px,8.2vw,136px)/.86 var(--display);letter-spacing:.005em;text-transform:uppercase}
.hero h1 span,.hero h1 strong{display:block}.hero h1 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.72);font-weight:400}.hero h1 strong{font-weight:400;margin-top:8px}
.hero-text{max-width:570px;margin:30px 0 0;font-size:14px;line-height:1.85;color:#a8a8a8}
.hero-actions{display:flex;align-items:center;gap:34px;margin-top:34px}
.button{min-height:56px;padding:0 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:35px;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;transition:.28s}
.button-red{background:var(--red)}.button-red:hover{background:var(--red2);transform:translateY(-3px)}
.button b{font-size:16px}.button-link{font-size:9px;font-weight:800;letter-spacing:.14em;border-bottom:1px solid #555;padding-bottom:8px}.button-link span{color:var(--red);margin-left:12px}

.hero-object-wrap{position:relative;z-index:3;height:min(70vh,720px);display:grid;place-items:center;perspective:1400px}
.hero-halo{position:absolute;width:74%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(227,6,19,.3),rgba(227,6,19,.05) 42%,transparent 68%);filter:blur(12px)}
.logo-object{position:relative;width:min(36vw,510px);aspect-ratio:1.12;transform-style:preserve-3d;will-change:transform;cursor:grab}
.logo-object:active{cursor:grabbing}
.object-back,.object-depth,.object-front{position:absolute;inset:0;border-radius:3px;transform-style:preserve-3d}
.object-back{background:#280202;transform:translateZ(-34px)}
.object-depth{background:linear-gradient(135deg,#81030b,#2c0104);box-shadow:0 0 0 1px rgba(255,255,255,.04) inset}
.depth-1{transform:translateZ(-28px) translate(10px,10px)}.depth-2{transform:translateZ(-18px) translate(7px,7px)}.depth-3{transform:translateZ(-9px) translate(3px,3px)}
.object-front{overflow:hidden;background:#090909;box-shadow:0 35px 80px rgba(0,0,0,.6),0 0 60px rgba(227,6,19,.12);transform:translateZ(0)}
.object-front img{width:100%;height:100%;object-fit:cover}
.object-shine,.p-shine{position:absolute;inset:-40%;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.22) 49%,transparent 61%);transform:translateX(-45%);mix-blend-mode:screen;pointer-events:none}
.object-floor-shadow{position:absolute;width:55%;height:12%;bottom:10%;background:rgba(0,0,0,.75);filter:blur(26px);border-radius:50%}
.object-hint{position:absolute;bottom:2%;font-size:7px;letter-spacing:.22em;color:#6d6d6d}
.hero-bottom{position:absolute;z-index:4;bottom:42px;left:3.5vw;right:3.5vw;display:flex;align-items:center;justify-content:space-between}
.scroll-link{display:flex;align-items:center;gap:18px}.scroll-link i{width:80px;height:1px;background:#555;position:relative;overflow:hidden}.scroll-link i:after{content:"";position:absolute;left:-28px;width:28px;height:100%;background:white;animation:scrollLine 1.8s linear infinite}.scroll-link span{font-size:7px;letter-spacing:.25em;color:#777}@keyframes scrollLine{to{left:100%}}
.location{display:flex;gap:14px;align-items:flex-start}.location b{font-size:8px;color:var(--red)}.location span{font-size:7px;line-height:1.7;letter-spacing:.18em;color:#777}

.project{padding:115px 7vw 135px;background:#080808;position:relative}
.project-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:55px;font-size:8px;letter-spacing:.22em;color:#777}.project-head b{color:var(--red);margin-right:12px}
.project-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:8vw;align-items:center}
.project-visual{position:relative;min-height:680px;display:grid;place-items:center;overflow:hidden}
.project-visual:before{content:"";position:absolute;width:78%;aspect-ratio:1;border:1px solid rgba(227,6,19,.25);border-radius:50%}
.project-visual:after{content:"";position:absolute;width:57%;aspect-ratio:1;border:1px dashed rgba(227,6,19,.14);border-radius:50%;animation:spin 25s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.visual-glow{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(227,6,19,.26),rgba(227,6,19,.05) 45%,transparent 70%);filter:blur(18px)}
.project-object-wrap{position:relative;z-index:3;perspective:1300px}
.project-object{position:relative;width:min(37vw,530px);aspect-ratio:1.12;transform-style:preserve-3d;will-change:transform;cursor:grab}
.project-object:active{cursor:grabbing}
.p-back,.p-depth,.p-front{position:absolute;inset:0;border-radius:3px}.p-back{background:#260204;transform:translateZ(-38px)}
.p-depth{background:linear-gradient(135deg,#92050e,#300104)}.p-depth-1{transform:translateZ(-27px) translate(10px,10px)}.p-depth-2{transform:translateZ(-13px) translate(5px,5px)}
.p-front{transform:translateZ(0);overflow:hidden;background:#080808;box-shadow:0 45px 100px rgba(0,0,0,.7),0 0 70px rgba(227,6,19,.16)}.p-front img{width:100%;height:100%;object-fit:cover}
.visual-copy{position:absolute;z-index:4;left:0;right:0;bottom:8px;display:flex;justify-content:space-between;font-size:7px;letter-spacing:.23em;color:#666}
.project-info{padding-right:2vw}.status{font-size:8px;font-weight:700;letter-spacing:.2em}.status i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:10px;box-shadow:0 0 14px var(--red)}
.project-info h2{font:400 clamp(66px,7vw,118px)/.88 var(--display);letter-spacing:.015em;margin:35px 0 34px}
.project-description{font-size:14px;line-height:1.9;color:#999;max-width:570px}
.project-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:42px 0 46px}.project-facts div{border-top:1px solid #2b2b2b;padding-top:15px}.project-facts span{display:block;font-size:7px;letter-spacing:.19em;color:#666;margin-bottom:9px}.project-facts strong{font-size:8px;letter-spacing:.1em}
.underlined-link{font-size:8px;font-weight:800;letter-spacing:.17em;border-bottom:1px solid #494949;padding-bottom:9px}.underlined-link span{margin-left:14px;color:var(--red)}

.studio{display:grid;grid-template-columns:90px 1fr;background:#efede9;color:#090909;min-height:860px}
.studio-label{border-right:1px solid #c2c0bc;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;font-size:7px;letter-spacing:.27em}
.studio-content{padding:120px 9vw}.studio .eyebrow{color:#555}.studio-content h2{font:400 clamp(70px,8.5vw,145px)/.84 var(--display);letter-spacing:.01em;margin:35px 0 75px}.studio-content h2 span{color:var(--red)}
.studio-copy{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-left:17vw}.studio-copy p{font-size:14px;line-height:1.95;color:#4f4f4f;margin:0}
.studio-stats{display:flex;gap:70px;margin:85px 0 0 17vw;border-top:1px solid #bbb;padding-top:32px}.studio-stats div{display:flex;flex-direction:column;gap:7px}.studio-stats b{font:400 40px var(--display)}.studio-stats span{font-size:7px;font-weight:800;letter-spacing:.18em;color:#555}

.principles{padding:0 7vw;background:#050505}
.principle{min-height:380px;display:grid;grid-template-columns:80px 1.1fr .9fr;gap:50px;align-items:center;border-bottom:1px solid var(--line);transition:.35s}
.principle:hover{padding-left:18px;background:linear-gradient(90deg,rgba(227,6,19,.05),transparent 45%)}
.principle>span{font:400 26px var(--display);color:var(--red)}.principle div>p{font-size:8px;font-weight:800;letter-spacing:.21em;color:#777}.principle h3{font:400 clamp(48px,5.6vw,88px)/.9 var(--display);letter-spacing:.01em;margin:18px 0 0}.principle-text{font-size:13px;line-height:1.9;color:#898989;max-width:440px}

.transmission{position:relative;min-height:840px;display:flex;align-items:center;padding:110px 8vw;overflow:hidden}
.transmission-bg{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.97),rgba(0,0,0,.64) 58%,rgba(0,0,0,.37)),url("assets/vk3-ambient.webp") center/cover;filter:grayscale(1)}
.transmission-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,transparent 45%,rgba(227,6,19,.22))}
.transmission-content{position:relative;z-index:2;max-width:850px}.transmission h2{font:400 clamp(72px,8.6vw,140px)/.84 var(--display);letter-spacing:.01em;margin:28px 0 30px}.transmission-content>p:not(.eyebrow){max-width:520px;color:#aaa;font-size:14px;line-height:1.9;margin-bottom:35px}.transmission-code{position:absolute;z-index:2;right:4vw;bottom:45px;font-size:7px;letter-spacing:.26em;writing-mode:vertical-rl;color:#777}

.contact{padding:120px 8vw;background:var(--red)}.contact .eyebrow:before{background:white}
.contact-layout{display:grid;grid-template-columns:1.45fr .85fr;gap:8vw}.contact h2{font:400 clamp(75px,9.7vw,158px)/.8 var(--display);letter-spacing:.01em;margin:35px 0 0}.contact h2 span{color:transparent;-webkit-text-stroke:1.3px white}
.contact-info{align-self:end;border-top:1px solid rgba(255,255,255,.48);padding-top:30px}.contact-info>p{font-size:13px;line-height:1.85;max-width:420px}.email{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.5);padding:28px 0;font-size:clamp(17px,1.8vw,27px);font-weight:700}.social-links{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:38px}.social-links a{font-size:8px;font-weight:800;letter-spacing:.18em}
footer{min-height:220px;padding:38px 3.5vw;display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid var(--line)}.footer-brand img{width:86px;height:58px;object-fit:cover}.footer-brand span,footer p,footer>a{display:block;margin-top:10px;font-size:7px;letter-spacing:.18em;color:#777}footer>a{color:white}
.reveal{opacity:0;transform:translateY(35px);transition:opacity .85s ease,transform .85s ease}.reveal.visible{opacity:1;transform:none}

@media(max-width:980px){
  .header{height:72px;padding:0 20px}.brand{width:72px}.header-right{display:none}.menu-button{display:block;margin-left:auto;position:relative;z-index:3}
  .nav{position:fixed;inset:0;background:#050505;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;transform:translateY(-100%);transition:.45s cubic-bezier(.7,0,.2,1)}.nav.open{transform:none}.nav a{font:400 44px var(--display)}
  .menu-button.active i:first-child{transform:translateY(4.5px) rotate(45deg)}.menu-button.active i:last-child{transform:translateY(-4.5px) rotate(-45deg)}
  .hero{grid-template-columns:1fr;padding:110px 24px 110px}.hero-content{z-index:4}.hero h1{font-size:clamp(66px,18vw,115px)}.hero-object-wrap{position:absolute;inset:15% -12% auto auto;width:65%;height:60%;opacity:.45}.logo-object{width:80%}.object-hint{display:none}.hero-bottom{left:24px;right:24px}
  .project{padding:90px 24px}.project-layout{grid-template-columns:1fr;gap:55px}.project-visual{min-height:530px}.project-object{width:min(78vw,500px)}.project-info h2{font-size:15vw}
  .studio{grid-template-columns:1fr}.studio-label{display:none}.studio-content{padding:90px 24px}.studio-content h2{font-size:16vw}.studio-copy{grid-template-columns:1fr;margin-left:0;gap:25px}.studio-stats{margin-left:0;gap:24px;justify-content:space-between}
  .principles{padding:0 24px}.principle{grid-template-columns:55px 1fr;gap:25px;padding:55px 0}.principle-text{grid-column:2}
  .transmission{padding:90px 24px;min-height:720px}.contact{padding:90px 24px}.contact-layout{grid-template-columns:1fr;gap:70px}
  footer{flex-direction:column;align-items:flex-start;gap:28px}
}
@media(max-width:560px){
  .hero h1{font-size:18vw}.hero-actions{align-items:flex-start;flex-direction:column}.button{width:100%}.location{display:none}.project-head span{display:none}.project-visual{min-height:420px}.project-facts{grid-template-columns:1fr}.studio-stats{flex-direction:column}.principle{grid-template-columns:35px 1fr}.principle h3{font-size:13vw}.contact h2,.transmission h2{font-size:17vw}.social-links{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* V4 refinement: quieter project details and cinematic principle panels */
.project-signal{margin-top:46px;display:flex;align-items:center;gap:15px;color:#666;font-size:7px;letter-spacing:.22em;white-space:nowrap}
.project-signal i{position:relative;width:150px;height:1px;background:#292929;overflow:hidden}
.project-signal i:after{content:"";position:absolute;top:0;left:-42px;width:42px;height:100%;background:var(--red);box-shadow:0 0 12px rgba(227,6,19,.8);animation:signalSweep 2.4s cubic-bezier(.65,0,.35,1) infinite}
@keyframes signalSweep{0%{left:-42px}55%,100%{left:100%}}

.principles{padding:120px 7vw 140px;background:#050505;position:relative;overflow:hidden}
.principles:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 20%,rgba(227,6,19,.08),transparent 28%);pointer-events:none}
.principles-head{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:52px}
.principles-head .eyebrow{margin:0}
.principles-head>span{font-size:7px;letter-spacing:.24em;color:#666}
.principle-panels{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.principle-panel{position:relative;min-height:650px;overflow:hidden;background:#090909;isolation:isolate;cursor:default;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .55s ease}
.principle-panel:hover{transform:translateY(-10px)}
.principle-panel:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.86) 78%)}
.panel-bg{position:absolute;inset:-8%;z-index:-2;transition:transform 1s cubic-bezier(.2,.8,.2,1),filter .7s ease;filter:saturate(.8) brightness(.7)}
.principle-panel:hover .panel-bg{transform:scale(1.06);filter:saturate(1) brightness(.86)}
.panel-bg-one{background:radial-gradient(circle at 66% 24%,rgba(255,255,255,.11),transparent 18%),linear-gradient(145deg,#210204 0,#080808 52%,#020202 100%)}
.panel-bg-two{background:radial-gradient(circle at 35% 18%,rgba(227,6,19,.24),transparent 24%),linear-gradient(160deg,#080808 0,#170102 60%,#030303 100%)}
.panel-bg-three{background:radial-gradient(circle at 65% 35%,rgba(255,255,255,.08),transparent 18%),linear-gradient(145deg,#050505 0,#260204 72%,#050505 100%)}
.panel-bg:before,.panel-bg:after{content:"";position:absolute;inset:0}
.panel-bg:before{background:repeating-linear-gradient(115deg,transparent 0 46px,rgba(255,255,255,.027) 47px,transparent 48px)}
.panel-bg:after{background:linear-gradient(120deg,transparent 35%,rgba(227,6,19,.16) 48%,transparent 61%);transform:translateX(-85%);transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}
.principle-panel:hover .panel-bg:after{transform:translateX(85%)}
.panel-index{position:absolute;top:28px;left:28px;font:400 17px var(--display);color:var(--red);letter-spacing:.04em}
.panel-index:after{content:"";display:inline-block;width:42px;height:1px;background:rgba(255,255,255,.25);margin:0 0 5px 13px}
.panel-copy{position:absolute;left:32px;right:32px;bottom:34px}
.panel-copy>p{font-size:7px;font-weight:800;letter-spacing:.26em;color:#aaa;margin:0 0 22px}
.panel-copy h3{font:400 clamp(58px,5.2vw,94px)/.84 var(--display);letter-spacing:.015em;margin:0 0 27px;max-width:100%}
.panel-copy>span{display:block;max-width:350px;color:#8f8f8f;font-size:12px;line-height:1.8;transition:color .35s}
.principle-panel:hover .panel-copy>span{color:#c2c2c2}
.panel-mark{position:absolute;right:-8px;top:50%;transform:translateY(-50%) rotate(90deg);font:400 92px/1 var(--display);letter-spacing:.02em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.07);pointer-events:none;transition:.5s}
.principle-panel:hover .panel-mark{-webkit-text-stroke-color:rgba(227,6,19,.28);transform:translateY(-50%) rotate(90deg) translateY(-8px)}

@media(max-width:980px){
  .principles{padding:90px 24px 100px}
  .principles-head{align-items:flex-start;flex-direction:column;gap:18px}
  .principle-panels{grid-template-columns:1fr}
  .principle-panel{min-height:520px}
  .panel-copy h3{font-size:clamp(64px,17vw,105px)}
}
@media(max-width:560px){
  .project-signal span{display:none}
  .project-signal i{width:120px}
  .principle-panel{min-height:470px}
  .panel-copy{left:24px;right:24px;bottom:26px}
}


/* V5 — interactive main-character presentation in the second section */
.project-character-scene{
  isolation:isolate;
  min-height:760px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 42%,rgba(227,6,19,.22),transparent 30%),
    linear-gradient(180deg,#090909 0%,#060606 100%);
}
.project-character-scene:before{
  width:min(68%,620px);
  border-color:rgba(227,6,19,.32);
  box-shadow:0 0 90px rgba(227,6,19,.07);
}
.project-character-scene:after{
  width:min(51%,470px);
  border-color:rgba(227,6,19,.12);
  animation:spin 32s linear infinite;
}
.character-grid{
  position:absolute;
  inset:6% 4% 9%;
  z-index:0;
  opacity:.11;
  background-image:
    linear-gradient(rgba(255,255,255,.16) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.16) 1px,transparent 1px);
  background-size:58px 58px;
  mask-image:radial-gradient(circle at center,black 15%,transparent 75%);
}
.character-aura{
  position:absolute;
  z-index:0;
  width:58%;
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(227,6,19,.32),rgba(227,6,19,.09) 42%,transparent 70%);
  filter:blur(24px);
  animation:auraPulse 4.8s ease-in-out infinite;
}
@keyframes auraPulse{
  0%,100%{transform:scale(.96);opacity:.72}
  50%{transform:scale(1.04);opacity:1}
}
.character-ring{
  position:absolute;
  z-index:1;
  border-radius:50%;
  pointer-events:none;
}
.ring-one{
  width:min(61%,560px);
  aspect-ratio:1;
  border:1px solid rgba(227,6,19,.29);
  animation:ringFloat 10s ease-in-out infinite;
}
.ring-two{
  width:min(45%,420px);
  aspect-ratio:1;
  border:1px dashed rgba(255,255,255,.1);
  animation:spin 28s linear infinite reverse;
}
@keyframes ringFloat{
  0%,100%{transform:rotateX(67deg) rotateZ(-4deg) scale(1)}
  50%{transform:rotateX(67deg) rotateZ(4deg) scale(1.035)}
}
.character-platform{
  position:absolute;
  z-index:1;
  bottom:9%;
  width:48%;
  height:7%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(227,6,19,.2),rgba(0,0,0,.78) 58%,transparent 74%);
  filter:blur(10px);
  transform:perspective(500px) rotateX(68deg);
}
.character-wrap{
  position:relative;
  z-index:3;
  width:min(32vw,445px);
  height:650px;
  transform-style:preserve-3d;
  perspective:1200px;
  cursor:grab;
  will-change:transform;
}
.character-wrap:active{cursor:grabbing}
.main-character{
  position:absolute;
  inset:auto 0 0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  filter:
    drop-shadow(0 38px 28px rgba(0,0,0,.7))
    drop-shadow(0 0 24px rgba(227,6,19,.12));
  transform:translateZ(28px);
  user-select:none;
  pointer-events:none;
}
.character-depth{
  position:absolute;
  inset:3% 8% 0;
  background:rgba(98,2,8,.22);
  filter:blur(1px);
  mask:url("assets/main-character.png") center bottom/contain no-repeat;
  -webkit-mask:url("assets/main-character.png") center bottom/contain no-repeat;
}
.character-depth-back{transform:translate3d(15px,8px,-18px);opacity:.55}
.character-depth-mid{transform:translate3d(8px,4px,-8px);opacity:.72}
.character-light{
  position:absolute;
  inset:-18%;
  z-index:4;
  pointer-events:none;
  background:linear-gradient(108deg,transparent 36%,rgba(255,255,255,.18) 48%,transparent 59%);
  mix-blend-mode:screen;
  transform:translateX(-65%);
}
.character-ui{
  position:absolute;
  z-index:5;
  top:50%;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.character-ui:before{
  content:"";
  width:38px;
  height:1px;
  background:var(--red);
  margin-bottom:7px;
}
.character-ui span{
  color:#666;
  font-size:6px;
  letter-spacing:.25em;
}
.character-ui b{
  font-size:7px;
  letter-spacing:.18em;
}
.ui-left{left:3%;align-items:flex-start}
.ui-right{right:3%;align-items:flex-end;text-align:right}
.ui-right:before{margin-left:auto}
.project-character-scene .visual-copy{
  z-index:6;
}
@media(max-width:980px){
  .project-character-scene{min-height:620px}
  .character-wrap{width:min(62vw,410px);height:550px}
  .character-ui{display:none}
}
@media(max-width:560px){
  .project-character-scene{min-height:500px}
  .character-wrap{width:min(80vw,350px);height:440px}
  .character-ring.ring-one{width:84%}
  .character-ring.ring-two{width:65%}
}


/* ==========================================================
   V6 SECOND SECTION — clean full-height interactive character
   ========================================================== */
.character-showcase{
  isolation:isolate;
  min-height:760px;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(227,6,19,.055),transparent 38%),
    radial-gradient(ellipse at 47% 42%,rgba(227,6,19,.20),transparent 32%),
    #070707;
}
.character-showcase:before,
.character-showcase:after{
  display:none !important;
}
.character-showcase .character-grid,
.character-showcase .character-aura,
.character-showcase .character-ring,
.character-showcase .character-platform,
.character-showcase .character-ui{
  display:none !important;
}
.character-backlight{
  position:absolute;
  z-index:0;
  left:50%;
  top:45%;
  width:70%;
  height:82%;
  transform:translate(-50%,-50%);
  background:
    radial-gradient(ellipse,rgba(227,6,19,.23),rgba(227,6,19,.07) 37%,transparent 68%);
  filter:blur(20px);
  animation:v6Pulse 5.5s ease-in-out infinite;
}
@keyframes v6Pulse{
  0%,100%{opacity:.72;transform:translate(-50%,-50%) scale(.97)}
  50%{opacity:1;transform:translate(-50%,-50%) scale(1.035)}
}
.character-scan{
  position:absolute;
  z-index:1;
  left:7%;
  right:7%;
  top:14%;
  bottom:11%;
  opacity:.11;
  background:
    linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px);
  background-size:100% 72px;
  mask-image:linear-gradient(to bottom,transparent,black 20%,black 82%,transparent);
}
.character-scan:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--red),transparent);
  box-shadow:0 0 18px rgba(227,6,19,.75);
  animation:v6Scan 4.6s ease-in-out infinite;
}
@keyframes v6Scan{
  0%,100%{top:8%;opacity:0}
  15%{opacity:.8}
  85%{opacity:.8}
  100%{top:92%;opacity:0}
}
.character-floor{
  position:absolute;
  z-index:1;
  left:50%;
  bottom:7%;
  width:58%;
  height:11%;
  transform:translateX(-50%);
  border-radius:50%;
  background:
    radial-gradient(ellipse,rgba(227,6,19,.18),rgba(0,0,0,.78) 52%,transparent 73%);
  filter:blur(12px);
}
.character-wrap-v6{
  position:relative;
  z-index:3;
  width:min(34vw,500px);
  height:690px;
  transform-style:preserve-3d;
  will-change:transform;
  cursor:grab;
}
.character-wrap-v6:active{cursor:grabbing}
.main-character-v6{
  position:absolute;
  z-index:4;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  user-select:none;
  pointer-events:none;
  filter:
    drop-shadow(0 42px 32px rgba(0,0,0,.78))
    drop-shadow(0 0 20px rgba(227,6,19,.10));
  transform:translateZ(40px) scale(1.04);
}
.character-ghost{
  position:absolute;
  z-index:1;
  inset:0;
  background:url("assets/main-character-clean.png") center bottom/contain no-repeat;
  opacity:.17;
  filter:brightness(.25) sepia(1) saturate(7) hue-rotate(330deg);
  pointer-events:none;
}
.ghost-far{transform:translate3d(22px,3px,-28px);opacity:.12}
.ghost-near{transform:translate3d(10px,1px,-13px);opacity:.20}
.character-specular{
  position:absolute;
  z-index:5;
  inset:-18%;
  pointer-events:none;
  background:linear-gradient(106deg,transparent 38%,rgba(255,255,255,.15) 49%,transparent 59%);
  mix-blend-mode:screen;
  transform:translateX(-75%);
}
.character-marker{
  position:absolute;
  z-index:5;
  display:flex;
  align-items:center;
  gap:12px;
  font-size:6px;
  letter-spacing:.25em;
  color:#777;
}
.character-marker i{
  display:block;
  width:52px;
  height:1px;
  background:linear-gradient(90deg,var(--red),transparent);
}
.marker-top{top:13%;left:4%}
.marker-bottom{right:4%;bottom:13%}
.marker-bottom i{background:linear-gradient(90deg,transparent,var(--red))}
.character-showcase .visual-copy{
  z-index:6;
  bottom:5px;
}
@media(max-width:980px){
  .character-showcase{min-height:650px}
  .character-wrap-v6{width:min(62vw,460px);height:590px}
}
@media(max-width:560px){
  .character-showcase{min-height:520px}
  .character-wrap-v6{width:min(83vw,390px);height:475px}
  .character-marker{display:none}
}

/* =========================================================
   VK3 V7 — SECOND SLIDE ONLY
   Cinematic main-character presentation. Hero remains intact.
   ========================================================= */
.project{
  padding-top:82px;
  padding-bottom:105px;
  min-height:100vh;
  overflow:hidden;
  background:
    radial-gradient(circle at 28% 56%,rgba(120,0,8,.12),transparent 30%),
    linear-gradient(180deg,#070707 0%,#050505 100%);
}
.project-head{margin-bottom:14px;position:relative;z-index:8}
.project-layout{
  grid-template-columns:minmax(560px,1.1fr) minmax(480px,.9fr);
  gap:4.5vw;
  min-height:calc(100vh - 170px);
}
.character-stage-v7{
  min-height:720px;
  height:calc(100vh - 180px);
  max-height:880px;
  overflow:visible;
  isolation:isolate;
  perspective:1600px;
  cursor:default;
}
.character-stage-v7:before,
.character-stage-v7:after{display:none!important}
.v7-atmosphere{
  position:absolute;
  inset:-12% -10% -5% -18%;
  z-index:0;
  background:
    radial-gradient(ellipse at 46% 48%,rgba(227,6,19,.18),rgba(65,0,5,.07) 31%,transparent 63%),
    radial-gradient(ellipse at 44% 92%,rgba(255,30,36,.1),transparent 38%);
  filter:blur(22px);
  opacity:.9;
  transform:translate3d(var(--atm-x,0),var(--atm-y,0),0);
  transition:transform .15s linear;
}
.v7-light-cone{
  position:absolute;
  z-index:1;
  left:3%;top:-14%;width:60%;height:110%;
  background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.025) 48%,transparent 70%);
  clip-path:polygon(32% 0,65% 0,100% 100%,0 100%);
  filter:blur(12px);
  opacity:.8;
  transform:translateX(var(--cone-x,0));
}
.v7-floor-glow{
  position:absolute;
  left:7%;right:10%;bottom:2%;height:16%;z-index:1;
  background:radial-gradient(ellipse,rgba(228,8,20,.24),rgba(70,0,5,.11) 34%,transparent 70%);
  transform:perspective(600px) rotateX(70deg) scaleX(1.08);
  filter:blur(14px);
  opacity:.75;
}
.v7-particles{
  position:absolute;inset:0;z-index:1;opacity:.25;pointer-events:none;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.75) 0 1px,transparent 1.4px),
    radial-gradient(circle,rgba(227,6,19,.7) 0 1px,transparent 1.5px);
  background-size:137px 149px,211px 193px;
  background-position:17px 33px,74px 91px;
  mask-image:linear-gradient(to bottom,transparent 5%,#000 25%,#000 78%,transparent 98%);
  animation:v7Particles 22s linear infinite;
}
@keyframes v7Particles{to{background-position:17px -266px,74px -295px}}
.character-rig-v7{
  position:absolute;
  z-index:4;
  left:5%;
  bottom:1.5%;
  width:min(41vw,570px);
  height:min(82vh,760px);
  transform-style:preserve-3d;
  transform-origin:52% 72%;
  will-change:transform;
  pointer-events:none;
}
.character-base-v7,
.character-head-v7,
.character-case-v7,
.character-silhouette-v7{
  position:absolute;
  inset:0;
  width:100%;height:100%;
  object-fit:contain;
  object-position:center bottom;
  user-select:none;
}
.character-base-v7{
  z-index:4;
  filter:
    contrast(1.1) saturate(.9) brightness(.94)
    drop-shadow(0 34px 26px rgba(0,0,0,.75))
    drop-shadow(-8px 0 18px rgba(227,6,19,.11));
}
.character-silhouette-v7{
  z-index:2;
  background:rgba(227,6,19,.38);
  -webkit-mask:url("assets/main-character-v7.png") center bottom/contain no-repeat;
  mask:url("assets/main-character-v7.png") center bottom/contain no-repeat;
  filter:blur(14px);
  transform:translate3d(-14px,3px,-45px) scale(1.018);
  opacity:.45;
}
.character-head-v7{
  z-index:7;
  clip-path:polygon(29% 0,72% 0,70% 25%,28% 25%);
  transform-origin:50% 13.5%;
  will-change:transform;
  filter:contrast(1.12) brightness(.98);
}
.character-case-v7{
  z-index:6;
  clip-path:polygon(0 43%,36% 43%,39% 88%,0 88%);
  transform-origin:25% 58%;
  will-change:transform;
}
.character-light-v7{
  position:absolute;
  inset:-3%;
  z-index:9;
  pointer-events:none;
  -webkit-mask:url("assets/main-character-v7.png") center bottom/contain no-repeat;
  mask:url("assets/main-character-v7.png") center bottom/contain no-repeat;
  background:
    linear-gradient(102deg,transparent 28%,rgba(255,255,255,.22) 43%,rgba(255,55,65,.12) 51%,transparent 64%);
  mix-blend-mode:screen;
  opacity:.42;
  transform:translateX(var(--light-x,-40%));
  will-change:transform;
}
.character-shadow-v7{
  position:absolute;
  z-index:1;
  left:18%;right:8%;bottom:-1%;height:8%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,0,0,.85),rgba(0,0,0,.45) 42%,transparent 72%);
  filter:blur(9px);
  transform:perspective(400px) rotateX(67deg) translateZ(-40px);
}
.v7-subject-label{
  position:absolute;z-index:8;left:0;top:17%;display:flex;align-items:center;gap:14px;
  color:#707070;font-size:6px;letter-spacing:.24em;
}
.v7-subject-label i{display:block;width:48px;height:1px;background:linear-gradient(90deg,var(--red),transparent)}
.v7-coordinate{
  position:absolute;z-index:8;right:3%;bottom:18%;font-size:6px;line-height:2;letter-spacing:.24em;color:rgba(227,6,19,.65);text-align:right
}
.character-stage-v7 .visual-copy{left:0;right:2%;bottom:0;z-index:9}
.project-info{position:relative;z-index:9;padding-right:1vw}
.project-info h2{font-size:clamp(78px,7.1vw,132px);line-height:.82;margin-top:31px;margin-bottom:34px}
.project-description{max-width:610px;color:#a4a4a4;line-height:1.95}

@media (max-width:1100px){
  .project-layout{grid-template-columns:1fr;gap:22px;min-height:auto}
  .character-stage-v7{height:680px;min-height:680px;max-height:none}
  .character-rig-v7{left:50%;transform:translateX(-50%);width:min(62vw,520px);height:650px}
  .project-info{padding:0 2vw 40px}
}
@media (max-width:650px){
  .project{padding-top:72px}
  .character-stage-v7{height:560px;min-height:560px}
  .character-rig-v7{width:min(92vw,430px);height:540px;left:48%}
  .v7-subject-label,.v7-coordinate{display:none}
  .project-info h2{font-size:18vw}
}

/* =========================================================
   VK3 V8 — SECOND SLIDE ONLY
   Cleaner cinematic character reveal. Slide one is untouched.
   ========================================================= */
.project-v8{
  min-height:100vh;
  padding:78px clamp(28px,6vw,112px) 70px;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:
    radial-gradient(ellipse at 26% 54%,rgba(115,0,8,.15),transparent 36%),
    radial-gradient(ellipse at 50% 120%,rgba(180,0,12,.08),transparent 42%),
    linear-gradient(180deg,#080808 0%,#040404 100%);
}
.project-layout-v8{
  width:100%;
  min-height:calc(100vh - 148px);
  display:grid;
  grid-template-columns:minmax(560px,1.08fr) minmax(500px,.92fr);
  gap:clamp(30px,4vw,86px);
  align-items:center;
}
.character-stage-v8{
  position:relative;
  min-height:740px;
  height:calc(100vh - 155px);
  max-height:940px;
  overflow:visible;
  perspective:1800px;
  isolation:isolate;
}
.character-stage-v8:before,.character-stage-v8:after{display:none!important}
.v8-ambient{
  position:absolute;
  inset:-15% -18% -8% -25%;
  z-index:0;
  background:
    radial-gradient(ellipse at 47% 46%,rgba(230,10,24,.22),rgba(90,0,7,.08) 34%,transparent 68%),
    radial-gradient(ellipse at 43% 92%,rgba(255,35,45,.11),transparent 38%);
  filter:blur(28px);
  transform:translate3d(var(--ambient-x,0),var(--ambient-y,0),0) scale(1.03);
  will-change:transform;
}
.v8-backlight{
  position:absolute;
  z-index:1;
  left:7%;top:4%;width:70%;height:88%;
  background:radial-gradient(ellipse at center,rgba(211,8,20,.19),rgba(94,0,7,.09) 34%,transparent 70%);
  filter:blur(10px);
  transform:translate3d(var(--back-x,0),var(--back-y,0),0);
}
.v8-floor{
  position:absolute;
  z-index:1;
  left:-2%;right:2%;bottom:-2%;height:23%;
  background:
    radial-gradient(ellipse at center,rgba(222,10,22,.22),rgba(60,0,5,.09) 35%,transparent 71%),
    linear-gradient(180deg,transparent,rgba(255,255,255,.018));
  transform:perspective(650px) rotateX(71deg) translateY(22%);
  filter:blur(13px);
  opacity:.8;
}
.v8-dust{
  position:absolute;inset:5% -5% 3%;z-index:2;pointer-events:none;opacity:.18;
  background-image:
    radial-gradient(circle,rgba(255,255,255,.85) 0 1px,transparent 1.3px),
    radial-gradient(circle,rgba(227,6,19,.8) 0 1px,transparent 1.4px);
  background-size:183px 167px,257px 221px;
  animation:v8Dust 26s linear infinite;
  mask-image:linear-gradient(to bottom,transparent,#000 20%,#000 83%,transparent);
}
@keyframes v8Dust{to{background-position:0 -334px,0 -442px}}
.character-rig-v8{
  position:absolute;
  z-index:5;
  left:-1%;
  bottom:-1.5%;
  width:min(46vw,690px);
  height:min(91vh,860px);
  transform-style:preserve-3d;
  transform-origin:50% 70%;
  will-change:transform;
  pointer-events:none;
}
.character-base-v8,.character-torso-v8,.character-head-v8,.character-case-v8{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:contain;object-position:center bottom;
  user-select:none;pointer-events:none;
}
.character-base-v8{
  z-index:6;
  filter:
    contrast(1.13) saturate(.92) brightness(.96)
    drop-shadow(0 46px 32px rgba(0,0,0,.82))
    drop-shadow(-12px 0 20px rgba(227,6,19,.10));
}
.character-depth-v8{
  position:absolute;inset:0;z-index:2;
  -webkit-mask:url("assets/main-character-v7.png") center bottom/contain no-repeat;
  mask:url("assets/main-character-v7.png") center bottom/contain no-repeat;
  background:linear-gradient(90deg,rgba(227,6,19,.5),rgba(40,0,3,.13));
  filter:blur(9px);
}
.depth-far{transform:translate3d(-24px,5px,-75px) scale(1.025);opacity:.28}
.depth-near{transform:translate3d(-10px,2px,-35px) scale(1.012);opacity:.30}
.character-torso-v8{
  z-index:7;
  clip-path:polygon(18% 20%,82% 20%,88% 72%,12% 72%);
  transform-origin:50% 45%;
  will-change:transform;
}
.character-head-v8{
  z-index:9;
  clip-path:polygon(30% 0,70% 0,68% 25%,31% 25%);
  transform-origin:50% 14%;
  filter:contrast(1.14) brightness(1.01);
  will-change:transform;
}
.character-case-v8{
  z-index:8;
  clip-path:polygon(0 41%,37% 41%,40% 90%,0 90%);
  transform-origin:25% 58%;
  will-change:transform;
}
.character-light-v8{
  position:absolute;inset:-2%;z-index:11;pointer-events:none;
  -webkit-mask:url("assets/main-character-v7.png") center bottom/contain no-repeat;
  mask:url("assets/main-character-v7.png") center bottom/contain no-repeat;
  background:linear-gradient(103deg,transparent 30%,rgba(255,255,255,.27) 44%,rgba(255,47,59,.14) 51%,transparent 64%);
  mix-blend-mode:screen;opacity:.48;
  transform:translateX(var(--light-x,-48%));
  will-change:transform;
}
.character-shadow-v8{
  position:absolute;z-index:1;left:15%;right:3%;bottom:-1%;height:9%;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(0,0,0,.9),rgba(0,0,0,.48) 43%,transparent 73%);
  filter:blur(10px);
  transform:perspective(420px) rotateX(68deg) translateZ(-60px);
}
.project-info-v8{position:relative;z-index:10;padding:0 1vw 0 0;align-self:center}
.project-info-v8 .status{font-size:9px;letter-spacing:.21em;margin-bottom:28px}
.project-info-v8 h2{
  font-size:clamp(82px,7.4vw,142px);
  line-height:.82;
  letter-spacing:.005em;
  margin:0 0 38px;
}
.project-info-v8 .project-description{
  max-width:620px;
  margin:0;
  font-size:clamp(14px,1vw,17px);
  line-height:1.9;
  color:#a8a8a8;
}
@media(max-width:1150px){
  .project-v8{padding-top:80px}
  .project-layout-v8{grid-template-columns:1fr;gap:14px;min-height:auto}
  .character-stage-v8{height:690px;min-height:690px;max-height:none}
  .character-rig-v8{left:50%;width:min(66vw,610px);height:700px;transform:translateX(-50%)}
  .project-info-v8{padding:0 3vw 50px}
}
@media(max-width:650px){
  .project-v8{padding:72px 18px 55px}
  .character-stage-v8{height:565px;min-height:565px}
  .character-rig-v8{width:min(96vw,470px);height:570px;left:49%}
  .project-info-v8 h2{font-size:18vw}
  .project-info-v8 .project-description{font-size:14px;line-height:1.75}
}

/* =========================================================
   V9 — SLIDE 2 / TRUE 3D CHARACTER SHOWCASE
   Slide 1 styles above remain untouched.
   ========================================================= */
.project-v9{
  position:relative;
  min-height:100svh;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(80% 90% at 23% 54%,rgba(127,0,8,.17),transparent 58%),
    radial-gradient(55% 65% at 48% 100%,rgba(227,6,19,.07),transparent 65%),
    #050505;
}
.project-v9:before{
  content:"";
  position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.08),transparent 41%,rgba(0,0,0,.48) 68%,rgba(0,0,0,.72));
}
.project-v9-webgl{position:absolute;inset:0;z-index:1;cursor:grab;touch-action:none}
.project-v9-webgl:active{cursor:grabbing}
#projectCanvas{display:block;width:100%;height:100%;outline:0}
.project-v9-atmosphere{
  position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse at 27% 82%,rgba(255,16,31,.12),transparent 34%),
    linear-gradient(90deg,rgba(106,0,7,.1),transparent 44%);
  mix-blend-mode:screen;opacity:.8;
}
.project-v9-vignette{position:absolute;inset:-2px;pointer-events:none;box-shadow:inset 0 0 170px 70px rgba(0,0,0,.68)}
.project-v9-grain{position:absolute;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.86' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}
.project-info-v9{
  position:absolute;z-index:4;left:55%;top:50%;transform:translateY(-47%);
  width:min(41vw,700px);pointer-events:none;
}
.project-info-v9 .status{margin:0 0 25px;font-size:10px;font-weight:800;letter-spacing:.18em;display:flex;align-items:center;gap:13px}
.project-info-v9 .status i{width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 20px rgba(227,6,19,.8)}
.project-info-v9 h2{font-family:var(--display);font-size:clamp(76px,7.7vw,150px);font-weight:400;line-height:.78;letter-spacing:-.025em;margin:0;color:#f5f4f0;text-shadow:0 8px 45px rgba(0,0,0,.32)}
.project-info-v9 .project-description{max-width:650px;margin:42px 0 0;color:#aaa;font-size:clamp(14px,1.02vw,18px);line-height:1.85}
.project-v9-interaction{position:absolute;z-index:5;left:5.4%;bottom:5.8%;display:flex;align-items:center;gap:13px;color:rgba(255,255,255,.42);font-size:8px;letter-spacing:.22em}
.mouse-icon{width:17px;height:25px;border:1px solid rgba(255,255,255,.32);border-radius:11px;position:relative}
.mouse-icon:after{content:"";position:absolute;left:50%;top:5px;width:2px;height:5px;margin-left:-1px;background:var(--red);border-radius:2px;animation:v9Wheel 1.5s ease-in-out infinite}
@keyframes v9Wheel{0%{transform:translateY(0);opacity:0}30%{opacity:1}100%{transform:translateY(8px);opacity:0}}
.project-v9-loader{position:absolute;z-index:8;left:24%;top:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:16px;transition:.55s ease}
.project-v9-loader span{width:34px;height:34px;border:1px solid rgba(255,255,255,.12);border-top-color:var(--red);border-radius:50%;animation:v9spin .8s linear infinite}
.project-v9-loader p{font-size:8px;letter-spacing:.25em;color:#777;margin:0}
.project-v9-loader.loaded{opacity:0;visibility:hidden}
@keyframes v9spin{to{transform:rotate(360deg)}}
@media(max-width:900px){
 .project-v9{min-height:920px}
 .project-v9-webgl{height:62%;bottom:auto}
 .project-info-v9{left:7%;top:auto;bottom:8%;transform:none;width:86%}
 .project-info-v9 h2{font-size:clamp(62px,17vw,105px)}
 .project-info-v9 .project-description{margin-top:26px;font-size:14px;line-height:1.65;max-width:600px}
 .project-v9-interaction{display:none}
 .project-v9-loader{left:50%;top:31%}
}


/* V10 — instant character reveal and lighter rendering */
#projectCanvas{opacity:0;transition:opacity .48s cubic-bezier(.2,.75,.2,1)}
.project-v9-webgl.model-ready #projectCanvas{opacity:1}
.project-v9-poster{
  position:absolute;z-index:2;left:4%;top:6%;width:43%;height:88%;
  display:flex;align-items:center;justify-content:center;pointer-events:none;
  opacity:1;filter:drop-shadow(0 28px 38px rgba(0,0,0,.68));
  transition:opacity .32s ease,transform .5s cubic-bezier(.2,.75,.2,1);
}
.project-v9-poster img{display:block;max-width:100%;max-height:100%;object-fit:contain;transform:scale(1.06)}
.project-v9-poster.loaded{opacity:0;visibility:hidden;transform:scale(1.015)}
@media(max-width:900px){
  .project-v9-poster{left:8%;top:2%;width:84%;height:59%}
}


/* V11 fix — real WebGL only, no broken PNG cutout */
.project-v9-poster{display:none!important}
#projectCanvas{opacity:1!important;visibility:visible!important}
.project-v9-webgl::before{
  content:"";position:absolute;z-index:0;left:22%;top:52%;width:44vw;height:72vh;
  transform:translate(-50%,-50%);pointer-events:none;
  background:radial-gradient(ellipse,rgba(160,0,12,.15),rgba(75,0,7,.055) 38%,transparent 70%);
  filter:blur(24px);opacity:.9;
}
.project-v9-webgl.model-ready::before{opacity:.72;transition:opacity .5s ease}

/* V12 — slide 2 only: reliable embedded GLB + higher composition */
.project-info-v9{
  top:44%;
  transform:translateY(-50%);
}
.project-info-v9 .project-description{margin-top:34px}
.project-v9-webgl.model-error::after{
  content:"3D MODEL COULD NOT START — OPEN WITH INTERNET ACCESS";
  position:absolute;left:8%;top:50%;transform:translateY(-50%);
  color:rgba(255,255,255,.38);font-size:9px;letter-spacing:.2em;
}
@media(max-width:900px){
  .project-info-v9{top:auto;bottom:11%;transform:none}
}

/* V13: slide 2 vertical composition correction */
.project-info-v9{top:48%!important;transform:translateY(-50%)!important;}
.project-info-v9 h2{font-size:clamp(72px,7.25vw,138px)!important;}
.project-info-v9 .project-description{margin-top:30px!important;}
@media(max-width:900px){.project-info-v9{top:auto!important;bottom:8%!important;transform:none!important;}}

/* =========================================================
   V18 — SLIDE 03 / THE STUDIO
   Slides 01 and 02 intentionally remain untouched.
   ========================================================= */
.studio-v18{
  position:relative;
  display:block;
  min-height:100vh;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 72% 43%,rgba(227,6,19,.14),transparent 28%),
    radial-gradient(circle at 17% 84%,rgba(255,255,255,.05),transparent 31%),
    linear-gradient(112deg,#070707 0%,#0b0b0b 47%,#050505 100%);
  color:#f2f0eb;
}
.studio-v18:before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(90deg,rgba(227,6,19,.07),transparent 22%,transparent 78%,rgba(255,255,255,.018));
}
.studio-v18:after{
  content:"";position:absolute;inset:0;z-index:20;pointer-events:none;opacity:.045;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}
.studio-v18-grid{position:absolute;inset:0;opacity:.24;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:88px 88px;mask-image:linear-gradient(90deg,transparent 0,#000 22%,#000 82%,transparent 100%)}
.studio-v18-flare{position:absolute;width:54vw;height:54vw;right:-13vw;top:5%;border-radius:50%;background:radial-gradient(circle,rgba(227,6,19,.13),rgba(227,6,19,.025) 43%,transparent 70%);filter:blur(15px);animation:studioFlare 6s ease-in-out infinite alternate}
@keyframes studioFlare{to{transform:translate3d(-2vw,2vh,0) scale(1.08);opacity:.72}}
.studio-v18-rail{position:absolute;left:4.25vw;top:50%;transform:translateY(-50%);height:58vh;display:flex;flex-direction:column;align-items:center;gap:18px;z-index:5}
.studio-v18-rail span{font:400 18px var(--display);color:var(--red)}
.studio-v18-rail i{width:1px;flex:1;background:linear-gradient(var(--red),rgba(255,255,255,.2),transparent)}
.studio-v18-rail b{writing-mode:vertical-rl;font-size:7px;letter-spacing:.34em;color:rgba(255,255,255,.46)}
.studio-v18-content{position:relative;z-index:8;width:min(86vw,1440px);min-height:100vh;margin:auto;padding:clamp(125px,14vh,170px) 4vw 80px 7vw;display:flex;flex-direction:column;justify-content:center}
.studio-v18-kicker{display:flex;align-items:center;gap:18px;font-size:8px;letter-spacing:.24em;font-weight:800;color:#777;margin-bottom:34px}
.studio-v18-kicker span{color:#f0eee9}.studio-v18-kicker i{width:72px;height:1px;background:linear-gradient(90deg,var(--red),rgba(227,6,19,0))}
.studio-v18-title{margin:0;max-width:1180px;font:400 clamp(74px,9.4vw,174px)/.79 var(--display);letter-spacing:-.025em;text-transform:uppercase;position:relative}
.studio-v18-title span,.studio-v18-title strong{display:block}.studio-v18-title span{color:#f4f1eb}.studio-v18-title strong{color:transparent;-webkit-text-stroke:1px rgba(244,241,235,.72);text-shadow:0 0 55px rgba(227,6,19,.11)}
.studio-v18-bottom{display:grid;grid-template-columns:minmax(280px,530px) 1fr;align-items:end;gap:8vw;margin-top:70px;margin-left:17vw}
.studio-v18-lead{font-size:clamp(15px,1.05vw,18px);line-height:1.85;color:#999;margin:0;max-width:520px}
.studio-v18-manifest{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;border-top:1px solid rgba(255,255,255,.16);padding-top:25px}
.studio-v18-manifest div{display:flex;gap:14px;align-items:flex-start}.studio-v18-manifest span{font:400 23px var(--display);color:var(--red)}.studio-v18-manifest p{margin:3px 0 0;font-size:7px;font-weight:800;letter-spacing:.2em;line-height:1.55;color:#a5a5a5}
.studio-v18-footer{position:absolute;z-index:8;left:11vw;right:5vw;bottom:28px;display:flex;align-items:center;gap:22px;font-size:6px;letter-spacing:.28em;color:rgba(255,255,255,.3)}
.studio-v18-footer i{height:1px;flex:1;background:linear-gradient(90deg,rgba(255,255,255,.1),rgba(227,6,19,.55),rgba(255,255,255,.1))}

/* CSS-built cinematic cartridge — no image asset required. */
.bullet-stage{position:absolute;z-index:11;right:4vw;top:19%;width:min(41vw,720px);height:58vh;perspective:1400px;pointer-events:none;transform-style:preserve-3d}
.bullet-shell{position:absolute;left:42%;top:42%;width:clamp(230px,24vw,430px);height:clamp(70px,7vw,126px);transform-origin:50% 50%;transform-style:preserve-3d;opacity:0;filter:drop-shadow(0 22px 25px rgba(0,0,0,.65));will-change:transform,opacity}
.bullet-tip{position:absolute;left:0;top:10%;width:39%;height:80%;border-radius:82% 10% 10% 82% / 50% 18% 18% 50%;background:linear-gradient(180deg,#e8a56b 0%,#a34f28 28%,#4a1a10 69%,#d87c43 100%);box-shadow:inset 0 7px 12px rgba(255,255,255,.28),inset 0 -12px 20px rgba(34,4,0,.55)}
.bullet-tip:after{content:"";position:absolute;inset:8% 9% 48% 17%;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.56),transparent);filter:blur(2px);transform:rotate(-7deg)}
.bullet-neck{position:absolute;left:34%;top:18%;width:12%;height:64%;background:linear-gradient(180deg,#e0ad51,#8d5a13 45%,#4b2c08 72%,#d49835);clip-path:polygon(0 14%,100% 0,100% 100%,0 86%);box-shadow:inset 0 5px 7px rgba(255,255,255,.25)}
.bullet-case{position:absolute;left:43%;top:13%;width:49%;height:74%;border-radius:4px 12px 12px 4px;background:linear-gradient(180deg,#f5c45b 0%,#b87816 25%,#6e3d08 58%,#d99426 83%,#f5c45b 100%);box-shadow:inset 0 8px 12px rgba(255,255,255,.35),inset 0 -14px 18px rgba(48,23,0,.42)}
.bullet-glint{position:absolute;left:13%;top:5%;width:13%;height:88%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.48),transparent);filter:blur(2px);opacity:.8}
.bullet-groove{position:absolute;right:7%;top:0;width:3px;height:100%;background:rgba(70,35,3,.5);box-shadow:2px 0 rgba(255,220,130,.35)}.bullet-groove-b{right:12%}
.bullet-rim{position:absolute;right:1%;top:8%;width:10%;height:84%;border-radius:0 50% 50% 0;background:linear-gradient(180deg,#f8ce67,#9d6714 47%,#583308 70%,#d99c37);box-shadow:inset 4px 0 5px rgba(65,31,0,.5),5px 0 10px rgba(0,0,0,.35)}
.bullet-primer{position:absolute;right:-.3%;top:29%;width:4.5%;height:42%;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff0a1,#8b5a13 55%,#3b2105 80%)}
.bullet-shadow{position:absolute;left:38%;top:67%;width:49%;height:13%;border-radius:50%;background:rgba(0,0,0,.75);filter:blur(28px);opacity:0;transform:rotate(-5deg) scale(.4)}
.bullet-trail{position:absolute;right:15%;top:48%;height:2px;transform-origin:right center;opacity:0;filter:blur(.3px)}
.bullet-trail-a{width:75%;background:linear-gradient(90deg,transparent,rgba(227,6,19,.12),rgba(227,6,19,.9))}.bullet-trail-b{top:52%;width:58%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,219,164,.7));filter:blur(1px)}
.studio-v18.is-active .bullet-shell{animation:bulletArrival 1.55s cubic-bezier(.16,.82,.2,1) .08s forwards,bulletIdle 5s ease-in-out 1.8s infinite alternate}
.studio-v18.is-active .bullet-shadow{animation:bulletShadowIn 1.2s ease-out .65s forwards}
.studio-v18.is-active .bullet-trail-a{animation:trailFlash .78s ease-out .12s both}.studio-v18.is-active .bullet-trail-b{animation:trailFlash .62s ease-out .2s both}
@keyframes bulletArrival{
  0%{opacity:0;transform:translate3d(110vw,-32vh,900px) rotateX(380deg) rotateY(-1120deg) rotateZ(35deg) scale(.18)}
  28%{opacity:1}
  72%{transform:translate3d(-3vw,1vh,70px) rotateX(12deg) rotateY(-28deg) rotateZ(-7deg) scale(1.08)}
  88%{transform:translate3d(.8vw,-.6vh,12px) rotateX(2deg) rotateY(-11deg) rotateZ(-4deg) scale(.98)}
  100%{opacity:1;transform:translate3d(0,0,0) rotateX(0deg) rotateY(-14deg) rotateZ(-5deg) scale(1)}
}
@keyframes bulletIdle{to{transform:translate3d(-10px,-12px,20px) rotateX(3deg) rotateY(-21deg) rotateZ(-3deg) scale(1.015)}}
@keyframes trailFlash{0%{opacity:0;transform:scaleX(.05)}30%{opacity:1}100%{opacity:0;transform:scaleX(1)}}
@keyframes bulletShadowIn{to{opacity:.55;transform:rotate(-5deg) scale(1)}}
.studio-v18.is-active .studio-v18-title:after{content:"";position:absolute;left:-4%;right:7%;top:50%;height:1px;background:linear-gradient(90deg,transparent,var(--red),transparent);box-shadow:0 0 18px rgba(227,6,19,.6);animation:titleScan 1.25s cubic-bezier(.2,.8,.2,1) .55s both}
@keyframes titleScan{0%{transform:scaleX(0);opacity:0}35%{opacity:1}100%{transform:scaleX(1);opacity:0}}

@media (max-width:980px){
  .studio-v18-content{padding:125px 24px 100px 45px;width:100%}
  .studio-v18-title{font-size:clamp(66px,14vw,122px)}
  .bullet-stage{right:-12vw;top:26%;width:62vw;height:42vh;opacity:.58}
  .studio-v18-bottom{margin-left:0;grid-template-columns:1fr;gap:40px;max-width:700px}
  .studio-v18-rail{left:18px}.studio-v18-footer{left:45px}
}
@media (max-width:620px){
  .studio-v18-content{padding:115px 20px 92px 36px;justify-content:flex-start}
  .studio-v18-title{font-size:18vw;margin-top:7vh}.studio-v18-kicker b,.studio-v18-kicker i{display:none}
  .bullet-stage{top:36%;right:-28%;width:90vw;height:34vh;opacity:.42}
  .studio-v18-bottom{margin-top:auto;padding-top:40vh}.studio-v18-manifest{gap:12px}.studio-v18-manifest div{gap:7px}.studio-v18-manifest p{font-size:6px}.studio-v18-footer{display:none}
}
@media (prefers-reduced-motion:reduce){.studio-v18.is-active .bullet-shell{animation:bulletReduced .6s ease-out forwards}.studio-v18-flare{animation:none}@keyframes bulletReduced{to{opacity:1;transform:rotateY(-14deg) rotateZ(-5deg)}}}

/* =========================================================
   V19 — real GLB bullet on Slide 03 only.
   Slides 01 and 02 remain untouched.
   ========================================================= */
.bullet-stage-3d{
  right:1.2vw;
  top:18%;
  width:min(46vw,800px);
  height:61vh;
  overflow:visible;
  perspective:none;
  opacity:1;
  transform-style:flat;
}
.bullet-stage-3d canvas{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:block;
  opacity:0;
  transform:scale(.985);
  transition:opacity .5s ease,transform .8s cubic-bezier(.16,.82,.2,1);
  filter:drop-shadow(0 26px 34px rgba(0,0,0,.65));
}
.bullet-stage-3d.bullet-model-ready canvas{opacity:1;transform:scale(1)}
.bullet-stage-3d .bullet-speed-lines{
  position:absolute;
  z-index:-1;
  left:-73%;
  top:47%;
  width:105%;
  height:16%;
  opacity:0;
  transform:translateX(-20%) scaleX(.2);
  transform-origin:right center;
  pointer-events:none;
}
.bullet-speed-lines i{position:absolute;right:0;height:1px;border-radius:999px;background:linear-gradient(90deg,transparent,rgba(227,6,19,.18),rgba(255,40,55,.88));box-shadow:0 0 13px rgba(227,6,19,.45)}
.bullet-speed-lines i:nth-child(1){top:18%;width:100%}.bullet-speed-lines i:nth-child(2){top:48%;width:82%;opacity:.72}.bullet-speed-lines i:nth-child(3){top:78%;width:63%;opacity:.44}
.studio-v18.is-active .bullet-speed-lines{animation:bulletLinesV19 3.05s cubic-bezier(.16,.82,.2,1) .08s both}
@keyframes bulletLinesV19{
  0%{opacity:0;transform:translateX(-25%) scaleX(.08)}
  18%{opacity:.9}
  72%{opacity:.62;transform:translateX(0) scaleX(1)}
  100%{opacity:0;transform:translateX(12%) scaleX(1.08)}
}
.bullet-impact-glow{position:absolute;z-index:-2;right:1%;top:32%;width:58%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(227,6,19,.22),rgba(227,6,19,.05) 38%,transparent 70%);filter:blur(22px);opacity:0;transform:scale(.55)}
.studio-v18.is-active .bullet-impact-glow{animation:bulletGlowV19 3.35s ease-out .12s both}
@keyframes bulletGlowV19{0%,35%{opacity:0;transform:scale(.5)}72%{opacity:.9;transform:scale(1.08)}100%{opacity:.48;transform:scale(1)}}
.bullet-stage-3d.bullet-settled .bullet-impact-glow{opacity:.42}

/* Retire the old CSS cartridge without affecting the rest of Slide 03. */
.bullet-stage-3d .bullet-shell,.bullet-stage-3d .bullet-shadow,.bullet-stage-3d .bullet-trail{display:none!important}

@media(max-width:980px){
  .bullet-stage-3d{right:-9vw;top:25%;width:66vw;height:47vh;opacity:.72}
}
@media(max-width:620px){
  .bullet-stage-3d{right:-31vw;top:35%;width:96vw;height:36vh;opacity:.5}
}
@media(prefers-reduced-motion:reduce){
  .studio-v18.is-active .bullet-speed-lines{animation:none;opacity:0}
  .studio-v18.is-active .bullet-impact-glow{animation:none;opacity:.38;transform:scale(1)}
}

/* V20 — Slide 03 bullet composition refinement. Slides 01 and 02 untouched. */
.studio-v18 .bullet-stage-3d{
  right:1.5vw;
  top:31%;
  width:min(38vw,680px);
  height:42vh;
  min-height:360px;
  overflow:visible;
  z-index:9;
}
.studio-v18 .bullet-stage-3d canvas{
  filter:drop-shadow(0 28px 35px rgba(0,0,0,.7)) drop-shadow(0 0 28px rgba(227,6,19,.15));
}
.studio-v18 .bullet-speed-lines{
  left:-92%;
  right:17%;
  width:auto;
  opacity:0;
  transform:translateY(-1%);
}
.studio-v18.is-active .bullet-speed-lines{
  animation:bulletLinesV20 3.8s cubic-bezier(.16,.82,.2,1) .05s both;
}
@keyframes bulletLinesV20{
  0%,9%{opacity:0;transform:translate3d(-16%,0,0) scaleX(.2)}
  25%{opacity:.9;transform:translate3d(0,0,0) scaleX(1)}
  67%{opacity:.42;transform:translate3d(24%,0,0) scaleX(.72)}
  100%{opacity:0;transform:translate3d(48%,0,0) scaleX(.28)}
}
.studio-v18 .bullet-impact-glow{
  right:-5%;
  top:20%;
  width:78%;
  opacity:0;
}
.studio-v18.is-active .bullet-impact-glow{
  animation:bulletGlowV20 4.15s ease-out .08s both;
}
@keyframes bulletGlowV20{
  0%,42%{opacity:0;transform:scale(.55)}
  72%{opacity:.62;transform:scale(1.04)}
  100%{opacity:.28;transform:scale(.92)}
}
.studio-v18 .studio-v18-copy,
.studio-v18 .studio-v18-points{position:relative;z-index:14}
@media (max-width:1100px){
  .studio-v18 .bullet-stage-3d{right:-7vw;top:34%;width:52vw;height:38vh;opacity:.78}
}
@media (max-width:720px){
  .studio-v18 .bullet-stage-3d{right:-26vw;top:43%;width:82vw;height:31vh;min-height:250px;opacity:.55}
}

/* =========================================================
   SLIDE 04 — COMING SOON
   Slides 01–03 remain untouched.
   ========================================================= */
.coming-soon-slide {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  display: grid;
  place-items: center;
  isolation: isolate;
  background:
    radial-gradient(80% 62% at 50% 108%, rgba(156, 0, 20, .18), transparent 68%),
    radial-gradient(48% 60% at 16% 48%, rgba(88, 0, 15, .10), transparent 72%),
    #070707;
}

.coming-soon-inner {
  position: relative;
  z-index: 3;
  width: min(92vw, 1640px);
  display: grid;
  place-items: center;
}

.coming-soon-title {
  margin: 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1.6rem, 2.8vw, 4.2rem);
  white-space: nowrap;
  color: #f3f1ec;
  font-family: var(--display, "Arial Narrow", Impact, sans-serif);
  font-size: clamp(5rem, 12.8vw, 14rem);
  font-weight: 900;
  line-height: .78;
  letter-spacing: -.028em;
  text-transform: uppercase;
  text-shadow: 0 12px 60px rgba(0,0,0,.55);
  perspective: 1200px;
}

.coming-soon-title > span {
  display: inline-block;
  will-change: transform, filter, opacity;
  backface-visibility: hidden;
}

.coming-word {
  transform: translate3d(-118vw, 0, 0) skewX(-4deg);
  opacity: 0;
  filter: blur(10px);
}

.soon-word {
  transform: translate3d(118vw, 0, 0) skewX(4deg);
  opacity: 0;
  filter: blur(10px);
}

.coming-dot {
  color: #e50025;
  display: inline-block;
  margin-left: .02em;
  text-shadow: 0 0 34px rgba(229,0,37,.34);
}

.coming-soon-slide.is-active .coming-word {
  animation: comingFromLeft 2.85s cubic-bezier(.12, .86, .18, 1) .16s forwards;
}

.coming-soon-slide.is-active .soon-word {
  animation: comingFromRight 2.85s cubic-bezier(.12, .86, .18, 1) .22s forwards;
}

.coming-soon-ambient {
  position: absolute;
  z-index: 0;
  inset: -25%;
  background:
    radial-gradient(ellipse at 50% 95%, rgba(218,0,35,.19), transparent 36%),
    radial-gradient(ellipse at 50% 50%, transparent 35%, rgba(0,0,0,.68) 82%);
  filter: blur(28px);
  opacity: .8;
  transform: translate3d(0, 4%, 0) scale(1.02);
  animation: comingAmbient 9s ease-in-out infinite alternate;
}

.coming-soon-grain {
  position: absolute;
  z-index: 4;
  inset: -40%;
  pointer-events: none;
  opacity: .11;
  mix-blend-mode: soft-light;
  background-image: url("assets/vk3-ambient.webp");
  background-size: 360px 360px;
  animation: comingGrain .28s steps(2) infinite;
}

.coming-soon-line {
  position: absolute;
  z-index: 2;
  top: 50%;
  width: 0;
  height: 1px;
  opacity: 0;
  background: linear-gradient(90deg, transparent, rgba(229,0,37,.8), transparent);
  box-shadow: 0 0 22px rgba(229,0,37,.22);
}

.coming-soon-line-left { left: 0; }
.coming-soon-line-right { right: 0; transform: scaleX(-1); }

.coming-soon-slide.is-active .coming-soon-line-left,
.coming-soon-slide.is-active .coming-soon-line-right {
  animation: comingLine 3.15s cubic-bezier(.12,.86,.18,1) .08s forwards;
}

@keyframes comingFromLeft {
  0%   { transform: translate3d(-118vw,0,0) skewX(-4deg) scaleX(.97); opacity:0; filter:blur(10px); }
  34%  { opacity:1; filter:blur(4px); }
  72%  { transform: translate3d(1.05vw,0,0) skewX(-.35deg) scaleX(1.004); opacity:1; filter:blur(.6px); }
  100% { transform: translate3d(0,0,0) skewX(0) scaleX(1); opacity:1; filter:blur(0); }
}

@keyframes comingFromRight {
  0%   { transform: translate3d(118vw,0,0) skewX(4deg) scaleX(.97); opacity:0; filter:blur(10px); }
  34%  { opacity:1; filter:blur(4px); }
  72%  { transform: translate3d(-1.05vw,0,0) skewX(.35deg) scaleX(1.004); opacity:1; filter:blur(.6px); }
  100% { transform: translate3d(0,0,0) skewX(0) scaleX(1); opacity:1; filter:blur(0); }
}

@keyframes comingLine {
  0%   { width:0; opacity:0; }
  20%  { opacity:.55; }
  78%  { width:43vw; opacity:.28; }
  100% { width:37vw; opacity:0; }
}

@keyframes comingAmbient {
  from { transform: translate3d(-2%,4%,0) scale(1.01); opacity:.65; }
  to   { transform: translate3d(2%,0,0) scale(1.08); opacity:.92; }
}

@keyframes comingGrain {
  0% { transform: translate3d(-2%,1%,0); }
  25% { transform: translate3d(1%,-2%,0); }
  50% { transform: translate3d(2%,2%,0); }
  75% { transform: translate3d(-1%,-1%,0); }
  100% { transform: translate3d(0,1%,0); }
}

@media (max-width: 900px) {
  .coming-soon-title {
    flex-direction: column;
    gap: .13em;
    font-size: clamp(4.2rem, 21vw, 9rem);
    line-height: .77;
  }
}

@media (prefers-reduced-motion: reduce) {
  .coming-word, .soon-word {
    transform: none;
    opacity: 1;
    filter: none;
  }
  .coming-soon-slide.is-active .coming-word,
  .coming-soon-slide.is-active .soon-word,
  .coming-soon-ambient,
  .coming-soon-grain,
  .coming-soon-slide.is-active .coming-soon-line-left,
  .coming-soon-slide.is-active .coming-soon-line-right {
    animation: none;
  }
}

/* V23 — final contact slide. Slides 01–04 remain untouched. */
.contact-final{
  position:relative;
  min-height:calc(100svh - 72px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 82% 22%,rgba(255,255,255,.11),transparent 31%),
    radial-gradient(circle at 9% 86%,rgba(72,0,7,.28),transparent 36%),
    linear-gradient(118deg,#e30618 0%,#e10618 48%,#c90013 100%);
}
.contact-final:before{
  content:"";
  position:absolute;
  inset:-20%;
  z-index:-2;
  opacity:.18;
  background:
    repeating-linear-gradient(115deg,transparent 0 58px,rgba(255,255,255,.045) 59px 60px),
    radial-gradient(circle at 50% 50%,transparent 0 36%,rgba(0,0,0,.35) 100%);
  transform:translate3d(-2%,0,0);
  animation:contactAtmosphere 16s ease-in-out infinite alternate;
}
.contact-final:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(90deg,rgba(0,0,0,.06),transparent 38%,rgba(0,0,0,.13));
  mix-blend-mode:multiply;
}
.contact-final>.eyebrow,
.contact-final .contact-layout{
  position:relative;
  z-index:2;
}
.contact-final .contact-layout{align-items:end}
.contact-final h2{
  transform:translate3d(-8vw,0,0);
  opacity:0;
  filter:blur(10px);
  transition:transform 1.75s cubic-bezier(.16,1,.3,1),opacity .8s ease,filter 1.25s ease;
}
.contact-final h2 span{display:inline-block}
.contact-final .contact-info{
  transform:translate3d(4vw,24px,0);
  opacity:0;
  transition:transform 1.5s .22s cubic-bezier(.16,1,.3,1),opacity .9s .22s ease;
}
.contact-final>.eyebrow{
  transform:translateX(-40px);
  opacity:0;
  transition:transform 1.1s .08s cubic-bezier(.16,1,.3,1),opacity .7s .08s ease;
}
.contact-final.is-active h2,
.contact-final.is-active .contact-info,
.contact-final.is-active>.eyebrow{
  transform:translate3d(0,0,0);
  opacity:1;
  filter:none;
}
.contact-final .email{position:relative;overflow:hidden}
.contact-final .email:after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;height:1px;
  transform:scaleX(0);
  transform-origin:left;
  background:#fff;
  transition:transform .7s cubic-bezier(.16,1,.3,1);
}
.contact-final .email:hover:after{transform:scaleX(1)}
.contact-final .social-links a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  opacity:.76;
  transition:opacity .25s ease,transform .35s cubic-bezier(.16,1,.3,1);
}
.contact-final .social-links a:hover{opacity:1;transform:translateX(7px)}
.contact-final .social-links a span{font-size:12px}
@keyframes contactAtmosphere{to{transform:translate3d(2%,-1.5%,0) scale(1.025)}}
@media (prefers-reduced-motion:reduce){
  .contact-final:before{animation:none}
  .contact-final h2,.contact-final .contact-info,.contact-final>.eyebrow{transition:none;transform:none;opacity:1;filter:none}
}

/* V24 — requested detail-only changes */
footer > p{font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,.88);font-weight:600;text-shadow:0 0 16px rgba(255,255,255,.08)}
@media (max-width:700px){footer > p{font-size:8px;line-height:1.7}}
