:root{
  --deep:#0f1014;
  --glow-orange:rgba(255,122,0,.22);
  --glow-teal:rgba(16,178,166,.16);
  --ease-premium:cubic-bezier(.22,1,.36,1);
}

html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:clip}
body{overflow-x:clip}
main{isolation:isolate;overflow:clip}
.site-header{transition:height .45s var(--ease-premium),background .45s,border-color .45s,box-shadow .45s}
.site-header.is-scrolled{background:rgba(248,248,246,.86);border-color:rgba(31,31,36,.08);box-shadow:0 14px 42px rgba(20,21,25,.06)}
.site-header .brand img{transition:transform .45s var(--ease-premium)}
.site-header .brand:hover img{transform:rotate(-5deg) scale(1.05)}
.nav a{transition:color .25s}
.nav a:hover{color:var(--orange)}
.scroll-progress{position:fixed;z-index:80;top:0;left:0;width:100%;height:2px;pointer-events:none}
.scroll-progress span{display:block;width:100%;height:100%;background:linear-gradient(90deg,var(--orange),var(--teal));transform:scaleX(0);transform-origin:left}

.hero{min-height:calc(100svh - 88px);background:
  radial-gradient(circle at 82% 35%,var(--glow-orange),transparent 28%),
  radial-gradient(circle at 72% 68%,var(--glow-teal),transparent 22%),
  var(--paper)}
