*{box-sizing:border-box}
body{margin:0;font-family:'Manrope',sans-serif;color:#FFFFFF;background:#000000;-webkit-font-smoothing:antialiased}
a{color:#F08A80}a:hover{color:#FFB3AB}
h1,h2,h3,h4,h5,h6,p{margin:0}
h1,h2,h3,h4,h5,h6{text-wrap:balance}
p,li{text-wrap:pretty}
:focus-visible{outline:2px solid #F08A80;outline-offset:3px}
.heading-1{font-size:72px;line-height:72px;font-weight:600;letter-spacing:-0.03em}
.heading-2{font-size:48px;line-height:48px;font-weight:600;letter-spacing:-0.02em}
.heading-3{font-size:36px;line-height:40px;font-weight:600;letter-spacing:-0.01em}
.heading-4{font-size:30px;line-height:36px;font-weight:600}
.heading-5{font-size:24px;line-height:32px;font-weight:600}
.heading-6{font-size:20px;line-height:28px;font-weight:600}
.title-1{font-size:20px;line-height:28px;font-weight:500}
.title-2{font-size:18px;line-height:28px;font-weight:500}
.title-4{font-size:14px;line-height:20px;font-weight:500}
.body-1{font-size:16px;line-height:24px;font-weight:600}
.body-2{font-size:16px;line-height:24px;font-weight:500}
.body-3{font-size:16px;line-height:24px;font-weight:400}
.body-4{font-size:14px;line-height:20px;font-weight:600}
.body-6{font-size:14px;line-height:20px;font-weight:400}
.button-md{font-size:16px;line-height:24px;font-weight:600}
.button-sm{font-size:14px;line-height:20px;font-weight:600}
.caption-1{font-size:14px;line-height:20px;font-weight:500}
.caption-3{font-size:12px;line-height:16px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase}
.caption-5{font-size:12px;line-height:16px;font-weight:400}
.muted{color:#A1A1AA}
.accent{color:#F08A80}
.grad{background:linear-gradient(90deg,#FFFFFF,#9B9B9B);-webkit-background-clip:text;background-clip:text;color:transparent}
.section{padding:96px 24px;position:relative}
.wrap{max-width:1152px;margin:0 auto;position:relative}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border-radius:12px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:transform 300ms cubic-bezier(0.22,1,0.36,1),background-color 300ms cubic-bezier(0.22,1,0.36,1),box-shadow 300ms cubic-bezier(0.22,1,0.36,1)}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:scale(0.98)}
.btn-primary{background:#F08A80;color:#000000;box-shadow:0 0 0 rgba(240,138,128,0)}
.btn-primary:hover{background:#FFA59C;color:#000000;box-shadow:0 8px 40px rgba(240,138,128,0.45)}
.btn-ghost{background:rgba(255,255,255,0.06);color:#FFFFFF;border-color:rgba(255,255,255,0.14)}
.btn-ghost:hover{background:rgba(255,255,255,0.12);color:#FFFFFF}
.glass{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.10);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.spot{position:relative;overflow:hidden}
.spot::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(420px circle at var(--px,50%) var(--py,50%),rgba(240,138,128,0.20),transparent 60%);opacity:0;transition:opacity 300ms cubic-bezier(0.22,1,0.36,1)}
.spot:hover::before{opacity:1}
.spot>*{position:relative}
.tilt{transform:perspective(1000px) rotateY(calc(var(--mx,0) * 6deg)) rotateX(calc(var(--my,0) * -6deg));transition:transform 500ms cubic-bezier(0.22,1,0.36,1)}
.link-arrow{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:600}
.skip-link{position:absolute;left:16px;top:-48px;z-index:100;background:#FFFFFF;color:#000000;padding:8px 12px;border-radius:8px}
.skip-link:focus{top:16px;color:#000000}
.hl{display:block;opacity:0;transform:translateY(48px) rotateX(-35deg);transform-origin:50% 100%;filter:blur(12px);animation:hlIn 1200ms cubic-bezier(0.22,1,0.36,1) forwards}
.fade-in{opacity:0;transform:translateY(24px);animation:hlIn 1000ms cubic-bezier(0.22,1,0.36,1) forwards}
@keyframes hlIn{to{opacity:1;transform:none;filter:blur(0)}}
.reveal{opacity:0;transform:translateY(32px) scale(0.98);transition:opacity 800ms cubic-bezier(0.22,1,0.36,1),transform 800ms cubic-bezier(0.22,1,0.36,1)}
.reveal.in{opacity:1;transform:none}
.marquee{display:flex;width:max-content;animation:marquee 90s linear infinite}
@keyframes marquee{to{transform:translateX(-50%)}}
.logos{filter:invert(1) grayscale(1);mix-blend-mode:screen;opacity:0.7}
.merge-cap{opacity:calc(var(--merge,0) * 1.6 - 0.6);transform:translateY(calc((1 - var(--merge,0)) * 24px))}
.scroll-cue{opacity:calc(1 - var(--merge,0) * 3)}
.cue-dot{animation:cue 1800ms cubic-bezier(0.22,1,0.36,1) infinite}
@keyframes cue{0%{transform:translateY(0);opacity:0}30%{opacity:1}100%{transform:translateY(12px);opacity:0}}
.stage{perspective:1100px}
.ring{position:relative;width:220px;height:280px;transform-style:preserve-3d;animation:spin 22s linear infinite}
.stage:hover .ring{animation-play-state:paused}
@keyframes spin{from{transform:rotateX(-8deg) rotateY(0deg)}to{transform:rotateX(-8deg) rotateY(360deg)}}
.panel{position:absolute;inset:0;border-radius:24px;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:24px;background:#1F1F1F;border:1px solid rgba(255,255,255,0.12);box-shadow:0 0 60px rgba(240,138,128,0.15) inset;-webkit-backface-visibility:visible;backface-visibility:visible}
.p0{transform:rotateY(0deg) translateZ(190px)}
.p1{transform:rotateY(90deg) translateZ(190px)}
.p2{transform:rotateY(180deg) translateZ(190px)}
.p3{transform:rotateY(270deg) translateZ(190px)}
.orb{position:absolute;left:50%;top:50%;width:640px;height:640px;margin:-320px 0 0 -320px;border-radius:50%;background:radial-gradient(circle,rgba(240,138,128,0.35),rgba(240,138,128,0) 65%);filter:blur(20px);animation:breathe 6s cubic-bezier(0.22,1,0.36,1) infinite alternate;pointer-events:none}
@keyframes breathe{from{transform:scale(0.85);opacity:0.7}to{transform:scale(1.1);opacity:1}}
details summary{list-style:none;cursor:pointer}
details summary::-webkit-details-marker{display:none}
.faq-icon{transition:transform 300ms cubic-bezier(0.22,1,0.36,1)}
details[open] .faq-icon{transform:rotate(45deg)}
.film-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% center;background:#000000;display:block}
.film-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,0.85) 0%,rgba(0,0,0,0.55) 30%,rgba(0,0,0,0) 60%),linear-gradient(0deg,rgba(0,0,0,0.8) 0%,rgba(0,0,0,0) 30%),linear-gradient(180deg,rgba(0,0,0,0.55) 0%,rgba(0,0,0,0) 20%)}
.film-ui{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:120px 24px 48px}
.film-steps{position:relative;max-width:440px;min-height:200px}
.film-rail{position:absolute;right:32px;top:50%;height:240px;margin-top:-120px;display:flex;gap:16px}
.film-track{position:relative;width:2px;height:100%;border-radius:2px;background:rgba(255,255,255,0.18);overflow:hidden}
.film-fill{position:absolute;left:0;top:0;width:100%;height:100%;background:#F08A80;transform-origin:top;transform:scaleY(var(--film,0))}
.film-cue{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;opacity:calc(1 - var(--film,0) * 8)}
.tag-ui{position:absolute;inset:0;display:flex;align-items:center;padding:0 24px;pointer-events:none}
@media (max-width:767px){
.film-rail{display:none}
.film-scrim{background:linear-gradient(0deg,rgba(0,0,0,0.92) 0%,rgba(0,0,0,0.55) 50%,rgba(0,0,0,0.45) 100%)}
.film-ui{padding:104px 16px 32px}
.film-video{object-position:70% center}
.tag-ui{align-items:flex-end;padding-bottom:96px}
}
.hero-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,0.78) 0%,rgba(0,0,0,0.4) 34%,rgba(0,0,0,0) 60%),linear-gradient(0deg,rgba(0,0,0,0.7) 0%,rgba(0,0,0,0) 25%)}
.hero-ui{position:absolute;inset:0;display:flex;align-items:center;padding:112px 24px 48px;pointer-events:none}
.hero-ui a,.hero-ui button{pointer-events:auto}
.field{width:100%;font-family:inherit;font-size:16px;line-height:24px;color:#FFFFFF;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.16);border-radius:12px;padding:8px 12px;transition:border-color 300ms cubic-bezier(0.22,1,0.36,1),box-shadow 300ms cubic-bezier(0.22,1,0.36,1)}
.field:hover{border-color:rgba(255,255,255,0.32)}
.field:focus{outline:none;border-color:#F08A80;box-shadow:0 0 0 3px rgba(240,138,128,0.25)}
.field[aria-invalid="true"]{border-color:#FF8A80}
.field option{background:#181818;color:#FFFFFF}
.field::placeholder{color:#71717A}
.jump{padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,0.16);background:rgba(255,255,255,0.04);text-decoration:none;color:#FFFFFF;transition:background-color 300ms cubic-bezier(0.22,1,0.36,1)}
.jump:hover{background:rgba(255,255,255,0.12);color:#FFFFFF}
.err{color:#FF9B91}
@media (max-width:767px){
.hero-ui{align-items:flex-end;padding:96px 16px 48px}
.hero-scrim{background:linear-gradient(0deg,rgba(0,0,0,0.9) 0%,rgba(0,0,0,0.5) 55%,rgba(0,0,0,0.2) 100%)}
}
.nav-links{display:flex}
.nav-toggle{display:none !important}
.nav-link:hover{background:rgba(255,255,255,0.08)}
@media (max-width:767px){
.section{padding:64px 16px}
.heading-1{font-size:48px;line-height:48px}
.heading-2{font-size:30px;line-height:36px}
.heading-3{font-size:24px;line-height:32px}
.heading-4{font-size:24px;line-height:32px}
.nav-links,.nav-cta{display:none !important}
.nav-toggle{display:flex !important}
.ring{width:180px;height:230px}
.p0{transform:rotateY(0deg) translateZ(150px)}
.p1{transform:rotateY(90deg) translateZ(150px)}
.p2{transform:rotateY(180deg) translateZ(150px)}
.p3{transform:rotateY(270deg) translateZ(150px)}
}
@media (prefers-reduced-motion:reduce){
.hl,.fade-in{animation:none;opacity:1;transform:none;filter:none}
.reveal{opacity:1;transform:none;transition:opacity 300ms}
.marquee,.ring,.orb,.cue-dot{animation:none}
.tilt,.btn{transform:none !important;transition:background-color 300ms}
}
/* Navigation */
.nav-wrap{position:fixed;top:0;left:0;right:0;z-index:50;padding:16px 16px 0;display:flex;justify-content:center;pointer-events:none}
.nav{pointer-events:auto;position:relative;z-index:60;display:flex;align-items:center;gap:24px;padding:8px;border-radius:16px;color:#FFFFFF;background:rgba(24,24,24,0.55);-webkit-backdrop-filter:blur(16px) saturate(140%);backdrop-filter:blur(16px) saturate(140%);border:1px solid rgba(255,255,255,0.10);box-shadow:0 8px 32px rgba(0,0,0,0.5)}
.nav-logo{display:flex;background:#FFFFFF;border-radius:8px;padding:4px 8px}
.nav-logo img{height:28px;width:auto;display:block}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-link{padding:8px 12px;border-radius:8px;text-decoration:none;color:#A1A1AA;font-size:14px;line-height:20px;font-weight:500;transition:background-color 300ms cubic-bezier(0.22,1,0.36,1),color 300ms cubic-bezier(0.22,1,0.36,1)}
.nav-link:hover{background:rgba(255,255,255,0.08);color:#FFFFFF}
.nav-link[aria-current="page"]{color:#FFFFFF;background:rgba(255,255,255,0.10)}
.nav-cta{padding:8px 12px;border-radius:8px;text-decoration:none;background:#F08A80;color:#000000;transition:background-color 300ms cubic-bezier(0.22,1,0.36,1)}
.nav-cta:hover{background:#FFA59C;color:#000000}
.nav-toggle{display:none;position:relative;width:44px;height:44px;border:0;border-radius:8px;background:#272727;cursor:pointer;margin-left:auto}
.nav-toggle .bar{position:absolute;left:13px;width:18px;height:2px;border-radius:2px;background:#FFFFFF;transition:transform 500ms cubic-bezier(0.22,1,0.36,1)}
.nav-toggle .b1{top:17px}.nav-toggle .b2{top:25px}
.nav-toggle[aria-expanded="true"] .b1{transform:translateY(4px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] .b2{transform:translateY(-4px) rotate(-45deg)}
.mpanel{position:fixed;inset:0;z-index:40;padding:112px 24px 24px;display:flex;flex-direction:column;gap:8px;background:rgba(0,0,0,0.92);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px)}
.mpanel[hidden]{display:none}
.mpanel a{font-size:30px;line-height:36px;font-weight:600;text-decoration:none;color:#FFFFFF;padding:8px 0;opacity:0;transform:translateY(24px);transition:opacity 500ms cubic-bezier(0.22,1,0.36,1),transform 500ms cubic-bezier(0.22,1,0.36,1)}
.mpanel a[aria-current="page"]{color:#F08A80}
.mpanel a.m-cta{font-size:16px;line-height:24px;align-self:flex-start;margin-top:24px;padding:8px 12px;border-radius:12px;background:#F08A80;color:#000000}
.mpanel.open a{opacity:1;transform:none}
@media (max-width:767px){.nav-links,.nav-cta{display:none}.nav-toggle{display:block}}
/* Footer */
.site-footer a:hover{color:#F08A80 !important}
/* 3D fallback */
.gl-fallback{display:none}
.no-webgl .gl-fallback{display:block}
.scene3d{position:absolute;inset:0;width:100%;height:100%;display:block;background:#000000}
/* Film steps and tagline words (static build) */
.step-card{position:absolute;left:0;right:0;bottom:0;border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:8px;background:rgba(0,0,0,0.45);opacity:0;transform:translateY(24px);pointer-events:none;transition:opacity 600ms cubic-bezier(0.22,1,0.36,1),transform 600ms cubic-bezier(0.22,1,0.36,1)}
.step-card.past{transform:translateY(-24px)}
.step-card.on{opacity:1;transform:none;pointer-events:auto}
.rail-item{margin:0;color:rgba(255,255,255,0.5);transition:color 300ms cubic-bezier(0.22,1,0.36,1)}
.rail-item.on{color:#F08A80}
.tw{color:rgba(255,255,255,0.2);transition:color 500ms cubic-bezier(0.22,1,0.36,1),text-shadow 500ms cubic-bezier(0.22,1,0.36,1)}
.tw.on{color:#FFFFFF;text-shadow:0 0 24px rgba(240,138,128,0.35)}
.form-success[hidden],.brief-form[hidden],.err[hidden]{display:none !important}
@media (prefers-reduced-motion:reduce){.mpanel a{transition:none}.step-card,.tw{transition:opacity 200ms}}
