/* VisionWell3D: an editorial opening around the real engineering model. */
:root{--accent:#32d6df}
::selection{background:var(--accent);color:var(--bg)}
.header{margin:12px auto 0;width:min(94%,1400px);top:12px;padding:17px 28px;border:1px solid #47647766;border-radius:18px;background:linear-gradient(130deg,#173140dd,#0b1a26d9);backdrop-filter:blur(20px);box-shadow:0 12px 50px #0003}
.nav-contact{border-radius:999px;background:#173c48;border-color:#3a7b87}
.brand-mark{border-radius:6px}.button{border-radius:999px;gap:18px}
.hero.hero-motion{height:auto;min-height:0;display:block;isolation:isolate;padding:70px max(5vw,calc((100vw - var(--max))/2)) 28px;overflow:hidden;background:radial-gradient(ellipse at 80% 70%,#16384788,transparent 58%),var(--bg)}
.hero-motion .hero-copy{width:100%;padding:0;margin:0;position:relative;z-index:2}
.hero-motion .eyebrow{font-size:.875rem;letter-spacing:.14em;margin-bottom:25px}
.hero-motion h1{max-width:1100px;font-size:clamp(2.7rem,5.8vw,5.5rem);line-height:1.06;letter-spacing:-.055em;text-wrap:balance}
.hero-motion h1 em{color:var(--accent);display:block}
.hero-intro{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:30px}
.hero-motion .hero-description{margin:0;max-width:520px;font-size:1.0625rem;line-height:1.65;color:#bfd0dc}
.hero-motion .actions{margin:0;flex-wrap:nowrap;flex-shrink:0;gap:10px}
.hero-motion .actions .button{padding:15px 22px}
.hero-stage{position:relative;margin:42px 0 0;height:clamp(290px,30vw,410px);border:1px solid #36566a;border-radius:22px;overflow:hidden;background:#08141e;isolation:isolate}
.hero-film{position:absolute;inset:0;overflow:hidden;background:#08141e}
.hero-film video{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 43%;filter:brightness(.78) saturate(.65);animation:film-drift 18s ease-in-out infinite alternate}
.hero-stage::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,#08141ef5,transparent 34%,#08141e33 85%,#08141e70)}
.stage-caption{position:absolute;z-index:2;bottom:25px;left:28px;display:grid;gap:3px;color:#f4f7fa}
.stage-caption span:first-child{font-size:1.15rem;font-weight:600;letter-spacing:-.02em}
.stage-caption span:last-child{font-size:.875rem;color:#c0d3df}
.stage-toggle{position:absolute;z-index:2;bottom:26px;right:28px;border-radius:999px;background:#08141ee0;backdrop-filter:blur(8px);color:#effbff;min-height:44px}
.hero-bottom{display:flex;gap:30px;justify-content:space-between;color:#a7c2cf;font-size:.875rem;padding:21px 2px 0}
.hero-bottom span{display:flex;align-items:center;gap:12px}.hero-bottom span::before{content:'';width:18px;height:1px;background:var(--accent)}
.hero-copy>.eyebrow,.hero-copy>h1,.hero-intro{animation:hero-enter .8s both}.hero-copy>h1{animation-delay:.06s}.hero-intro{animation-delay:.15s}
.section{padding-top:90px;padding-bottom:90px}.section-heading .eyebrow{font-size:.875rem}.service-grid{gap:20px}
.service-grid article{padding:30px;border:1px solid #314a5a;border-radius:16px;background:linear-gradient(140deg,#122936,#0b1b28);transition:border-color .25s,transform .25s}
.service-grid article:hover{border-color:#32d6df88;transform:translateY(-4px)}
.service-meta{font-size:.875rem}.service-number{font-size:1rem;margin-bottom:24px}
.demo-feature{overflow:hidden;border-radius:20px}.demo-copy{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:20px 55px;padding:40px}
.demo-copy>.tag{grid-column:1/-1;justify-self:start;margin-bottom:0}.demo-copy>h3{grid-column:1}.demo-copy>p:not(.small){grid-column:2;grid-row:2;margin-top:0}
.demo-copy dl{grid-column:2;grid-row:3;margin:0}.demo-copy>#open-demo{grid-column:1;grid-row:3;align-self:start;justify-self:start}.demo-copy>.small{grid-column:1/-1;margin-top:0;padding-top:22px;border-top:1px solid var(--line)}
.steps{gap:25px}.steps article{border-top-color:#335965}.steps span{font-size:1rem}.engineering-note{padding:28px;border:1px solid #355465;border-radius:15px;background:linear-gradient(110deg,#143342,#0b1a27)}
.engineering-note .eyebrow{font-size:.875rem;white-space:nowrap}.engineering-note p{font-size:1.25rem}
.js-motion .service-grid article:nth-child(2),.js-motion .steps article:nth-child(2){transition-delay:.08s}.js-motion .service-grid article:nth-child(3),.js-motion .steps article:nth-child(3){transition-delay:.16s}.js-motion .steps article:nth-child(4){transition-delay:.24s}
.contact-status{border-radius:0 12px 12px 0}input,textarea{border-radius:9px}footer{margin-top:0}
@keyframes hero-enter{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes film-drift{from{transform:scale(1)}to{transform:scale(1.035)}}
@media(max-width:1100px){.hero-intro{align-items:flex-start;flex-direction:column;gap:24px}.hero-motion .hero-description{max-width:640px}.hero-stage{height:340px}.header{padding:16px 20px}nav{gap:18px}}
@media(max-width:720px){html{scroll-padding-top:100px}.header{width:92%;top:8px;padding:12px 16px;border-radius:14px}.menu-toggle{border:0;position:relative}.menu-toggle span{transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
 nav{display:flex;top:calc(100% + 8px);left:0;right:0;padding:12px 20px 20px;border:1px solid #3c5a6d;border-radius:14px;background:#0b1e2bf5;backdrop-filter:blur(22px);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .22s,transform .22s,visibility .22s;max-height:calc(100dvh - 140px);overflow:auto}nav.open{opacity:1;visibility:visible;transform:none}nav a{font-size:1rem;padding:13px 4px}
 .hero.hero-motion{padding:42px 6% 22px}.hero-motion .eyebrow{font-size:.875rem;line-height:1.6;letter-spacing:.08em;margin-bottom:20px}.hero-motion h1{font-size:clamp(2.35rem,8.9vw,3.6rem);line-height:1.09;letter-spacing:-.04em}.hero-motion .hero-description{font-size:1rem;line-height:1.7}.hero-intro{margin-top:24px;gap:24px}.hero-motion .actions{width:100%;flex-wrap:wrap}.hero-motion .actions .button{width:100%;min-height:50px}.hero-stage{height:auto;aspect-ratio:16/11;border-radius:14px;margin-top:28px}.hero-film{bottom:48px}.hero-film video{object-fit:contain;filter:brightness(.95) saturate(.8);animation:none}.hero-stage::after{background:linear-gradient(0deg,#08141e 0%,#08141ecc 18%,transparent 38%)}.stage-caption{bottom:14px;left:16px;max-width:46%}.stage-caption span:first-child{font-size:.875rem}.stage-caption span:last-child{display:none}.stage-toggle{bottom:10px;right:10px;font-size:.875rem;padding:8px 12px}.hero-bottom{gap:12px;flex-wrap:wrap;font-size:.875rem;padding-top:18px}.hero-bottom span{gap:6px}.hero-bottom span::before{width:9px}
 .section{padding-top:65px;padding-bottom:65px}.service-grid article{padding:25px;border-bottom:1px solid #314a5a}.demo-copy{display:block;padding:25px}.demo-copy>.tag{margin-bottom:22px}.demo-copy>p:not(.small){margin-top:20px}.demo-copy dl{margin:24px 0}.demo-copy>.small{margin-top:24px}.engineering-note{padding:25px}.engineering-note .eyebrow{white-space:normal}.engineering-note p{margin-top:14px}.service-meta{font-size:.875rem}
}
@media(prefers-reduced-motion:reduce){.hero-copy>.eyebrow,.hero-copy>h1,.hero-intro,.hero-film video{animation:none}.hero-film video{transform:none}nav{transition:none}}
.reduced .hero-film video{transform:none}.reduced .hero-copy>*{animation:none}.reduced nav{transition:none}
