*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#0a0a0f;--bg2:#111118;--text:#e8e6e3;--dim:#7a7880;--acc:#c8ff00;--acc2:#00e5ff;--brd:rgba(255,255,255,0.08)}
html{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--acc) var(--bg);-webkit-text-size-adjust:100%;overflow-x:hidden}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:var(--acc);border-radius:4px}
body{font-family:'Outfit',sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}
body::before{content:'';position:fixed;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0}
img{display:block;max-width:100%}
a{text-decoration:none}
/* PAGE WRAP — prevents horizontal overflow on all devices */
.page-wrap{overflow-x:hidden;width:100%;position:relative}
/* PARTICLES CANVAS */
#particles{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;will-change:auto}
/* SCROLL PROGRESS BAR */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0%;background:linear-gradient(90deg,var(--acc),var(--acc2));z-index:10001;will-change:width;transition:width .1s linear;box-shadow:0 0 10px rgba(200,255,0,.4)}
/* CONTAINER */
.wrap{max-width:1440px;margin:0 auto;width:100%}
section,footer{position:relative}

/* CURSOR */
.cdot,.cring{position:fixed;pointer-events:none;z-index:10000;border-radius:50%;mix-blend-mode:difference;will-change:transform}
.cdot{width:8px;height:8px;background:var(--acc)}
.cring{width:40px;height:40px;border:1.5px solid var(--acc);transition:width .3s,height .3s}
.cring.h{width:60px;height:60px;border-color:var(--acc2)}

/* PRELOADER */
.preloader{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:20000;overflow:hidden}
.pre-stage{display:grid;place-items:center;width:100%;height:100%;animation:preShake .4s .8s ease-out}
.pre-stage>*{grid-area:1/1}
/* Scope */
.pre-scope{animation:scopeIn .7s cubic-bezier(.16,1,.3,1) forwards,scopeOut .15s .82s ease-out forwards}
.pre-scope svg{display:block}
.scope-ring,.scope-line{stroke:var(--acc);opacity:0}
.scope-inner{stroke:var(--acc);opacity:0;animation:scopeFade .3s .15s ease-out forwards}
.scope-tick{stroke:var(--acc);opacity:0;animation:scopeFade .2s .5s ease-out forwards}
.scope-dot{fill:var(--acc);opacity:0;animation:scopeDotIn .3s .5s ease-out forwards}
.scope-ring{stroke-dasharray:377;stroke-dashoffset:377;animation:scopeDraw .6s .1s ease-out forwards}
.scope-line{stroke-dasharray:50;stroke-dashoffset:50;animation:scopeLineDraw .3s .35s ease-out forwards}
/* Flash */
.pre-flash{width:min(300px,80vw);height:min(300px,80vw);border-radius:50%;background:radial-gradient(circle,rgba(200,255,0,.9) 0%,rgba(200,255,0,.3) 40%,transparent 70%);opacity:0;pointer-events:none;animation:muzzleFlash .35s .8s ease-out forwards}
/* Shockwave */
.pre-ring{width:min(200px,60vw);height:min(200px,60vw);border:2px solid var(--acc);border-radius:50%;opacity:0;transform:scale(.05);animation:shockwave .6s .8s ease-out forwards}
/* Sparks */
.pre-sparks{width:0;height:0;position:relative}
.pre-sparks i{position:absolute;display:block;background:var(--acc);border-radius:50%;opacity:0;box-shadow:0 0 6px rgba(200,255,0,.6);animation:spark .7s ease-out forwards}
.pre-sparks i:nth-child(odd){width:3px;height:3px}
.pre-sparks i:nth-child(even){width:2px;height:8px;border-radius:2px}
.pre-sparks i:nth-child(1){--a:0deg;--d:-110px;animation-delay:.8s;animation-duration:.7s}
.pre-sparks i:nth-child(2){--a:30deg;--d:-95px;animation-delay:.82s;animation-duration:.6s}
.pre-sparks i:nth-child(3){--a:65deg;--d:-120px;animation-delay:.81s;animation-duration:.75s}
.pre-sparks i:nth-child(4){--a:95deg;--d:-100px;animation-delay:.83s;animation-duration:.65s}
.pre-sparks i:nth-child(5){--a:125deg;--d:-115px;animation-delay:.8s;animation-duration:.7s}
.pre-sparks i:nth-child(6){--a:155deg;--d:-88px;animation-delay:.84s;animation-duration:.55s}
.pre-sparks i:nth-child(7){--a:185deg;--d:-105px;animation-delay:.81s;animation-duration:.68s}
.pre-sparks i:nth-child(8){--a:215deg;--d:-125px;animation-delay:.82s;animation-duration:.6s}
.pre-sparks i:nth-child(9){--a:240deg;--d:-95px;animation-delay:.83s;animation-duration:.72s}
.pre-sparks i:nth-child(10){--a:275deg;--d:-110px;animation-delay:.8s;animation-duration:.65s}
.pre-sparks i:nth-child(11){--a:305deg;--d:-100px;animation-delay:.84s;animation-duration:.7s}
.pre-sparks i:nth-child(12){--a:335deg;--d:-118px;animation-delay:.81s;animation-duration:.58s}
/* Brand text */
.pre-brand{display:flex;font-family:'Syne',sans-serif;font-size:clamp(3.5rem,10vw,7rem);font-weight:800;letter-spacing:-.03em;opacity:0;transform:scale(1.4);animation:textImpact .5s 1s cubic-bezier(.16,1,.3,1) forwards}
.pre-one{color:var(--text)}
.pre-shot{color:var(--acc)}
/* Tagline */
.pre-tag{font-family:'JetBrains Mono',monospace;font-size:.75rem;color:var(--dim);text-transform:uppercase;letter-spacing:.3em;opacity:0;margin-top:clamp(70px,12vw,120px);animation:tagIn .4s 1.3s ease-out forwards}
/* Tracer line */
.pre-tracer{position:absolute;top:50%;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 10%,var(--acc) 50%,transparent 90%);transform:translateY(-50%) scaleX(0);opacity:0;animation:tracerShot .35s .78s ease-out forwards}
/* Exit */
.preloader.done{animation:preOut .6s cubic-bezier(.77,0,.175,1) forwards}

/* Preloader keyframes */
@keyframes scopeIn{0%{transform:scale(2.5) rotate(-20deg);opacity:0}100%{transform:scale(1) rotate(0deg);opacity:1}}
@keyframes scopeOut{to{transform:scale(.7);opacity:0}}
@keyframes scopeDraw{to{stroke-dashoffset:0;opacity:.8}}
@keyframes scopeLineDraw{to{stroke-dashoffset:0;opacity:.8}}
@keyframes scopeFade{to{opacity:.3}}
@keyframes scopeDotIn{0%{opacity:0}50%{opacity:1;r:5}100%{opacity:1;r:3}}
@keyframes muzzleFlash{0%{opacity:1;transform:scale(.3)}30%{opacity:.7;transform:scale(1.2)}100%{opacity:0;transform:scale(1.6)}}
@keyframes shockwave{0%{opacity:.5;transform:scale(.05)}100%{opacity:0;transform:scale(1.8)}}
@keyframes spark{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(1)}100%{opacity:0;transform:rotate(var(--a)) translateY(var(--d)) scale(0)}}
@keyframes textImpact{0%{opacity:0;transform:scale(1.5)}35%{opacity:1;transform:scale(.96)}65%{transform:scale(1.02)}100%{opacity:1;transform:scale(1)}}
@keyframes tagIn{0%{opacity:0;transform:translateY(8px)}100%{opacity:1;transform:translateY(0)}}
@keyframes tracerShot{0%{opacity:1;transform:translateY(-50%) scaleX(0)}50%{opacity:.8}100%{opacity:0;transform:translateY(-50%) scaleX(1)}}
@keyframes preShake{0%,100%{transform:translate(0) scale(1)}12%{transform:translate(-5px,3px) scale(1.015)}25%{transform:translate(4px,-3px) scale(1.01)}37%{transform:translate(-3px,-2px) scale(1.005)}50%{transform:translate(2px,2px)}65%{transform:translate(-1px,-1px)}80%{transform:translate(1px,0)}}
@keyframes preOut{to{-webkit-clip-path:inset(0 0 100% 0);clip-path:inset(0 0 100% 0)}}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;padding:20px max(48px, calc((100vw - 1440px)/2 + 48px));display:flex;justify-content:space-between;align-items:center;z-index:1000;transition:background .4s,backdrop-filter .4s;will-change:background}
.logo{font-family:'Syne',sans-serif;font-weight:800;font-size:1.4rem;color:var(--text)}.logo span{color:var(--acc)}
.nav-l{display:flex;gap:32px;list-style:none}
.nav-l a{color:var(--dim);font-size:.85rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;transition:color .3s;position:relative}
.nav-l a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--acc);transition:width .3s}
.nav-l a:hover{color:var(--acc)}.nav-l a:hover::after{width:100%}
.nav-cta{padding:10px 28px;border:1px solid var(--acc);border-radius:0;background:transparent;color:var(--acc);font-family:'Outfit',sans-serif;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;transition:all .3s;-webkit-tap-highlight-color:transparent}
.nav-cta:hover{background:var(--acc);color:var(--bg)}
/* Burger */
.burger{display:none;background:none;border:none;width:32px;height:24px;position:relative;cursor:pointer;padding:0;z-index:1001;-webkit-tap-highlight-color:transparent}
.burger span{display:block;width:100%;height:2px;background:var(--text);position:absolute;left:0;transition:all .3s}
.burger span:nth-child(1){top:0}.burger span:nth-child(2){top:11px}.burger span:nth-child(3){top:22px}
.burger.active span:nth-child(1){top:11px;transform:rotate(45deg);background:var(--acc)}
.burger.active span:nth-child(2){opacity:0}
.burger.active span:nth-child(3){top:11px;transform:rotate(-45deg);background:var(--acc)}
/* Mobile menu */
.mob-menu{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(10,10,15,.97);z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;opacity:0;pointer-events:none;transition:opacity .3s;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}
.mob-menu.open{opacity:1;pointer-events:auto}
.mob-menu ul{list-style:none;text-align:center;display:flex;flex-direction:column;gap:24px}
.mob-menu a{color:var(--text);font-family:'Syne',sans-serif;font-size:1.5rem;font-weight:700;transition:color .3s}
.mob-menu a:hover{color:var(--acc)}
.mob-menu .btn-p{margin-top:8px}

/* HERO */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:0 48px;position:relative;overflow:hidden;gap:40px;max-width:1440px;margin:0 auto}
.hero-left{position:relative;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;border:1px solid var(--brd);border-radius:100px;font-size:.8rem;color:var(--dim);font-weight:500;margin-bottom:32px;opacity:0;transform:translateY(20px)}
.hero-badge .dot{width:6px;height:6px;background:var(--acc);border-radius:50%;animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}
.hero h1{font-family:'Syne',sans-serif;font-size:clamp(3rem,6vw,5.5rem);font-weight:800;line-height:.95;letter-spacing:-.04em;margin-bottom:28px}
.hero h1 .line{display:block;overflow:hidden}
.hero h1 .line span{display:inline-block;transform:translateY(110%)}
.hero h1 .line:nth-child(2) span{color:var(--acc)}
.hero h1 .line:nth-child(3) span{-webkit-text-stroke:1.5px var(--text);color:transparent;paint-order:stroke fill}
.hero-desc{max-width:480px;font-size:1.05rem;line-height:1.7;color:var(--dim);margin-bottom:40px;opacity:0;transform:translateY(30px)}
.hero-actions{display:flex;gap:16px;opacity:0;transform:translateY(30px)}
.btn-p{padding:16px 40px;background:var(--acc);color:var(--bg);border:none;font-family:'Outfit',sans-serif;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;position:relative;overflow:hidden;transition:transform .3s;display:inline-block;-webkit-tap-highlight-color:transparent}
.btn-p:hover{transform:scale(1.05)}
.btn-s{padding:16px 40px;background:transparent;border:1px solid var(--brd);color:var(--text);font-family:'Outfit',sans-serif;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:all .3s;display:inline-block;-webkit-tap-highlight-color:transparent}
.btn-s:hover{border-color:var(--acc);color:var(--acc)}