.data-canvas,.hero-grid{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.data-canvas{z-index:0;opacity:.74}
.hero-grid{z-index:0;opacity:.5;background-image:linear-gradient(rgba(31,31,36,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(31,31,36,.04) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,transparent 25%,#000 70%);-webkit-mask-image:linear-gradient(90deg,transparent 25%,#000 70%)}
.hero-copy{display:flex;flex-direction:column;justify-content:center;padding-top:70px;padding-bottom:70px}
.hero h1{position:relative;z-index:2}
.text-mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.text-mask>span{display:block;will-change:transform}
.hero-sequence{will-change:transform,opacity}
.hero-art{display:grid;place-items:center;isolation:isolate;overflow:hidden}
.hero-logo-mask{position:relative;z-index:2;width:min(88%,850px);overflow:hidden;clip-path:inset(0 0 0 0 round 2px)}
.hero-logo-frame{width:100%;filter:none;mix-blend-mode:multiply;will-change:transform}
.hero-orbit{position:absolute;z-index:1;border:1px solid rgba(255,122,0,.2);border-radius:50%;pointer-events:none}
.orbit-one{width:min(38vw,560px);aspect-ratio:1;transform:rotate(-18deg) scaleY(.38)}
.orbit-one:before,.orbit-two:before{content:"";position:absolute;top:48%;left:-5px;width:10px;height:10px;border-radius:50%;background:var(--orange);box-shadow:0 0 20px var(--orange)}
.orbit-two{width:min(31vw,450px);aspect-ratio:1;border-color:rgba(16,178,166,.24);transform:rotate(34deg) scaleY(.5)}
.orbit-two:before{top:25%;left:auto;right:-5px;background:var(--teal);box-shadow:0 0 18px var(--teal)}
.hero-index{position:absolute;right:clamp(28px,5vw,72px);bottom:30px;color:var(--gray);letter-spacing:.14em;font-size:9px;font-weight:800}
.hero-index span{color:var(--orange)}
.button,.contact-links a:last-child{position:relative;overflow:hidden;transition:transform .35s var(--ease-premium),background .3s,color .3s,box-shadow .3s}
.button:before,.contact-links a:last-child:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,rgba(255,255,255,.28),transparent 70%);transform:translateX(-120%);transition:transform .65s var(--ease-premium)}
.button:hover,.contact-links a:last-child:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(255,122,0,.18)}
.button:hover:before,.contact-links a:last-child:hover:before{transform:translateX(120%)}
.button>*{position:relative}

.pillars{position:relative;z-index:3;overflow:hidden}
.pillars article{transition:background .4s,transform .4s var(--ease-premium)}
.pillars article:hover{background:#fbfaf7;transform:translateY(-4px)}
.pillar-icon{transition:transform .45s var(--ease-premium),background .35s,color .35s}
.pillars article:hover .pillar-icon{background:var(--teal);color:#fff;transform:rotate(8deg) scale(1.08)}
.tech-marquee{background:var(--deep);color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08);overflow:hidden;padding:16px 0}
.marquee-track{display:flex;align-items:center;gap:30px;width:max-content;color:rgba(255,255,255,.68);letter-spacing:.13em;font-size:11px;font-weight:800;animation:marquee 30s linear infinite}
.marquee-track i{color:var(--orange);font-style:normal}
@keyframes marquee{to{transform:translateX(-50%)}}

.solutions{position:relative;background:linear-gradient(180deg,#f8f8f6 0%,#f1f1ee 100%)}
.solutions:before{content:"";position:absolute;width:460px;height:460px;top:25%;right:-210px;border:1px solid rgba(255,122,0,.12);border-radius:50%;box-shadow:0 0 0 80px rgba(255,122,0,.025),0 0 0 160px rgba(16,178,166,.02)}
.solutions-viewport{position:relative;overflow:hidden;margin-right:calc(0px - clamp(24px,7vw,108px))}
.solution-grid{width:max-content;grid-template-columns:repeat(4,minmax(360px,31vw));padding-right:clamp(24px,7vw,108px)}
.solution-card{position:relative;min-height:440px;border:1px solid rgba(31,31,36,.06);box-shadow:0 24px 60px rgba(31,31,36,.08);transform-origin:center;transition:box-shadow .45s var(--ease-premium),transform .45s var(--ease-premium)}
.solution-card:hover{box-shadow:0 30px 75px rgba(31,31,36,.15);transform:translateY(-8px)}
.solution-number{position:absolute;z-index:4;top:20px;right:22px;color:currentColor;opacity:.4;font-size:11px;letter-spacing:.12em}
.card-visual{height:245px}
.card-visual>span{font-size:68px;filter:drop-shadow(0 10px 24px rgba(255,122,0,.24));transition:transform .65s var(--ease-premium)}
.solution-card:hover .card-visual>span{transform:scale(1.12) rotate(4deg)}
.mesh{transition:transform 1.1s var(--ease-premium);will-change:transform}
.solution-card:hover .mesh{transform:scale(1.48) rotate(3deg)}
.solution-counter{position:absolute;right:clamp(24px,7vw,108px);bottom:42px;color:var(--gray);font-size:11px;letter-spacing:.14em}
.solution-counter span{color:var(--orange);font-size:28px}

.cases{position:relative}
.case-list article{position:relative;transition:padding .45s var(--ease-premium),background .35s}
.case-list article:before{content:"";position:absolute;left:0;bottom:-1px;width:0;height:2px;background:linear-gradient(90deg,var(--orange),var(--teal));transition:width .65s var(--ease-premium)}
.case-list article:hover{padding-left:20px;padding-right:20px;background:#faf9f6}
.case-list article:hover:before{width:100%}
.case-list>article>span{font-variant-numeric:tabular-nums}

.about{position:relative;isolation:isolate;background:radial-gradient(circle at 16% 54%,rgba(255,122,0,.13),transparent 27%),radial-gradient(circle at 86% 15%,rgba(16,178,166,.1),transparent 26%),var(--deep)}
.about:after{content:"";position:absolute;z-index:-1;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(90deg,#000,transparent 65%);-webkit-mask-image:linear-gradient(90deg,#000,transparent 65%)}
.about-network{position:absolute;z-index:-1;left:-5%;top:5%;width:48%;height:90%;color:rgba(255,122,0,.22)}
.about-network path{stroke-width:1;stroke-dasharray:5 9}
.about-mark{position:relative;z-index:1;will-change:transform}
.about-copy{position:relative;z-index:2}
.text-link{transition:gap .35s var(--ease-premium),color .3s}
.text-link:hover{gap:26px;color:#ff9b38}

.insights{background:linear-gradient(180deg,#f8f8f6,#f3f3f0)}
.insight-grid article{position:relative;overflow:hidden;transition:transform .5s var(--ease-premium),box-shadow .5s,border-color .4s}
.insight-grid article:before{content:"";position:absolute;width:180px;height:180px;right:-90px;top:-90px;border:1px solid rgba(16,178,166,.2);border-radius:50%;transition:transform .7s var(--ease-premium)}
.insight-grid article:hover{transform:translateY(-8px);border-color:rgba(255,122,0,.3);box-shadow:0 24px 55px rgba(31,31,36,.08)}
.insight-grid article:hover:before{transform:scale(1.35)}
.contact{position:relative;overflow:hidden}
.contact:before{content:"";position:absolute;right:-18%;bottom:-55%;width:620px;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,122,0,.09),transparent 65%);pointer-events:none}
.contact-form{position:relative;z-index:1;padding:34px;border:1px solid var(--line);border-radius:12px;background:rgba(248,248,246,.72);box-shadow:0 20px 55px rgba(31,31,36,.06);backdrop-filter:blur(10px)}
.form-heading{color:var(--ink);font-size:18px;font-weight:700;letter-spacing:-.02em;text-transform:none}
.contact-form input,.contact-form textarea{transition:border-color .3s,padding .3s}
.contact-form input:focus,.contact-form textarea:focus{padding-left:10px}

.cursor-orbit{position:fixed;z-index:120;top:0;left:0;width:70px;height:70px;border:1px solid rgba(255,122,0,.8);border-radius:50%;display:grid;place-items:center;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.5);transition:opacity .2s,transform .35s var(--ease-premium);mix-blend-mode:multiply}
.cursor-orbit.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}
.cursor-orbit span{font-size:9px;letter-spacing:.08em;font-weight:800;text-transform:uppercase}
.motion-ready .motion-reveal,.motion-ready [data-reveal-group]>*{will-change:transform,opacity}

@media (max-width:1050px){
  .solution-grid{grid-template-columns:repeat(4,minmax(300px,38vw))}
}

@media (max-width:760px){
  .site-header.is-scrolled{height:58px}
  .hero{min-height:auto;background:radial-gradient(circle at 50% 12%,rgba(255,122,0,.16),transparent 32%),var(--paper)}
  .hero-grid{background-size:42px 42px;mask-image:linear-gradient(#000,transparent 62%);-webkit-mask-image:linear-gradient(#000,transparent 62%)}
  .data-canvas{opacity:.42}
  .hero-art{min-height:310px!important;padding:24px 14px 6px}
  .hero-logo-mask{width:min(78%,420px)}
  .hero-logo-frame{filter:none}
  .hero-orbit{display:none}
  .hero-index{right:20px;bottom:12px;font-size:8px}
  .hero-copy{padding-top:42px;padding-bottom:52px}
  .hero h1{margin-top:22px}
  .hero-actions{gap:10px}
  .button.secondary{border-color:transparent;padding-left:4px;padding-right:4px;min-height:42px}
  .button:hover,.contact-links a:last-child:hover{transform:none;box-shadow:none}
  .pillars article:hover,.solution-card:hover,.case-list article:hover,.insight-grid article:hover{transform:none}
  .pillars{overflow:hidden;padding-bottom:8px}
  .pillars article:last-child{padding-bottom:30px}
  .tech-marquee{padding:13px 0}
  .marquee-track{gap:22px;animation-duration:38s;font-size:9px}
  .solutions:before{display:none}
  .solutions-viewport{overflow:visible;margin-right:-22px}
  .solution-grid{width:auto;grid-template-columns:none;padding-right:22px}
  .solution-card{min-width:78vw;min-height:395px;box-shadow:0 16px 38px rgba(31,31,36,.08)}
  .card-visual{height:215px}
  .solution-counter{display:none}
  .case-list article:hover{padding-left:18px;padding-right:18px}
  .about{min-height:auto;background:radial-gradient(circle at 18% 15%,rgba(255,122,0,.13),transparent 28%),var(--deep)}
  .about-network{width:110%;height:48%;top:-5%;left:-25%;opacity:.55}
  .about-mark{font-size:82px;height:72px}
  .insights{gap:40px}
  .contact-form{padding:24px 20px}
  .cursor-orbit{display:none}
}

@media (hover:none),(pointer:coarse){.cursor-orbit{display:none}}

@media (prefers-reduced-motion:reduce){
  .marquee-track{animation:none}
  .data-canvas{display:none}
  .text-mask>span,.motion-reveal,[data-reveal-group]>*{opacity:1!important;transform:none!important;clip-path:none!important}
  .hero-logo-frame,.about-mark,.mesh{transform:none!important}
}
