:root{font-family:'DM Sans',sans-serif;color:#151a2c;background:#f6f7fb;--accent:#d74732;--muted:#68748a}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;min-height:100%;overflow:hidden;touch-action:manipulation;overscroll-behavior:none;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{isolation:isolate}
a{color:inherit;text-decoration:none}
button{font:inherit}
.ambient{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 76% 47%,#e8eaf5 0,transparent 43%),radial-gradient(ellipse at 100% 0,#fce9e2 0,transparent 40%),#f6f7fb}
.ambient:after{content:"";position:absolute;inset:0;background-image:radial-gradient(#9aa9bf55 .8px,transparent .8px);background-size:26px 26px;mask-image:linear-gradient(#0008,transparent)}
.intro{position:fixed;inset:0;z-index:100;display:grid;place-items:center;overflow:hidden;background:#f6f7fb;transform-origin:center;perspective:1200px}
.intro-glow{position:absolute;width:min(72vw,760px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 0,#eceef6 48%,transparent 72%);animation:introGlow 2.2s ease-out both}
.intro-title{position:absolute;z-index:2;top:clamp(8%,12vh,15%);margin:0;font-family:'Space Grotesk',sans-serif;font-size:clamp(52px,9vw,112px);font-weight:700;letter-spacing:-.07em;color:#151a2c;animation:introText .75s .15s cubic-bezier(.2,.8,.2,1) both}
.intro-title span{color:var(--accent)}
.intro-subtitle{position:absolute;z-index:2;top:calc(clamp(8%,12vh,15%) + clamp(76px,11vw,135px));margin:0;color:#738096;font-size:clamp(12px,1.2vw,16px);letter-spacing:.08em;animation:introText .75s .35s both}
.intro-robot{position:absolute;z-index:1;bottom:-91vh;width:auto;height:135vh;max-width:none;object-fit:contain;filter:drop-shadow(16px 22px 20px #1b263b30);animation:introRobot 1.35s .12s cubic-bezier(.16,.85,.26,1.05) both}
.intro.finished{display:none}
.intro-active .scene .robot{opacity:0;animation:none;transform:none}
.intro-active .tilt{transform:none;transition:none}
.intro.is-moving{pointer-events:none}
.intro.is-moving .intro-title,.intro.is-moving .intro-subtitle,.intro.is-moving .intro-glow{animation:none;display:none}
.intro-title,.intro-subtitle{left:0;right:0;width:100%;text-align:center;padding-inline:20px}
.app{width:100%;height:100vh;height:100dvh;min-height:480px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding:0 max(5vw,env(safe-area-inset-right)) 0 max(5vw,env(safe-area-inset-left))}
.header{display:flex;align-items:center;justify-content:space-between;padding:clamp(16px,3vh,30px) 0;gap:12px}
.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700;letter-spacing:-.5px}
.brand img{width:36px;height:36px;object-fit:contain}
.brand-product{font-size:10px;letter-spacing:3px;color:var(--accent);border-left:1px solid #ccd2dd;padding-left:16px;margin-left:5px}
main{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:5vw;align-items:center;width:min(1120px,100%);margin:0 auto}
.copy{min-width:0;animation-delay:90ms}
.eyebrow{margin:0 0 18px;font-size:12px;letter-spacing:2.5px;font-weight:700;color:#737e92}
h1{font-family:'Space Grotesk',sans-serif;margin:0;font-size:clamp(42px,min(6vw,10vh),86px);line-height:.98;font-weight:700;letter-spacing:-.065em}
h1 span{color:var(--accent)}
.description{max-width:500px;color:var(--muted);font-size:clamp(16px,1.35vw,19px);line-height:1.62;margin:24px 0 0}
.description strong{color:#414b60;font-weight:600}
.actions{display:flex;gap:12px;margin-top:24px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 20px;min-height:48px;border-radius:13px;font-size:14px;font-weight:700;transition:transform .25s,box-shadow .25s,background .25s;transform:perspective(600px) rotateX(0)}
.button svg{width:18px;height:18px;flex-shrink:0}
.primary{background:var(--accent);color:white;box-shadow:0 8px 18px #cf493123,inset 0 1px #ffffff40}
.secondary{border:1px solid #d7dce7;background:#ffffff85}
.button:hover{transform:perspective(600px) translateY(-3px) rotateX(5deg);box-shadow:0 12px 22px #29355018}
.button:active{transform:translateY(1px);box-shadow:none}
a:focus-visible,button:focus-visible{outline:3px solid #df603b;outline-offset:5px}
.arrow{transition:transform .25s}.button:hover .arrow{transform:translate(2px,-2px)}
.note{font-size:13px;color:#778297;margin:15px 0 0}
.scene{height:100%;max-height:600px;min-height:0;margin:0;position:relative;display:grid;place-items:center;perspective:1000px;animation-delay:180ms}
.tilt{position:absolute;inset:18px 8% 20px;display:flex;align-items:center;justify-content:center;transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s ease-out;transform-style:preserve-3d}
.robot{display:block;height:100%;width:100%;object-fit:contain;filter:drop-shadow(12px 22px 15px #23314d24);animation:float 6s ease-in-out infinite}
.scene-light{position:absolute;width:85%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff9 0,#e2e5f244 60%,transparent 72%)}
.orbit{position:absolute;width:90%;aspect-ratio:1;border:1px solid #b8c4dc88;border-radius:50%;transform:rotateX(68deg) rotateZ(-16deg);pointer-events:none}
.orbit-one:after{content:"";position:absolute;width:8px;height:8px;top:16%;left:12%;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px #d7473210}
.orbit-two{width:75%;transform:rotateX(68deg) rotateZ(16deg);border-style:dashed;opacity:.6}
.scene-shadow{position:absolute;bottom:44px;width:45%;height:18px;border-radius:50%;background:#4c577f24;filter:blur(10px);animation:shadow 6s ease-in-out infinite}
.spark{position:absolute;color:#d7473277;font-size:25px;font-weight:400;animation:float 7s ease-in-out infinite}.spark-one{top:20%;right:7%}.spark-two{bottom:25%;left:4%;font-size:17px}
.footer{display:flex;justify-content:space-between;gap:16px;padding:18px 0 max(18px,env(safe-area-inset-bottom));border-top:1px solid #dde2ec;color:#7c879a;font-size:12px;animation-delay:250ms}
.footer p{margin:0}.footer strong{font-weight:600;color:#b65343}
.footer-link{display:inline-block;border-radius:4px;transition:color .2s ease,transform .2s ease}.footer-link:hover{color:var(--accent);transform:translateY(-1px)}.footer-link:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.enter{animation:enter .8s both cubic-bezier(.2,.7,.2,1)}
@keyframes enter{from{opacity:0;transform:perspective(1000px) translateY(12px) rotateX(3deg)}to{opacity:1;transform:none}}
@keyframes float{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(1deg)}}
@keyframes shadow{50%{transform:scale(.88);opacity:.65}}
@keyframes introRobot{0%{opacity:0;transform:translateY(45%) scale(.82) rotate(-4deg)}65%{opacity:1;transform:translateY(-1.5%) scale(1.035) rotate(1deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes introText{from{opacity:0;transform:translateY(-24px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes introGlow{from{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}
.paused *{animation-play-state:paused!important}.paused .tilt{transform:none}
@media(max-width:700px) and (orientation:portrait){
 .app{padding-inline:22px;min-height:560px}.header{padding:12px 0}.brand{font-size:14px;gap:8px}.brand img{width:30px;height:30px}.brand-product{font-size:8px;letter-spacing:1.5px;padding-left:9px;margin-left:0}.motion-label{display:none}
 main{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:8px;text-align:center}
 .eyebrow{font-size:8px;margin-bottom:12px;letter-spacing:2px}
 h1{font-size:clamp(34px,min(12vw,6.6dvh),56px);line-height:.96}
 .description{font-size:13px;line-height:1.5;margin:14px auto 0;max-width:350px}
 .actions{justify-content:center;margin-top:16px;gap:10px}.button{padding:0 16px;font-size:13px;min-height:44px}.note{margin-top:10px;font-size:10px}
 .scene{width:min(300px,90%);justify-self:center;max-height:360px}.tilt{inset:8px 15% 8px}.scene-shadow{bottom:18px;width:35%}.orbit{width:80%}.spark-one{right:12%}
 .footer{padding:10px 0 max(10px,env(safe-area-inset-bottom));flex-direction:column;text-align:center;gap:4px;font-size:8px;line-height:1.4}
 .intro-robot{height:112vh;max-width:none;bottom:-76vh}.intro-title{top:10%}.intro-subtitle{top:calc(10% + 72px);line-height:1.5}
}
@media(max-height:650px) and (min-width:701px),(max-height:500px) and (orientation:landscape){
 .app{min-height:320px}.header{padding:8px 0}.footer{padding:10px 0;font-size:9px}main{gap:3vw}h1{font-size:clamp(30px,8.5dvh,52px)}.eyebrow{font-size:9px;margin-bottom:10px}.description{font-size:13px;line-height:1.45;margin-top:12px}.actions{margin-top:14px;gap:8px}.button{min-height:40px;font-size:12px;padding-inline:13px}.note{font-size:10px;margin-top:8px}.tilt{inset:8px 10%}.scene-shadow{bottom:20px}.brand-product{font-size:8px}
}
@media(prefers-reduced-motion:reduce){*:not(.intro),*:not(.intro):before,*:not(.intro):after{animation:none!important;transition:none!important}.tilt{transform:none!important}.intro-robot,.intro-title,.intro-subtitle,.intro-glow{animation:none}}