/* HERO RIGHT */
.hero-right{position:relative;height:560px;opacity:0;transform:translateX(60px)}
.hero-glow{position:absolute;width:400px;height:400px;top:50%;left:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(200,255,0,.12),rgba(0,229,255,.06),transparent 70%);border-radius:50%;filter:blur(40px)}
.mockup{position:absolute;border-radius:12px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5);border:1px solid var(--brd)}
.mockup img{width:100%;height:100%;object-fit:cover}
.mockup-1{width:380px;height:260px;top:40px;right:20px;z-index:3;animation:fl1 6s ease-in-out infinite}
.mockup-2{width:300px;height:210px;top:180px;right:280px;z-index:2;animation:fl2 7s ease-in-out infinite}
.mockup-3{width:260px;height:170px;bottom:40px;right:100px;z-index:4;animation:fl3 5s ease-in-out infinite}
@keyframes fl1{0%,100%{transform:translateY(0) rotate(2deg)}50%{transform:translateY(-15px) rotate(0deg)}}
@keyframes fl2{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-20px) rotate(1deg)}}
@keyframes fl3{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(0deg)}}
.chrome{position:absolute;top:0;left:0;right:0;height:30px;background:rgba(30,30,40,.95);display:flex;align-items:center;padding:0 12px;gap:6px;z-index:5}
.chrome i{width:8px;height:8px;border-radius:50%;display:block}
.chrome i:nth-child(1){background:#ff5f57}.chrome i:nth-child(2){background:#febc2e}.chrome i:nth-child(3){background:#28c840}
.chrome-url{margin-left:10px;background:rgba(255,255,255,.06);border-radius:4px;padding:3px 12px;font-size:.6rem;color:var(--dim);font-family:'JetBrains Mono',monospace}

/* TICKER */
.ticker{position:absolute;bottom:80px;left:-48px;right:-48px;overflow:hidden;border-top:1px solid var(--brd);border-bottom:1px solid var(--brd);padding:14px 0}
.ticker-track{display:flex;gap:48px;animation:tick 25s linear infinite;white-space:nowrap}
.ticker span{font-family:'Syne',sans-serif;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);display:flex;align-items:center;gap:48px;flex-shrink:0}
.ticker span::after{content:'\25C6';color:var(--acc);font-size:.5rem}
@keyframes tick{to{transform:translateX(-50%)}}

/* SCROLL */
.scroll-i{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--dim);font-size:.7rem;letter-spacing:.15em;text-transform:uppercase}
.scroll-i .bar{width:1px;height:40px;background:var(--brd);position:relative;overflow:hidden}
.scroll-i .bar::after{content:'';position:absolute;top:-100%;left:0;width:100%;height:100%;background:var(--acc);animation:sD 1.5s ease-in-out infinite}
@keyframes sD{to{top:100%}}

/* CLIENTS */
.clients{padding:50px 48px;border-top:1px solid var(--brd);border-bottom:1px solid var(--brd);text-align:center;max-width:1440px;margin:0 auto}
.clients-label{font-size:.75rem;color:var(--dim);text-transform:uppercase;letter-spacing:.15em;margin-bottom:28px}
.cl-row{display:flex;justify-content:center;align-items:center;gap:56px;flex-wrap:wrap;opacity:.4;filter:grayscale(1);transition:all .5s}
.cl-row:hover{opacity:.7;filter:grayscale(.5)}
.cl-item{font-family:'Syne',sans-serif;font-weight:700;font-size:1.1rem;color:var(--text);display:flex;align-items:center;gap:8px}
.cl-item svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.5}

/* STATS */
.stats{padding:80px 48px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--brd);border-bottom:1px solid var(--brd);max-width:1440px;margin:0 auto}
.stat{background:var(--bg);padding:44px 28px;text-align:center;position:relative;overflow:hidden;transition:background .5s}
.stat:hover{background:var(--bg2)}
.stat::before{content:'';position:absolute;top:0;left:50%;width:0;height:2px;background:var(--acc);transition:all .5s;transform:translateX(-50%)}
.stat:hover::before{width:100%}
.stat-ic{width:44px;height:44px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;border:1px solid var(--brd);border-radius:12px}
.stat-ic svg{width:22px;height:22px;stroke:var(--acc);fill:none;stroke-width:1.5}
.stat-n{font-family:'Outfit',sans-serif;font-size:clamp(2.5rem,4vw,3.8rem);font-weight:800;color:var(--acc);line-height:1;margin-bottom:10px}
.stat-l{font-size:.82rem;color:var(--dim);text-transform:uppercase;letter-spacing:.1em}

/* ABOUT */
.about{padding:120px 48px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;max-width:1440px;margin:0 auto}
.about-imgs{position:relative;height:480px}
.about-main{width:100%;height:380px;border-radius:12px;overflow:hidden;border:1px solid var(--brd)}
.about-main img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.about-main:hover img{transform:scale(1.05)}
.about-float{position:absolute;bottom:-20px;right:-20px;width:200px;height:150px;border-radius:12px;overflow:hidden;border:3px solid var(--bg);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.about-float img{width:100%;height:100%;object-fit:cover}
.about-badge{position:absolute;top:-16px;left:-16px;background:var(--acc);color:var(--bg);padding:16px 20px;border-radius:12px;font-family:'Outfit',sans-serif;font-weight:800;font-size:1.4rem;text-align:center;line-height:1.1;box-shadow:0 10px 30px rgba(200,255,0,.3)}
.about-badge small{display:block;font-size:.6rem;font-family:'Outfit';font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.stag{font-family:'JetBrains Mono',monospace;font-size:.75rem;color:var(--acc);text-transform:uppercase;letter-spacing:.2em;margin-bottom:14px;display:flex;align-items:center;gap:12px}
.stag::before{content:'';width:30px;height:1px;background:var(--acc)}
.stitle{font-family:'Syne',sans-serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:20px}
.stitle em{color:var(--acc);font-style:italic}
.about-text{font-size:1rem;line-height:1.8;color:var(--dim);margin-bottom:16px}
.about-feats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.af{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg2);border:1px solid var(--brd);border-radius:8px;font-size:.85rem;font-weight:500;transition:border-color .3s}
.af:hover{border-color:var(--acc)}
.af svg{width:18px;height:18px;stroke:var(--acc);fill:none;stroke-width:2;flex-shrink:0}

/* BIG SECTION TITLE */
.btitle{font-family:'Syne',sans-serif;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-bottom:70px;max-width:700px}
.btitle em{font-style:italic;color:var(--acc)}

/* SERVICES */
.services{padding:120px 48px;border-top:1px solid var(--brd);max-width:1440px;margin:0 auto}
.srv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.srv{background:var(--bg2);border:1px solid var(--brd);border-radius:16px;overflow:hidden;transition:all .5s;cursor:pointer}
.srv:hover{border-color:rgba(200,255,0,.2);transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,.3)}
.srv-img{width:100%;height:180px;overflow:hidden;position:relative}
.srv-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s;filter:brightness(.7) saturate(.8)}
.srv:hover .srv-img img{transform:scale(1.1);filter:brightness(.85) saturate(1)}
.srv-img::after{content:'';position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,transparent 50%,var(--bg2))}
.srv-num{position:absolute;top:14px;right:14px;font-family:'Outfit',sans-serif;font-size:.65rem;color:var(--dim);background:rgba(0,0,0,.4);padding:4px 8px;border-radius:4px;z-index:2}
.srv-body{padding:24px 24px 28px;position:relative}
.srv-ic{width:48px;height:48px;border:1px solid var(--brd);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:18px;margin-top:-40px;background:var(--bg2);position:relative;z-index:2;transition:all .4s}
.srv:hover .srv-ic{border-color:var(--acc);background:rgba(200,255,0,.08)}
.srv-ic svg{width:22px;height:22px;stroke:var(--acc);fill:none;stroke-width:1.5}
.srv h3{font-family:'Syne',sans-serif;font-size:1.15rem;font-weight:700;margin-bottom:10px;transition:color .3s}
.srv:hover h3{color:var(--acc)}
.srv p{font-size:.85rem;line-height:1.7;color:var(--dim)}

