/* ============================================================
   DASHLINK — light redesign
   ============================================================ */
:root{
  --indigo:#4F46E5;
  --indigo-d:#4338CA;
  --cyan:#06B6D4;
  --ink:#0F172A;
  --slate:#334155;
  --muted:#64748B;
  --line:#E2E8F0;
  --bg:#FFFFFF;
  --tint:#F5F7FF;
  --grad:var(--indigo);
  --shadow:0 18px 44px rgba(15,23,42,.10);
  --shadow-sm:0 6px 20px rgba(15,23,42,.06);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important;transition:none!important}}
body{font-family:'Inter',system-ui,sans-serif;color:var(--slate);background:var(--bg);line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:'Poppins',sans-serif;color:var(--ink);line-height:1.14;font-weight:700}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
section{position:relative}
.over{display:inline-block;font-family:'Poppins';font-weight:700;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--indigo);margin-bottom:14px}
.h2{font-size:clamp(1.8rem,4vw,2.7rem);margin-bottom:14px}
.lead{color:var(--muted);max-width:56ch}
.grad-txt{color:var(--indigo)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:'Poppins';font-weight:600;font-size:.95rem;padding:13px 26px;border-radius:12px;cursor:pointer;border:2px solid transparent;transition:transform .2s,box-shadow .2s,background .2s,color .2s}
.btn svg{width:18px;height:18px}
.btn--primary{background:var(--grad);color:#fff;box-shadow:0 10px 24px rgba(79,70,229,.32)}
.btn--primary:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(79,70,229,.42)}
.btn--ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.btn--ghost:hover{border-color:var(--indigo);color:var(--indigo)}

