  /* ===== Brand palette, derived from assets/logo.png (indigo to violet gradient) ===== */
  :root{
    --bg:#0a0810;
    --bg-1:#0e0b16;
    --bg-2:#15111f;
    --bg-3:#1b1629;
    --line:rgba(168,139,250,.14);
    --line-strong:rgba(168,139,250,.28);
    --ink:#F3F1FA;
    --muted:#A8A3BE;
    --muted-2:#736d88;
    --violet:#8b5cf6;
    --violet-bright:#a855f7;
    --magenta:#c44ff0;
    --grad:linear-gradient(118deg,#5b21b6 0%,#7c3aed 46%,#b14fe0 100%);
    --grad-text:linear-gradient(110deg,#a855f7 0%,#c084fc 55%,#e9d5ff 100%);
    --radius:16px;
    --radius-sm:11px;
    --container:1140px;
    --ease:cubic-bezier(.22,.61,.36,1);
  }

  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;scroll-padding-top:88px;-webkit-text-size-adjust:100%}
  body{
    font-family:'Inter',ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    background:var(--bg);
    color:var(--ink);
    line-height:1.6;
    font-size:17px;
    letter-spacing:-.01em;
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  /* ambient brand glow */
  body::before{
    content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
    background:
      radial-gradient(620px 520px at 78% -8%, rgba(124,58,237,.22), transparent 60%),
      radial-gradient(560px 480px at 8% 12%, rgba(177,79,224,.14), transparent 60%),
      radial-gradient(900px 700px at 50% 108%, rgba(91,33,182,.18), transparent 60%);
  }

  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  em{font-style:italic;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
  ::selection{background:rgba(168,85,247,.34);color:#fff}

  .container{max-width:var(--container);margin:0 auto;padding:0 24px}
  section{position:relative}
  .kicker{
    display:inline-flex;align-items:center;gap:8px;
    font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;
    color:var(--violet-bright);margin-bottom:18px;
  }
  .kicker::before{content:"";width:22px;height:1.5px;background:var(--grad);border-radius:2px}
  h1,h2,h3{letter-spacing:-.03em;line-height:1.05;font-weight:700}
  .muted{color:var(--muted)}

  /* ===== Buttons ===== */
  .btn{
    display:inline-flex;align-items:center;justify-content:center;gap:8px;
    font-weight:600;font-size:15.5px;letter-spacing:-.01em;
    padding:13px 22px;border-radius:999px;cursor:pointer;border:1px solid transparent;
    transition:transform .2s var(--ease),box-shadow .25s var(--ease),background .25s,border-color .25s;
    white-space:nowrap;
  }
  .btn-primary{background:var(--grad);color:#fff;box-shadow:0 8px 30px -8px rgba(124,58,237,.6)}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 40px -10px rgba(124,58,237,.75)}
  .btn-ghost{background:rgba(255,255,255,.02);border-color:var(--line-strong);color:var(--ink)}
  .btn-ghost:hover{border-color:var(--violet);background:rgba(124,58,237,.1);transform:translateY(-2px)}
  .btn:focus-visible{outline:2px solid var(--violet-bright);outline-offset:3px}

  /* ===== Skip link ===== */
  .skip{position:absolute;left:-9999px;top:8px;z-index:200;background:var(--bg-2);padding:10px 16px;border-radius:10px;border:1px solid var(--line-strong)}
  .skip:focus{left:16px}

  /* visually-hidden honeypot */
  .hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

  /* ===== Header ===== */
  header.nav{
    position:sticky;top:0;z-index:100;
    backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);
    background:rgba(10,8,16,.72);border-bottom:1px solid transparent;transition:border-color .3s,background .3s;
  }
  header.nav.scrolled{border-bottom-color:var(--line);background:rgba(10,8,16,.86)}
  .nav-inner{display:flex;align-items:center;gap:18px;height:72px}
  .brand{display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:-.02em;font-size:19px}
  .brand img{width:42px;height:42px;object-fit:contain;background:#fff;border-radius:50%;padding:4px;box-shadow:0 2px 12px -2px rgba(124,58,237,.5)}
  .nav-links{display:flex;gap:30px;margin-left:auto;font-size:15px;font-weight:500}
  .nav-links a{color:var(--muted);transition:color .2s;position:relative}
  .nav-links a:hover{color:var(--ink)}
  .nav-right{display:flex;align-items:center;gap:14px;margin-left:24px}

  /* language toggle */
  .lang{display:inline-flex;border:1px solid var(--line-strong);border-radius:999px;overflow:hidden;background:rgba(255,255,255,.02)}
  .lang button{
    appearance:none;border:0;background:transparent;color:var(--muted);
    font:inherit;font-size:13px;font-weight:600;padding:7px 12px;cursor:pointer;letter-spacing:.02em;transition:color .2s,background .2s;
  }
  .lang button[aria-pressed="true"]{color:#fff;background:var(--grad)}
  .lang button:focus-visible{outline:2px solid var(--violet-bright);outline-offset:-1px}

  .menu-toggle{display:none;appearance:none;background:transparent;border:1px solid var(--line-strong);border-radius:10px;width:42px;height:40px;cursor:pointer;color:var(--ink);align-items:center;justify-content:center}
  .menu-toggle svg{width:20px;height:20px}

  /* ===== Hero ===== */
  .hero{padding:clamp(60px,9vw,116px) 0 clamp(48px,7vw,84px)}
  .hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(32px,5vw,64px);align-items:center}
  .hero h1{font-size:clamp(38px,5.4vw,64px)}
  .hero .sub{font-size:clamp(17px,2vw,20px);color:var(--muted);max-width:54ch;margin-top:24px}
  .hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
  .hero-note{margin-top:28px;font-size:14px;color:var(--muted-2);display:flex;align-items:center;gap:10px;flex-wrap:wrap}
  .hero-note .dot{width:7px;height:7px;border-radius:50%;background:var(--violet-bright);box-shadow:0 0 12px var(--violet-bright)}

  /* hero visual: a finished sample creative with its variant stack */
  .hero-visual{position:relative}
  .hero-art{position:relative;border:1px solid var(--line);border-radius:22px;overflow:hidden;
    background:radial-gradient(120% 90% at 82% 0%,rgba(124,58,237,.30),transparent 58%),linear-gradient(160deg,var(--bg-2),var(--bg-1));
    padding:clamp(30px,4vw,48px) clamp(24px,3.5vw,40px);min-height:368px;display:grid;place-items:center}
  .hero-art::after{content:"";position:absolute;width:300px;height:300px;right:-70px;bottom:-90px;background:radial-gradient(circle,rgba(177,79,224,.32),transparent 70%);pointer-events:none}
  .deck{position:relative;width:min(266px,78%)}
  .deck-card{position:absolute;inset:0;border-radius:16px;border:1px solid var(--line);background:var(--bg-2);z-index:0}
  .deck-card.dc1{transform:translate(15px,18px) rotate(4deg);opacity:.5}
  .deck-card.dc2{transform:translate(28px,34px) rotate(8deg);opacity:.26}
  .ad-card{position:relative;z-index:2;border-radius:16px;overflow:hidden;border:1px solid var(--line-strong);background:var(--bg-3);box-shadow:0 34px 64px -26px rgba(0,0,0,.75);animation:floaty 7s var(--ease) infinite;will-change:transform}
  .ad-vis{position:relative;aspect-ratio:16/10;display:grid;place-items:center;background:radial-gradient(120% 120% at 28% 18%,#9061f9,#5b21b6 56%,#2a1248)}
  .ad-mark{width:48%;height:auto}
  .ad-ratio{position:absolute;top:10px;right:10px;font-size:11px;font-weight:600;letter-spacing:.04em;color:#fff;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.2);padding:3px 9px;border-radius:999px}
  .ad-body{padding:15px 16px 17px;background:linear-gradient(180deg,var(--bg-2),var(--bg-1))}
  .ad-eyebrow{display:block;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--violet-bright)}
  .ad-h{font-size:18px;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:8px 0 14px;color:var(--ink)}
  .ad-cta{display:inline-block;font-size:13px;font-weight:600;color:#fff;background:var(--grad);padding:9px 16px;border-radius:999px}
  .variants-chip{position:absolute;left:18px;bottom:18px;z-index:3;font-size:12.5px;color:var(--ink);background:rgba(18,14,28,.82);border:1px solid var(--line-strong);border-radius:999px;padding:8px 14px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);box-shadow:0 10px 26px -12px rgba(0,0,0,.65)}
  .variants-chip b{color:var(--violet-bright);font-weight:700}
  @keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

  /* ===== Stats ===== */
  .stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-top:clamp(40px,6vw,68px)}
  .stat{background:var(--bg-1);padding:30px 26px}
  .stat .n{font-size:clamp(22px,3vw,34px);font-weight:700;letter-spacing:-.03em;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
  .stat .l{font-size:14px;color:var(--muted);margin-top:8px;line-height:1.45}

  /* ===== Section scaffold ===== */
  .sec{padding:clamp(72px,10vw,128px) 0}
  .sec.pt0{padding-top:0}
  .contact-h{font-size:clamp(30px,4.6vw,52px)}
  .sec-head{max-width:62ch}
  .sec-head h2{font-size:clamp(30px,4.6vw,52px)}
  .sec-head p{color:var(--muted);font-size:clamp(16px,1.9vw,19px);margin-top:20px;max-width:60ch}
  .sec-head p + p{margin-top:14px}

  /* ===== How-it-works illustrated process cards ===== */
  .pflow{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:clamp(46px,6vw,64px)}
  .pcard{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,var(--bg-2),var(--bg-1));overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s,transform .25s}
  .pcard:hover{border-color:var(--line-strong);transform:translateY(-3px)}
  .pcard-top{padding:22px 22px 2px}
  .pcard-label{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}
  .pcard-idx{font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--violet-bright);border:1px solid var(--line-strong);border-radius:6px;padding:3px 7px}
  .pcard-desc{margin-top:11px;font-size:13.5px;color:var(--muted);line-height:1.5;min-height:2.6em}
  .pvis{margin:18px 16px 16px;border-radius:12px;border:1px solid var(--line);background:radial-gradient(130% 100% at 50% -10%, rgba(124,58,237,.18), rgba(10,8,16,.25));aspect-ratio:1/1;overflow:hidden}
  .pvis svg{width:100%;height:100%;display:block}
  @media (max-width:900px){ .pflow{grid-template-columns:repeat(2,1fr)} }
  @media (max-width:520px){ .pflow{grid-template-columns:1fr} .pvis{max-width:320px;margin-inline:auto} }

  /* ===== Service split ===== */
  .split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,72px);align-items:center}
  .panel{
    border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(160deg,var(--bg-2),var(--bg-1));
    padding:clamp(28px,4vw,42px);position:relative;overflow:hidden;
  }
  .panel::before{content:"";position:absolute;width:280px;height:280px;right:-90px;top:-90px;background:radial-gradient(circle,rgba(124,58,237,.32),transparent 70%);pointer-events:none}
  .flow{display:flex;flex-direction:column;gap:14px;position:relative}
  .flow-row{display:flex;align-items:center;gap:14px;font-size:15px}
  .flow-row .chip{flex:0 0 auto;min-width:128px;text-align:center;padding:11px 14px;border-radius:10px;border:1px solid var(--line-strong);background:rgba(255,255,255,.02);font-weight:600;font-size:14px}
  .flow-row .chip.accent{background:var(--grad);border-color:transparent;color:#fff}
  .flow-row .desc{color:var(--muted);font-size:14px}
  .flow .arrow{color:var(--violet-bright);font-size:18px;text-align:center;width:128px;line-height:1}
  .keeplist .keep-h{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);margin-bottom:20px}
  .keeplist ul{list-style:none;display:flex;flex-direction:column;gap:16px}
  .keeplist li{display:flex;align-items:flex-start;gap:13px;font-size:15.5px;color:var(--ink);line-height:1.4}
  .keeplist li .ic{flex:0 0 auto;width:27px;height:27px;border-radius:50%;display:grid;place-items:center;background:rgba(124,58,237,.16);border:1px solid var(--line-strong);color:var(--violet-bright);margin-top:1px}
  .keeplist li .ic svg{width:15px;height:15px}

  /* ===== Value cards ===== */
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:clamp(40px,6vw,64px)}
  .card{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:28px 26px;transition:border-color .25s,transform .25s,background .25s}
  .card:hover{border-color:var(--line-strong);transform:translateY(-3px);background:var(--bg-2)}
  .card .ic{width:42px;height:42px;border-radius:11px;background:rgba(124,58,237,.14);border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;color:var(--violet-bright);margin-bottom:18px}
  .card .ic svg{width:21px;height:21px}
  .card h3{font-size:19px;margin-bottom:10px}
  .card p{font-size:14.5px;color:var(--muted);line-height:1.55}

  /* ===== Formats band ===== */
  .formats{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:clamp(36px,5vw,56px)}
  .fmt{border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px;background:var(--bg-1)}
  .fmt .t{font-size:13px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2)}
  .fmt .v{font-size:clamp(22px,2.7vw,30px);font-weight:700;letter-spacing:-.02em;margin:10px 0 12px;background:var(--grad-text);-webkit-background-clip:text;background-clip:text;color:transparent}
  .fmt p{font-size:14.5px;color:var(--muted)}

  /* ===== Quote band ===== */
  .quote{padding:clamp(56px,8vw,96px) 0}
  .quote-inner{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(135deg,rgba(124,58,237,.14),rgba(177,79,224,.06));padding:clamp(40px,6vw,72px);text-align:center}
  .quote-inner h2{font-size:clamp(28px,4.4vw,50px)}
  .quote-inner p{color:var(--muted);max-width:58ch;margin:20px auto 0;font-size:clamp(15px,1.8vw,18px)}

  /* ===== Contact ===== */
  .contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,5vw,64px);align-items:start}
  form.brief{background:var(--bg-1);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(26px,3.5vw,38px);display:grid;gap:16px}
  .field{display:grid;gap:7px}
  .row2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  label{font-size:13.5px;font-weight:600;color:var(--ink)}
  label .opt{color:var(--muted-2);font-weight:400}
  input,select,textarea{
    font:inherit;font-size:15px;color:var(--ink);background:var(--bg-3);
    border:1px solid var(--line-strong);border-radius:11px;padding:12px 14px;width:100%;transition:border-color .2s,box-shadow .2s;
  }
  textarea{resize:vertical;min-height:108px}
  input::placeholder,textarea::placeholder{color:var(--muted-2)}
  input:focus,select:focus,textarea:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3px rgba(124,58,237,.22)}
  form.brief .btn-primary{width:100%;margin-top:4px}
  .form-status{font-size:14px;min-height:1.2em;margin-top:-4px}
  .form-status.err{color:#ff9b9b}
  .form-status.ok{color:#9af0c0}
  .form-meta{font-size:13px;color:var(--muted-2)}
  .contact-aside .lead{font-size:clamp(16px,1.9vw,19px);color:var(--muted);margin-top:18px}
  .contact-aside .email-line{margin-top:26px;font-size:16px}
  .contact-aside .email-line a{color:var(--violet-bright);font-weight:600;border-bottom:1px solid var(--line-strong)}
  .contact-aside .email-line a:hover{border-bottom-color:var(--violet-bright)}
  .contact-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
  .contact-btn{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--muted);border:1px solid var(--line-strong);border-radius:999px;padding:10px 18px;transition:color .2s,border-color .2s,background .2s}
  .contact-btn:hover{color:var(--ink);border-color:var(--violet);background:rgba(124,58,237,.08)}
  .contact-btn svg{width:15px;height:15px;color:var(--violet-bright)}
  .badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
  .badge{font-size:13px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:7px 14px;background:rgba(255,255,255,.02)}

  /* ===== Footer ===== */
  footer{border-top:1px solid var(--line);padding:52px 0 40px;margin-top:clamp(40px,6vw,80px)}
  .foot-grid{display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;align-items:flex-start}
  .foot-brand{max-width:34ch}
  .foot-brand .brand{margin-bottom:14px}
  .foot-brand p{font-size:14px;color:var(--muted)}
  .foot-cols{display:flex;gap:64px;flex-wrap:wrap}
  .foot-col h4{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2);margin-bottom:14px}
  .foot-col a,.foot-col span{display:block;font-size:14.5px;color:var(--muted);margin-bottom:9px;transition:color .2s}
  .foot-col a:hover{color:var(--ink)}
  .foot-bottom{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;margin-top:44px;padding-top:22px;border-top:1px solid var(--line);font-size:13px;color:var(--muted-2)}
  .foot-bottom a{color:var(--muted);border-bottom:1px solid var(--line-strong);transition:color .2s}
  .foot-bottom a:hover{color:var(--ink)}

  /* ===== Reveal animation ===== */
  .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
  .reveal.in{opacity:1;transform:none}

  /* ===== Responsive ===== */
  @media (max-width:980px){
    .stats{grid-template-columns:repeat(2,1fr)}
    .cards{grid-template-columns:repeat(2,1fr)}
    .split{grid-template-columns:1fr;gap:36px}
    .hero-grid{grid-template-columns:1fr;gap:38px}
    .hero-visual{max-width:560px}
    .contact-grid{grid-template-columns:1fr;gap:40px}
    .contact-aside{order:-1}
  }
  @media (max-width:720px){
    .nav-links{
      position:absolute;top:72px;left:0;right:0;flex-direction:column;gap:0;
      background:rgba(12,9,20,.98);border-bottom:1px solid var(--line);
      padding:8px 24px 18px;display:none;margin-left:0;
    }
    .nav-links.open{display:flex}
    .nav-links a{padding:13px 0;border-bottom:1px solid var(--line);font-size:16px;color:var(--ink)}
    .nav-right{margin-left:auto}
    .menu-toggle{display:inline-flex}
    .formats{grid-template-columns:1fr}
    .row2{grid-template-columns:1fr}
    .foot-cols{gap:40px}
  }
  @media (max-width:460px){
    .stats{grid-template-columns:1fr}
    .cards{grid-template-columns:1fr}
    .nav-right .btn{display:none}
  }

  /* no-JS fallback: reveal everything if scripts don't run */
  .no-js .reveal{opacity:1;transform:none}

  @media (prefers-reduced-motion:reduce){
    html{scroll-behavior:auto}
    .reveal{opacity:1;transform:none;transition:none}
    .btn,.card{transition:none}
    .ad-card{animation:none}
  }