/* PORTFOLIO */
.works{padding:120px 48px;border-top:1px solid var(--brd);max-width:1440px;margin:0 auto}
/* Filters */
.wf{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:40px}
.wf-btn{padding:8px 22px;border:1px solid var(--brd);border-radius:100px;background:transparent;color:var(--dim);font-family:'Outfit',sans-serif;font-size:.82rem;font-weight:500;cursor:pointer;transition:all .3s;-webkit-tap-highlight-color:transparent}
.wf-btn:hover{border-color:var(--acc);color:var(--text)}
.wf-btn.active{background:var(--acc);border-color:var(--acc);color:var(--bg);font-weight:600}
/* Grid layout */
.w-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:24px;margin-bottom:24px}
.w-grid.rev{grid-template-columns:.7fr 1.3fr}
.w-grid.hidden{display:none}
#workGrid{transition:opacity .3s ease,transform .3s ease}
#workGrid.wf-fade{opacity:0;transform:translateY(10px);pointer-events:none}
.wc{position:relative;overflow:hidden;border-radius:16px;aspect-ratio:16/10;border:1px solid var(--brd);cursor:pointer;transition:opacity .4s ease,transform .4s ease}
.wc.hidden{display:none}
.wc.wc-in{opacity:0;transform:translateY(18px)}
.wc img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .7s}
.wc:hover img{transform:scale(1.06)}
.wc-ov{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(10,10,15,.92) 0%,rgba(10,10,15,.2) 50%,transparent);z-index:1}
.wc-c{position:absolute;bottom:0;left:0;right:0;padding:28px;z-index:2}
.wc-tags{display:flex;gap:8px;margin-bottom:12px}
.wc-tag{padding:4px 12px;border:1px solid rgba(200,255,0,.3);border-radius:4px;font-size:.68rem;font-family:'JetBrains Mono',monospace;color:var(--acc);text-transform:uppercase}
.wc h3{font-family:'Syne',sans-serif;font-size:1.4rem;font-weight:700;margin-bottom:4px}
.wc p{font-size:.83rem;color:var(--dim)}
.wc-link{position:absolute;top:18px;right:18px;width:42px;height:42px;border:1px solid rgba(255,255,255,.15);border-radius:10px;display:flex;align-items:center;justify-content:center;z-index:2;opacity:0;transform:translateY(10px);transition:all .4s;background:rgba(0,0,0,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.wc:hover .wc-link{opacity:1;transform:translateY(0)}
.wc-link svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:2}
/* Portfolio modal */
.pm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:15000;background:rgba(10,10,15,.98);opacity:0;pointer-events:none;transition:opacity .4s;overflow-y:auto;-webkit-overflow-scrolling:touch;will-change:opacity}
.pm-overlay.open{opacity:1;pointer-events:auto}
.pm-close{position:fixed;top:24px;right:24px;width:48px;height:48px;border:1px solid var(--brd);border-radius:50%;background:rgba(17,17,24,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:15002;transition:all .3s}
.pm-close:hover{border-color:var(--acc);background:rgba(200,255,0,.1);transform:rotate(90deg)}
.pm-close svg{width:20px;height:20px;stroke:var(--text);fill:none;stroke-width:2;transition:stroke .3s}
.pm-close:hover svg{stroke:var(--acc)}
.pm-arr{position:fixed;top:50%;width:52px;height:52px;border:1px solid var(--brd);border-radius:50%;background:rgba(17,17,24,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:15002;transition:all .3s;transform:translateY(-50%)}
.pm-arr:hover{border-color:var(--acc);background:rgba(200,255,0,.1);transform:translateY(-50%) scale(1.1)}
.pm-arr svg{width:20px;height:20px;stroke:var(--text);fill:none;stroke-width:2;transition:stroke .3s}
.pm-arr:hover svg{stroke:var(--acc)}
.pm-prev{left:24px}
.pm-next{right:24px}
.pm-content{max-width:1120px;margin:70px auto;padding:0 80px;display:grid;grid-template-columns:1.2fr 1fr;gap:52px;align-items:start;opacity:0;transform:translateY(30px);transition:opacity .5s .15s,transform .5s .15s}
.pm-overlay.open .pm-content{opacity:1;transform:translateY(0)}
/* Slide transition for project switching */
.pm-content.pm-switching{opacity:0;transform:translateY(12px);transition:opacity .2s,transform .2s}
.pm-content.pm-enter{opacity:1;transform:translateY(0);transition:opacity .35s .05s,transform .35s .05s}
/* Left column */
.pm-left{position:relative}
.pm-img{border-radius:16px;overflow:hidden;border:1px solid var(--brd);aspect-ratio:16/10;position:relative}
.pm-img::before{content:'';position:absolute;inset:-1px;border-radius:16px;background:linear-gradient(135deg,rgba(200,255,0,.15),transparent 50%,rgba(0,229,255,.1));z-index:1;opacity:0;transition:opacity .4s;pointer-events:none}
.pm-img:hover::before{opacity:1}
.pm-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.25,.46,.45,.94)}
.pm-img:hover img{transform:scale(1.05)}
/* Glow behind image */
.pm-left::before{content:'';position:absolute;top:20%;left:10%;width:80%;height:60%;background:radial-gradient(ellipse,rgba(200,255,0,.06),transparent 70%);filter:blur(40px);pointer-events:none;z-index:-1}
/* Thumbnail strip */
.pm-thumbs{display:flex;gap:8px;margin-top:14px}
.pm-thumb{width:56px;height:38px;border-radius:8px;overflow:hidden;border:2px solid transparent;cursor:pointer;opacity:.45;transition:all .3s;flex-shrink:0}
.pm-thumb.active{border-color:var(--acc);opacity:1}
.pm-thumb:hover{opacity:.8}
.pm-thumb img{width:100%;height:100%;object-fit:cover}
/* Info column */
.pm-info{padding:10px 0}
.pm-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.pm-counter{font-family:'Outfit',sans-serif;font-size:.7rem;color:var(--dim);letter-spacing:.1em;white-space:nowrap}
.pm-progress{flex:1;height:2px;background:var(--brd);border-radius:2px;overflow:hidden}
.pm-progress-bar{height:100%;background:linear-gradient(90deg,var(--acc),var(--acc2));border-radius:2px;transition:width .4s cubic-bezier(.4,0,.2,1)}
/* Meta (year, status) */
.pm-meta{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.pm-year{font-family:'Outfit',sans-serif;font-size:.72rem;color:var(--dim);letter-spacing:.05em}
.pm-status{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.pm-status::before{content:'';width:6px;height:6px;border-radius:50%}
.pm-status[data-status="live"]{background:rgba(200,255,0,.1);color:var(--acc)}.pm-status[data-status="live"]::before{background:var(--acc);box-shadow:0 0 6px var(--acc)}
.pm-status[data-status="dev"]{background:rgba(0,229,255,.1);color:var(--acc2)}.pm-status[data-status="dev"]::before{background:var(--acc2);box-shadow:0 0 6px var(--acc2)}
.pm-status[data-status="support"]{background:rgba(168,130,255,.1);color:#a882ff}.pm-status[data-status="support"]::before{background:#a882ff;box-shadow:0 0 6px #a882ff}
.pm-tags{display:flex;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.pm-info h2{font-family:'Syne',sans-serif;font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800;letter-spacing:-.02em;margin-bottom:14px;line-height:1.15}
.pm-desc{font-size:.92rem;line-height:1.8;color:var(--dim);margin-bottom:0}
/* Separator */
.pm-sep{height:1px;background:linear-gradient(90deg,var(--acc),var(--brd) 50%,transparent);margin:24px 0;opacity:.5}
/* Stats */
.pm-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px}
.pm-stat{background:var(--bg2);border:1px solid var(--brd);border-radius:12px;padding:18px 12px;text-align:center;position:relative;overflow:hidden;transition:border-color .3s,transform .3s}
.pm-stat::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--acc),var(--acc2));opacity:.7}
.pm-stat:hover{border-color:rgba(200,255,0,.2);transform:translateY(-2px)}
.pm-stat-val{font-family:'Outfit',sans-serif;font-size:1.4rem;font-weight:800;color:var(--acc);line-height:1;margin-bottom:6px}
.pm-stat-label{font-size:.65rem;color:var(--dim);text-transform:uppercase;letter-spacing:.08em}
/* Tech */
.pm-tech{margin-bottom:28px}
.pm-tech-label{font-size:.72rem;color:var(--dim);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;display:block}
.pm-tech-list{display:flex;gap:8px;flex-wrap:wrap}
.pm-tech-item{padding:6px 14px;border:1px solid var(--brd);border-radius:6px;font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--text);background:var(--bg2);transition:all .3s}
.pm-tech-item:hover{border-color:var(--acc);color:var(--acc);background:rgba(200,255,0,.04)}
.pm-cta{display:inline-block}
/* Stagger animation */
.pm-stagger>*{opacity:0;transform:translateY(12px);transition:opacity .35s,transform .35s}
.pm-overlay.open .pm-stagger>*,.pm-content.pm-enter .pm-stagger>*{opacity:1;transform:translateY(0)}
.pm-overlay.open .pm-stagger>*:nth-child(1),.pm-content.pm-enter .pm-stagger>*:nth-child(1){transition-delay:.2s}
.pm-overlay.open .pm-stagger>*:nth-child(2),.pm-content.pm-enter .pm-stagger>*:nth-child(2){transition-delay:.28s}
.pm-overlay.open .pm-stagger>*:nth-child(3),.pm-content.pm-enter .pm-stagger>*:nth-child(3){transition-delay:.36s}
.pm-overlay.open .pm-stagger>*:nth-child(4),.pm-content.pm-enter .pm-stagger>*:nth-child(4){transition-delay:.44s}
.pm-content.pm-switching .pm-stagger>*{opacity:0;transform:translateY(12px);transition:opacity .15s,transform .15s}

/* SHOWCASE */
.showcase{padding:80px 0;border-top:1px solid var(--brd);overflow:hidden}
.showcase-label{text-align:center;font-family:'JetBrains Mono',monospace;font-size:.75rem;color:var(--acc);text-transform:uppercase;letter-spacing:.2em;margin-bottom:36px}
.sc-track{display:flex;gap:24px;animation:scS 40s linear infinite;will-change:transform}
.sc-item{flex-shrink:0;width:350px;height:240px;border-radius:12px;overflow:hidden;border:1px solid var(--brd)}
.sc-item img{width:100%;height:100%;object-fit:cover;filter:brightness(.75);transition:all .5s}
.sc-item:hover img{transform:scale(1.08);filter:brightness(.9)}
@keyframes scS{to{transform:translateX(-50%)}}

/* PROCESS */
.process{padding:120px 48px;border-top:1px solid var(--brd);max-width:1440px;margin:0 auto}
.pr-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:70px}
.pr{background:var(--bg2);border:1px solid var(--brd);border-radius:16px;padding:32px 24px;text-align:center;transition:all .5s}
.pr:hover{border-color:rgba(200,255,0,.2);transform:translateY(-4px)}
.pr-img{width:100%;height:110px;border-radius:10px;overflow:hidden;margin-bottom:20px}
.pr-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.6) saturate(.7);transition:all .5s}
.pr:hover .pr-img img{filter:brightness(.8) saturate(1)}
.pr-n{width:50px;height:50px;border:1px solid var(--acc);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Outfit',sans-serif;font-size:1.1rem;font-weight:800;color:var(--acc);margin:0 auto 16px;background:var(--bg)}
.pr h3{font-family:'Syne',sans-serif;font-size:1.05rem;font-weight:700;margin-bottom:8px}
.pr p{font-size:.82rem;line-height:1.7;color:var(--dim)}

/* TECH */
.tech{padding:80px 48px;border-top:1px solid var(--brd);overflow:hidden;max-width:1440px;margin:0 auto}
.tech-track{display:flex;gap:18px;margin-top:36px;animation:techS 30s linear infinite;will-change:transform}
.ti{flex-shrink:0;padding:14px 24px;border:1px solid var(--brd);border-radius:10px;font-family:'JetBrains Mono',monospace;font-size:.82rem;font-weight:500;color:var(--dim);display:flex;align-items:center;gap:10px;background:var(--bg2);transition:all .4s;white-space:nowrap}
.ti:hover{border-color:var(--acc);color:var(--acc);background:rgba(200,255,0,.05)}
.ti img{width:22px;height:22px;border-radius:4px}
@keyframes techS{to{transform:translateX(-50%)}}

/* TESTIMONIALS */
.testi{padding:120px 48px;border-top:1px solid var(--brd);max-width:1440px;margin:0 auto}
.te-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:48px}
.te-header .btitle{margin-bottom:0}
.te-nav{display:flex;gap:10px}
.te-arr{width:48px;height:48px;border:1px solid var(--brd);border-radius:12px;background:var(--bg2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s;-webkit-tap-highlight-color:transparent}
.te-arr:hover{border-color:var(--acc);background:rgba(200,255,0,.08)}
.te-arr svg{width:20px;height:20px;stroke:var(--text);fill:none;stroke-width:2;transition:stroke .3s}
.te-arr:hover svg{stroke:var(--acc)}
.te-carousel{overflow:hidden;margin:0 -12px}
.te-track{display:flex;gap:24px;transition:transform .5s cubic-bezier(.4,0,.2,1);padding:0 12px;will-change:transform}
.te{background:var(--bg2);border:1px solid var(--brd);border-radius:16px;padding:32px;position:relative;flex-shrink:0;width:calc(33.333% - 16px);transition:border-color .4s}
.te:hover{border-color:rgba(200,255,0,.2)}
.te::before{content:'\201C';font-family:'Syne',sans-serif;font-size:5rem;color:var(--acc);opacity:.1;position:absolute;top:8px;left:20px;line-height:1}
.te-stars{position:absolute;top:20px;right:20px;color:var(--acc);font-size:.75rem;letter-spacing:2px}
.te-text{font-size:.92rem;line-height:1.8;color:var(--dim);margin-bottom:24px;position:relative;z-index:1}
.te-author{display:flex;align-items:center;gap:12px}
.te-av{width:46px;height:46px;border-radius:50%;overflow:hidden;border:2px solid var(--acc)}
.te-av img{width:100%;height:100%;object-fit:cover}
.te-name{font-weight:600;font-size:.88rem}
.te-role{font-size:.73rem;color:var(--dim)}
.te-dots{display:flex;justify-content:center;gap:8px;margin-top:32px}
.te-dot{width:8px;height:8px;border-radius:50%;background:var(--brd);border:none;cursor:pointer;padding:0;transition:all .3s}
.te-dot.active{background:var(--acc);box-shadow:0 0 8px rgba(200,255,0,.4)}

/* CTA */
.cta{padding:120px 48px;text-align:left;position:relative;overflow:hidden;border-top:1px solid var(--brd);max-width:1440px;margin:0 auto}
.cta-bg{position:absolute;top:0;right:0;bottom:0;left:0}
.cta-bg img{width:100%;height:100%;object-fit:cover;opacity:.07;filter:blur(2px)}
.cta::after{content:'';position:absolute;top:50%;left:50%;width:600px;height:600px;background:radial-gradient(circle,rgba(200,255,0,.08),transparent 70%);transform:translate(-50%,-50%);border-radius:50%}
.cta-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;position:relative;z-index:1}
.cta-text{position:sticky;top:120px}
.cta h2{font-family:'Syne',sans-serif;font-size:clamp(2.5rem,5vw,4.5rem);font-weight:800;letter-spacing:-.03em;line-height:1.05;margin-bottom:20px}
.cta h2 em{color:var(--acc);font-style:italic}
.cta-text p{font-size:1.05rem;color:var(--dim);margin-bottom:32px;line-height:1.7}
.cta-info{display:flex;flex-direction:column;gap:14px}
.cta-contact{display:inline-flex;align-items:center;gap:10px;color:var(--dim);font-size:.9rem;transition:color .3s}
.cta-contact:hover{color:var(--acc)}
.cta-contact svg{width:18px;height:18px;stroke:var(--acc);fill:none;stroke-width:1.5;flex-shrink:0}
/* Form */
.cta-form{background:var(--bg2);border:1px solid var(--brd);border-radius:16px;padding:36px;display:flex;flex-direction:column;gap:20px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group{display:flex;flex-direction:column;gap:6px}
.form-group label{font-size:.75rem;color:var(--dim);text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.form-group input,.form-group select,.form-group textarea{background:var(--bg);border:1px solid var(--brd);border-radius:8px;padding:12px 16px;color:var(--text);font-family:'Outfit',sans-serif;font-size:.9rem;outline:none;transition:border-color .3s;-webkit-appearance:none;appearance:none}
.form-group select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%237a7880'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.form-group textarea{resize:vertical;min-height:100px}
.form-group input::placeholder,.form-group textarea::placeholder{color:rgba(122,120,128,.5)}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--acc)}
.cta-form .btn-p{width:100%;text-align:center;border:none;cursor:pointer;font-family:'Outfit',sans-serif}
/* Form validation */
.form-err{font-size:.72rem;color:#ff4757;opacity:0;max-height:0;overflow:hidden;transition:all .3s}
.form-group.err .form-err{opacity:1;max-height:24px;margin-top:4px}
.form-group.err input,.form-group.err select,.form-group.err textarea{border-color:#ff4757;animation:formShake .4s}
.form-group.ok input,.form-group.ok select,.form-group.ok textarea{border-color:var(--acc)}
@keyframes formShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}
.form-success{display:none;align-items:center;gap:12px;padding:16px 20px;background:rgba(200,255,0,.08);border:1px solid rgba(200,255,0,.2);border-radius:10px;font-size:.88rem;color:var(--acc);animation:formFadeIn .5s ease}
.form-success.show{display:flex}
.form-success svg{width:22px;height:22px;stroke:var(--acc);fill:none;stroke-width:2;flex-shrink:0}
@keyframes formFadeIn{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}

/* FOOTER */
footer{padding:80px 48px 36px;border-top:1px solid var(--brd);max-width:1440px;margin:0 auto}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;margin-bottom:72px}
.ft-brand p{font-size:.88rem;line-height:1.7;color:var(--dim);margin-top:14px;max-width:300px}
.ft-col h4{font-family:'Syne',sans-serif;font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px}
.ft-col a{display:block;color:var(--dim);font-size:.85rem;margin-bottom:10px;transition:color .3s}
.ft-col a:hover{color:var(--acc)}
.ft-bot{display:flex;justify-content:space-between;align-items:center;padding-top:28px;border-top:1px solid var(--brd);font-size:.78rem;color:var(--dim)}
.ft-soc{display:flex;gap:12px}
.ft-soc a{width:38px;height:38px;border:1px solid var(--brd);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--dim);font-size:.82rem;transition:all .3s}
.ft-soc a:hover{border-color:var(--acc);color:var(--acc)}