/* header */
header.nav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.nav__in{display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1240px;margin:0 auto;padding:14px 24px}
.nav__logo img{height:34px;width:auto}
.menu{display:flex;align-items:center;gap:6px}
.menu>a{font-family:'Poppins';font-weight:500;font-size:.92rem;color:var(--slate);padding:9px 13px;border-radius:9px;transition:color .2s,background .2s}
.menu>a:hover{color:var(--indigo);background:var(--tint)}
.menu>a.btn--primary,.menu>a.btn--primary:hover{color:#fff;background:var(--indigo)}
.lang{display:flex;gap:2px;border:1px solid var(--line);border-radius:9px;padding:3px;margin-left:4px}
.lang a{font-family:'Poppins';font-weight:600;font-size:.78rem;padding:5px 9px;border-radius:6px;color:var(--muted)}
.lang a.on{background:var(--grad);color:#fff}
#burger{display:none;width:44px;height:44px;border-radius:11px;border:1px solid var(--line);background:#fff;color:var(--ink);font-size:1.3rem;cursor:pointer}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--tint)}
.hero__in{max-width:1180px;margin:0 auto;padding:92px 24px 84px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:22px}
.hero__chip{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);padding:8px 16px;border-radius:999px;font-family:'Poppins';font-weight:600;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--indigo);box-shadow:var(--shadow-sm)}
.hero__chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--grad)}
.hero h1{font-size:clamp(2.6rem,6.5vw,5rem);letter-spacing:-.02em;font-weight:800;max-width:16ch}
.hero p{font-size:1.16rem;max-width:52ch;color:var(--muted)}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;margin-top:4px}
.hero__deco{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:46px 46px;opacity:.35;mask-image:radial-gradient(circle at 50% 40%,#000,transparent 70%)}

/* stats */
.stats{background:var(--ink);color:#fff}
.stats__g{max-width:1100px;margin:0 auto;padding:34px 24px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.stats__n{font-family:'Poppins';font-weight:800;font-size:clamp(1.8rem,4vw,2.6rem)}
.stats__n span{color:var(--cyan)}
.stats__l{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:#94A3B8;margin-top:4px}

/* sections */
.sec{padding:92px 0}
.sec.center{text-align:center}
.sec.center .lead{margin:0 auto}
.sec.tint{background:var(--tint)}

/* services */
.serv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px;text-align:left}
.serv{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 28px;transition:transform .3s,box-shadow .3s,border-color .3s}
.serv:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:transparent}
.serv__ico{width:56px;height:56px;border-radius:14px;background:var(--tint);display:flex;align-items:center;justify-content:center;margin-bottom:18px;transition:background .3s}
.serv__ico svg{width:28px;height:28px;stroke:var(--indigo);fill:none;stroke-width:1.9}
.serv:hover .serv__ico{background:var(--grad)}
.serv:hover .serv__ico svg{stroke:#fff}
.serv h3{font-size:1.18rem;margin-bottom:8px}
.serv p{font-size:.94rem;color:var(--muted)}

/* process */
.proc{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:52px}
.proc__c{position:relative;padding-top:20px}
.proc__n{font-family:'Poppins';font-weight:800;font-size:2.4rem;color:var(--indigo);line-height:1}
.proc__c h3{font-size:1.15rem;margin:12px 0 8px}
.proc__c p{font-size:.92rem;color:var(--muted)}
.proc__c::before{content:"";position:absolute;top:0;left:0;width:44px;height:4px;border-radius:4px;background:var(--grad)}

/* why */
.why__g{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.why__list{display:grid;gap:16px;margin-top:26px}
.why__i{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;box-shadow:var(--shadow-sm)}
.why__i svg{width:26px;height:26px;flex:0 0 auto}
.why__i b{font-family:'Poppins';font-weight:600;color:var(--ink)}
.why__card{background:var(--ink);border-radius:24px;padding:40px;color:#fff;position:relative;overflow:hidden}
.why__card::after{content:"";position:absolute;right:-40px;top:-40px;width:200px;height:200px;border-radius:50%;background:var(--grad);opacity:.5;filter:blur(20px)}
.why__card h3{color:#fff;font-size:1.7rem;position:relative}
.why__card p{color:#CBD5E1;margin-top:14px;position:relative}
.why__badge{position:relative;display:inline-flex;margin-top:26px;gap:10px;flex-wrap:wrap}
.why__badge span{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 14px;font-size:.82rem;color:#E2E8F0}

/* testimonials */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px}
.testi{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:16px}
.testi__q{font-size:1rem;color:var(--slate);font-style:italic}
.testi__q::before{content:"“";font-family:'Poppins';font-size:2.4rem;color:var(--indigo);line-height:0;vertical-align:-.4em;margin-right:4px}
.testi__a{display:flex;align-items:center;gap:12px;margin-top:auto}
.testi__av{width:44px;height:44px;border-radius:50%;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Poppins';font-weight:700}
.testi__a b{display:block;font-family:'Poppins';color:var(--ink);font-size:.95rem}
.testi__a span{font-size:.82rem;color:var(--muted)}

/* faq */
.faq{max-width:820px;margin:44px auto 0}
.faq__i{border:1px solid var(--line);border-radius:14px;background:#fff;margin-bottom:14px;overflow:hidden}
.faq__q{width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:'Poppins';font-weight:600;font-size:1.02rem;color:var(--ink)}
.faq__q svg{width:22px;height:22px;flex:0 0 auto;stroke:var(--indigo);transition:transform .3s}
.faq__i.open .faq__q svg{transform:rotate(45deg)}
.faq__a{max-height:0;overflow:hidden;transition:max-height .35s ease}
.faq__a p{padding:0 22px 20px;color:var(--muted);font-size:.95rem}

/* contact */
.ct__g{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:start}
.ct__form{display:flex;flex-direction:column;gap:14px}
.ct__form input,.ct__form textarea{font-family:'Inter';font-size:1rem;padding:14px 16px;border:2px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);transition:border-color .2s;width:100%}
.ct__form input:focus,.ct__form textarea:focus{outline:none;border-color:var(--indigo)}
.ct__form textarea{min-height:130px;resize:vertical}
.ct-aviso{padding:12px 16px;border-radius:10px;font-size:.92rem;border-left:4px solid}
.ct-aviso--ok{background:#EEF2FF;border-color:var(--indigo);color:var(--indigo-d)}
.ct-aviso--err{background:#FEF2F2;border-color:#EF4444;color:#B91C1C}
.ct__side{display:grid;gap:14px}
.ct__chip{display:flex;align-items:center;gap:12px;background:var(--tint);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.ct__chip svg{width:22px;height:22px;stroke:var(--indigo);fill:none;stroke-width:1.9;flex:0 0 auto}
.ct__chip b{font-family:'Poppins';color:var(--ink);display:block;font-size:.95rem}
.ct__chip span{font-size:.86rem;color:var(--muted)}

/* footer */
footer{background:var(--ink);color:#94A3B8;padding:56px 0 28px}
.foot__g{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start}
.foot__logo img{height:32px;margin-bottom:14px}
.foot__soc{display:flex;gap:10px;margin-top:16px}
.foot__soc a{width:40px;height:40px;border-radius:11px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;transition:background .2s}
.foot__soc a:hover{background:var(--grad)}
.foot__soc svg{width:19px;height:19px;fill:#fff}
.foot__links{display:flex;gap:60px;flex-wrap:wrap;justify-content:flex-end}
.foot__links h4{color:#fff;font-size:.9rem;text-transform:uppercase;letter-spacing:.06em;margin-bottom:12px}
.foot__links a{display:block;padding:5px 0;font-size:.92rem;transition:color .2s}
.foot__links a:hover{color:#fff}
.foot__bar{border-top:1px solid rgba(255,255,255,.1);margin-top:40px;padding-top:22px;font-size:.84rem}

/* reveal */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.3,1),transform .7s cubic-bezier(.2,.7,.3,1)}
.reveal.vis{opacity:1;transform:none}

/* responsive */
@media (max-width:940px){
  .serv-grid,.proc,.testi-grid{grid-template-columns:repeat(2,1fr)}
  .why__g,.ct__g{grid-template-columns:1fr;gap:34px}
  .stats__g{grid-template-columns:repeat(2,1fr);gap:26px}
  .foot__g{grid-template-columns:1fr;gap:30px}
  .foot__links{justify-content:flex-start}
}
@media (max-width:640px){
  .menu{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;border-bottom:1px solid var(--line);padding:14px;gap:4px}
  .menu.open{display:flex}
  .menu .lang{margin:6px 0 0}
  #burger{display:block}
  .serv-grid,.proc,.testi-grid,.stats__g{grid-template-columns:1fr}
}
a:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:3px;border-radius:8px}

/* ---- scroll progress ---- */
#progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--grad);z-index:100;transition:width .1s linear}

/* ---- tech marquee ---- */
.techbar{padding:60px 0 40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--bg)}
.marquee{margin-top:28px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__t{display:flex;gap:14px;width:max-content;animation:mq 26s linear infinite}
.marquee:hover .marquee__t{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
.chip-t{flex:0 0 auto;font-family:'Poppins';font-weight:600;font-size:.95rem;color:var(--ink);background:var(--tint);border:1px solid var(--line);border-radius:11px;padding:11px 20px}

/* ---- featured work ---- */
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:48px;text-align:left}
.work{position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;overflow:hidden;transition:transform .3s,box-shadow .3s;isolation:isolate}
.work::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity .3s}
.work[data-tone=a]::before{background:var(--tint)}
.work[data-tone=b]::before{background:#ECFEFF}
.work[data-tone=c]::before{background:#F5F3FF}
.work:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.work:hover::before{opacity:1}
.work__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
.work__cat{font-family:'Poppins';font-weight:600;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--indigo);background:var(--tint);border-radius:999px;padding:6px 12px}
.work__mark{width:42px;height:42px;border-radius:12px;background:var(--grad);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Poppins';font-weight:800;font-size:1.15rem}
.work__name{font-size:1.35rem;margin-bottom:8px}
.work__blurb{font-size:.93rem;color:var(--muted);margin-bottom:18px}
.work__tech{display:flex;flex-wrap:wrap;gap:7px}
.work__tech span{font-size:.76rem;color:var(--slate);background:#fff;border:1px solid var(--line);border-radius:7px;padding:4px 9px}

/* ---- industries ---- */
.ind-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;margin-top:44px}
.ind{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 14px;display:flex;flex-direction:column;align-items:center;gap:12px;transition:transform .25s,border-color .25s,box-shadow .25s}
.ind:hover{transform:translateY(-5px);border-color:transparent;box-shadow:var(--shadow-sm)}
.ind__ico{width:50px;height:50px;border-radius:14px;background:var(--tint);display:flex;align-items:center;justify-content:center;transition:background .3s}
.ind__ico svg{width:26px;height:26px;stroke:var(--indigo);fill:none;stroke-width:1.8}
.ind:hover .ind__ico{background:var(--grad)}
.ind:hover .ind__ico svg{stroke:#fff}
.ind b{font-family:'Poppins';font-weight:600;font-size:.88rem;color:var(--ink);text-align:center}

/* ---- CTA band ---- */
.band{padding:36px 0}
.band__in{background:var(--ink);border-radius:24px;padding:44px 46px;display:flex;align-items:center;justify-content:space-between;gap:26px;flex-wrap:wrap;position:relative;overflow:hidden}
.band__in::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:var(--grad);opacity:.55;filter:blur(30px)}
.band h2{color:#fff;font-size:clamp(1.5rem,3vw,2.1rem);position:relative}
.band p{color:#94A3B8;margin-top:8px;position:relative;max-width:52ch}
.btn--wht{background:#fff;color:var(--ink);position:relative}
.btn--wht:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(0,0,0,.3)}

@media (max-width:940px){.work-grid{grid-template-columns:repeat(2,1fr)}.ind-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:640px){.work-grid{grid-template-columns:1fr}.ind-grid{grid-template-columns:repeat(2,1fr)}.band__in{padding:30px 24px}}

/* ---- solutions ---- */
.sol-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:48px;text-align:left}
.sol{display:flex;gap:18px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 26px;transition:transform .3s,box-shadow .3s,border-color .3s}
.sol:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.sol__ico{flex:0 0 auto;width:52px;height:52px;border-radius:14px;background:var(--grad);display:flex;align-items:center;justify-content:center}
.sol__ico svg{width:26px;height:26px;stroke:#fff;fill:none;stroke-width:1.9}
.sol h3{font-size:1.16rem;margin-bottom:6px}
.sol p{font-size:.93rem;color:var(--muted)}

/* ---- tech chips with logo ---- */
.chip-t{display:inline-flex;align-items:center;gap:9px}
.chip-t svg{width:22px;height:22px}

/* ---- process illustrated ---- */
.proc{position:relative}
.proc::before{content:"";position:absolute;top:26px;left:8%;right:8%;height:2px;background:var(--line);z-index:0}
.proc__c{position:relative;padding-top:0;background:transparent}
.proc__c::before{content:none}
.proc__top{display:flex;flex-direction:column;align-items:flex-start;gap:12px;position:relative;z-index:1;margin-bottom:14px}
.proc__ico{width:56px;height:56px;border-radius:16px;background:#fff;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;transition:border-color .3s,background .3s}
.proc__ico svg{width:26px;height:26px;stroke:var(--indigo);fill:none;stroke-width:1.9}
.proc__c:hover .proc__ico{background:var(--grad);border-color:transparent}
.proc__c:hover .proc__ico svg{stroke:#fff}
.proc__n{font-family:'Poppins';font-weight:800;font-size:1rem;color:#fff;background:var(--grad);border-radius:999px;padding:3px 12px}
.proc__c h3{font-size:1.15rem;margin:0 0 8px}
.proc__c p{font-size:.92rem;color:var(--muted)}

/* ---- industries with desc ---- */
.ind-grid{grid-template-columns:repeat(3,1fr)}
.ind{align-items:flex-start;text-align:left;padding:26px 24px;gap:14px}
.ind b{text-align:left;font-size:1.05rem}
.ind p{font-size:.9rem;color:var(--muted);margin-top:-4px}

/* ---- footer new ---- */
.foot__g{grid-template-columns:1.5fr 2fr;gap:56px}
.foot__brand p{max-width:38ch;color:#94A3B8;margin-bottom:18px}
.foot__ig{display:inline-flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:9px 15px;color:#E2E8F0;font-family:'Poppins';font-weight:600;font-size:.9rem;transition:background .2s}
.foot__ig:hover{background:var(--grad);color:#fff}
.foot__ig svg{width:20px;height:20px;fill:currentColor}
.foot__links{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.foot__bar{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}

@media (max-width:940px){.sol-grid{grid-template-columns:1fr}.ind-grid{grid-template-columns:1fr 1fr}.foot__g{grid-template-columns:1fr}.proc::before{display:none}}
@media (max-width:640px){.ind-grid{grid-template-columns:1fr}.foot__links{grid-template-columns:1fr 1fr}}

/* ---- wizard modal ---- */
.wz{position:fixed;inset:0;z-index:120;display:none}
.wz.open{display:block}
.wz__overlay{position:absolute;inset:0;background:rgba(15,23,42,.55);backdrop-filter:blur(3px)}
.wz__panel{position:relative;max-width:600px;margin:6vh auto;background:#fff;border-radius:22px;box-shadow:0 30px 80px rgba(15,23,42,.35);padding:34px 34px 26px;animation:wzIn .3s ease}
@keyframes wzIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
.wz__x{position:absolute;top:16px;right:18px;background:none;border:none;font-size:1.2rem;color:var(--muted);cursor:pointer;line-height:1}
.wz__bar{height:5px;border-radius:5px;background:var(--line);overflow:hidden;margin-bottom:24px}
.wz__bar span{display:block;height:100%;width:33%;background:var(--grad);transition:width .3s}
.wz__k{font-family:'Poppins';font-weight:700;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--indigo)}
.wz__step h3{font-size:1.4rem;margin:8px 0 20px}
.wz__opts{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.wz__opt{text-align:left;font-family:'Poppins';font-weight:600;font-size:.95rem;color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:14px;padding:16px 18px;cursor:pointer;transition:border-color .2s,background .2s,transform .15s}
.wz__opt:hover{border-color:var(--indigo);transform:translateY(-2px)}
.wz__opt.sel{border-color:transparent;background:var(--tint);box-shadow:inset 0 0 0 2px var(--indigo)}
.wz__lab{display:block;font-family:'Poppins';font-weight:600;font-size:.9rem;color:var(--ink);margin-bottom:10px}
.wz__chips{display:flex;flex-wrap:wrap;gap:9px}
.wz__chip{font-family:'Inter';font-size:.9rem;color:var(--slate);background:#fff;border:2px solid var(--line);border-radius:10px;padding:9px 15px;cursor:pointer;transition:border-color .2s,background .2s}
.wz__chip.sel{border-color:var(--indigo);background:var(--tint);color:var(--indigo-d);font-weight:600}
.wz__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.wz__step input,.wz__step textarea{font-family:'Inter';font-size:1rem;padding:13px 15px;border:2px solid var(--line);border-radius:12px;width:100%;color:var(--ink);transition:border-color .2s}
.wz__step input:focus,.wz__step textarea:focus{outline:none;border-color:var(--indigo)}
.wz__step textarea{min-height:120px;resize:vertical;margin-top:12px}
.wz__nav{display:flex;align-items:center;gap:12px;margin-top:26px}
@media (max-width:560px){.wz__panel{margin:0;min-height:100%;border-radius:0}.wz__opts,.wz__grid{grid-template-columns:1fr}}

/* ---- tech static grid (no marquee) ---- */
.techgrid{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}
.techgrid .chip-t{flex:0 0 auto}
.btn span{white-space:nowrap}


/* ================= HERO (bulletproof, un solo bloque) ================= */
.hero{position:relative;overflow:hidden;min-height:min(84vh,660px);display:flex;align-items:center;background:var(--tint)}
.hero__blob{position:absolute;border-radius:50%;filter:blur(70px);opacity:.20;pointer-events:none;z-index:0}
.hero__blob--1{width:400px;height:400px;background:var(--indigo);top:-120px;right:-60px}
.hero__blob--2{width:340px;height:340px;background:var(--cyan);bottom:-140px;left:-80px}
.hero__stage{position:relative;z-index:2;width:100%;max-width:1180px;margin:0 auto;padding:64px 24px;min-height:380px;display:flex;align-items:center}
.hero__slide{display:none;flex-direction:column;align-items:flex-start;text-align:left;gap:20px;width:100%;animation:heroFade .55s ease}
.hero__slide.on{display:flex}
@keyframes heroFade{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero__slide h1,.hero__slide h2{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:800;letter-spacing:-.02em;max-width:18ch;color:var(--ink)}
.hero__slide p{font-size:1.14rem;max-width:52ch;color:var(--muted);margin:0}
.hero__slide .hero__cta{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-start}
.hero__arw{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:46px;height:46px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s,color .2s}
.hero__arw svg{width:22px;height:22px}
.hero__arw:hover{background:var(--indigo);color:#fff;border-color:transparent}
.hero__arw--l{left:20px}.hero__arw--r{right:20px}
.hero__dots{position:absolute;bottom:30px;left:24px;z-index:4;display:flex;gap:9px}
.hero__dot{width:26px;height:5px;border-radius:5px;border:none;background:var(--line);cursor:pointer;transition:background .25s,width .25s}
.hero__dot.on{width:34px;background:var(--indigo)}
@media(max-width:640px){.hero__arw{display:none}.hero__dots{left:16px}}

/* ---- hero 2-columnas + visual ---- */
.hero__grid{position:relative;z-index:2;width:100%;max-width:1180px;margin:0 auto;padding:56px 24px;display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center}
.hero__stage{max-width:none;margin:0;padding:0;min-height:340px}
.hero__visual{position:relative;display:flex;justify-content:center}
.codewin{width:100%;max-width:440px;background:#0F172A;border-radius:16px;box-shadow:0 30px 70px rgba(15,23,42,.28);overflow:hidden;border:1px solid #1E293B;transform:rotate(1.2deg);transition:transform .4s}
.hero__visual:hover .codewin{transform:rotate(0)}
.codewin__bar{display:flex;align-items:center;gap:7px;padding:12px 14px;background:#111c33;border-bottom:1px solid #1E293B}
.codewin__bar span{width:11px;height:11px;border-radius:50%;background:#334155}
.codewin__bar span:nth-child(1){background:#F87171}.codewin__bar span:nth-child(2){background:#FBBF24}.codewin__bar span:nth-child(3){background:#34D399}
.codewin__bar em{margin-left:8px;font-style:normal;font-size:.78rem;color:#64748B;font-family:'Poppins'}
.codewin__code{margin:0;padding:20px 22px;font-family:ui-monospace,'SFMono-Regular',Menlo,monospace;font-size:.82rem;line-height:1.9;color:#CBD5E1;overflow:auto}
.c-k{color:#818CF8}.c-f{color:#22D3EE}.c-t{color:#34D399}.c-a{color:#FBBF24}.c-s{color:#FB7185}.c-b{color:#F472B6}
.hero__pill{position:absolute;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:11px 16px;font-family:'Poppins';font-weight:600;font-size:.86rem;color:var(--ink);display:flex;align-items:center;gap:9px;animation:floatY 4s ease-in-out infinite}
.hero__pill--1{top:6%;left:-4%}
.hero__pill--1 i{width:9px;height:9px;border-radius:50%;background:#34D399;box-shadow:0 0 0 4px rgba(52,211,153,.2)}
.hero__pill--2{bottom:8%;right:-2%;animation-delay:1.5s}
.hero__pill--2 b{color:var(--indigo);font-weight:800}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media (prefers-reduced-motion:reduce){.hero__pill{animation:none}}
@media (max-width:900px){.hero__grid{grid-template-columns:1fr;gap:34px}.hero__visual{display:none}}

/* ---- contadores pulidos ---- */
.stats{background:var(--ink);color:#fff;border-top:3px solid var(--indigo)}
.stats__g{gap:0}
.stats__c{padding:6px 12px;border-right:1px solid rgba(255,255,255,.08)}
.stats__c:last-child{border-right:none}
.stats__n{font-family:'Poppins';font-weight:800;font-size:clamp(2rem,4.5vw,2.9rem);color:#fff;line-height:1}
.stats__n span{color:var(--cyan)}
.stats__l{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#94A3B8;margin-top:6px}
@media (max-width:640px){.stats__c{border-right:none;border-bottom:1px solid rgba(255,255,255,.08);padding:14px}.stats__c:last-child{border-bottom:none}}

/* ---- wizard: error inline ---- */
.wz__err{max-height:0;overflow:hidden;color:#B91C1C;background:#FEF2F2;border:1px solid #FCA5A5;border-radius:10px;font-size:.88rem;padding:0 14px;margin-top:14px;opacity:0;transition:opacity .2s,max-height .2s,padding .2s}
.wz__err.on{opacity:1;max-height:60px;padding:10px 14px}

/* ---- work: logo de proyecto ---- */
.work__logo{height:56px;display:flex;align-items:center;margin-bottom:16px}
.work__logo img{max-height:44px;max-width:170px;width:auto;object-fit:contain;object-position:left center}
.work__logo .work__mark{width:46px;height:46px;border-radius:12px;background:var(--indigo);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Poppins';font-weight:800;font-size:1.2rem}

/* ---- work: CTA más proyectos ---- */
.work__more{display:flex;justify-content:center;margin-top:40px}

/* ---- wizard: estado enviado ---- */
.wz__done{text-align:center;padding:16px 8px 8px;animation:wzIn .35s ease}
.wz__done-ico{width:66px;height:66px;border-radius:50%;background:#EEF2FF;color:var(--indigo);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}
.wz__done-ico svg{width:34px;height:34px}
.wz__done h3{font-size:1.5rem;margin-bottom:8px}
.wz__done p{color:var(--muted);margin-bottom:8px}
