:root{--font-display:'Manrope', Arial, sans-serif,'ClashDisplay-Variable','ClashDisplay-Bold',sans-serif;--font-body:'DM Sans',sans-serif;
  --primary:#1a54bf;
  --secondary:#2b3990;
  --cyan:#39bff4;
  --teal:#13b8a6;
  --ink:#07111f;
  --paper:#f4f7fb;
  --warm:#e9eef6;
  --white:#fff;
  --muted:#68758a;
  --line:rgba(7,17,31,.14);
  --radius:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;width:100%;max-width:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;touch-action:pan-y}
.hero,.intro,.vision,.services,.automation,.industries,.after-sales,.partners,.contact,.footer{width:100%;max-width:100%;overflow:hidden;box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;overflow-x:hidden;width:100%;max-width:100%;position:relative;-webkit-tap-highlight-color:transparent}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit}
.wrap{width:min(1240px,calc(100% - 100px));margin-inline:auto}
.section-light{background:var(--paper)}
.section-warm{background:var(--warm)}
.section-ink{background:var(--ink);color:#fff}
.section-blue{background:linear-gradient(135deg,#0c327d 0%,var(--primary) 48%,var(--secondary) 100%);color:#fff}
.display{font:700 clamp(46px,5.5vw,84px)/.98 'Manrope', Arial, sans-serif;letter-spacing:-.055em;margin:16px 0 28px}
.display em{font-style:normal;font-weight:400}
.display.light{color:#fff}
.word-reveal-title{line-height:.92;overflow:visible}
.word-line{display:block;overflow:visible;width:max-content;max-width:100%;padding:.12em .16em .18em .08em;margin:-.10em -.16em -.15em -.08em}
.word-line>span{display:block;opacity:0;transform:translate3d(-42px,0,0);will-change:transform,opacity;transition:transform 1.34s cubic-bezier(.22,1,.36,1),opacity 1.02s cubic-bezier(.22,.61,.36,1);transition-delay:calc(var(--i)*.15s)}
.word-reveal-title.words-visible .word-line>span{opacity:1;transform:translate3d(0,0,0)}
.word-reveal-title .accent-word>span{font-weight:400}
.eyebrow{margin:0;text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:700;color:#a9bde5}
.eyebrow.dark{color:#44516a}
.lead{font-size:clamp(18px,1.5vw,22px);line-height:1.58;max-width:680px}
.lead.light{color:#fff}
.muted{color:var(--muted);font-size:16px;line-height:1.75;max-width:650px}
.section-note{color:#9aa8be;font-size:16px;line-height:1.75;max-width:500px;margin:0 0 12px}
.split-heading{display:grid;grid-template-columns:1.45fr .55fr;gap:70px;align-items:end}
.section-heading{padding-top:120px;padding-bottom:64px}

.page-progress{position:fixed;z-index:100;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,var(--cyan),#fff,var(--primary))}
.cursor-dot,.cursor-ring{position:fixed;z-index:110;pointer-events:none;border-radius:50%;left:0;top:0}
.cursor-dot{width:5px;height:5px;background:var(--cyan)}
.cursor-ring{width:34px;height:34px;border:1px solid rgba(57,191,244,.72);transition:width .2s,height .2s,margin .2s,background .2s}
.cursor-ring.hover{width:50px;height:50px;margin:-8px;background:rgba(57,191,244,.12)}
.cursor-ring.vision-hover{width:62px;height:62px;margin:-14px;display:grid;place-items:center;border-color:rgba(255,255,255,.82);background:linear-gradient(145deg,var(--cyan),var(--primary));box-shadow:0 14px 36px rgba(26,84,191,.38);color:#fff;font:700 12px/1 'Manrope', Arial, sans-serif;letter-spacing:.12em}

.site-header{position:fixed;inset:0 0 auto;height:92px;z-index:70;display:grid;grid-template-columns:200px 1fr 200px;align-items:center;padding:0 48px;color:#fff;transition:.35s ease}
.site-header.scrolled{height:76px;background:rgba(7,17,31,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.09)}
.brand{width:158px;display:block}
.brand img{width:100%;height:auto;display:block}
.desktop-nav{display:flex;justify-content:center;gap:34px;font-size:14px}
.desktop-nav a{position:relative;opacity:.86}
.desktop-nav a:after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:2px;background:var(--cyan);transition:.25s}
.desktop-nav a:hover:after{width:100%}
.desktop-nav .profile-nav-link{color:#a9dfff;font-weight:700}
.nav-cta{justify-self:end;display:inline-flex;align-items:center;gap:14px;background:var(--primary);padding:12px 20px;border-radius:999px;font-size:12px;font-weight:800;box-shadow:0 12px 30px rgba(26,84,191,.35);transition:.25s}
.nav-cta:hover{background:var(--cyan);color:var(--ink)}
.menu-toggle{display:none;background:transparent;border:0;width:44px;height:44px;position:relative;cursor:pointer}
.menu-toggle span{position:absolute;width:26px;height:1px;background:#fff;left:9px;top:18px}.menu-toggle span:last-child{top:26px}

.hero{height:100svh;min-height:700px;position:relative;overflow:hidden;isolation:isolate;color:#fff;--hero-scroll:0px;--hero-fade:1;--mx:0px;--my:0px}
.hero-slides,.hero-slide,.hero-shade,.hero-grid{position:absolute;inset:0}
.hero-slides{z-index:-5;background:#07111f}
.hero-slide{background-image:var(--hero-image);background-size:cover;background-position:center;opacity:0;transform:scale(1.08) translate3d(0,var(--hero-scroll),0);transition:opacity 1.4s cubic-bezier(.22,.61,.36,1);will-change:opacity,transform}
.hero-slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,11,25,.82),rgba(3,11,25,.28) 58%,rgba(3,11,25,.46))}
.hero-slide.is-active{opacity:1;animation:heroKenBurns 7.2s cubic-bezier(.22,.61,.36,1) both}
.hero-shade{z-index:-3;background:linear-gradient(180deg,rgba(0,0,0,.38),transparent 25%,transparent 64%,rgba(0,0,0,.45)),linear-gradient(105deg,rgba(26,84,191,.42),transparent 48%)}
.hero-grid{z-index:-2;opacity:.38;background-image:linear-gradient(rgba(255,255,255,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.14) 1px,transparent 1px);background-size:78px 78px;mask-image:linear-gradient(90deg,#000 65%,transparent 92%)}
.hero-content{height:100%;display:flex;flex-direction:column;justify-content:center;padding-top:6vh;opacity:var(--hero-fade);transform:translate3d(0,calc(var(--hero-scroll)*.42),0)}
.hero-kicker{text-transform:uppercase;letter-spacing:.26em;font-size:11px;font-weight:700;color:#cfe3ff;margin:0 0 32px}
.hero-title-row{display:flex;align-items:flex-start;width:max-content;max-width:100%;overflow:visible;padding:.16em .16em .24em .12em;margin:-.16em -.16em -.24em -.12em}
.kinetic-title{margin:-.12em -.06em -.20em;padding:.12em .06em .20em;font:800 clamp(70px,10.7vw,176px)/.82 'Manrope',Arial,sans-serif;letter-spacing:-.085em;display:flex;white-space:nowrap;overflow:visible;text-shadow:0 3px 24px rgba(0,0,0,.18)}
.kinetic-title span{display:inline-block;opacity:0;transform:translate3d(-18px,92%,0) rotate(2deg);clip-path:none;padding:.08em .012em .17em;margin-bottom:-.17em;will-change:transform,opacity}
.hero.title-active .kinetic-title span{animation:heroLetterIn 1.22s cubic-bezier(.16,.84,.28,1) forwards;animation-delay:calc(.18s + var(--i)*.13s)}
.hero-mark{font:600 clamp(15px,1.6vw,25px)/1 'Manrope';margin:1.2vw 0 0 12px;opacity:0;transform:scale(.45) rotate(-55deg)}
.hero.title-active .hero-mark{animation:heroMarkIn .85s cubic-bezier(.18,.89,.26,1.25) 1.48s forwards}
.hero-lower{display:grid;grid-template-columns:minmax(280px,510px) auto;align-items:center;gap:48px;margin-top:52px}
.hero-lower p{margin:0;font-size:clamp(15px,1.15vw,18px);line-height:1.6;color:rgba(255,255,255,.9)}
.line-btn{display:inline-flex;align-items:center;gap:20px;width:max-content;border:2px solid var(--cyan);border-radius:999px;padding:13px 24px;font-size:12px;font-weight:800;transition:.28s}
.line-btn:hover{background:var(--cyan);color:var(--ink)}
.hero-orbit{position:absolute;z-index:4;left:5.2vw;top:38%;width:clamp(85px,9vw,140px);pointer-events:none;transform:translate(calc(-50% + var(--mx,0px)),calc(-50% + var(--my,0px))) scale(.2);opacity:0;animation:orbitIn 1.1s cubic-bezier(.2,.9,.2,1.15) .1s forwards}
.hero-triangle-img{width:100%;height:auto;display:block;object-fit:contain;filter:drop-shadow(0 18px 36px rgba(0,194,255,.35)) drop-shadow(0 0 55px rgba(26,84,191,.45));animation:heroTriangleBob 7s ease-in-out infinite alternate}
@keyframes heroTriangleBob{0%{transform:translate3d(0,0,0) rotate(0deg)}50%{transform:translate3d(0,-16px,0) rotate(3.5deg) scale(1.03)}100%{transform:translate3d(0,8px,0) rotate(-2.5deg) scale(.98)}}
.hero-meta{position:absolute;right:3.4vw;bottom:8vh;padding:20px 24px;background:linear-gradient(135deg,rgba(255,255,255,.12) 0%,rgba(26,84,191,.16) 45%,rgba(7,17,31,.68) 100%);border:1px solid rgba(255,255,255,.28);border-radius:12px;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);box-shadow:0 24px 50px rgba(0,0,0,.42),inset 0 1px 1px rgba(255,255,255,.45),inset 0 -1px 1px rgba(0,0,0,.3),0 0 28px rgba(57,191,244,.18);transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease,border-color .35s ease}
.hero-meta:hover{transform:translateY(-4px);border-color:rgba(57,191,244,.6);box-shadow:0 30px 60px rgba(0,0,0,.5),inset 0 1px 2px rgba(255,255,255,.6),0 0 35px rgba(57,191,244,.35)}
.hero-meta small{display:inline-flex;align-items:center;gap:6px;color:#a9dfff;font-size:10px;text-transform:uppercase;letter-spacing:.14em;margin-bottom:8px;font-weight:700}
.hero-meta small:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--cyan);box-shadow:0 0 10px var(--cyan)}
.hero-meta strong{display:block;font:700 13px/1.32 'Manrope', Arial, sans-serif;letter-spacing:-.01em;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3)}
.scroll-cue{position:absolute;right:1.5vw;bottom:4vh;display:flex;gap:9px;align-items:center;transform:rotate(90deg);transform-origin:right center;font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:rgba(255,255,255,.7)}
.scroll-cue i{display:block;width:35px;height:1px;background:rgba(255,255,255,.55)}

.intro{background:var(--paper);overflow:hidden}
.intro-grid{min-height:720px;display:grid;grid-template-columns:minmax(390px,42%) 1fr}
.intro-floating-prism{position:absolute;top:-45px;right:-45px;width:clamp(170px,19vw,270px);pointer-events:none;z-index:0;opacity:.88;transform:rotate(18deg);will-change:transform;animation:introPrismFloat 8.5s ease-in-out infinite alternate}
.intro-floating-prism img{width:100%;height:auto;display:block;object-fit:contain;filter:drop-shadow(0 20px 40px rgba(0,194,255,.32)) drop-shadow(0 0 55px rgba(43,57,144,.4))}
@keyframes introPrismFloat{0%{transform:translate3d(0,0,0) rotate(18deg) scale(1)}50%{transform:translate3d(-14px,16px,0) rotate(26deg) scale(1.04)}100%{transform:translate3d(-8px,-12px,0) rotate(14deg) scale(.96)}}
.intro-blue-panel{position:relative;overflow:hidden;background:linear-gradient(145deg,var(--primary),var(--secondary));color:#fff;padding:92px clamp(42px,6vw,110px);display:flex;flex-direction:column;justify-content:space-between}
.intro-blue-panel:after{content:"";position:absolute;right:-170px;bottom:-90px;width:540px;height:390px;background:url('assets/brand-pattern.png') center/contain no-repeat;opacity:.13;transform:rotate(-7deg)}
.intro-list{list-style:none;margin:0;padding:0;position:relative;z-index:1}
.intro-list li{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:center;padding:25px 0;border-bottom:1px solid rgba(255,255,255,.23)}
.intro-list span{font-size:10px;opacity:.6}.intro-list b{font:600 clamp(18px,1.7vw,27px)/1.08 'Manrope', Arial, sans-serif}
.panel-statement{position:relative;z-index:1;font:600 clamp(30px,3vw,47px)/1.02 'Manrope', Arial, sans-serif;letter-spacing:-.05em;max-width:550px;margin:70px 0 0}
.intro-copy{display:flex;flex-direction:column;justify-content:center;padding:90px clamp(50px,9vw,160px)}
.text-link{display:inline-flex;align-items:center;gap:18px;width:max-content;margin-top:22px;padding-bottom:8px;border-bottom:1px solid #8792a6;font-weight:700}

.vision{padding-bottom:120px;position:relative;isolation:isolate;overflow:hidden}
.vision:before{content:"";position:absolute;z-index:0;inset:0;background:url('assets/brand-pattern-transparent.png') 104% 46%/min(84vw,1180px) auto no-repeat;opacity:.105;mix-blend-mode:screen;filter:saturate(.78) contrast(1.06);transform:rotate(-4deg) scale(1.06);mask-image:linear-gradient(90deg,transparent 22%,rgba(0,0,0,.35) 43%,#000 70%);pointer-events:none}
.vision:after{content:"";position:absolute;z-index:0;inset:0;background:radial-gradient(circle at 84% 38%,rgba(57,191,244,.17),transparent 38%),radial-gradient(circle at 64% 78%,rgba(26,84,191,.18),transparent 46%),linear-gradient(125deg,transparent 34%,rgba(43,57,144,.12) 70%,rgba(57,191,244,.08));pointer-events:none}
.vision>*{position:relative;z-index:1}
.vision-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.vision-card{min-height:345px;border:1px solid rgba(255,255,255,.15);padding:46px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,rgba(255,255,255,.06),transparent);transition:.25s}
.vision-card:hover{border-color:var(--cyan);background:rgba(26,84,191,.18)}
.vision-card span{font-size:11px;text-transform:uppercase;letter-spacing:.19em;color:#91a9cf}.vision-card h3{font:600 clamp(28px,3vw,44px)/1 'Manrope', Arial, sans-serif;letter-spacing:-.04em;margin:auto 0 25px}.vision-card p{color:#aab5c7;line-height:1.7;max-width:510px;margin:0}
@media (pointer:fine){.vision-card{cursor:none}}

.services{padding-bottom:120px}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{position:relative;min-height:430px;overflow:hidden;border-radius:6px;background-color:#07111f;background-image:linear-gradient(180deg,rgba(7,17,31,0.05) 0%,rgba(7,17,31,0.28) 45%,rgba(3,10,21,0.92) 100%),var(--card-image);background-size:cover;background-position:center;isolation:isolate;transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s ease,border-color .35s ease;border:1px solid rgba(255,255,255,.08)}
.service-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(26,84,191,.18),transparent 65%);opacity:0;z-index:0;transition:opacity .35s ease;pointer-events:none}
.service-card:hover{transform:translateY(-7px) scale(1.015);box-shadow:0 25px 60px rgba(7,17,31,.28);border-color:rgba(57,191,244,.35)}
.service-card:hover:before{opacity:1}
.service-card>div{position:absolute;inset:auto 28px 28px;color:#fff;z-index:1}
.service-card span{font-size:10px;letter-spacing:.18em;color:#a9dfff;font-weight:700}
.service-card h3{font:600 25px/1.1 'Manrope', Arial, sans-serif;letter-spacing:-.03em;margin:10px 0}
.service-card p{margin:0;color:rgba(255,255,255,.82);line-height:1.5;font-size:14px}
.service-card.service-large{grid-column:span 2}

.automation{overflow:hidden;padding:100px 0}
.automation-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:80px}
.automation-art{position:relative;display:flex;align-items:center;justify-content:center;background:none;border:none;box-shadow:none;padding:0}
.automation-art img{width:100%;max-width:480px;height:auto;object-fit:contain;filter:none;background:none;border:none;box-shadow:none;position:relative;z-index:2;opacity:1;display:block;animation:automationMarkFloat 7s ease-in-out infinite alternate}
@keyframes automationMarkFloat{0%{transform:translate3d(0,0,0) rotate(0deg)}50%{transform:translate3d(0,-16px,0) rotate(1.5deg)}100%{transform:translate3d(0,6px,0) rotate(-1deg)}}
.automation .automation-copy>*{will-change:transform,opacity;transition:transform 1.12s cubic-bezier(.22,1,.36,1),opacity .88s ease}
.automation:not(.automation-active) .automation-copy>*{opacity:0;transform:translate3d(0,48px,0)}
.automation.automation-active .automation-copy>*{opacity:1;transform:translate3d(0,0,0)}
.automation.automation-active .automation-copy>*:nth-child(1){transition-delay:.12s}
.automation.automation-active .automation-copy>*:nth-child(2){transition-delay:.24s}
.automation.automation-active .automation-copy>*:nth-child(3){transition-delay:.38s}
.automation.automation-active .automation-copy>*:nth-child(4){transition-delay:.52s}
.btn{display:inline-flex;align-items:center;gap:16px;border:0;border-radius:999px;padding:16px 24px;font-weight:800;margin-top:22px;transition:.25s}.btn-white{background:#fff;color:var(--secondary)}.btn-white:hover{background:var(--cyan);color:var(--ink)}

.industries{position:relative;overflow:hidden;min-height:820px}
.industry-visual{position:absolute;inset:0 0 0 46%;background:linear-gradient(90deg,var(--warm) 0%,transparent 20%),url('assets/industry-banner.webp') center/cover no-repeat;opacity:.92}
.industries-inner{position:relative;z-index:2;display:grid;grid-template-columns:.78fr 1.22fr;gap:120px;padding-top:120px;padding-bottom:120px}
.industry-copy{padding-top:20px}
.industry-list{background:rgba(255,255,255,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);padding:16px 36px;box-shadow:0 30px 80px rgba(7,17,31,.12);border-radius:10px;border:1px solid rgba(255,255,255,.7)}
.industry-item{display:grid;grid-template-columns:48px 1fr auto;align-items:center;border-bottom:1px solid var(--line);padding:22px 12px;cursor:pointer;border-radius:6px;transition:transform .32s cubic-bezier(.16,1,.3,1),background .32s ease,box-shadow .32s ease}
.industry-item:last-child{border-bottom:0}
.industry-item:hover{transform:translateX(14px) scale(1.025);background:linear-gradient(90deg,rgba(26,84,191,.08) 0%,rgba(57,191,244,.05) 100%);box-shadow:0 8px 24px rgba(26,84,191,.09)}
.industry-item span{font-size:11px;font-weight:700;color:#728099;letter-spacing:.1em;transition:color .25s ease,transform .25s ease;display:inline-block}
.industry-item:hover span{color:var(--primary);transform:scale(1.22);text-shadow:0 0 10px rgba(26,84,191,.25)}
.industry-item b{font:600 clamp(19px,2vw,28px)/1.1 'Manrope', Arial, sans-serif;color:var(--ink);transition:color .25s ease,transform .25s ease}
.industry-item:hover b{color:var(--primary);transform:translateX(5px)}
.industry-arrow{font-style:normal;font-weight:700;font-size:18px;color:var(--primary);opacity:0;transform:translateX(-10px);transition:opacity .28s ease,transform .28s cubic-bezier(.16,1,.3,1)}
.industry-item:hover .industry-arrow{opacity:1;transform:translateX(0)}

.after-sales{padding:120px 0}
.after-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}
.after-photo{height:610px;background:linear-gradient(150deg,transparent,rgba(26,84,191,.32)),url('assets/service-maintenance.webp') center/cover no-repeat;position:relative}
.after-photo:after{content:"24 / 7";position:absolute;right:-28px;bottom:46px;background:var(--primary);color:#fff;padding:20px;font:700 18px 'Manrope', Arial, sans-serif;letter-spacing:.12em}

.partners{position:relative;padding-bottom:120px;overflow:hidden}
.partners-floating-shape{position:absolute;right:-40px;bottom:25px;width:clamp(270px,29vw,430px);pointer-events:none;z-index:0;opacity:.82;transform:rotate(-28deg);will-change:transform;animation:luxuryFloatPulse 8s ease-in-out infinite alternate}
.partners-floating-shape img{width:100%;height:auto;display:block;object-fit:contain;filter:drop-shadow(0 25px 60px rgba(0,194,255,.28)) drop-shadow(0 0 80px rgba(26,84,191,.45))}
@keyframes luxuryFloatPulse{0%{transform:translate3d(0,0,0) rotate(-28deg) scale(1)}50%{transform:translate3d(-18px,-25px,0) rotate(-20deg) scale(1.05)}100%{transform:translate3d(14px,-45px,0) rotate(-34deg) scale(.96)}}
.logo-marquee{position:relative;z-index:2;border-block:1px solid rgba(255,255,255,.13);overflow:hidden;margin-bottom:70px}
.logo-track{display:flex;width:max-content;animation:marquee 38s linear infinite}
.logo-track:hover{animation-play-state:paused}
.logo-track img{width:250px;height:135px;object-fit:contain;padding:36px 34px;filter:brightness(0) invert(1);opacity:.78;border-right:1px solid rgba(255,255,255,.12);transition:filter .42s ease,opacity .42s ease,transform .42s cubic-bezier(.22,1,.36,1),background .42s ease}
.logo-track img:hover{filter:none;opacity:1;transform:scale(1.06);background:rgba(255,255,255,.96)}
.partner-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.partner-card{position:relative;border:1px solid rgba(255,255,255,.13);padding:34px;min-height:310px;display:flex;flex-direction:column;transition:.25s;background:rgba(7,17,31,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.partner-card:hover{border-color:var(--cyan);transform:translateY(-3px);background:rgba(12,25,44,.85)}
.partner-card>span{text-transform:uppercase;letter-spacing:.16em;color:#8fa6cc;font-size:10px}
.partner-card h3{font:600 29px 'Manrope', Arial, sans-serif;letter-spacing:-.035em;margin:32px 0 15px}
.partner-card p{color:#9eabba;line-height:1.65;font-size:14px;margin:0}
.partner-card a{margin-top:auto;padding-top:24px;color:#fff;font-size:13px;font-weight:700}

.contact{position:relative;overflow:hidden;padding:70px 0}
.contact-image{position:absolute;inset:0 0 0 54%;background:linear-gradient(90deg,var(--paper) 0%,transparent 30%),url('assets/contact-building.webp') center/cover no-repeat;opacity:1}
.contact-bg-prism{position:absolute;left:2vw;bottom:35px;width:clamp(135px,14vw,200px);pointer-events:none;z-index:0;opacity:.92;transform:rotate(52deg);will-change:transform;animation:contactPrismFloat 6.8s ease-in-out infinite alternate}
.contact-bg-prism-img{width:100%;height:auto;display:block;object-fit:contain;filter:drop-shadow(0 14px 28px rgba(0,0,0,.18)) drop-shadow(0 0 35px rgba(0,194,255,.22))}
@keyframes contactPrismFloat{0%{transform:translate3d(0,0,0) rotate(52deg) scale(1)}50%{transform:translate3d(6px,-10px,0) rotate(60deg) scale(1.03)}100%{transform:translate3d(-5px,-5px,0) rotate(46deg) scale(.97)}}
.contact-grid{position:relative;display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center;z-index:1}
.contact-copy{display:flex;flex-direction:column;justify-content:center}
.contact-copy .display{margin:12px 0 18px}
.contact-copy .lead{margin:0 0 4px;line-height:1.5}
.contact-details{background:rgba(255,255,255,.94);padding:32px 36px;box-shadow:0 20px 50px rgba(7,17,31,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:6px}
.contact-details>a{display:block;padding:0 0 16px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.contact-details small{display:block;text-transform:uppercase;letter-spacing:.16em;color:#7b8799;font-size:10px;margin-bottom:6px}
.contact-details b{font:600 17px/1.45 'Manrope', Arial, sans-serif}
.profile-download{display:inline-flex;align-items:center;gap:14px;margin-top:20px;padding:13px 22px;border-radius:999px;background:var(--ink);color:#fff;font-size:13px;font-weight:700;box-shadow:0 10px 22px rgba(7,17,31,.16);transition:background .28s ease,transform .28s ease;width:max-content}
.profile-download:hover{background:var(--primary);transform:translateY(-3px)}
.profile-download svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.social-links{display:flex;flex-wrap:wrap;gap:10px}
.social-links a{width:42px;height:42px;display:grid;place-items:center;background:var(--primary);color:#fff;border-radius:50%;box-shadow:0 8px 20px rgba(26,84,191,.2);transition:transform .28s cubic-bezier(.22,1,.36,1),background .28s ease,box-shadow .28s ease}
.social-links a:hover{background:var(--secondary);transform:translateY(-3px);box-shadow:0 12px 26px rgba(43,57,144,.28)}
.social-links svg{width:18px;height:18px;fill:currentColor;display:block}
.footer{background:#040a13;color:#8490a2;padding:34px 0}.footer-row{display:grid;grid-template-columns:200px 1fr auto;align-items:center;gap:40px;font-size:12px}.footer-row img{width:155px;height:auto;display:block;opacity:.92}.footer-row p:last-child{text-align:right}
.whatsapp-float{position:fixed;z-index:60;right:24px;bottom:24px;width:56px;height:56px;display:grid;place-items:center;border-radius:50%;background:#25d366;color:#fff;box-shadow:0 14px 34px rgba(20,92,52,.32);transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease,background .28s ease}.whatsapp-float:hover{background:#1fbd5a;transform:translateY(-4px) scale(1.04);box-shadow:0 18px 42px rgba(20,92,52,.42)}.whatsapp-float svg{width:29px;height:29px;fill:currentColor;display:block}


/* ========================================================
   HIGH-END MASKED & SLIDE-IN SCROLL ANIMATIONS
   ======================================================== */

.line-mask {
  display: block;
  overflow: hidden;
  position: relative;
  padding-bottom: 2px;
}

.line-mask > * {
  display: block;
}

.heading-masked {
  overflow: visible;
}

/* Slide from Left with Mask */
.reveal-left,
.reveal-line-left {
  opacity: 0;
  transform: translate3d(-70px, 0, 0);
  clip-path: inset(0 100% 0 0);
  will-change: transform, opacity, clip-path;
  transition: transform 1.1s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
              clip-path 1.1s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Slide from Right with Mask */
.reveal-right,
.reveal-line-right {
  opacity: 0;
  transform: translate3d(70px, 0, 0);
  clip-path: inset(0 0 0 100%);
  will-change: transform, opacity, clip-path;
  transition: transform 1.1s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
              clip-path 1.1s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Slide Up with Mask */
.reveal-up,
.reveal-line-up {
  opacity: 0;
  transform: translate3d(0, 100%, 0);
  will-change: transform, opacity;
  transition: transform 1.05s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Enhanced Base Reveal */
.reveal {
  opacity: 0;
  transform: translate3d(0, 42px, 0);
  will-change: transform, opacity;
  transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Visible states */
.reveal.visible,
.reveal-left.visible,
.reveal-right.visible,
.reveal-up.visible,
.reveal-line-left.visible,
.reveal-line-right.visible,
.reveal-line-up.visible {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
  clip-path: inset(0 0 0 0) !important;
}

/* Specific component enhancements */
.services-grid .service-card {
  opacity: 0;
  transform: translate3d(0, 50px, 0) scale(0.97);
  transition: transform 1.05s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 0.35s ease;
}
.services-grid .service-card.visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.partner-grid .partner-card {
  opacity: 0;
  transform: translate3d(0, 50px, 0) scale(0.97);
  transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.25s ease,
              background 0.25s ease,
              transform 0.25s ease;
}
.partner-grid .partner-card.visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.industry-list > div {
  opacity: 0;
  transform: translate3d(-40px, 0, 0);
  transition: transform 0.9s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.75s cubic-bezier(0.16, 1, 0.3, 1);
}
.industry-list > div.visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.vision-card {
  opacity: 0;
  transform: translate3d(0, 50px, 0);
  transition: transform 1.1s cubic-bezier(0.16, 1, 0.3, 1),
              opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
              border-color 0.3s ease,
              background 0.3s ease;
}
.vision-card.visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

/* Stagger transition delays */
[data-delay="50"] { transition-delay: 50ms !important; }
[data-delay="60"] { transition-delay: 60ms !important; }
[data-delay="75"] { transition-delay: 75ms !important; }
[data-delay="85"] { transition-delay: 85ms !important; }
[data-delay="90"] { transition-delay: 90ms !important; }
[data-delay="100"] { transition-delay: 100ms !important; }
[data-delay="110"] { transition-delay: 110ms !important; }
[data-delay="120"] { transition-delay: 120ms !important; }
[data-delay="150"] { transition-delay: 150ms !important; }
[data-delay="170"] { transition-delay: 170ms !important; }
[data-delay="180"] { transition-delay: 180ms !important; }
[data-delay="200"] { transition-delay: 200ms !important; }
[data-delay="220"] { transition-delay: 220ms !important; }
[data-delay="225"] { transition-delay: 225ms !important; }
[data-delay="240"] { transition-delay: 240ms !important; }
[data-delay="255"] { transition-delay: 255ms !important; }
[data-delay="270"] { transition-delay: 270ms !important; }
[data-delay="300"] { transition-delay: 300ms !important; }
[data-delay="340"] { transition-delay: 340ms !important; }
[data-delay="360"] { transition-delay: 360ms !important; }
[data-delay="375"] { transition-delay: 375ms !important; }
[data-delay="425"] { transition-delay: 425ms !important; }
[data-delay="450"] { transition-delay: 450ms !important; }
[data-delay="510"] { transition-delay: 510ms !important; }
[data-delay="595"] { transition-delay: 595ms !important; }

@keyframes heroLetterIn{0%{opacity:0;transform:translate3d(-18px,92%,0) rotate(2deg)}55%{opacity:1}100%{opacity:1;transform:translate3d(0,0,0) rotate(0)}}
@keyframes heroMarkIn{to{opacity:1;transform:scale(1) rotate(0)}}
@keyframes heroKenBurns{0%{transform:scale(1.08) translate3d(0,var(--hero-scroll),0)}100%{transform:scale(1.015) translate3d(0,var(--hero-scroll),0)}}
@keyframes orbitIn{0%{opacity:0;transform:translate(calc(-50% + var(--mx,0px)),calc(-50% + var(--my,0px))) rotate(0deg) scale(.2)}65%{opacity:1;transform:translate(calc(-50% + var(--mx,0px)),calc(-50% + var(--my,0px))) rotate(-12deg) scale(1.08)}100%{opacity:1;transform:translate(calc(-50% + var(--mx,0px)),calc(-50% + var(--my,0px))) rotate(-8deg) scale(1)}}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ========================================================
   RESPONSIVE MEDIA QUERIES (TABLET & MOBILE)
   ======================================================== */

@media (max-width: 1050px) {
  .site-header {
    grid-template-columns: 1fr auto auto;
    padding: 0 32px;
  }
  .desktop-nav {
    display: none;
  }
  .menu-toggle {
    display: block;
  }
  .wrap {
    width: min(100% - 56px, 920px);
  }
  .split-heading {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .hero-title-row {
    max-width: 100%;
    overflow: hidden;
  }
  .kinetic-title {
    font-size: clamp(64px, 12vw, 118px);
  }
  .intro-grid {
    grid-template-columns: 1fr 1.2fr;
  }
  .intro-blue-panel {
    padding: 70px 40px;
  }
  .intro-copy {
    padding: 70px 48px;
  }
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .service-card.service-large {
    grid-column: span 1;
  }
  .automation-grid {
    gap: 40px;
  }
  .automation-art {
    height: 440px;
  }
  .industries-inner {
    grid-template-columns: 1fr 1fr;
    gap: 48px;
  }
  .industry-visual {
    inset: 0 0 0 38%;
  }
  .after-grid {
    gap: 48px;
  }
  .partner-grid {
    grid-template-columns: 1fr 1fr;
  }
  .contact-grid {
    gap: 48px;
  }
}

@media (max-width: 767px) {
  html, body {
    overflow-x: hidden !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  main,
  header,
  footer,
  section,
  .intro-grid,
  .split-heading,
  .vision-grid,
  .services-grid,
  .automation-grid,
  .industries-inner,
  .after-grid,
  .partner-grid,
  .contact-grid {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .wrap > *,
  .intro-grid > *,
  .split-heading > *,
  .vision-grid > *,
  .services-grid > *,
  .automation-grid > *,
  .industries-inner > *,
  .after-grid > *,
  .partner-grid > *,
  .contact-grid > * {
    min-width: 0 !important;
  }

  h1, h2, h3, p, b, a,
  .display,
  .panel-statement,
  .section-note,
  .lead,
  .muted {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
  }
  
  .wrap {
    width: calc(100% - 32px) !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    box-sizing: border-box !important;
  }

  /* Typography & Titles on Mobile */
  .display {
    font-size: clamp(27px, 7.6vw, 38px) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.035em !important;
    margin: 12px 0 20px !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }
  .word-reveal-title {
    line-height: 1.12 !important;
    overflow: visible !important;
  }
  .word-line {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .word-line > span,
  .slide-left,
  .slide-right {
    display: inline !important;
    width: auto !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }
  .word-line > span {
    opacity: 0;
    transform: translate3d(0, 18px, 0) !important;
    transition: transform 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.65s ease !important;
  }
  .word-reveal-title.words-visible .word-line > span {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
  }

  .reveal-left, .reveal-right, .reveal-line-left, .reveal-line-right {
    transform: translate3d(0, 24px, 0) !important;
    clip-path: none !important;
  }

  .section-heading {
    padding-top: 64px !important;
    padding-bottom: 34px !important;
  }
  .eyebrow {
    font-size: 11px !important;
    letter-spacing: 0.18em !important;
    margin-bottom: 8px !important;
  }
  .lead {
    font-size: 15px !important;
    line-height: 1.55 !important;
  }
  .section-note {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }

  /* Header & Navigation on Mobile */
  .site-header {
    height: 68px !important;
    padding: 0 16px !important;
    grid-template-columns: 1fr auto !important;
  }
  .brand {
    width: 130px !important;
  }
  .nav-cta {
    display: none !important;
  }
  .desktop-nav {
    position: fixed !important;
    top: 68px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    background: #07111f !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 0 !important;
    font-size: 20px !important;
    padding: 18px 24px 28px !important;
    border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 24px 50px rgba(0, 0, 0, 0.5) !important;
    z-index: 90 !important;
  }
  .desktop-nav.open {
    display: flex !important;
  }
  .desktop-nav a {
    width: 100% !important;
    padding: 13px 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  }
  .desktop-nav a:last-child {
    border-bottom: 0 !important;
  }

  /* Hero Section on Mobile */
  .hero {
    min-height: 640px !important;
    max-width: 100% !important;
  }
  .hero-content {
    padding-top: 0 !important;
    max-width: 100% !important;
  }
  .hero-kicker {
    margin-bottom: 16px !important;
    font-size: 10px !important;
    letter-spacing: 0.2em !important;
  }
  .hero-title-row {
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .kinetic-title {
    font-size: clamp(40px, 12.8vw, 66px) !important;
    letter-spacing: -0.05em !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  .hero-mark {
    margin-top: 2px !important;
    font-size: 13px !important;
  }
  .hero-lower {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    margin-top: 28px !important;
  }
  .hero-lower p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }
  .line-btn {
    padding: 11px 22px !important;
    font-size: 11px !important;
    max-width: 100% !important;
    white-space: normal !important;
  }
  .hero-orbit {
    left: 7vw !important;
    top: 30% !important;
    width: clamp(46px, 11vw, 60px) !important;
  }
  .hero-meta, .scroll-cue {
    display: none !important;
  }

  /* Intro Section on Mobile */
  .intro-grid {
    grid-template-columns: 1fr !important;
  }
  .intro-blue-panel {
    min-height: 460px !important;
    padding: 48px 20px !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
  .intro-floating-prism {
    top: -15px !important;
    right: -15px !important;
    width: clamp(110px, 28vw, 150px) !important;
  }
  .intro-blue-panel:after {
    right: -50px !important;
    bottom: -30px !important;
    width: 260px !important;
    height: 190px !important;
  }
  .intro-list li {
    padding: 16px 0 !important;
    grid-template-columns: 32px 1fr !important;
    gap: 10px !important;
  }
  .intro-list b {
    font-size: 18px !important;
  }
  .panel-statement {
    font-size: clamp(22px, 5.8vw, 30px) !important;
    margin-top: 40px !important;
  }
  .intro-copy {
    padding: 55px 20px !important;
    max-width: 100% !important;
  }

  /* Vision Section on Mobile */
  .vision {
    padding-bottom: 60px !important;
    max-width: 100% !important;
  }
  .vision-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .vision-card {
    min-height: 240px !important;
    padding: 24px 20px !important;
  }
  .vision-card h3 {
    font-size: clamp(22px, 5.5vw, 28px) !important;
    margin: 20px 0 12px !important;
  }
  .vision-card p {
    font-size: 14px !important;
    line-height: 1.55 !important;
  }

  /* Services Section on Mobile */
  .services {
    padding-bottom: 60px !important;
    max-width: 100% !important;
  }
  .services-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }
  .service-card {
    min-height: 340px !important;
  }
  .service-card > div {
    inset: auto 20px 20px !important;
  }
  .service-card h3 {
    font-size: 22px !important;
    margin: 8px 0 !important;
  }
  .service-card p {
    font-size: 13px !important;
  }

  /* Automation Section on Mobile */
  .automation {
    padding: 60px 0 !important;
    max-width: 100% !important;
  }
  .automation-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .automation-art {
    height: auto !important;
    max-height: 290px !important;
    order: 2 !important;
  }
  .automation-art img {
    max-width: 260px !important;
    margin: 0 auto !important;
  }
  .automation-copy {
    order: 1 !important;
  }
  .btn {
    padding: 13px 22px !important;
    font-size: 12px !important;
    max-width: 100% !important;
    white-space: normal !important;
  }

  /* Industries Section on Mobile */
  .industries {
    min-height: auto !important;
    max-width: 100% !important;
  }
  .industry-visual {
    inset: 0 !important;
    opacity: 0.16 !important;
  }
  .industries-inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 60px 0 !important;
  }
  .industry-copy {
    padding-top: 0 !important;
  }
  .industry-list {
    padding: 8px 16px !important;
  }
  .industry-item {
    padding: 16px 6px !important;
    grid-template-columns: 36px 1fr auto !important;
  }
  .industry-item b {
    font-size: clamp(16px, 4.4vw, 20px) !important;
    min-width: 0 !important;
    overflow-wrap: break-word !important;
  }

  /* After-Sales Section on Mobile */
  .after-sales {
    padding: 60px 0 !important;
    max-width: 100% !important;
  }
  .after-grid {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }
  .after-photo {
    height: 320px !important;
  }
  .after-photo:after {
    right: 0 !important;
    bottom: 16px !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
  }

  /* Partners Section on Mobile */
  .partners {
    padding-bottom: 60px !important;
    max-width: 100% !important;
  }
  .partners-floating-shape {
    right: -15px !important;
    bottom: 10px !important;
    width: clamp(140px, 40vw, 210px) !important;
  }
  .logo-marquee {
    margin-bottom: 36px !important;
  }
  .logo-track img {
    width: 160px !important;
    height: 90px !important;
    padding: 20px 16px !important;
  }
  .partner-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .partner-card {
    min-height: auto !important;
    padding: 24px 20px !important;
  }
  .partner-card h3 {
    font-size: 24px !important;
    margin: 20px 0 10px !important;
  }

  /* Contact Section on Mobile */
  .contact {
    padding: 50px 0 !important;
    max-width: 100% !important;
  }
  .contact-bg-prism {
    left: -10px !important;
    bottom: 10px !important;
    width: 85px !important;
  }
  .contact-image {
    inset: 48% 0 0 !important;
    opacity: 0.12 !important;
  }
  .contact-grid {
    grid-template-columns: 1fr !important;
    gap: 26px !important;
  }
  .contact-details {
    padding: 22px 16px !important;
  }
  .contact-details a {
    word-break: break-word !important;
  }
  .contact-details b {
    font-size: 15px !important;
    line-height: 1.4 !important;
  }
  .profile-download {
    width: 100% !important;
    justify-content: center !important;
    padding: 13px 18px !important;
    font-size: 12px !important;
  }

  /* Footer on Mobile */
  .footer {
    padding: 28px 0 !important;
    max-width: 100% !important;
  }
  .footer-row {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    text-align: center !important;
  }
  .footer-row img {
    width: 130px !important;
    margin: 0 auto !important;
  }
  .footer-row p {
    margin: 0 !important;
    text-align: center !important;
  }
  .footer-row p:last-child {
    text-align: center !important;
  }

  /* WhatsApp & Cursor on Mobile */
  .whatsapp-float {
    right: 16px !important;
    bottom: 16px !important;
    width: 48px !important;
    height: 48px !important;
  }
  .whatsapp-float svg {
    width: 25px !important;
    height: 25px !important;
  }
  .cursor-dot, .cursor-ring {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  .reveal {
    opacity: 1;
    transform: none;
  }
}

h1, h2, h3, h4, h5, h6, .display, .kinetic-title, .brand, .btn, .nav-cta, .panel-statement {
  font-family: 'ClashDisplay-Variable', 'ClashDisplay-Bold', 'Manrope', sans-serif;
}