/* BLOG */
.blog{padding:120px 48px;border-top:1px solid var(--brd);max-width:1440px;margin:0 auto}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.blog-card{background:var(--bg2);border:1px solid var(--brd);border-radius:16px;overflow:hidden;transition:all .5s}
.blog-card:hover{border-color:rgba(200,255,0,.2);transform:translateY(-6px);box-shadow:0 20px 60px rgba(0,0,0,.3)}
.blog-img{width:100%;height:200px;overflow:hidden}
.blog-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s;filter:brightness(.7)}
.blog-card:hover .blog-img img{transform:scale(1.08);filter:brightness(.85)}
.blog-body{padding:24px}
.blog-meta{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.blog-date{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--dim)}
.blog-cat{font-size:.68rem;color:var(--acc);text-transform:uppercase;letter-spacing:.1em;padding:3px 10px;border:1px solid rgba(200,255,0,.3);border-radius:4px}
.blog-body h3{font-family:'Syne',sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:10px;line-height:1.4;transition:color .3s}
.blog-card:hover h3{color:var(--acc)}
.blog-body p{font-size:.85rem;line-height:1.7;color:var(--dim);margin-bottom:16px}
.blog-card-link{color:inherit}
.blog-link{font-size:.82rem;color:var(--acc);font-weight:600;transition:opacity .3s}
.blog-link:hover{opacity:.7}

/* FAQ */
.faq{padding:120px 48px;border-top:1px solid var(--brd);max-width:1440px;margin:0 auto}
.faq-inner{display:grid;grid-template-columns:.8fr 1fr;gap:60px;align-items:start}
.faq-head{position:sticky;top:120px}
.faq-desc{font-size:1rem;line-height:1.8;color:var(--dim);margin-bottom:28px}
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-item{background:var(--bg2);border:1px solid var(--brd);border-radius:12px;overflow:hidden;transition:border-color .3s}
.faq-item.active{border-color:rgba(200,255,0,.2)}
.faq-q{width:100%;display:flex;align-items:center;gap:16px;padding:20px 24px;background:none;border:none;color:var(--text);font-family:'Syne',sans-serif;font-size:1rem;font-weight:600;text-align:left;cursor:pointer;transition:color .3s}
.faq-q:hover{color:var(--acc)}
.faq-num{font-family:'Outfit',sans-serif;font-size:.72rem;color:var(--acc);flex-shrink:0;opacity:.5;transition:opacity .3s}
.faq-item.active .faq-num{opacity:1}
.faq-icon{width:28px;height:28px;flex-shrink:0;margin-left:auto;border:1px solid var(--brd);border-radius:8px;position:relative;transition:all .3s}
.faq-icon::before,.faq-icon::after{content:'';position:absolute;top:50%;left:50%;background:var(--dim);transition:all .3s}
.faq-icon::before{width:12px;height:1.5px;transform:translate(-50%,-50%)}
.faq-icon::after{width:1.5px;height:12px;transform:translate(-50%,-50%)}
.faq-item.active .faq-icon{border-color:var(--acc);background:rgba(200,255,0,.08)}
.faq-item.active .faq-icon::before{background:var(--acc)}
.faq-item.active .faq-icon::after{background:var(--acc);transform:translate(-50%,-50%) rotate(90deg);opacity:0}
.faq-item.active .faq-q{color:var(--acc)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.4,0,.2,1),padding .4s cubic-bezier(.4,0,.2,1)}
.faq-item.active .faq-a{max-height:300px;padding:0 24px 20px 60px}
.faq-a p{font-size:.88rem;line-height:1.8;color:var(--dim)}

/* CALCULATOR */
.calc{padding:120px 48px;border-top:1px solid var(--brd);max-width:1440px;margin:0 auto}
.calc-head{margin-bottom:60px}
.calc-body{display:grid;grid-template-columns:1fr 380px;gap:48px;align-items:start}
.calc-options{display:flex;flex-direction:column;gap:40px}
.calc-step{}
.calc-label{display:flex;align-items:center;gap:14px;font-family:'Syne',sans-serif;font-size:1rem;font-weight:700;margin-bottom:16px}
.calc-sn{font-family:'Outfit',sans-serif;font-size:.7rem;color:var(--acc);opacity:.6}
.calc-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.calc-cards--3{grid-template-columns:repeat(3,1fr)}
.calc-card{background:var(--bg2);border:1px solid var(--brd);border-radius:12px;padding:20px 16px;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:all .3s;text-align:center;-webkit-tap-highlight-color:transparent}
.calc-card svg{width:28px;height:28px;stroke:var(--dim);fill:none;stroke-width:1.5;transition:stroke .3s}
.calc-card strong{font-family:'Syne',sans-serif;font-size:.85rem;font-weight:600;color:var(--text);transition:color .3s}
.calc-card span{font-family:'Outfit',sans-serif;font-size:.68rem;color:var(--dim)}
.calc-card:hover{border-color:rgba(200,255,0,.2)}
.calc-card.active{border-color:var(--acc);background:rgba(200,255,0,.05);box-shadow:0 0 24px rgba(200,255,0,.08)}
.calc-card.active svg{stroke:var(--acc)}
.calc-card.active strong{color:var(--acc)}
/* Feature toggles */
.calc-toggles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.calc-toggle{display:flex;align-items:center;gap:12px;padding:14px 18px;background:var(--bg2);border:1px solid var(--brd);border-radius:10px;cursor:pointer;font-family:'Outfit',sans-serif;font-size:.88rem;color:var(--text);transition:all .3s;text-align:left;-webkit-tap-highlight-color:transparent}
.calc-toggle:hover{border-color:rgba(200,255,0,.15)}
.calc-toggle.active{border-color:var(--acc);background:rgba(200,255,0,.05)}
.calc-check{width:20px;height:20px;flex-shrink:0;border:1.5px solid var(--brd);border-radius:6px;position:relative;transition:all .3s}
.calc-toggle.active .calc-check{border-color:var(--acc);background:var(--acc)}
.calc-toggle.active .calc-check::after{content:'';position:absolute;top:3px;left:6px;width:5px;height:9px;border:solid var(--bg);border-width:0 2px 2px 0;transform:rotate(45deg)}
.calc-price{margin-left:auto;font-family:'Outfit',sans-serif;font-size:.72rem;color:var(--dim);flex-shrink:0}
.calc-toggle.active .calc-price{color:var(--acc)}
/* Result panel */
.calc-result{position:sticky;top:100px}
.calc-result-inner{background:var(--bg2);border:1px solid var(--brd);border-radius:16px;padding:36px;text-align:center}
.calc-result-label{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--dim);text-transform:uppercase;letter-spacing:.15em;margin-bottom:12px}
.calc-total{font-family:'Outfit',sans-serif;font-size:clamp(3rem,6vw,4.5rem);font-weight:800;color:var(--acc);line-height:1;margin-bottom:8px;transition:transform .3s}
.calc-total.bump{transform:scale(1.08)}
.calc-result-note{font-size:.73rem;color:var(--dim);margin-bottom:24px;line-height:1.5}
.calc-breakdown{display:flex;flex-direction:column;gap:10px;margin-bottom:28px;text-align:left}
.calc-br-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--brd);font-size:.82rem;color:var(--dim)}
.calc-br-item span:last-child{font-family:'Outfit',sans-serif;color:var(--text);font-size:.78rem}
.calc-cta{width:100%;text-align:center}

/* INLINE CTA BANNERS */
.inline-cta{max-width:1440px;margin:0 auto;padding:0 48px}
.inline-cta-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:40px 48px;border:1px solid var(--brd);border-radius:16px;background:var(--bg2);position:relative;overflow:hidden}
.inline-cta-inner::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,var(--acc),var(--acc2))}
.inline-cta-text h3{font-family:'Syne',sans-serif;font-size:1.3rem;font-weight:700;margin-bottom:6px}
.inline-cta-text p{font-size:.88rem;color:var(--dim);line-height:1.6;max-width:520px}
.inline-cta .btn-p{flex-shrink:0;white-space:nowrap}
.process-cta{text-align:center;margin-top:48px}
.testi-cta{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:40px;flex-wrap:wrap}
.testi-cta p{font-size:1.05rem;font-weight:600;color:var(--dim)}

