
  :root{
    --ink:#15141A;
    --ink-soft:#211F29;
    --ink-panel:#2A2833;
    --violet:#6C2BD9;
    --violet-bright:#8B3DFF;
    --violet-deep:#4A1B9C;
    --mist:#ECEAEF;
    --paper:#FAFAFB;
    --white:#FFFFFF;
    --muted:#5A5763;
    --muted-light:#B7B3C2;
    --line:rgba(108,43,217,0.22);
    --line-dark:rgba(255,255,255,0.10);
    --shadow:0 24px 60px -28px rgba(21,20,26,0.45);
    --radius:18px;
    --maxw:1180px;
  }

  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth}
  @media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

  body{
    font-family:'Inter',system-ui,sans-serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }

  h1,h2,h3,h4,.display{font-family:'Archivo',sans-serif;line-height:1.02;letter-spacing:-0.02em}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}

  .wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}

  .eyebrow{
    font-family:'Archivo',sans-serif;
    font-weight:700;
    font-size:.74rem;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--violet);
    display:inline-flex;align-items:center;gap:.6rem;
  }
  .eyebrow::before{content:"";width:30px;height:2px;background:var(--violet)}
  .eyebrow.on-dark{color:var(--violet-bright)}
  .eyebrow.on-dark::before{background:var(--violet-bright)}
  .eyebrow.center{justify-content:center}

  /* ---------- Buttons ---------- */
  .btn{
    display:inline-flex;align-items:center;gap:.55rem;
    font-family:'Archivo',sans-serif;font-weight:700;font-size:.95rem;
    padding:.95rem 1.6rem;border-radius:999px;cursor:pointer;border:0;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
    white-space:nowrap;
  }
  .btn-primary{background:var(--violet);color:#fff;box-shadow:0 14px 30px -12px rgba(108,43,217,.7)}
  .btn-primary:hover{background:var(--violet-bright);transform:translateY(-2px)}
  .btn-ghost{background:transparent;color:var(--ink);border:1.5px solid rgba(21,20,26,.18)}
  .btn-ghost:hover{border-color:var(--violet);color:var(--violet);transform:translateY(-2px)}
  .btn-ghost.on-dark{color:#fff;border-color:rgba(255,255,255,.28)}
  .btn-ghost.on-dark:hover{border-color:#fff;color:#fff}
  .btn .arrow{transition:transform .18s ease}
  .btn:hover .arrow{transform:translateX(3px)}

  /* ---------- Nav ---------- */
  header.nav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    background:rgba(250,250,251,.82);
    backdrop-filter:blur(14px);
    border-bottom:1px solid transparent;
    transition:border-color .25s ease, box-shadow .25s ease;
  }
  header.nav.scrolled{border-bottom:1px solid var(--line);box-shadow:0 8px 24px -18px rgba(21,20,26,.5)}
  .nav-inner{display:flex;align-items:center;justify-content:space-between;height:74px}
  .brand{display:flex;align-items:center;gap:.7rem;font-family:'Archivo',sans-serif;font-weight:900;font-size:1.28rem;letter-spacing:-.03em}
  .brand .mark-img{height:40px;width:auto;flex:none;display:block}
  .brand>span{white-space:nowrap}
  .nav-cta-btn .lbl-short{display:none}
  .brand small{display:block;font-family:'Inter';font-weight:600;font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:1px}
  .nav-links{display:flex;align-items:center;gap:2rem}
  .nav-links a{font-size:.92rem;font-weight:500;color:#36343f;transition:color .15s ease;position:relative}
  .nav-links a:hover{color:var(--violet)}
  .nav-cta{display:flex;align-items:center;gap:.9rem}
  .nav-phone{font-family:'Archivo';font-weight:700;font-size:.9rem;color:var(--ink)}
  .nav-phone span{color:var(--violet)}
  .burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:8px}
  .burger span{width:24px;height:2.5px;background:var(--ink);border-radius:2px;transition:.25s}

  /* ---------- Hero ---------- */
  .hero{position:relative;padding:148px 0 0;background:var(--paper);overflow:hidden}
  .hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center;min-height:560px}
  .hero-pill{
    display:inline-flex;align-items:center;gap:.6rem;
    background:#fff;border:1px solid var(--line);
    padding:.5rem .95rem;border-radius:999px;font-size:.82rem;font-weight:600;color:#36343f;
    box-shadow:0 10px 24px -18px rgba(21,20,26,.5);
  }
  .hero-pill b{color:var(--violet)}
  .dot{width:8px;height:8px;border-radius:50%;background:#2bbf6c;box-shadow:0 0 0 4px rgba(43,191,108,.18)}
  .hero h1{font-size:clamp(2.7rem,5.6vw,4.6rem);font-weight:900;margin:24px 0 0;letter-spacing:-.035em}
  .hero h1 .hl{color:var(--violet);position:relative;white-space:nowrap}
  .hero h1 .hl::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.16em;background:rgba(108,43,217,.18);z-index:-1}
  .hero p.lead{font-size:1.18rem;color:#403d49;max-width:30em;margin-top:22px}
  .hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
  .hero-note{margin-top:16px;font-size:.86rem;color:var(--muted);display:flex;align-items:center;gap:.5rem}

  /* hero visual : diagonal violet/ink panel — the deck's signature slash */
  .hero-visual{position:relative;align-self:stretch}
  .hero-panel{
    position:relative;height:100%;min-height:480px;border-radius:var(--radius);overflow:hidden;
    background:linear-gradient(150deg,var(--violet) 0%,var(--violet-deep) 60%,#2c0f63 100%);
    box-shadow:var(--shadow);
  }
  .hero-panel::before{
    content:"";position:absolute;inset:0;
    background:
      radial-gradient(120% 90% at 90% 10%,rgba(255,255,255,.16),transparent 50%),
      linear-gradient(225deg,rgba(255,255,255,.10) 0 18%,transparent 18.2%);
  }
  .hero-panel .slash{
    position:absolute;right:-10%;bottom:-12%;width:120%;height:55%;
    background:var(--ink);
    clip-path:polygon(0 38%,100% 0,100% 100%,0% 100%);
    opacity:.92;
  }
  .promise{position:absolute;left:30px;right:30px;top:34px;color:#fff}
  .promise .big{font-family:'Archivo';font-weight:900;font-size:clamp(3.6rem,9vw,5.6rem);line-height:.86;letter-spacing:-.04em}
  .promise .big sub{font-size:.34em;vertical-align:super;font-weight:800;opacity:.8;margin-left:.2em}
  .promise .cap{margin-top:10px;font-size:.92rem;font-weight:600;letter-spacing:.02em;max-width:16em;color:rgba(255,255,255,.92)}
  .promise hr{border:0;border-top:1px solid rgba(255,255,255,.28);margin:18px 0;width:64px}
  .ca-badge{
    position:absolute;left:30px;bottom:30px;right:30px;z-index:2;
    background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
    border-radius:14px;padding:16px 18px;backdrop-filter:blur(6px);
    display:flex;align-items:center;gap:14px;color:#fff;
  }
  .ca-badge .ic{width:42px;height:42px;border-radius:10px;background:#fff;color:var(--violet);display:grid;place-items:center;font-family:'Archivo';font-weight:900;flex:none}
  .ca-badge b{font-family:'Archivo';font-weight:800;font-size:.98rem;display:block}
  .ca-badge span{font-size:.8rem;color:rgba(255,255,255,.78)}

  /* trust strip */
  .trust{border-top:1px solid var(--line);margin-top:96px}
  .trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
  .trust-cell{padding:30px 10px 30px 0;border-right:1px solid var(--line)}
  .trust-cell:last-child{border-right:0}
  .trust-cell .num{font-family:'Archivo';font-weight:900;font-size:2.4rem;color:var(--ink);letter-spacing:-.03em}
  .trust-cell .num em{color:var(--violet);font-style:normal}
  .trust-cell .lbl{font-size:.86rem;color:var(--muted);font-weight:500;margin-top:2px}

  /* ---------- Section scaffolding ---------- */
  .section{padding:104px 0}
  .section.tight{padding:84px 0}
  .section-head{max-width:720px;margin-bottom:54px}
  .section-head.center{margin-left:auto;margin-right:auto;text-align:center}
  .section-head h2{font-size:clamp(2rem,4vw,3.1rem);font-weight:800;margin:18px 0 16px;letter-spacing:-.03em}
  .section-head p{font-size:1.08rem;color:var(--muted)}
  .section.dark{background:var(--ink);color:#fff}
  .section.dark .section-head p{color:var(--muted-light)}
  .section.dark h2,.section.dark h3{color:#fff}

  /* ---------- Problem (dark, diagonal) ---------- */
  .problem{position:relative;overflow:hidden}
  .problem::after{
    content:"";position:absolute;top:0;right:0;width:46%;height:100%;
    background:linear-gradient(180deg,#1d1b25,#15141a);
    clip-path:polygon(28% 0,100% 0,100% 100%,0 100%);opacity:.6;z-index:0;
  }
  .problem .wrap{position:relative;z-index:1}
  .problem-top{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:end;margin-bottom:52px}
  .problem-top .kicker{font-family:'Archivo';font-weight:600;font-size:1.18rem;color:var(--muted-light);max-width:24em}
  .problem-top .kicker b{color:#fff}
  .pgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
  .pcard{
    background:var(--ink-soft);border:1px solid var(--line-dark);border-radius:16px;padding:24px 20px 26px;
    transition:transform .25s ease,border-color .25s ease,background .25s ease;position:relative;overflow:hidden;
  }
  .pcard:hover{transform:translateY(-6px);border-color:rgba(139,61,255,.5);background:#262430}
  .pcard .pn{font-family:'Archivo';font-weight:900;font-size:1rem;color:#fff;background:var(--violet);width:40px;height:40px;border-radius:10px;display:grid;place-items:center;margin-bottom:18px}
  .pcard h4{font-size:1.04rem;font-weight:700;line-height:1.2;color:#fff;letter-spacing:-.01em}
  .pcard p{font-size:.86rem;color:var(--muted-light);margin-top:8px}

  /* ---------- Solution ---------- */
  .sol-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
  .scard{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 30px 32px;
    box-shadow:0 18px 44px -34px rgba(21,20,26,.5);transition:transform .25s ease,box-shadow .25s ease;
    position:relative;overflow:hidden;
  }
  .scard::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--violet);transform:scaleY(0);transform-origin:top;transition:transform .3s ease}
  .scard:hover{transform:translateY(-5px);box-shadow:0 30px 60px -34px rgba(21,20,26,.5)}
  .scard:hover::before{transform:scaleY(1)}
  .scard.feature{grid-column:span 2;display:grid;grid-template-columns:1.1fr 1fr;gap:30px;align-items:center;background:linear-gradient(120deg,#fff,#f6f3fc)}
  .scard .ic{width:50px;height:50px;border-radius:13px;background:rgba(108,43,217,.1);color:var(--violet);display:grid;place-items:center;margin-bottom:18px}
  .scard h3{font-size:1.28rem;font-weight:800;margin-bottom:8px}
  .scard p{color:var(--muted);font-size:.98rem}
  .scard .feat-stat{font-family:'Archivo';font-weight:900;font-size:3.4rem;color:var(--violet);letter-spacing:-.04em;line-height:1}
  .scard .feat-stat span{font-size:.92rem;font-weight:600;color:var(--muted);display:block;font-family:'Inter';letter-spacing:0}

  /* ---------- Profiles ---------- */
  .profiles{background:var(--mist)}
  .ptabs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
  .ptab{
    font-family:'Archivo';font-weight:700;font-size:.85rem;padding:.6rem 1.1rem;border-radius:999px;
    background:#fff;border:1px solid rgba(21,20,26,.12);color:#36343f;cursor:pointer;transition:.18s;
  }
  .ptab:hover{border-color:var(--violet);color:var(--violet)}
  .ptab.active{background:var(--violet);color:#fff;border-color:var(--violet)}
  .pcols{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
  .col{
    background:#fff;border-radius:16px;border:1px solid rgba(21,20,26,.06);overflow:hidden;
    box-shadow:0 16px 40px -34px rgba(21,20,26,.55);display:flex;flex-direction:column;
  }
  .col .col-head{background:var(--violet);color:#fff;font-family:'Archivo';font-weight:800;font-size:1rem;padding:16px 18px;letter-spacing:-.01em;line-height:1.15}
  .col ul{list-style:none;padding:14px 18px 20px;display:flex;flex-direction:column;gap:1px}
  .col li{font-size:.9rem;color:#3a3844;padding:7px 0 7px 18px;position:relative;border-bottom:1px solid rgba(21,20,26,.05)}
  .col li:last-child{border-bottom:0}
  .col li::before{content:"";position:absolute;left:0;top:14px;width:7px;height:7px;border-radius:2px;background:var(--violet);opacity:.55}
  .col li.sub{font-weight:700;color:var(--ink);padding-left:0}
  .col li.sub::before{display:none}

  /* ---------- Process ---------- */
  .proc-wrap{position:relative}
  .proc-line{position:absolute;left:28px;top:14px;bottom:14px;width:2px;background:linear-gradient(180deg,var(--violet),rgba(108,43,217,.15))}
  .pstep{display:grid;grid-template-columns:58px 1fr;gap:26px;padding:18px 0;position:relative}
  .pstep .pnum{
    width:58px;height:58px;border-radius:15px;background:#fff;border:2px solid var(--violet);
    color:var(--violet);font-family:'Archivo';font-weight:900;font-size:1.3rem;display:grid;place-items:center;
    z-index:1;transition:.25s;
  }
  .pstep:hover .pnum{background:var(--violet);color:#fff;transform:scale(1.05)}
  .pstep .ptext{padding-top:6px}
  .pstep h3{font-size:1.24rem;font-weight:800;margin-bottom:4px}
  .pstep p{color:var(--muted)}
  .proc-aside{
    background:var(--ink);color:#fff;border-radius:var(--radius);padding:40px 36px;align-self:start;position:sticky;top:96px;overflow:hidden;
  }
  .proc-aside::before{content:"";position:absolute;right:-30%;top:-30%;width:80%;height:80%;background:radial-gradient(circle,rgba(139,61,255,.4),transparent 65%)}
  .proc-aside h3{font-size:1.6rem;font-weight:800;line-height:1.1;margin-bottom:14px;position:relative}
  .proc-aside p{color:var(--muted-light);font-size:.98rem;position:relative}
  .proc-aside .stat{font-family:'Archivo';font-weight:900;font-size:3.2rem;color:#fff;margin-top:24px;line-height:1;position:relative}
  .proc-aside .stat em{color:var(--violet-bright);font-style:normal}
  .proc-aside .stat span{display:block;font-family:'Inter';font-weight:500;font-size:.92rem;color:var(--muted-light);margin-top:6px}
  .proc-cols{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:start}

  /* ---------- Why choose ---------- */
  .why{background:var(--ink);position:relative;overflow:hidden}
  .why::before{content:"";position:absolute;left:0;top:0;width:38%;height:100%;background:linear-gradient(160deg,rgba(108,43,217,.22),transparent 70%)}
  .why .wrap{position:relative}
  .wgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);border-radius:var(--radius);overflow:hidden}
  .wcard{background:var(--ink);padding:38px 36px;transition:background .25s ease}
  .wcard:hover{background:var(--ink-soft)}
  .wcard .wn{font-family:'Archivo';font-weight:900;font-size:.8rem;color:var(--violet-bright);letter-spacing:.1em}
  .wcard h3{font-size:1.4rem;font-weight:800;margin:10px 0 12px;color:#fff;display:flex;align-items:center;gap:.6rem}
  .wcard h3 .tag{font-family:'Inter';font-size:.72rem;font-weight:700;background:rgba(139,61,255,.18);color:#cbb4ff;padding:.25rem .6rem;border-radius:999px;letter-spacing:.02em}
  .wcard p{color:var(--muted-light);font-size:.98rem}
  .wcard p b{color:#fff;font-weight:600}

  /* ---------- Clients ---------- */
  .clients{background:var(--paper)}
  .logo-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
  .logo{
    height:84px;background:#fff;border:1px solid rgba(21,20,26,.08);border-radius:13px;
    display:grid;place-items:center;text-align:center;padding:10px;
    font-family:'Archivo';font-weight:800;font-size:.95rem;color:#3a3844;letter-spacing:-.01em;
    transition:.22s;line-height:1.1;
  }
  .logo:hover{border-color:var(--violet);color:var(--violet);transform:translateY(-3px);box-shadow:0 18px 34px -26px rgba(108,43,217,.6)}
  .logo small{display:block;font-family:'Inter';font-weight:500;font-size:.62rem;color:var(--muted);letter-spacing:.04em;margin-top:3px}
  .clients-foot{display:flex;align-items:center;justify-content:center;gap:.8rem;margin-top:34px;font-family:'Archivo';font-weight:700;font-size:1.05rem;color:var(--ink);text-align:center;flex-wrap:wrap}
  .clients-foot .chip{background:var(--violet);color:#fff;border-radius:999px;padding:.4rem 1rem;font-size:.95rem}

  /* ---------- Audiences ---------- */
  .aud-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
  .aud{border:1px solid var(--line);border-radius:16px;padding:28px 26px 30px;background:#fff;transition:.25s}
  .aud:hover{transform:translateY(-5px);box-shadow:0 26px 54px -36px rgba(21,20,26,.5)}
  .aud .ic{width:46px;height:46px;border-radius:12px;background:var(--ink);color:#fff;display:grid;place-items:center;margin-bottom:16px}
  .aud h3{font-size:1.2rem;font-weight:800;margin-bottom:8px}
  .aud p{color:var(--muted);font-size:.94rem}

  /* ---------- CTA / Contact ---------- */
  .cta{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:0}
  .cta-inner{display:grid;grid-template-columns:1fr .9fr;min-height:540px}
  .cta-left{padding:88px 56px 88px 0;position:relative}
  .cta-left .eyebrow{margin-bottom:18px}
  .cta-left h2{font-size:clamp(2.2rem,4.4vw,3.4rem);font-weight:900;color:#fff;letter-spacing:-.035em;line-height:1.02}
  .cta-left h2 .hl{color:var(--violet-bright)}
  .cta-left p{color:var(--muted-light);font-size:1.1rem;margin-top:18px;max-width:26em}
  .cta-contacts{margin-top:34px;display:flex;flex-direction:column;gap:14px}
  .cta-contacts a{display:flex;align-items:center;gap:14px;color:#fff;font-size:1.02rem;width:fit-content}
  .cta-contacts a .ic{width:42px;height:42px;border-radius:11px;background:rgba(255,255,255,.08);border:1px solid var(--line-dark);display:grid;place-items:center;flex:none;transition:.2s}
  .cta-contacts a:hover .ic{background:var(--violet);border-color:var(--violet)}
  .cta-contacts a small{display:block;color:var(--muted-light);font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
  .cta-contacts a b{font-family:'Archivo';font-weight:700;font-size:1.02rem}

  .cta-right{background:linear-gradient(160deg,var(--violet),var(--violet-deep));padding:56px 48px 56px 116px;position:relative;clip-path:polygon(84px 0,100% 0,100% 100%,0 100%)}
  .form-card{position:relative;z-index:2}
  .form-card h3{font-family:'Archivo';font-weight:900;font-size:1.5rem;color:#fff;margin-bottom:4px}
  .form-card .sub{color:rgba(255,255,255,.78);font-size:.92rem;margin-bottom:22px}
  .field{margin-bottom:14px}
  .field label{display:block;font-size:.76rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.82);margin-bottom:6px}
  .field input,.field select,.field textarea{
    width:100%;padding:.8rem .9rem;border-radius:11px;border:1px solid rgba(255,255,255,.2);
    background:rgba(255,255,255,.1);color:#fff;font-family:'Inter';font-size:.95rem;outline:none;transition:.18s;
  }
  .field textarea{resize:vertical;min-height:74px}
  .field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.55)}
  .field input:focus,.field select:focus,.field textarea:focus{border-color:#fff;background:rgba(255,255,255,.18)}
  .field select option{color:#15141A}
  .form-card .btn{width:100%;justify-content:center;margin-top:6px;background:#fff;color:var(--violet)}
  .form-card .btn:hover{background:var(--ink);color:#fff;transform:translateY(-2px)}
  .form-msg{display:none;margin-top:14px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:11px;padding:12px 14px;font-size:.9rem;color:#fff}
  .form-msg.show{display:block}

  /* ---------- Footer ---------- */
  footer{background:#0F0E13;color:#fff;padding:56px 0 30px}
  .foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:40px;padding-bottom:36px;border-bottom:1px solid var(--line-dark)}
  .foot-brand .brand{color:#fff;margin-bottom:14px}
  .foot-brand .brand small{color:var(--muted-light)}
  .foot-brand p{color:var(--muted-light);font-size:.95rem;max-width:26em}
  .foot-col h4{font-family:'Archivo';font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-light);margin-bottom:14px}
  .foot-col a,.foot-col p{display:block;color:#d9d6e0;font-size:.94rem;margin-bottom:9px;transition:.15s}
  .foot-col a:hover{color:var(--violet-bright)}
  .foot-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:22px;flex-wrap:wrap;gap:12px}
  .foot-bottom p{color:var(--muted-light);font-size:.85rem}
  .foot-bottom .badge{font-family:'Archivo';font-weight:700;font-size:.8rem;color:var(--muted-light);display:flex;align-items:center;gap:.5rem}

  /* ---------- Floating actions ---------- */
  .floats{position:fixed;right:18px;bottom:18px;z-index:90;display:flex;flex-direction:column;gap:10px}
  .float-btn{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;box-shadow:0 12px 28px -10px rgba(0,0,0,.5);transition:transform .18s ease}
  .float-btn:hover{transform:scale(1.08)}
  .float-btn.wa{background:#25D366}
  .float-btn.call{background:var(--violet)}

  /* ---------- Reveal animation ---------- */
  .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

  /* ---------- Responsive ---------- */

  /* Large tablet / small laptop & below — collapse nav, stack hero */
  @media (max-width:1024px){
    .nav-links,.nav-phone{display:none}
    .burger{display:flex}
    .nav-links.open{
      display:flex;flex-direction:column;position:absolute;top:74px;left:0;right:0;
      background:#fff;padding:20px 28px 28px;gap:16px;box-shadow:var(--shadow);border-bottom:1px solid var(--line);
    }
    .nav-links.open a{font-size:1.05rem}

    .hero{padding-top:120px}
    .hero-grid{grid-template-columns:1fr;min-height:auto;gap:34px}
    .hero-visual{margin-top:0}
    .hero-panel{min-height:400px}
    .trust{margin-top:72px}

    .problem-top{grid-template-columns:1fr;gap:18px}
    .pgrid{grid-template-columns:repeat(3,1fr)}
    .pcols{grid-template-columns:repeat(2,1fr)}
    .sol-grid{grid-template-columns:1fr}
    .scard.feature{grid-column:span 1;grid-template-columns:1fr;gap:18px}
    .wgrid{grid-template-columns:1fr}
    .proc-cols{grid-template-columns:1fr;gap:36px}
    .proc-aside{position:static}
    .logo-grid{grid-template-columns:repeat(4,1fr)}
    .aud-grid{grid-template-columns:1fr}

    .cta-inner{grid-template-columns:1fr}
    .cta-left{padding:60px 0 36px}
    .cta-right{clip-path:none;padding:38px 28px 52px;border-radius:0 0 var(--radius) var(--radius)}
  }

  /* Tablet portrait */
  @media (max-width:768px){
    .section{padding:78px 0}
    .section.tight{padding:62px 0}
    .pgrid{grid-template-columns:repeat(2,1fr)}
    .pcols{grid-template-columns:repeat(2,1fr)}
    .logo-grid{grid-template-columns:repeat(3,1fr)}
    .trust-grid{grid-template-columns:repeat(2,1fr)}
    .trust-cell{border-right:0;border-bottom:1px solid var(--line);padding:22px 0}
    .trust-cell:nth-child(odd){border-right:1px solid var(--line);padding-right:18px}
    .foot-grid{grid-template-columns:1fr;gap:30px}
  }

  /* Phone */
  @media (max-width:560px){
    .wrap{padding:0 18px}
    .section{padding:58px 0}
    .section-head{margin-bottom:38px}
    .hero{padding-top:100px}
    .hero h1{font-size:clamp(2.35rem,9vw,3rem)}
    .hero p.lead{font-size:1.05rem}
    .hero-pill{flex-wrap:wrap;font-size:.78rem}
    .hero-actions{gap:10px}
    .hero-actions .btn{width:100%;justify-content:center}
    .hero-panel{min-height:340px}
    .promise .big{font-size:clamp(3rem,18vw,4.4rem)}
    .ca-badge{left:20px;right:20px;bottom:20px;padding:13px 14px}
    .promise{left:22px;right:22px;top:26px}

    .pgrid{grid-template-columns:1fr}
    .pcols{grid-template-columns:1fr}
    .logo-grid{grid-template-columns:repeat(2,1fr)}

    .brand{font-size:1.05rem;gap:.55rem}
    .brand .mark-img{height:34px}
    .nav-cta{gap:.55rem}
    .nav-cta .btn-primary{padding:.7rem 1.05rem;font-size:.85rem}
    .nav-cta-btn .lbl-full{display:none}
    .nav-cta-btn .lbl-short{display:inline}

    .scard{padding:26px 22px 28px}
    .wcard{padding:30px 24px}
    .cta-left h2{font-size:clamp(2rem,8.5vw,2.6rem)}
    .form-card .field input,.form-card .field select,.form-card .field textarea{font-size:1rem}

    .floats{right:12px;bottom:12px;gap:8px}
    .float-btn{width:50px;height:50px}
  }

  /* Very small phones */
  @media (max-width:360px){
    .nav-cta .btn-primary{padding:.62rem .8rem;font-size:.76rem}
    .brand small{display:none}
  }


/* ============================================================
   MULTI-PAGE ADDITIONS — shared components, animations, fixes
   ============================================================ */

/* --- Padding / anchor fixes --- */
section[id], .anchor-target{scroll-margin-top:92px}
.nav-links a.active{color:var(--violet)}
.nav-links a.active::after{content:"";display:block;height:2px;background:var(--violet);border-radius:2px;margin-top:3px}
.btn-block{width:100%;justify-content:center}

/* --- Subpage hero --- */
.page-hero{position:relative;overflow:hidden;padding:156px 0 74px;background:linear-gradient(180deg,#ffffff 0%,var(--paper) 100%);border-bottom:1px solid var(--line)}
.page-hero .wrap{position:relative;z-index:2}
.page-hero h1{font-family:'Archivo';font-weight:900;font-size:clamp(2.4rem,5.4vw,4rem);letter-spacing:-.035em;line-height:1.03;color:var(--ink);margin:14px 0 0}
.page-hero h1 .hl{color:var(--violet)}
.page-hero p.lead{color:var(--muted);font-size:1.18rem;line-height:1.6;max-width:46ch;margin:18px 0 0}
.page-hero .hero-actions{margin-top:30px}

/* --- Floating blobs (subtle motion) --- */
.blob{position:absolute;border-radius:50%;filter:blur(50px);opacity:.42;z-index:0;pointer-events:none;animation:blobfloat 15s ease-in-out infinite}
.blob.v{background:var(--violet-bright)}
.blob.d{background:#c7b8ef}
@keyframes blobfloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(26px,-30px) scale(1.12)}}

/* --- Client logo marquee --- */
.logo-marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.logo-marquee + .logo-marquee{margin-top:20px}
.logo-track{display:flex;gap:20px;width:max-content;animation:sahitya-marq 46s linear infinite}
.logo-track.rev{animation-direction:reverse;animation-duration:52s}
.logo-marquee:hover .logo-track{animation-play-state:paused}
@keyframes sahitya-marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.logo-chip{flex:0 0 auto;height:96px;min-width:170px;display:grid;place-items:center;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 30px;transition:.25s}
.logo-chip img{max-height:46px;max-width:148px;width:auto;filter:grayscale(1) contrast(.92);opacity:.58;transition:.3s}
.logo-chip:hover{border-color:var(--violet);box-shadow:0 12px 26px -16px rgba(108,43,217,.5)}
.logo-chip:hover img{filter:none;opacity:1}

/* --- Testimonials carousel --- */
.tst{position:relative}
.tst-viewport{overflow:hidden;padding:6px 3px}
.tst-track{display:flex;gap:26px;transition:transform .6s cubic-bezier(.4,0,.1,1);will-change:transform}
.tst-card{flex:0 0 calc((100% - 52px)/3);box-sizing:border-box;background:#fff;border:1px solid var(--line);border-radius:18px;padding:36px 34px 28px;position:relative;overflow:hidden;min-height:264px;display:flex;flex-direction:column;transition:.25s}
.tst-card:hover{transform:translateY(-4px);box-shadow:0 26px 50px -30px rgba(21,20,26,.35);border-color:#e0dbe9}
.tst-card .sq{position:absolute;top:24px;right:30px;width:26px;height:26px;background:var(--ink)}
.tst-card .sq i{position:absolute;top:-15px;right:36px;width:18px;height:18px;background:var(--violet);display:block}
.tst-card .sq b{position:absolute;top:9px;right:22px;width:5px;height:5px;background:var(--violet);display:block}
.tst-name{font-family:'Archivo';font-weight:800;font-size:1.35rem;color:var(--ink);margin:4px 0 16px;letter-spacing:-.02em}
.tst-quote{color:var(--ink-soft);font-size:1.04rem;line-height:1.58;flex:1}
.tst-qmark{margin-top:18px;color:var(--violet)}
.tst-nav{display:flex;gap:10px;justify-content:center;align-items:center;margin-top:34px}
.tst-arrow{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:.2s}
.tst-arrow:hover{background:var(--violet);color:#fff;border-color:var(--violet);transform:translateY(-1px)}
.tst-dots{display:flex;gap:8px;margin:0 10px}
.tst-dot{width:8px;height:8px;border-radius:50%;background:var(--mist);border:0;padding:0;cursor:pointer;transition:.25s}
.tst-dot.active{background:var(--violet);width:22px;border-radius:5px}

/* --- Careers "join us" band (home) --- */
.join{position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(125deg,var(--violet-deep),var(--violet) 60%,var(--violet-bright));color:#fff;padding:56px 60px;display:grid;grid-template-columns:1.4fr auto;gap:30px;align-items:center}
.join::before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;background:rgba(255,255,255,.12);top:-90px;right:-40px;animation:blobfloat 16s ease-in-out infinite}
.join::after{content:"";position:absolute;width:170px;height:170px;border-radius:50%;background:rgba(255,255,255,.08);bottom:-70px;left:30%;animation:blobfloat 20s ease-in-out infinite reverse}
.join .join-c{position:relative;z-index:2}
.join .eyebrow{color:#e7dcff}
.join .eyebrow::before{background:#c9b6ff}
.join h2{font-family:'Archivo';font-weight:900;font-size:clamp(1.9rem,3.4vw,2.9rem);letter-spacing:-.03em;line-height:1.04;margin:8px 0 0}
.join p{color:#eadffb;margin-top:14px;font-size:1.08rem;max-width:40ch}
.join .join-cta{position:relative;z-index:2}
.join .btn.white{background:#fff;color:var(--violet-deep)}
.join .btn.white:hover{background:#f2ecff;transform:translateY(-2px)}

/* --- Careers page: jobs --- */
.job-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:30px}
.jobs{display:flex;flex-direction:column;gap:16px}
.job{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 30px;display:grid;grid-template-columns:1fr auto;gap:18px 24px;align-items:center;transition:.22s}
.job:hover{transform:translateY(-3px);box-shadow:0 26px 50px -32px rgba(21,20,26,.4);border-color:#e0dbe9}
.job h3{font-family:'Archivo';font-weight:800;font-size:1.35rem;color:var(--ink);letter-spacing:-.02em}
.job-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:600;color:var(--violet-deep);background:#efeafc;border-radius:999px;padding:.34rem .8rem}
.tag.ghost{color:var(--muted);background:transparent;border:1px solid var(--line)}
.job-desc{color:var(--muted);margin-top:14px;font-size:.98rem;line-height:1.6;max-width:66ch}
.job-cta{align-self:center;white-space:nowrap}
.jobs-empty{color:var(--muted);padding:30px 0}
.job-open-hint{font-size:.86rem;color:var(--muted)}

/* --- Shared form styling (contact + apply) --- */
.sform .field{margin-bottom:16px}
.sform .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.sform label{display:block;font-size:.76rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.sform input,.sform select,.sform textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:.85rem 1rem;font:inherit;background:#fff;color:var(--ink);transition:.18s}
.sform input:focus,.sform select:focus,.sform textarea:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(108,43,217,.15)}
.sform textarea{min-height:120px;resize:vertical}
.sform .hint{font-size:.82rem;color:var(--muted);margin-top:10px}
.form-ok{display:none;margin-top:14px;padding:.8rem 1rem;background:#eafaf0;color:#1c7a45;border-radius:12px;font-size:.92rem;font-weight:600}
.form-ok.show{display:block}

/* --- Modal (apply) --- */
.modal{position:fixed;inset:0;z-index:300;display:none;background:rgba(21,20,26,.55);padding:20px;overflow:auto}
.modal.open{display:grid;place-items:center}
.modal-card{background:#fff;border-radius:20px;max-width:560px;width:100%;padding:34px 34px 30px;position:relative;box-shadow:0 40px 80px -30px rgba(21,20,26,.6);animation:modalpop .28s ease}
@keyframes modalpop{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.modal-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:#fff;cursor:pointer;display:grid;place-items:center;color:var(--ink);transition:.18s}
.modal-close:hover{background:var(--ink);color:#fff}
.modal-card .eyebrow{margin-bottom:6px}
.modal-card h3{font-family:'Archivo';font-weight:800;font-size:1.5rem;color:var(--ink);margin-bottom:4px;letter-spacing:-.02em}
.modal-card .for-role{color:var(--violet);font-weight:600;margin-bottom:20px}

/* --- Contact page --- */
.contact-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:44px;align-items:start}
.info-item{display:flex;gap:15px;align-items:flex-start;padding:18px 0;border-bottom:1px solid var(--line)}
.info-item:last-child{border-bottom:0}
.info-item .ic{width:44px;height:44px;border-radius:12px;background:#efeafc;color:var(--violet-deep);display:grid;place-items:center;flex:none}
.info-item .lbl{font-size:.76rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.info-item .val{font-family:'Archivo';font-weight:700;color:var(--ink);font-size:1.08rem;margin-top:2px}
.info-item a.val:hover{color:var(--violet)}
.contact-map{margin-top:26px}
.contact-map iframe{width:100%;height:300px;border:0;border-radius:18px;filter:grayscale(.25) contrast(1.02)}
.contact-form-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:36px 34px;box-shadow:0 30px 60px -40px rgba(21,20,26,.4)}

/* --- Values (about) --- */
.value-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.value{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 30px}
.value .vn{font-family:'Archivo';font-weight:900;color:var(--violet);font-size:1.5rem}
.value h3{font-family:'Archivo';font-weight:800;font-size:1.2rem;color:var(--ink);margin:8px 0 8px}
.value p{color:var(--muted);font-size:.98rem;line-height:1.6}

/* --- Reduced motion --- */
@media (prefers-reduced-motion:reduce){
  .logo-track{animation:none}.blob,.join::before,.join::after{animation:none}
  .tst-track{transition:none}
}

/* --- Responsive for new components --- */
@media (max-width:1024px){
  .tst-card{flex-basis:calc((100% - 26px)/2)}
  .join{padding:44px 40px;grid-template-columns:1fr;gap:22px}
  .contact-grid{grid-template-columns:1fr;gap:34px}
  .value-grid{grid-template-columns:1fr}
}
@media (max-width:680px){
  .tst-card{flex-basis:100%}
  .job{grid-template-columns:1fr}
  .job-cta{align-self:stretch}
  .job-cta .btn{width:100%;justify-content:center}
  .sform .row2{grid-template-columns:1fr}
  .page-hero{padding:132px 0 56px}
}

/* hero content above blobs */
.hero > .wrap{position:relative;z-index:2}
.btn.lg{padding:1rem 1.7rem;font-size:1.02rem}
