/* Tessoryn v15 polish layer */
html{scroll-padding-top:90px}
body{text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss03"}
h1,h2,h3{text-wrap:balance}::selection{background:rgba(255,255,255,0.193)}
:focus-visible{outline:2px solid rgba(255,255,255,.7);outline-offset:3px;border-radius:3px}
.header.scrolled{box-shadow:0 10px 40px rgba(0,0,0,.35)}
.btn{transition:transform .25s cubic-bezier(.2,.7,.2,1),border-color .25s,background .25s,box-shadow .25s}
.btn.light:hover{background:#fff;box-shadow:0 10px 34px rgba(243,241,236,.18)}
.btn.warm:hover{background:rgba(255,255,255,.14)}
.footer-links a{transition:color .2s}.footer-links a:hover{color:#fff}
/* hero: cinematic grain + staged entrance */
.hero-media:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.09;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E")}
.hero-media video,.hero-media img{filter:contrast(1.06) saturate(1.05)}
@keyframes heroIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.hero-copy>*{animation:heroIn .9s cubic-bezier(.2,.7,.2,1) both}
.hero-copy>:nth-child(2){animation-delay:.1s}.hero-copy>:nth-child(3){animation-delay:.2s}.hero-copy>:nth-child(4){animation-delay:.3s}
/* scroll reveal (auto-fails open after 3s if JS is blocked) */
@keyframes rvFail{to{opacity:1;transform:none}}
.js .rv{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s);animation:rvFail 0s 3.5s forwards}
.js .rv.in{opacity:1;transform:none;animation:none}
/* consistent image grade */
.machine img,.cinema img,.industry img{filter:saturate(.92) contrast(1.05) brightness(.88)}
.machine img,.industry img,.cinema img{transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .5s}
.machine{overflow:hidden;transition:border-color .3s,transform .3s}.machine:hover{transform:translateY(-3px)}
.machine:hover img,.industry:hover img{filter:saturate(1) contrast(1.06) brightness(.98);transform:scale(1.04)}
/* animated intelligence stack */
.stack-card{position:relative;overflow:hidden;transition:border-color .5s,background .5s,transform .4s}
.stack-card:before{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:rgba(255,255,255,.6);transform:scaleX(0);transform-origin:left;transition:transform 1.3s linear}
.stack-card.on,.stack-card:hover{border-color:rgba(255,255,255,0.385);background:linear-gradient(180deg,rgba(255,255,255,0.05),rgba(255,255,255,0.008))}
.stack-card.on:before{transform:scaleX(1)}.stack-card.done:before{transform:scaleX(1);opacity:.3}
.stack-card.on .stack-num{color:var(--text)}.stack-card:hover{transform:translateY(-3px)}
/* adaptation sequence + world-model labels */
.adapt-point{transition:background .4s,border-color .4s,opacity .4s;opacity:.55}
.adapt-point.on{opacity:1;background:rgba(255,255,255,0.088);border-color:rgba(255,255,255,0.413)}
@keyframes lbl{0%,100%{opacity:.72}50%{opacity:1;box-shadow:0 0 22px rgba(255,255,255,0.154)}}
.tech-label{animation:lbl 4.5s ease-in-out infinite}.tech-label.two{animation-delay:1.1s}.tech-label.three{animation-delay:2.2s}.tech-label.four{animation-delay:3.3s}
/* industries + CTA band */
.ind-grid{margin-top:38px;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ind-grid .industry{min-height:300px;display:block}
/* form */
.form input,.form textarea,.form select{transition:border-color .2s,box-shadow .2s}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--text);box-shadow:0 0 0 3px rgba(255,255,255,0.088)}
.form-status{font-size:12px;line-height:1.5;margin:12px 0 0;min-height:18px;color:var(--muted)}.form-status.ok{color:#9fd6a8}.form-status.err{color:#f2b28c}
/* 404 */
.nf{min-height:100svh;display:flex;align-items:center;position:relative;overflow:hidden}
.nf img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.32;filter:saturate(.8)}
.nf:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#050608 8%,rgba(5,6,8,.55))}
.nf .wrap{position:relative;z-index:2}.nf-code{font:300 clamp(90px,16vw,200px)/.9 Inter,sans-serif;letter-spacing:-.07em;color:var(--text);margin:0 0 10px}
@media(max-width:1100px){.ind-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.ind-grid{grid-template-columns:1fr}.ind-grid .industry{min-height:250px}.hero-actions .btn,.form .btn{min-height:48px}.mobile-links a{padding:18px 0}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.js .rv{opacity:1;transform:none}html{scroll-behavior:auto}}
/* Inter primary: identical typography on every device */
body,.btn,input,textarea,select,button{font-family:Inter,"SF Pro Text","Helvetica Neue",Arial,sans-serif}
h1,h2,h3,.h1,.h2,.h3,.brand span{font-family:Inter,"SF Pro Display","Helvetica Neue",Arial,sans-serif}
/* seamless left edge of the offset hero video (desktop/tablet) */
@media(min-width:761px){.hero-media .hero-video-v12,.hero-media .hero-motion-fallback{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16%);mask-image:linear-gradient(90deg,transparent 0,#000 16%)}}