/* FLOATING ACTION BUTTON (FAB) */
.fab{position:fixed;bottom:32px;right:32px;z-index:950;display:flex;flex-direction:column;align-items:flex-end;gap:12px;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .4s cubic-bezier(.25,.46,.45,.94),transform .4s cubic-bezier(.25,.46,.45,.94)}
.fab.show{opacity:1;transform:translateY(0);pointer-events:auto}
/* Trigger */
.fab-trigger-wrap{position:relative;flex-shrink:0}
.fab-trigger{width:60px;height:60px;border-radius:50%;border:none;background:var(--acc);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 24px rgba(200,255,0,.35);transition:transform .3s,box-shadow .3s,background .3s;position:relative;flex-shrink:0}
.fab-trigger:hover{transform:translateY(-3px);box-shadow:0 8px 32px rgba(200,255,0,.5)}
.fab-trigger svg{width:24px;height:24px;stroke:var(--bg);fill:none;stroke-width:2;position:absolute;transition:opacity .25s,transform .3s}
.fab-icon-close{opacity:0;transform:rotate(-90deg)}
.fab.open .fab-icon-chat{opacity:0;transform:rotate(90deg)}
.fab.open .fab-icon-close{opacity:1;transform:rotate(0deg)}
.fab.open .fab-trigger{background:var(--bg2);border:1px solid var(--brd);box-shadow:0 4px 20px rgba(0,0,0,.4);animation:none}
.fab.open .fab-trigger::before,.fab.open .fab-trigger::after{display:none}
.fab.open .fab-trigger svg{stroke:var(--text)}
/* Pulse rings */
.fab-trigger::before,.fab-trigger::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid var(--acc);opacity:0;pointer-events:none}
.fab.show:not(.open) .fab-trigger::before{animation:fabPulse 2.5s cubic-bezier(.4,0,.2,1) infinite}
.fab.show:not(.open) .fab-trigger::after{animation:fabPulse 2.5s cubic-bezier(.4,0,.2,1) .8s infinite}
@keyframes fabPulse{0%{transform:scale(1);opacity:.6}100%{transform:scale(1.8);opacity:0}}
/* Tooltip */
.fab-tooltip{position:absolute;right:72px;top:50%;transform:translateY(-50%);padding:8px 16px;background:var(--bg2);border:1px solid var(--brd);border-radius:10px;color:var(--text);font-family:'Outfit',sans-serif;font-size:.82rem;font-weight:600;white-space:nowrap;box-shadow:0 4px 20px rgba(0,0,0,.4);pointer-events:none;opacity:0;transition:opacity .3s,transform .3s;transform:translateY(-50%) translateX(8px)}
.fab-tooltip::after{content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%) rotate(45deg);width:10px;height:10px;background:var(--bg2);border-right:1px solid var(--brd);border-top:1px solid var(--brd)}
.fab.show:not(.open) .fab-tooltip{opacity:1;transform:translateY(-50%) translateX(0);animation:fabTooltipPeek 4s 2s ease infinite}
.fab.open .fab-tooltip{opacity:0;pointer-events:none}
@keyframes fabTooltipPeek{0%,20%,100%{opacity:1}10%{opacity:.5}}
/* Menu */
.fab-menu{display:flex;flex-direction:column;align-items:flex-end;gap:10px;opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s,transform .3s}
.fab.open .fab-menu{opacity:1;transform:translateY(0);pointer-events:auto}
/* Menu items */
.fab-item{display:flex;align-items:center;gap:10px;text-decoration:none;border:none;background:none;cursor:pointer;font-family:'Outfit',sans-serif;opacity:0;transform:translateY(10px) scale(.9);transition:opacity .3s,transform .3s}
.fab.open .fab-item{opacity:1;transform:translateY(0) scale(1)}
.fab.open .fab-item:nth-last-child(1){transition-delay:0s}
.fab.open .fab-item:nth-last-child(2){transition-delay:.04s}
.fab.open .fab-item:nth-last-child(3){transition-delay:.08s}
.fab.open .fab-item:nth-last-child(4){transition-delay:.12s}
.fab.open .fab-item:nth-last-child(5){transition-delay:.16s}
.fab-label{padding:6px 14px;background:var(--bg2);border:1px solid var(--brd);border-radius:8px;color:var(--text);font-size:.8rem;font-weight:600;white-space:nowrap;box-shadow:0 2px 12px rgba(0,0,0,.3);transition:border-color .3s,color .3s}
.fab-ic{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:transform .3s,box-shadow .3s}
.fab-ic svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5}
.fab-item:hover .fab-ic{transform:scale(1.1)}
/* Brand colors */
.fab-telegram .fab-ic{background:#26A5E4;color:#fff;box-shadow:0 4px 16px rgba(38,165,228,.4)}
.fab-telegram .fab-ic svg{fill:#fff;stroke:none}
.fab-telegram:hover .fab-label{border-color:#26A5E4;color:#26A5E4}
.fab-viber .fab-ic{background:#7360F2;color:#fff;box-shadow:0 4px 16px rgba(115,96,242,.4)}
.fab-viber .fab-ic svg{fill:#fff;stroke:none}
.fab-viber:hover .fab-label{border-color:#7360F2;color:#7360F2}
.fab-phone .fab-ic{background:#22c55e;color:#fff;box-shadow:0 4px 16px rgba(34,197,94,.4)}
.fab-phone:hover .fab-label{border-color:#22c55e;color:#22c55e}
.fab-email .fab-ic{background:var(--acc2);color:var(--bg);box-shadow:0 4px 16px rgba(0,229,255,.3)}
.fab-email:hover .fab-label{border-color:var(--acc2);color:var(--acc2)}
.fab-form .fab-ic{background:var(--acc);color:var(--bg);box-shadow:0 4px 16px rgba(200,255,0,.35)}
.fab-form:hover .fab-label{border-color:var(--acc);color:var(--acc)}
/* Backdrop for closing */
.fab-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:949}
.fab.open~.fab-backdrop{display:block}

/* CONTACT MODAL */
.cm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:16000;background:rgba(10,10,15,.85);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .35s;padding:20px}
.cm-overlay.open{opacity:1;pointer-events:auto}
.cm-wrap{width:100%;max-width:560px;max-height:90vh;overflow-y:auto;background:var(--bg2);border:1px solid var(--brd);border-radius:20px;position:relative;transform:translateY(24px) scale(.97);transition:transform .4s cubic-bezier(.25,.46,.45,.94);-webkit-overflow-scrolling:touch}
.cm-overlay.open .cm-wrap{transform:translateY(0) scale(1)}
.cm-close{position:absolute;top:16px;right:16px;width:40px;height:40px;border:1px solid var(--brd);border-radius:50%;background:rgba(10,10,15,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:all .3s}
.cm-close:hover{border-color:var(--acc);background:rgba(200,255,0,.1);transform:rotate(90deg)}
.cm-close svg{width:18px;height:18px;stroke:var(--text);fill:none;stroke-width:2;transition:stroke .3s}
.cm-close:hover svg{stroke:var(--acc)}
.cm-body{padding:36px 32px 28px}
.cm-header{text-align:center;margin-bottom:28px}
.cm-icon{width:56px;height:56px;border-radius:50%;background:rgba(200,255,0,.1);border:1px solid rgba(200,255,0,.2);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.cm-icon svg{width:24px;height:24px;stroke:var(--acc);fill:none;stroke-width:1.5}
.cm-header h3{font-family:'Syne',sans-serif;font-size:1.5rem;font-weight:800;margin-bottom:8px}
.cm-header p{font-size:.85rem;color:var(--dim);line-height:1.5}
.cm-form{display:flex;flex-direction:column;gap:16px}
.cm-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cm-submit{width:100%;text-align:center;border:none;cursor:pointer;font-family:'Outfit',sans-serif;margin-top:4px}
.cm-success{display:none;align-items:center;gap:12px;padding:16px 20px;background:rgba(200,255,0,.08);border:1px solid rgba(200,255,0,.2);border-radius:10px;font-size:.85rem;color:var(--acc);margin-top:16px;animation:formFadeIn .5s ease}
.cm-success.show{display:flex}
.cm-success svg{width:22px;height:22px;stroke:var(--acc);fill:none;stroke-width:2;flex-shrink:0}
.cm-contacts{display:flex;justify-content:center;gap:20px;margin-top:24px;padding-top:20px;border-top:1px solid var(--brd);flex-wrap:wrap}
.cm-contacts a{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--dim);transition:color .3s;text-decoration:none}
.cm-contacts a:hover{color:var(--acc)}
.cm-contacts svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.5}

/* SCROLL TO TOP */
.to-top{position:fixed;bottom:110px;right:38px;width:48px;height:48px;background:var(--bg2);border:1px solid var(--brd);border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:900;opacity:0;transform:translateY(20px);pointer-events:none;transition:opacity .3s,transform .3s,box-shadow .3s,border-color .3s;box-shadow:0 4px 20px rgba(0,0,0,.3);will-change:opacity,transform}
.to-top.show{opacity:1;transform:translateY(0);pointer-events:auto}
.to-top:hover{transform:translateY(-3px);border-color:var(--acc);box-shadow:0 8px 30px rgba(200,255,0,.15)}
.to-top svg{width:22px;height:22px;stroke:var(--text);fill:none;stroke-width:2.5}

/* REVEAL */
.reveal{opacity:0;transform:translateY(50px);transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94)}
.reveal.vis{opacity:1;transform:translateY(0)}
.rd1{transition-delay:.1s}.rd2{transition-delay:.2s}.rd3{transition-delay:.3s}.rd4{transition-delay:.4s}

/* RESPONSIVE */
/* 4K / Ultrawide */
@media(min-width:1600px){
  .hero h1{font-size:6rem}
  .hero-desc{font-size:1.15rem}
  .srv-img{height:220px}
  .sc-item{width:420px;height:280px}
  .pr-img{height:140px}
  .wc{aspect-ratio:16/9}
  .about-imgs{height:540px}
  .about-main{height:440px}
}
@media(min-width:2000px){
  :root{--max:1600px}
  .hero,.about,.services,.works,.process,.tech,.testi,.cta,.blog,.faq,.calc,footer,.clients,.stats{max-width:var(--max);padding-left:64px;padding-right:64px}
  nav{padding:24px max(64px, calc((100vw - var(--max))/2 + 64px))}
  .hero h1{font-size:6.5rem}
  .btitle{font-size:5rem}
  .stitle{font-size:3.5rem}
  .srv-grid{gap:32px}
  .w-grid{gap:32px}
  .te-track{gap:32px}
  .pr-grid{gap:32px}
}
@media(min-width:2560px){
  :root{--max:1800px}
  .hero,.about,.services,.works,.process,.tech,.testi,.cta,.blog,.faq,.calc,footer,.clients,.stats{max-width:var(--max);padding-left:80px;padding-right:80px}
  nav{padding:28px max(80px, calc((100vw - var(--max))/2 + 80px))}
  .hero h1{font-size:7rem}
  .stat-n{font-size:4.5rem}
  .srv-img{height:260px}
  .pr-img{height:160px}
  .sc-item{width:500px;height:340px}
}

@media(max-width:1024px){
  .hero{grid-template-columns:1fr}.hero-right{display:none}
  .srv-grid{grid-template-columns:1fr 1fr}.pr-grid{grid-template-columns:1fr 1fr}
  .w-grid,.w-grid.rev{grid-template-columns:1fr}
  .pm-content{grid-template-columns:1fr;padding:0 48px;margin-top:60px;gap:32px}
  .pm-prev{left:12px}.pm-next{right:12px}
  .pm-thumbs{justify-content:center}
  .pm-left::before{display:none}
  .inline-cta-inner{flex-direction:column;text-align:center;padding:32px}
  .inline-cta-inner::before{width:100%;height:3px;top:0;left:0}
  .about{grid-template-columns:1fr;gap:48px}.about-imgs{height:350px}
  .stats{grid-template-columns:1fr 1fr}.ft-top{grid-template-columns:1fr 1fr}
  .te{width:calc(50% - 12px)}
  .btitle{margin-bottom:48px}
  .services,.works,.process,.testi{padding-top:80px;padding-bottom:80px}
  .cta{padding-top:100px;padding-bottom:100px}
  .cta-inner{grid-template-columns:1fr;gap:40px}
  .cta-text{position:static}
  .blog-grid{grid-template-columns:1fr 1fr}
  .blog,.faq,.calc{padding-top:80px;padding-bottom:80px}
  .calc-body{grid-template-columns:1fr;gap:36px}
  .calc-result{position:static}
  .calc-result-inner{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px;text-align:left}
  .calc-result-label{grid-column:1}
  .calc-total{grid-column:1;font-size:3.5rem}
  .calc-result-note{grid-column:1/-1;order:5}
  .calc-breakdown{grid-column:2;grid-row:1/4;margin-bottom:0}
  .calc-cta{grid-column:1/-1;order:6}
  .faq-inner{grid-template-columns:1fr;gap:40px}
  .faq-head{position:static;display:grid;grid-template-columns:1fr auto;gap:12px 24px;align-items:end}
  .faq-head .stag{grid-column:1/-1}
  .faq-head .stitle{margin-bottom:0}
  .faq-desc{margin-bottom:0}
  .faq-head .btn-s{align-self:end;white-space:nowrap}
}
@media(max-width:768px){
  nav{padding:16px 20px}.nav-l{display:none}.nav-cta{display:none}.burger{display:block}
  .hero,.services,.works,.process,.tech,.testi,.cta,.about,.blog,.faq,.calc{padding-left:20px;padding-right:20px}
  .hero{min-height:calc(100vh - 60px);min-height:calc(100dvh - 60px);padding-top:70px;padding-bottom:140px}
  .stats{grid-template-columns:1fr 1fr;padding:50px 20px}
  .clients{padding:40px 20px}
  .srv-grid,.pr-grid{grid-template-columns:1fr}
  .w-grid,.w-grid.rev{grid-template-columns:1fr}
  .inline-cta{padding:0 20px}
  .inline-cta-inner{padding:24px 20px;gap:20px}
  .inline-cta-text h3{font-size:1.1rem}
  .inline-cta-text p{font-size:.82rem}
  .process-cta{margin-top:32px}
  .testi-cta{margin-top:28px;gap:14px;flex-direction:column;text-align:center}
  .testi-cta p{font-size:.92rem}
  .fab{bottom:20px;right:20px}
  .fab-trigger{width:54px;height:54px}
  .fab-trigger svg{width:22px;height:22px}
  .fab-ic{width:42px;height:42px}
  .fab-ic svg{width:18px;height:18px}
  .fab-label{font-size:.75rem;padding:5px 12px}
  .fab-tooltip{display:none}
  .cm-body{padding:28px 20px 22px}
  .cm-row{grid-template-columns:1fr}
  .cm-header h3{font-size:1.3rem}
  .cm-contacts{gap:14px;flex-direction:column;align-items:center}
  .wf-btn{font-size:.75rem;padding:6px 16px}
  .pm-content{grid-template-columns:1fr;padding:0 20px;gap:20px;margin-top:56px}
  .pm-prev{left:8px;width:40px;height:40px}.pm-next{right:8px;width:40px;height:40px}
  .pm-close{top:14px;right:14px;width:40px;height:40px}
  .pm-stats{grid-template-columns:repeat(3,1fr);gap:8px}
  .pm-stat{padding:12px 8px}
  .pm-stat-val{font-size:1.1rem}
  .pm-thumbs{gap:6px}
  .pm-thumb{width:44px;height:30px;border-radius:6px}
  .pm-sep{margin:18px 0}
  .pm-meta{margin-bottom:10px}
  .te{width:calc(100% - 24px)}
  .te-header{flex-direction:column;align-items:flex-start;gap:20px}
  .ft-top{grid-template-columns:1fr;gap:32px}
  footer{padding:48px 20px 28px}
  .ft-bot{flex-direction:column;gap:14px;text-align:center}
  .cdot,.cring{display:none}
  .hero-actions{flex-direction:column;align-items:stretch}
  .btn-p,.btn-s{text-align:center;padding:14px 32px}
  .about{padding-top:80px;padding-bottom:80px;gap:36px}
  .about-imgs{height:280px}
  .about-float{width:150px;height:110px;right:-10px;bottom:-10px}
  .about-badge{top:-10px;left:-10px;padding:12px 14px;font-size:1.2rem}
  .about-feats{grid-template-columns:1fr}
  .cl-row{gap:20px}
  .cl-item{font-size:.95rem}
  .btitle{margin-bottom:36px;font-size:clamp(2rem,6vw,3rem)}
  .stitle{font-size:clamp(1.6rem,5vw,2.4rem)}
  .ticker{bottom:60px;left:-20px;right:-20px}
  .ticker span{font-size:.85rem;letter-spacing:.06em}
  .scroll-i{bottom:12px;font-size:.6rem}
  .te{padding:24px}
  .te::before{font-size:3.5rem}
  .wc-c{padding:20px}
  .wc h3{font-size:1.15rem}
  .pr-grid{gap:16px}
  .cta{padding-top:80px;padding-bottom:80px}
  .cta h2{font-size:clamp(2rem,8vw,3.5rem)}
  .form-row{grid-template-columns:1fr}
  .cta-form{padding:24px}
  .sc-item{width:280px;height:190px}
  .showcase{padding:50px 0}
  .tech{padding:50px 20px}
  .blog-grid{grid-template-columns:1fr}
  .blog,.faq,.calc{padding-top:60px;padding-bottom:60px}
  .calc-cards{grid-template-columns:1fr 1fr}
  .calc-cards--3{grid-template-columns:1fr 1fr 1fr}
  .calc-toggles{grid-template-columns:1fr}
  .calc-result-inner{grid-template-columns:1fr;text-align:center}
  .calc-breakdown{grid-column:1;grid-row:auto}
  .calc-card{padding:16px 12px}
  .calc-card svg{width:24px;height:24px}
  .calc-card strong{font-size:.8rem}
  .calc-toggle{padding:12px 14px;font-size:.82rem}
  .blog-img{height:180px}
  .faq-head{grid-template-columns:1fr}
  .faq-head .btn-s{justify-self:start}
  .faq-desc{margin-bottom:8px}
  .faq-q{padding:16px 18px;font-size:.92rem;gap:12px}
  .faq-item.active .faq-a{padding:0 18px 16px 46px}
  .faq-num{font-size:.65rem}
  .faq-icon{width:24px;height:24px;border-radius:6px}
  .faq-icon::before{width:10px}
  .faq-icon::after{height:10px}
  .to-top{bottom:90px;right:23px;width:42px;height:42px;border-radius:10px}
  .to-top svg{width:20px;height:20px}
}
@media(max-width:480px){
  nav{padding:14px 16px}
  .nav-cta{padding:8px 18px;font-size:.75rem}
  .logo{font-size:1.2rem}
  .hero,.services,.works,.process,.tech,.testi,.cta,.about,.blog,.faq,.calc{padding-left:16px;padding-right:16px}
  .hero{min-height:calc(100vh - 50px);min-height:calc(100dvh - 50px);padding-top:60px}
  .hero-badge{font-size:.7rem;padding:6px 14px;margin-bottom:20px}
  .hero h1{margin-bottom:20px}
  .hero-desc{font-size:.92rem;margin-bottom:28px}
  .stats{padding:36px 16px;grid-template-columns:1fr 1fr}
  .stat{padding:28px 16px}
  .stat-n{font-size:clamp(2rem,8vw,2.8rem)}
  .stat-l{font-size:.72rem}
  .clients{padding:32px 16px}
  .cl-row{gap:16px}
  .cl-item{font-size:.85rem}
  .cl-item svg{width:20px;height:20px}
  .about-imgs{height:220px}
  .about-main{height:200px}
  .about-float{width:120px;height:90px}
  .about-badge{font-size:1rem;padding:10px 12px}
  .about-badge small{font-size:.5rem}
  .about-text{font-size:.9rem}
  .srv-body{padding:18px 16px 22px}
  .srv h3{font-size:1.05rem}
  .srv p{font-size:.8rem}
  .srv-img{height:150px}
  .pr{padding:24px 16px}
  .pr-img{height:90px}
  .wc-c{padding:16px}
  .wc h3{font-size:1.05rem}
  .wc-tag{font-size:.6rem;padding:3px 8px}
  .te{padding:20px}
  .te-text{font-size:.85rem}
  .te-name{font-size:.82rem}
  .te-stars{font-size:.65rem}
  .sc-item{width:240px;height:160px}
  .ticker{left:-16px;right:-16px}
  .ticker span{font-size:.75rem;gap:32px}
  .ticker-track{gap:32px}
  footer{padding:36px 16px 24px}
  .ft-col h4{font-size:.8rem;margin-bottom:12px}
  .ft-col a{font-size:.8rem}
  .ft-brand p{font-size:.82rem}
  .cta h2{font-size:clamp(1.8rem,7vw,2.8rem)}
  .cta-form{padding:20px}
  .form-row{grid-template-columns:1fr}
  .btn-p,.btn-s{font-size:.82rem;padding:13px 24px}
}
/* Touch devices — disable hover effects that cause stickiness */
@media(hover:none){
  .srv:hover{transform:none;box-shadow:none;border-color:var(--brd)}
  .srv:hover .srv-img img{transform:none;filter:brightness(.7) saturate(.8)}
  .srv:hover .srv-ic{border-color:var(--brd);background:var(--bg2)}
  .srv:hover h3{color:var(--text)}
  .te:hover{border-color:var(--brd)}
  .pr:hover{transform:none;border-color:var(--brd)}
  .wc:hover img{transform:none}
  .wc-link{opacity:1;transform:none}
  .btn-p:hover{transform:none}
  .btn-s:hover{border-color:var(--brd);color:var(--text)}
  .blog-card:hover{transform:none;box-shadow:none;border-color:var(--brd)}
  .blog-card:hover .blog-img img{transform:none;filter:brightness(.7)}
  .blog-card:hover h3{color:var(--text)}
  .calc-card:hover{border-color:var(--brd)}
  .calc-toggle:hover{border-color:var(--brd)}
}
/* ====== BLOG PAGES ====== */

/* Breadcrumbs */
.breadcrumbs{position:static;z-index:auto;top:auto;left:auto;right:auto;padding:100px 48px 0;max-width:1440px;margin:0 auto;display:flex;align-items:center;gap:8px;font-size:.8rem;color:var(--dim)}
.breadcrumbs a{color:var(--dim);text-decoration:none;transition:color .3s}
.breadcrumbs a:hover{color:var(--acc)}
.breadcrumbs .bc-sep{color:var(--brd)}

/* Blog listing page */
.blog-page{padding:40px 48px 120px;max-width:1440px;margin:0 auto}
.blog-page-header{margin-bottom:60px}
.blog-page-header .stag{margin-bottom:12px}
.blog-page-header .btitle{margin-bottom:16px}
.blog-page-desc{font-size:1rem;color:var(--dim);line-height:1.7;max-width:600px}
.blog-search{display:flex;gap:0;margin-top:24px;max-width:480px}
.blog-search-input{flex:1;padding:12px 18px;background:var(--bg2);border:1px solid var(--brd);border-right:none;border-radius:10px 0 0 10px;color:var(--text);font-family:'Outfit',sans-serif;font-size:.9rem;outline:none;transition:border-color .3s}
.blog-search-input:focus{border-color:var(--acc)}
.blog-search-input::placeholder{color:var(--dim)}
.blog-search-btn{width:48px;background:var(--acc);border:1px solid var(--acc);border-radius:0 10px 10px 0;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .3s}
.blog-search-btn:hover{opacity:.85}
.blog-search-btn svg{width:18px;height:18px;stroke:var(--bg);fill:none;stroke-width:2}
.blog-search-result{margin-top:16px;font-size:.88rem;color:var(--dim)}
.blog-search-result a{color:var(--acc);text-decoration:none;margin-left:8px;transition:opacity .3s}
.blog-search-result a:hover{opacity:.7}
.blog-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.blog-page-grid .blog-card .blog-img{height:220px}
.blog-page-grid .blog-body{padding:28px}
.blog-page-grid .blog-body h3{font-size:1.15rem}
.blog-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:48px}
.blog-pagination a,.blog-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:0 12px;border:1px solid var(--brd);font-size:.88rem;font-weight:500;transition:all .3s;color:var(--text)}
.blog-pagination a:hover{border-color:var(--acc);color:var(--acc)}
.pagination-current{background:var(--acc) !important;color:var(--bg) !important;border-color:var(--acc) !important;font-weight:700}
.pagination-disabled{opacity:.3;cursor:default;pointer-events:none}

.blog-empty{text-align:center;padding:80px 20px}
.blog-empty p{font-size:1.1rem;color:var(--dim);margin-bottom:32px;line-height:1.7}

/* Article page */
.article-page{padding:40px 48px 100px;max-width:1440px;margin:0 auto}
.article-layout{display:grid;grid-template-columns:1fr 340px;gap:60px;align-items:start}
.article-main{min-width:0}
.article-hero-img{width:100%;height:420px;border-radius:16px;overflow:hidden;margin-bottom:36px;border:1px solid var(--brd)}
.article-hero-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.8)}
.article-meta{display:flex;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}
.article-date{font-family:'JetBrains Mono',monospace;font-size:.78rem;color:var(--dim)}
.article-cat{font-size:.7rem;color:var(--acc);text-transform:uppercase;letter-spacing:.1em;padding:4px 12px;border:1px solid rgba(200,255,0,.3);border-radius:4px}
.article-reading{font-size:.78rem;color:var(--dim);display:flex;align-items:center;gap:6px}
.article-reading svg{width:14px;height:14px;stroke:var(--dim);stroke-width:2;fill:none}
.article-title{font-family:'Syne',sans-serif;font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:800;line-height:1.25;margin-bottom:32px}
.article-title em{color:var(--acc);font-style:normal}

/* Article content typography */
.article-content{font-size:1rem;line-height:1.85;color:var(--text)}
.article-content p{margin-bottom:24px;color:rgba(232,230,227,.85)}
.article-content h2{font-family:'Syne',sans-serif;font-size:1.5rem;font-weight:700;margin:48px 0 20px;color:var(--text);position:relative;padding-left:20px}
.article-content h2::before{content:'';position:absolute;left:0;top:4px;bottom:4px;width:3px;background:var(--acc);border-radius:2px}
.article-content h3{font-family:'Syne',sans-serif;font-size:1.15rem;font-weight:700;margin:36px 0 16px;color:var(--text)}
.article-content ul,.article-content ol{margin:0 0 24px 24px;color:rgba(232,230,227,.85)}
.article-content li{margin-bottom:10px;padding-left:8px}
.article-content ul li::marker{color:var(--acc)}
.article-content ol li::marker{color:var(--acc);font-weight:700}
.article-content strong{color:var(--text);font-weight:600}
.article-content em{color:var(--acc);font-style:italic}
.article-content blockquote{border-left:3px solid var(--acc);margin:32px 0;padding:20px 24px;background:rgba(200,255,0,.03);border-radius:0 12px 12px 0}
.article-content blockquote p{margin-bottom:0;color:var(--text);font-size:1.05rem;font-style:italic}
.article-content code{font-family:'JetBrains Mono',monospace;font-size:.85em;background:rgba(255,255,255,.06);padding:2px 8px;border-radius:4px;color:var(--acc2)}
.article-content pre{background:var(--bg2);border:1px solid var(--brd);border-radius:12px;padding:24px;margin:24px 0;overflow-x:auto}
.article-content pre code{background:none;padding:0;font-size:.85rem;color:var(--text)}
.article-content a{color:var(--acc);text-decoration:underline;text-underline-offset:3px;transition:opacity .3s}
.article-content a:hover{opacity:.7}
.article-content img{width:100%;border-radius:12px;margin:28px 0;border:1px solid var(--brd)}

/* Article tags */
.article-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:48px;padding-top:32px;border-top:1px solid var(--brd)}
.article-tag{font-size:.75rem;color:var(--dim);padding:6px 16px;border:1px solid var(--brd);border-radius:20px;transition:all .3s}
.article-tag:hover{border-color:var(--acc);color:var(--acc)}

/* Article share */
.article-share{display:flex;align-items:center;gap:12px;margin-top:24px}
.article-share-label{font-size:.82rem;color:var(--dim);font-weight:600}
.share-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--brd);background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s}
.share-btn svg{width:16px;height:16px;stroke:var(--dim);stroke-width:2;fill:none}
.share-btn:hover{border-color:var(--acc);background:rgba(200,255,0,.08)}
.share-btn:hover svg{stroke:var(--acc)}

/* Sidebar */
.article-sidebar{position:sticky;top:100px}
.sidebar-block{background:var(--bg2);border:1px solid var(--brd);border-radius:16px;padding:28px;margin-bottom:24px}
.sidebar-title{font-family:'Syne',sans-serif;font-size:1rem;font-weight:700;margin-bottom:20px;display:flex;align-items:center;gap:8px}
.sidebar-title::before{content:'';width:3px;height:18px;background:var(--acc);border-radius:2px}

/* Table of contents */
.toc-list{list-style:none;padding:0;margin:0}
.toc-list li{margin-bottom:12px}
.toc-list a{font-size:.85rem;color:var(--dim);text-decoration:none;transition:color .3s;display:block;padding-left:16px;border-left:2px solid transparent;line-height:1.5}
.toc-list a:hover,.toc-list a.active{color:var(--acc);border-left-color:var(--acc)}

/* Related articles in sidebar */
.sidebar-article{display:flex;gap:14px;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--brd)}
.sidebar-article:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
.sidebar-article-img{width:72px;height:52px;border-radius:8px;overflow:hidden;flex-shrink:0}
.sidebar-article-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.7)}
.sidebar-article-info h4{font-size:.82rem;font-weight:600;line-height:1.4;margin-bottom:4px}
.sidebar-article-info h4 a{color:var(--text);text-decoration:none;transition:color .3s}
.sidebar-article-info h4 a:hover{color:var(--acc)}
.sidebar-article-info span{font-size:.7rem;color:var(--dim)}

/* CTA sidebar */
.sidebar-cta{background:linear-gradient(135deg,rgba(200,255,0,.06),rgba(0,229,255,.04));text-align:center}
.sidebar-cta p{font-size:.88rem;color:var(--dim);line-height:1.6;margin-bottom:20px}
.sidebar-cta .btn-p{width:100%;text-align:center;font-size:.82rem;padding:12px 20px}

/* Related posts section */
.related-posts{padding:80px 48px;max-width:1440px;margin:0 auto;border-top:1px solid var(--brd)}
.related-posts .stag{margin-bottom:12px}
.related-posts .btitle{margin-bottom:40px}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}

/* Blog page responsive */
@media(max-width:1200px){
  .article-layout{grid-template-columns:1fr 280px;gap:40px}
}
@media(max-width:1024px){
  .blog-page-grid{grid-template-columns:1fr 1fr}
  .article-layout{grid-template-columns:1fr;gap:0}
  .article-sidebar{position:static;display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:48px}
  .related-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .breadcrumbs{padding:90px 20px 0}
  .blog-page{padding:30px 20px 80px}
  .article-page{padding:30px 20px 60px}
  .blog-page-grid{grid-template-columns:1fr}
  .article-hero-img{height:260px;border-radius:12px}
  .article-sidebar{grid-template-columns:1fr}
  .related-posts{padding:60px 20px}
  .related-grid{grid-template-columns:1fr}
}
@media(max-width:480px){
  .breadcrumbs{padding:85px 16px 0}
  .blog-page{padding:24px 16px 60px}
  .article-page{padding:24px 16px 48px}
  .article-hero-img{height:200px}
  .related-posts{padding:48px 16px}
}

/* ====== ABOUT PAGE ====== */

/* About hero */
.abt-hero{padding:40px 48px 0;max-width:1440px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.abt-hero-text .stag{margin-bottom:12px}
.abt-hero-title{font-family:'Syne',sans-serif;font-size:clamp(2rem,4vw,3rem);font-weight:800;line-height:1.15;margin-bottom:24px}
.abt-hero-title em{color:var(--acc);font-style:normal}
.abt-hero-desc{font-size:1.05rem;line-height:1.8;color:var(--dim);margin-bottom:32px}
.abt-hero-stats{display:flex;gap:40px}
.abt-hs{text-align:center}
.abt-hs-n{font-family:'Outfit',sans-serif;font-size:2.2rem;font-weight:800;color:var(--acc);line-height:1}
.abt-hs-l{font-size:.78rem;color:var(--dim);margin-top:6px}
.abt-hero-visual{position:relative}
.abt-hero-img{border-radius:20px;overflow:hidden;border:1px solid var(--brd);position:relative}
.abt-hero-img img{width:100%;height:420px;object-fit:cover;display:block;filter:brightness(.75)}
.abt-hero-badge{position:absolute;bottom:-20px;right:32px;background:var(--acc);color:var(--bg);padding:16px 24px;border-radius:14px;font-family:'Outfit',sans-serif;font-weight:800;font-size:1.3rem;line-height:1.2;box-shadow:0 8px 32px rgba(200,255,0,.3)}
.abt-hero-badge small{display:block;font-family:'Outfit',sans-serif;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;opacity:.7;margin-top:2px}

/* Mission */
.abt-mission{padding:100px 48px 80px;max-width:1440px;margin:0 auto;text-align:center}
.abt-mission .btitle{margin-bottom:48px}
.abt-values{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:left}
.abt-val{background:var(--bg2);border:1px solid var(--brd);border-radius:16px;padding:32px 28px;transition:border-color .4s,transform .4s}
.abt-val:hover{border-color:rgba(200,255,0,.2);transform:translateY(-4px)}
.abt-val-ic{width:52px;height:52px;border-radius:14px;background:rgba(200,255,0,.08);border:1px solid rgba(200,255,0,.15);display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.abt-val-ic svg{width:24px;height:24px;stroke:var(--acc);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.abt-val h3{font-family:'Syne',sans-serif;font-size:1.05rem;font-weight:700;margin-bottom:10px}
.abt-val p{font-size:.85rem;line-height:1.7;color:var(--dim)}

/* Story timeline */
.abt-story{padding:80px 48px;max-width:1440px;margin:0 auto}
.abt-story .stag{margin-bottom:12px}
.abt-story .btitle{margin-bottom:60px}
.abt-timeline{position:relative;padding-left:48px}
.abt-timeline::before{content:'';position:absolute;left:11px;top:8px;bottom:8px;width:2px;background:linear-gradient(var(--acc),var(--acc2),var(--acc))}
.abt-tl-item{position:relative;margin-bottom:48px;padding:28px 32px;background:var(--bg2);border:1px solid var(--brd);border-radius:16px;transition:border-color .3s}
.abt-tl-item:last-child{margin-bottom:0}
.abt-tl-item:hover{border-color:rgba(200,255,0,.2)}
.abt-tl-dot{position:absolute;left:-48px;top:32px;width:22px;height:22px;border-radius:50%;background:var(--bg);border:2px solid var(--acc);display:flex;align-items:center;justify-content:center;transform:translateX(1px)}
.abt-tl-dot::after{content:'';width:8px;height:8px;border-radius:50%;background:var(--acc)}
.abt-tl-year{font-family:'Outfit',sans-serif;font-size:.75rem;color:var(--acc);letter-spacing:.1em;margin-bottom:8px}
.abt-tl-item h3{font-family:'Syne',sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:8px}
.abt-tl-item p{font-size:.88rem;line-height:1.7;color:var(--dim)}

/* Team */
/* Approach */
.abt-approach{padding:80px 48px;max-width:1440px;margin:0 auto}
.abt-approach .stag{margin-bottom:12px}
.abt-approach .btitle{margin-bottom:48px}
.abt-appr-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.abt-appr{background:var(--bg2);border:1px solid var(--brd);border-radius:16px;padding:36px 32px;display:flex;gap:24px;align-items:flex-start;transition:border-color .4s}
.abt-appr:hover{border-color:rgba(200,255,0,.2)}
.abt-appr-num{font-family:'Outfit',sans-serif;font-size:2rem;font-weight:800;color:rgba(200,255,0,.15);line-height:1;flex-shrink:0}
.abt-appr h3{font-family:'Syne',sans-serif;font-size:1rem;font-weight:700;margin-bottom:8px}
.abt-appr p{font-size:.85rem;line-height:1.7;color:var(--dim)}

/* About CTA */
.abt-cta{padding:80px 48px;max-width:1440px;margin:0 auto}
.abt-cta-inner{background:var(--bg2);border:1px solid var(--brd);border-radius:24px;padding:64px;display:grid;grid-template-columns:1fr auto;gap:48px;align-items:center;position:relative;overflow:hidden}
.abt-cta-inner::before{content:'';position:absolute;top:-80px;right:-80px;width:300px;height:300px;background:radial-gradient(circle,rgba(200,255,0,.06),transparent 70%);border-radius:50%;pointer-events:none}
.abt-cta-text h2{font-family:'Syne',sans-serif;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:800;line-height:1.2;margin-bottom:16px}
.abt-cta-text h2 em{color:var(--acc);font-style:normal}
.abt-cta-text p{font-size:1rem;color:var(--dim);line-height:1.7;max-width:560px}
.abt-cta-actions{display:flex;flex-direction:column;gap:12px;flex-shrink:0}
.abt-cta-actions .btn-p{text-align:center}
.abt-cta-contact{font-size:.85rem;color:var(--dim);text-align:center;text-decoration:none;transition:color .3s}
.abt-cta-contact:hover{color:var(--acc)}

/* About page responsive */
@media(max-width:1024px){
  .abt-hero{grid-template-columns:1fr;gap:40px}
  .abt-hero-img img{height:340px}
  .abt-values{grid-template-columns:1fr 1fr}
  .abt-appr-grid{grid-template-columns:1fr}
  .abt-cta-inner{grid-template-columns:1fr;text-align:center;padding:48px}
  .abt-cta-text p{margin:0 auto}
  .abt-cta-actions{flex-direction:row;justify-content:center}
}
@media(max-width:768px){
  .abt-hero{padding:30px 20px 0}
  .abt-mission{padding:80px 20px 60px}
  .abt-story,.abt-approach,.abt-cta{padding:60px 20px}
  .abt-hero-img img{height:280px}
  .abt-hero-stats{gap:24px}
  .abt-hs-n{font-size:1.8rem}
  .abt-values{grid-template-columns:1fr}
  .abt-timeline{padding-left:40px}
  .abt-tl-dot{left:-40px}
  .abt-cta-inner{padding:36px 24px}
  .abt-cta-actions{flex-direction:column;width:100%}
  .abt-cta-actions .btn-p{width:100%}
}
@media(max-width:480px){
  .abt-hero{padding:24px 16px 0}
  .abt-mission{padding:60px 16px 48px}
  .abt-story,.abt-approach,.abt-cta{padding:48px 16px}
  .abt-hero-img img{height:220px}
  .abt-hero-stats{flex-wrap:wrap;gap:20px}
  .abt-hero-badge{right:16px;bottom:-16px;padding:12px 18px;font-size:1.1rem}
}

/* ===== CONTACTS PAGE ===== */
.cnt-hero{padding:120px 48px 40px;max-width:800px;margin:0 auto;text-align:center}
.cnt-hero .stag{justify-content:center;margin-bottom:12px}
.cnt-hero-title{font-family:'Syne',sans-serif;font-size:clamp(2rem,4vw,3.2rem);font-weight:800;line-height:1.15;margin-bottom:20px}
.cnt-hero-title em{color:var(--acc);font-style:italic}
.cnt-hero-desc{font-size:1rem;color:var(--dim);line-height:1.7;max-width:560px;margin:0 auto}
.cnt-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:0 48px 60px;max-width:1440px;margin:0 auto}
.cnt-card{background:var(--bg2);border:1px solid var(--brd);border-radius:16px;padding:32px 28px;text-align:center;transition:border-color .4s,transform .4s}
.cnt-card:hover{border-color:rgba(200,255,0,.2);transform:translateY(-4px)}
.cnt-card-ic{width:52px;height:52px;border-radius:14px;background:rgba(200,255,0,.08);display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.cnt-card-ic svg{width:24px;height:24px;stroke:var(--acc);fill:none;stroke-width:1.5}
.cnt-card h3{font-family:'Syne',sans-serif;font-size:1rem;font-weight:700;margin-bottom:10px}
.cnt-card-link{display:block;font-size:.95rem;font-weight:600;color:var(--acc);margin-bottom:8px;transition:color .3s;text-decoration:none}
.cnt-card-link:hover{color:var(--acc2)}
.cnt-card p{font-size:.78rem;color:var(--dim);line-height:1.5}
.cnt-body{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;padding:0 48px 80px;max-width:1440px;margin:0 auto;align-items:start}
.cnt-form-wrap{background:var(--bg2);border:1px solid var(--brd);border-radius:20px;padding:48px}
.cnt-form-wrap h2{font-family:'Syne',sans-serif;font-size:1.6rem;font-weight:800;margin-bottom:10px}
.cnt-form-desc{color:var(--dim);font-size:.9rem;margin-bottom:32px;line-height:1.6}
.cnt-form .form-group{margin-bottom:20px}
.cnt-form .form-group label{display:block;font-size:.82rem;font-weight:600;margin-bottom:8px;color:var(--text)}
.cnt-form .form-group input,.cnt-form .form-group select,.cnt-form .form-group textarea{width:100%;background:var(--bg);border:1px solid var(--brd);border-radius:8px;padding:12px 16px;color:var(--text);font-family:'Outfit',sans-serif;font-size:.9rem;outline:none;transition:border-color .3s;-webkit-appearance:none;appearance:none}
.cnt-form .form-group input:focus,.cnt-form .form-group select:focus,.cnt-form .form-group textarea:focus{border-color:var(--acc)}
.cnt-form .form-group textarea{resize:vertical}
.cnt-form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.cnt-form .btn-p{width:100%;text-align:center;border:none;cursor:pointer;font-family:'Outfit',sans-serif}
.cnt-info{display:flex;flex-direction:column;gap:24px}
.cnt-info-block{background:var(--bg2);border:1px solid var(--brd);border-radius:16px;padding:28px}
.cnt-info-block h3{font-family:'Syne',sans-serif;font-size:1rem;font-weight:700;margin-bottom:16px}
.cnt-schedule{display:flex;flex-direction:column;gap:10px}
.cnt-sch-row{display:flex;justify-content:space-between;font-size:.88rem}
.cnt-sch-row span:first-child{color:var(--dim)}
.cnt-sch-row span:last-child{font-weight:600}
.cnt-socials{display:flex;flex-direction:column;gap:10px}
.cnt-soc{display:flex;align-items:center;gap:10px;font-size:.88rem;color:var(--text);text-decoration:none;padding:10px 14px;border:1px solid var(--brd);border-radius:10px;transition:border-color .3s,color .3s}
.cnt-soc:hover{border-color:var(--acc);color:var(--acc)}
.cnt-soc svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;flex-shrink:0}
.cnt-info-cta{border-color:rgba(200,255,0,.15);background:linear-gradient(135deg,rgba(200,255,0,.04),transparent)}
.cnt-info-cta-ic{width:44px;height:44px;border-radius:12px;background:rgba(200,255,0,.1);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.cnt-info-cta-ic svg{width:22px;height:22px;stroke:var(--acc);fill:none;stroke-width:2}
.cnt-info-cta p{font-size:.85rem;color:var(--dim);line-height:1.6}
@media(max-width:1024px){
  .cnt-cards{grid-template-columns:1fr 1fr}
  .cnt-body{grid-template-columns:1fr}
}
@media(max-width:768px){
  .cnt-hero{padding:100px 20px 32px}
  .cnt-cards{padding:0 20px 48px;gap:16px}
  .cnt-body{padding:0 20px 60px;gap:24px}
  .cnt-form-wrap{padding:32px 24px}
  .cnt-form-row{grid-template-columns:1fr}
}
@media(max-width:480px){
  .cnt-hero{padding:80px 16px 24px}
  .cnt-cards{grid-template-columns:1fr;padding:0 16px 40px}
  .cnt-body{padding:0 16px 48px}
  .cnt-form-wrap{padding:24px 18px}
}

/* LANGUAGE SWITCHER */
.nav-right-group{display:flex;align-items:center;gap:16px}
.lang-switch{display:flex;gap:4px;align-items:center}
.lang-link{padding:4px 10px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--dim);border:1px solid transparent;border-radius:0;transition:all .3s;text-decoration:none;font-family:'Outfit',sans-serif}
.lang-link:hover{color:var(--text)}
.lang-link.active{color:var(--acc);border-color:var(--acc)}
.lang-switch-mob{display:flex;gap:8px;justify-content:center;margin:12px 0}
.lang-link-mob{padding:6px 16px;font-size:.85rem;font-weight:600;color:var(--dim);border:1px solid var(--brd);transition:all .3s;text-decoration:none;font-family:'Outfit',sans-serif}
.lang-link-mob:hover{color:var(--text);border-color:var(--text)}
.lang-link-mob.active{color:var(--acc);border-color:var(--acc);background:rgba(200,255,0,.08)}
@media(max-width:768px){
  .nav-right-group{display:none}
}

/* ── EN LOCALE FONTS ── */
html[lang="en"] body,
html[lang="en"] .nav-cta,
html[lang="en"] .btn-p,
html[lang="en"] .btn-s,
html[lang="en"] .stat-n,
html[lang="en"] .about-badge,
html[lang="en"] .about-badge small,
html[lang="en"] .srv-num,
html[lang="en"] .wf-btn,
html[lang="en"] .pm-counter,
html[lang="en"] .pm-year,
html[lang="en"] .pm-stat-val,
html[lang="en"] .pr-n,
html[lang="en"] .calc-card span,
html[lang="en"] .calc-sn,
html[lang="en"] .calc-toggle,
html[lang="en"] .calc-price,
html[lang="en"] .calc-total,
html[lang="en"] .calc-br-item span:last-child,
html[lang="en"] .form-group input,
html[lang="en"] .form-group select,
html[lang="en"] .form-group textarea,
html[lang="en"] .cta-form .btn-p,
html[lang="en"] .fab-tooltip,
html[lang="en"] .fab-item,
html[lang="en"] .cm-submit,
html[lang="en"] .blog-search-input,
html[lang="en"] .cnt-form .form-group input,
html[lang="en"] .cnt-form .form-group select,
html[lang="en"] .cnt-form .form-group textarea,
html[lang="en"] .cnt-form .btn-p,
html[lang="en"] .lang-link,
html[lang="en"] .lang-link-mob,
html[lang="en"] .abt-hs-n,
html[lang="en"] .abt-hero-badge,
html[lang="en"] .abt-hero-badge small,
html[lang="en"] .abt-tl-year,
html[lang="en"] .abt-appr-num{font-family:'Inter',sans-serif}
html[lang="en"] .mob-menu a,
html[lang="en"] .hero h1,
html[lang="en"] .ticker span,
html[lang="en"] .cl-item,
html[lang="en"] .stitle,
html[lang="en"] .btitle,
html[lang="en"] .srv h3,
html[lang="en"] .wc h3,
html[lang="en"] .pm-info h2,
html[lang="en"] .te::before,
html[lang="en"] .cta h2,
html[lang="en"] .ft-col h4,
html[lang="en"] .blog-body h3,
html[lang="en"] .faq-q,
html[lang="en"] .calc-label,
html[lang="en"] .calc-card strong,
html[lang="en"] .inline-cta-text h3,
html[lang="en"] .cm-header h3,
html[lang="en"] .article-title,
html[lang="en"] .article-content h2,
html[lang="en"] .article-content h3,
html[lang="en"] .sidebar-title,
html[lang="en"] .abt-hero-title,
html[lang="en"] .abt-val h3,
html[lang="en"] .abt-tl-item h3,
html[lang="en"] .abt-appr h3,
html[lang="en"] .abt-cta-text h2,
html[lang="en"] .cnt-hero-title,
html[lang="en"] .cnt-card h3,
html[lang="en"] .cnt-form-wrap h2,
html[lang="en"] .cnt-info-block h3,
html[lang="en"] .pr h3{font-family:'Space Grotesk',sans-serif}
html[lang="en"] .hero h1{line-height:1.05;margin-bottom:32px}

/* Reduced motion preference */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important}
  html{scroll-behavior:auto}
}
