
  /* ---------- fonts ---------- */
  @font-face{
    font-family:'Big Shoulders';
    src:url('assets/fonts/BigShoulders-Variable.woff2') format('woff2');
    font-weight:500 800; font-style:normal; font-display:swap;
  }
  @font-face{
    font-family:'Public Sans';
    src:url('assets/fonts/PublicSans-Variable.woff2') format('woff2');
    font-weight:400 700; font-style:normal; font-display:swap;
  }
  @font-face{
    font-family:'Plex Mono';
    src:url('assets/fonts/PlexMono-500.woff2') format('woff2');
    font-weight:500; font-style:normal; font-display:swap;
  }
  @font-face{
    font-family:'Plex Mono';
    src:url('assets/fonts/PlexMono-600.woff2') format('woff2');
    font-weight:600; font-style:normal; font-display:swap;
  }
  /* ---------- tokens ----------
     Brand colours sampled directly from the official letterhead & logo:
     blue #0064B0, orange #F7A100, logo green #5A8848. */
  :root{
    --paper:#F1F4F6;
    --paper-raised:#FFFFFF;
    --paper-sunken:#E7ECEF;
    --ink:#101A22;
    --ink-soft:#4A5A66;
    --blue:#0064B0;
    --blue-deep:#043E6E;
    --orange:#F7A100;
    --orange-deep:#B36E00;
    --green:#5A8848;
    --green-deep:#3E5F32;
    --rule:rgba(16,26,34,0.14);
    --rule-strong:rgba(16,26,34,0.30);
    --whatsapp:#22bd5a;
    --hero-bg-1:#0A3A5E;
    --hero-bg-2:#03192B;
    --hero-text:#EEF4EC;
    --hero-muted:#AFC2CC;
    --hero-accent:#FFB92E;
    --footer-bg:#0A1420;
    --footer-ink:#EDF1EA;
    --shadow:0 1px 2px rgba(16,26,34,0.06), 0 8px 24px -12px rgba(16,26,34,0.18);
    --radius-s:3px;
    --radius-m:6px;
    color-scheme: light;
  }
  @media (prefers-color-scheme: dark){
    :root{
      --paper:#0B1218;
      --paper-raised:#141F27;
      --paper-sunken:#080F14;
      --ink:#E7EEF2;
      --ink-soft:#9FB0BA;
      --blue:#5CA8E0;
      --blue-deep:#8FC4EA;
      --orange:#FFB92E;
      --orange-deep:#F7A100;
      --green:#8FBE6C;
      --green-deep:#6EA34E;
      --rule:rgba(231,238,242,0.14);
      --rule-strong:rgba(231,238,242,0.30);
      --shadow:0 1px 2px rgba(0,0,0,0.3), 0 8px 28px -12px rgba(0,0,0,0.5);
      color-scheme: dark;
    }
  }
  :root[data-theme="dark"]{
    --paper:#0B1218; --paper-raised:#141F27; --paper-sunken:#080F14;
    --ink:#E7EEF2; --ink-soft:#9FB0BA; --blue:#5CA8E0; --blue-deep:#8FC4EA;
    --orange:#FFB92E; --orange-deep:#F7A100;
    --green:#8FBE6C; --green-deep:#6EA34E;
    --rule:rgba(231,238,242,0.14); --rule-strong:rgba(231,238,242,0.30);
    --shadow:0 1px 2px rgba(0,0,0,0.3), 0 8px 28px -12px rgba(0,0,0,0.5);
    color-scheme: dark;
  }
  :root[data-theme="light"]{
    --paper:#F1F4F6; --paper-raised:#FFFFFF; --paper-sunken:#E7ECEF;
    --ink:#101A22; --ink-soft:#4A5A66; --blue:#0064B0; --blue-deep:#043E6E;
    --orange:#F7A100; --orange-deep:#B36E00;
    --green:#5A8848; --green-deep:#3E5F32;
    --rule:rgba(16,26,34,0.14); --rule-strong:rgba(16,26,34,0.30);
    --shadow:0 1px 2px rgba(16,26,34,0.06), 0 8px 24px -12px rgba(16,26,34,0.18);
    color-scheme: light;
  }

  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;}
  body{
    margin:0; background:var(--paper); color:var(--ink);
    font-family:'Public Sans', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
    font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;
  }
  img,svg{max-width:100%; display:block;}
  a{color:inherit;}
  ::selection{background:var(--orange); color:#1a1200;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 clamp(18px,4vw,40px);}
  .mono{font-family:'Plex Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;}
  .display{font-family:'Big Shoulders', 'Arial Narrow', sans-serif; font-stretch:condensed; text-transform:uppercase;}
  .eyebrow{
    font-family:'Plex Mono', monospace; font-weight:600; font-size:0.72rem;
    letter-spacing:0.14em; text-transform:uppercase; color:var(--ink-soft);
    display:flex; align-items:center; gap:10px; margin:0 0 14px;
  }
  .eyebrow .num{color:var(--orange-deep); font-weight:600;}
  .eyebrow::after{content:""; flex:1; height:1px; background:var(--rule);}
  h1,h2,h3,h4{margin:0; text-wrap:balance; font-weight:700;}
  p{margin:0;}
  button{font-family:inherit; cursor:pointer;}
  .visually-hidden{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap;}
  :focus-visible{outline:2px solid var(--orange); outline-offset:2px;}

  /* ---------- draft ribbon ---------- */
  .draft-ribbon{
    background:var(--ink); color:var(--paper); font-family:'Plex Mono',monospace;
    font-size:0.74rem; letter-spacing:0.06em; text-align:center; padding:8px 40px 8px 14px;
    position:relative;
  }
  .draft-ribbon b{color:var(--hero-accent);}
  .draft-ribbon button{
    position:absolute; right:10px; top:50%; transform:translateY(-50%);
    background:none; border:none; color:var(--paper); font-size:1rem; line-height:1;
    padding:4px 8px; opacity:0.7;
  }
  .draft-ribbon button:hover{opacity:1;}
  .draft-ribbon.hidden{display:none;}

  /* ---------- nav ---------- */
  header.site{
    position:sticky; top:0; z-index:50; background:var(--paper);
    border-bottom:1px solid transparent; transition:border-color .25s ease, box-shadow .25s ease;
  }
  header.site.scrolled{border-bottom-color:var(--rule); box-shadow:var(--shadow);}
  .nav-row{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px 0;}
  .brandmark{display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink);}
  .brandmark-logo{width:42px; height:42px; flex:none; object-fit:contain;}
  .brandmark .word{line-height:1.05;}
  .brandmark .word .l1{font-family:'Big Shoulders'; font-weight:700; font-size:1.05rem; letter-spacing:0.02em; text-transform:uppercase;}
  .brandmark .word .l2{font-family:'Plex Mono'; font-weight:500; font-size:0.6rem; letter-spacing:0.13em; text-transform:uppercase; color:var(--ink-soft);}
  nav.primary{display:flex; align-items:center; gap:28px;}
  nav.primary a{
    font-family:'Plex Mono'; font-size:0.76rem; letter-spacing:0.08em; text-transform:uppercase;
    text-decoration:none; color:var(--ink-soft); padding:6px 0; border-bottom:1px solid transparent;
    transition:color .15s, border-color .15s;
  }
  nav.primary a:hover{color:var(--ink); border-color:var(--rule-strong);}
  .nav-cta{display:flex; align-items:center; gap:10px;}
  .btn{
    display:inline-flex; align-items:center; gap:8px; font-family:'Plex Mono'; font-weight:600;
    font-size:0.76rem; letter-spacing:0.06em; text-transform:uppercase; text-decoration:none;
    padding:11px 18px; border-radius:var(--radius-s); border:1px solid transparent; white-space:nowrap;
    transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease;
  }
  .btn:active{transform:translateY(1px);}
  .btn-primary{background:var(--blue); color:#fff;}
  .btn-primary:hover{background:var(--blue-deep); box-shadow:var(--shadow);}
  .btn-outline{background:transparent; color:var(--ink); border-color:var(--rule-strong);}
  .btn-outline:hover{border-color:var(--ink); background:var(--paper-sunken);}
  .btn-whatsapp{background:var(--whatsapp); color:#fff;}
  .btn-whatsapp:hover{filter:brightness(1.06); box-shadow:var(--shadow);}
  .btn-ghost-light{background:rgba(238,244,236,0.1); color:var(--hero-text); border-color:rgba(238,244,236,0.35);}
  .btn-ghost-light:hover{background:rgba(238,244,236,0.18);}
  .btn svg{width:15px; height:15px; flex:none;}
  .hamburger{display:none; background:none; border:1px solid var(--rule-strong); border-radius:var(--radius-s); width:40px; height:40px; align-items:center; justify-content:center;}
  .hamburger span, .hamburger::before, .hamburger::after{content:""; display:block; width:18px; height:2px; background:var(--ink);}
  .hamburger{flex-direction:column; gap:4px;}

  /* ---------- hero ---------- */
  .hero{
    position:relative; overflow:hidden; color:var(--hero-text);
    background:linear-gradient(155deg, var(--hero-bg-1), var(--hero-bg-2) 70%);
    padding:clamp(64px,10vw,120px) 0 clamp(56px,8vw,88px);
  }
  .hero .grid-lines{
    position:absolute; inset:0; opacity:0.16; pointer-events:none;
    background-image:
      repeating-linear-gradient(0deg, rgba(238,244,236,0.5) 0 1px, transparent 1px 64px),
      repeating-linear-gradient(90deg, rgba(238,244,236,0.5) 0 1px, transparent 1px 64px);
  }
  .hero .seal-watermark{position:absolute; right:-90px; top:50%; transform:translateY(-50%); width:560px; opacity:0.16; filter:grayscale(1) brightness(1.9); pointer-events:none;}
  .hero-inner{position:relative; display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center;}
  .hero-copy .eyebrow{color:var(--hero-muted);}
  .hero-copy .eyebrow::after{background:rgba(238,244,236,0.18);}
  .hero-copy .eyebrow .num{color:var(--hero-accent);}
  .hero h1{
    font-family:'Big Shoulders'; text-transform:uppercase; font-weight:800;
    font-size:clamp(2.5rem,5.6vw,4.6rem); line-height:0.94; letter-spacing:0.005em; margin-bottom:22px;
  }
  .hero h1 em{font-style:normal; color:var(--hero-accent);}
  .hero .lede{max-width:46ch; font-size:1.08rem; color:var(--hero-muted); margin-bottom:34px;}
  .hero .cta-row{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:36px;}
  .hero .micro-row{display:flex; flex-wrap:wrap; gap:18px 28px; font-family:'Plex Mono'; font-size:0.78rem; color:var(--hero-muted);}
  .hero .micro-row span{display:flex; align-items:center; gap:8px;}
  .hero .micro-row svg{width:14px; height:14px; color:var(--hero-accent);}
  .hero-seal-card{
    justify-self:center; width:min(340px,90%); aspect-ratio:1; position:relative;
  }
  .hero-seal-card img{width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 18px 40px rgba(0,0,0,0.35));}
  .footer-logo{object-fit:contain;}
  .reveal{opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.in{opacity:1; transform:none;}
  .reveal-stagger > *{opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .6s ease;}
  .reveal-stagger.in > *{opacity:1; transform:none;}
  .reveal-stagger.in > *:nth-child(1){transition-delay:.05s;}
  .reveal-stagger.in > *:nth-child(2){transition-delay:.14s;}
  .reveal-stagger.in > *:nth-child(3){transition-delay:.23s;}
  .reveal-stagger.in > *:nth-child(4){transition-delay:.32s;}

  /* ---------- hero path cards ---------- */
  .path-row{display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:30px;}
  .path-card{
    display:flex; flex-direction:column; gap:6px; padding:20px; border-radius:var(--radius-m);
    border:1px solid rgba(238,244,236,0.2); background:rgba(238,244,236,0.06); text-decoration:none;
    color:var(--hero-text); transition:background .15s ease, border-color .15s ease, transform .15s ease;
  }
  .path-card:hover{background:rgba(238,244,236,0.12); border-color:rgba(238,244,236,0.4); transform:translateY(-2px);}
  .path-icon{width:34px; height:34px; color:var(--hero-accent); margin-bottom:4px;}
  .path-icon svg{width:100%; height:100%;}
  .path-tag{font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--hero-muted);}
  .path-title{font-family:'Big Shoulders'; font-weight:700; text-transform:uppercase; font-size:1.3rem; letter-spacing:0.01em;}
  .path-sub{font-size:0.86rem; color:var(--hero-muted);}
  .path-cta{display:flex; align-items:center; gap:6px; font-family:'Plex Mono'; font-size:0.74rem; letter-spacing:0.04em; text-transform:uppercase; color:var(--hero-accent); margin-top:8px;}
  .path-cta svg{width:14px; height:14px;}

  /* ---------- trust band ---------- */
  .trust-band{background:var(--paper-raised); border-bottom:1px solid var(--rule); padding:26px 0;}
  .trust-row{display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
  .trust-item{display:flex; align-items:flex-start; gap:12px;}
  .trust-item svg{width:22px; height:22px; flex:none; color:var(--orange-deep); margin-top:2px;}
  .trust-item span{display:block; font-size:0.88rem; font-weight:600;}
  .trust-item span em{display:block; font-style:normal; font-family:'Plex Mono'; font-size:0.68rem; font-weight:500; letter-spacing:0.03em; color:var(--ink-soft); margin-top:3px;}

  /* ---------- category tiles ---------- */
  .cat-tiles-sec{padding:44px 0; border-bottom:1px solid var(--rule);}
  .cat-tiles{display:grid; grid-template-columns:1fr 1fr; gap:18px;}
  .cat-tile{
    display:flex; flex-direction:column; gap:8px; padding:26px 28px; border-radius:var(--radius-m);
    text-decoration:none; color:#fff; min-height:150px; justify-content:flex-end; position:relative; overflow:hidden;
  }
  .cat-tile-blue{background:linear-gradient(135deg, var(--blue), var(--blue-deep));}
  .cat-tile-green{background:linear-gradient(135deg, var(--green), var(--green-deep));}
  .ct-eyebrow{font-size:0.68rem; letter-spacing:0.1em; text-transform:uppercase; opacity:0.75;}
  .ct-title{font-family:'Big Shoulders'; font-weight:800; text-transform:uppercase; font-size:1.8rem; line-height:1;}
  .ct-desc{font-size:0.88rem; opacity:0.9; max-width:34ch;}
  .ct-count{font-size:0.7rem; opacity:0.75; margin-top:4px;}

  /* ---------- wholesale (B2B) ---------- */
  .b2b-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:start;}
  .mechanics{display:grid; gap:20px;}
  .mech-item{padding-bottom:18px; border-bottom:1px solid var(--rule);}
  .mech-item:last-child{border-bottom:none;}
  .mech-n{font-size:0.78rem; letter-spacing:0.04em; color:var(--blue); margin-bottom:5px; font-weight:600;}
  .mech-item p{color:var(--ink-soft); font-size:0.92rem;}
  .kyc-card{border:1px solid var(--rule); border-radius:var(--radius-m); background:var(--paper-raised); box-shadow:var(--shadow); padding:24px;}
  .kyc-drop{
    display:flex; align-items:center; gap:14px; border:1px dashed var(--rule-strong); border-radius:var(--radius-m);
    padding:20px; background:var(--paper-sunken); color:var(--ink-soft);
  }
  .kyc-drop svg{width:26px; height:26px; flex:none; color:var(--blue);}
  .kyc-drop .t{font-weight:600; color:var(--ink); font-size:0.92rem;}
  .kyc-drop .s{font-size:0.8rem; margin-top:2px;}
  .kyc-card .field input:disabled{opacity:0.6; cursor:not-allowed; background:var(--paper-sunken); color:var(--ink-soft); border-color:var(--rule);}

  /* ---------- retail (B2C) ---------- */
  .retail-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
  .retail-card{
    border:1px solid var(--rule); border-radius:var(--radius-m); background:var(--paper-raised);
    padding:20px; display:flex; flex-direction:column; gap:6px; box-shadow:var(--shadow);
  }
  .rc-cat{font-size:0.66rem; letter-spacing:0.09em; text-transform:uppercase; color:var(--orange-deep);}
  .retail-card h4{font-size:1.05rem;}
  .retail-card p{color:var(--ink-soft); font-size:0.88rem;}
  .rc-price{font-family:'Plex Mono'; font-size:0.76rem; color:var(--blue); margin-top:8px;}

  /* ---------- stats ---------- */
  .stats{border-bottom:1px solid var(--rule); background:var(--paper-raised);}
  .stats-row{display:grid; grid-template-columns:repeat(3,1fr);}
  .stat{padding:30px 20px; text-align:center; border-left:1px solid var(--rule);}
  .stat:first-child{border-left:none;}
  .stat .n{font-family:'Big Shoulders'; font-weight:800; font-size:clamp(2rem,4vw,3rem); color:var(--blue); line-height:1; font-variant-numeric:tabular-nums;}
  .stat .lbl{font-family:'Plex Mono'; font-size:0.72rem; letter-spacing:0.09em; text-transform:uppercase; color:var(--ink-soft); margin-top:8px;}

  /* ---------- section shell ---------- */
  section{padding:clamp(60px,9vw,104px) 0;}
  .section-head{display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:36px; flex-wrap:wrap;}
  .section-head h2{font-family:'Big Shoulders'; text-transform:uppercase; font-weight:800; font-size:clamp(1.9rem,3.6vw,2.7rem); line-height:1;}
  .section-head .desc{max-width:44ch; color:var(--ink-soft); font-size:0.98rem;}
  .sample-tag{
    display:inline-flex; align-items:center; gap:6px; font-family:'Plex Mono'; font-size:0.68rem;
    letter-spacing:0.08em; text-transform:uppercase; color:var(--blue-deep); background:color-mix(in srgb, var(--blue) 14%, transparent);
    border:1px dashed var(--blue); padding:4px 9px; border-radius:20px; margin-bottom:14px;
  }

  /* ---------- about ---------- */
  .about-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
  .about-grid p + p{margin-top:16px;}
  .about-grid p{color:var(--ink-soft); font-size:1.02rem;}
  .lede-cap{font-family:'Big Shoulders'; font-weight:700; font-size:1.5rem; text-transform:uppercase; color:var(--ink); margin-bottom:14px; line-height:1.15;}
  .pillars{display:grid; gap:18px;}
  .pillar{display:flex; gap:16px; padding:18px 0; border-top:1px solid var(--rule);}
  .pillar:first-child{border-top:none; padding-top:0;}
  .pillar .idx{font-family:'Plex Mono'; font-weight:600; color:var(--orange-deep); font-size:0.85rem; flex:none; width:26px; padding-top:2px;}
  .pillar h4{font-size:1.03rem; margin-bottom:4px;}
  .pillar p{color:var(--ink-soft); font-size:0.93rem;}
  .note-card{
    margin-top:22px; border:1px dashed var(--rule-strong); border-radius:var(--radius-m);
    padding:16px 18px; font-size:0.88rem; color:var(--ink-soft); background:var(--paper-sunken);
  }
  .note-card b{color:var(--ink);}

  /* ---------- catalogue ---------- */
  .cat-toolbar{display:flex; flex-wrap:wrap; gap:12px; align-items:center; justify-content:space-between; margin-bottom:28px;}
  .chips{display:flex; flex-wrap:wrap; gap:8px;}
  .chip{
    font-family:'Plex Mono'; font-size:0.74rem; letter-spacing:0.04em; text-transform:uppercase;
    padding:8px 14px; border-radius:20px; border:1px solid var(--rule-strong); background:var(--paper-raised);
    color:var(--ink-soft); display:flex; align-items:center; gap:7px;
  }
  .chip.active{background:var(--blue); border-color:var(--blue); color:#fff;}
  .chip .cnt{opacity:0.7; font-size:0.68rem;}
  .search-box{position:relative; min-width:230px;}
  .search-box input{
    width:100%; font-family:'Plex Mono'; font-size:0.82rem; padding:10px 14px 10px 34px;
    border:1px solid var(--rule-strong); border-radius:20px; background:var(--paper-raised); color:var(--ink);
  }
  .search-box svg{position:absolute; left:12px; top:50%; transform:translateY(-50%); width:14px; height:14px; color:var(--ink-soft);}
  .search-box input:focus{outline:none; border-color:var(--blue);}
  .catalogue-panel{border:1px solid var(--rule); border-radius:var(--radius-m); background:var(--paper-raised); box-shadow:var(--shadow); overflow:hidden;}
  .cat-block{border-top:1px solid var(--rule);}
  .cat-block:first-child{border-top:none;}
  .cat-block-head{
    display:flex; align-items:baseline; gap:12px; padding:18px 22px; background:var(--paper-sunken);
    position:sticky; top:0;
  }
  .cat-block-head h3{font-family:'Big Shoulders'; text-transform:uppercase; font-weight:700; font-size:1.2rem;}
  .cat-block-head .cnt{font-family:'Plex Mono'; font-size:0.72rem; color:var(--ink-soft);}
  .cat-list{
    columns:3 220px; column-gap:0; padding:6px 22px 22px;
  }
  .cat-item{
    font-size:0.89rem; padding:7px 14px 7px 0; border-bottom:1px solid var(--rule); break-inside:avoid;
    display:flex; align-items:center; gap:9px;
  }
  .ci-icon-wrap{
    flex:none; width:24px; height:24px; border-radius:7px; display:flex; align-items:center; justify-content:center;
    background:color-mix(in srgb, var(--ci-color, var(--orange-deep)) 15%, transparent);
  }
  .ci-icon-wrap svg{width:14px; height:14px; color:var(--ci-color, var(--orange-deep));}
  .cat-block[data-cat="Anaesthesia"] .ci-icon-wrap{--ci-color:var(--blue);}
  .cat-block[data-cat="Antibiotics"] .ci-icon-wrap{--ci-color:var(--orange-deep);}
  .cat-block[data-cat="Disinfection Items"] .ci-icon-wrap{--ci-color:var(--green);}
  .cat-block[data-cat="Antifungal"] .ci-icon-wrap{--ci-color:var(--blue-deep);}
  .cat-block[data-cat="Others"] .ci-icon-wrap{--ci-color:var(--green-deep);}
  .ci-name{overflow:hidden; text-overflow:ellipsis;}
  .cat-item mark{background:color-mix(in srgb, var(--hero-accent) 55%, transparent); color:inherit; border-radius:2px;}
  .cat-item.hide{display:none;}
  .cat-block.hide{display:none;}
  .no-results{padding:40px 22px; text-align:center; color:var(--ink-soft); font-family:'Plex Mono'; font-size:0.85rem; display:none;}
  .no-results.show{display:block;}
  .catalogue-foot{
    display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px;
    margin-top:22px; padding-top:20px; border-top:1px solid var(--rule);
  }
  .catalogue-foot .fine{font-family:'Plex Mono'; font-size:0.76rem; color:var(--ink-soft);}

  /* ---------- brands marquee ---------- */
  .brands-sec{background:var(--paper-sunken); border-top:1px solid var(--rule); border-bottom:1px solid var(--rule);}
  .marquee{overflow:hidden; position:relative; -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);}
  .marquee-track{display:flex; width:max-content; gap:14px; padding:6px 0;}
  .marquee-track.rev{animation-direction:reverse;}
  .marquee-track{animation:scroll-x 46s linear infinite;}
  .marquee-track.rev{animation:scroll-x 46s linear infinite reverse;}
  @keyframes scroll-x{from{transform:translateX(0);} to{transform:translateX(-50%);}}
  .brand-chip{
    flex:none; display:flex; align-items:center; justify-content:center;
    width:148px; height:64px; padding:10px 16px; border:1px solid var(--rule-strong); border-radius:var(--radius-s);
    background:#FFFFFF; text-decoration:none; transition:border-color .15s ease, transform .15s ease, box-shadow .15s ease;
  }
  a.brand-chip:hover{border-color:var(--blue); transform:translateY(-2px); box-shadow:var(--shadow);}
  .brand-chip img{max-width:100%; max-height:100%; object-fit:contain;}
  .brand-chip.text-only{
    font-family:'Plex Mono'; font-weight:600; font-size:0.8rem; letter-spacing:0.04em; text-transform:uppercase;
    color:var(--ink-soft); background:var(--paper-raised); text-align:center; line-height:1.3;
  }
  .marquee:hover .marquee-track{animation-play-state:paused;}
  .brands-note{color:var(--ink-soft); font-size:0.92rem; max-width:60ch;}

  /* ---------- case studies ---------- */
  .cs-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
  .cs-card{
    border:1px solid var(--rule); border-radius:var(--radius-m); background:var(--paper-raised);
    padding:24px; display:flex; flex-direction:column; gap:14px; box-shadow:var(--shadow);
  }
  .cs-card .cs-cat{font-family:'Plex Mono'; font-size:0.68rem; letter-spacing:0.09em; text-transform:uppercase; color:var(--orange-deep);}
  .cs-card h4{font-size:1.12rem; line-height:1.3;}
  .cs-card p{color:var(--ink-soft); font-size:0.92rem;}
  .cs-card .cs-metric{
    margin-top:auto; padding-top:14px; border-top:1px solid var(--rule); display:flex; gap:18px;
  }
  .cs-metric div .v{font-family:'Big Shoulders'; font-weight:700; font-size:1.4rem; color:var(--blue);}
  .cs-metric div .k{font-family:'Plex Mono'; font-size:0.65rem; color:var(--ink-soft); text-transform:uppercase;}
  .refs{margin-top:40px; display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
  .ref-card{border-top:2px solid var(--rule-strong); padding-top:14px;}
  .ref-card .type{font-family:'Plex Mono'; font-size:0.66rem; letter-spacing:0.09em; text-transform:uppercase; color:var(--ink-soft);}
  .ref-card p{font-size:0.9rem; color:var(--ink-soft); margin-top:6px;}

  /* ---------- contact ---------- */
  .contact-sec{background:var(--blue-deep); color:var(--hero-text); position:relative; overflow:hidden;}
  .contact-sec .eyebrow{color:var(--hero-muted);}
  .contact-sec .eyebrow::after{background:rgba(238,244,236,0.18);}
  .contact-sec .eyebrow .num{color:var(--hero-accent);}
  .contact-sec .section-head h2{color:var(--hero-text);}
  .contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:48px;}
  .contact-cards{display:grid; gap:14px;}
  .ccard{
    display:flex; align-items:flex-start; gap:14px; padding:18px; border:1px solid rgba(238,244,236,0.18);
    border-radius:var(--radius-m); background:rgba(238,244,236,0.06);
  }
  .ccard svg{width:20px; height:20px; flex:none; color:var(--hero-accent); margin-top:2px;}
  .ccard .k{font-family:'Plex Mono'; font-size:0.66rem; letter-spacing:0.09em; text-transform:uppercase; color:var(--hero-muted); margin-bottom:4px;}
  .ccard .v{font-size:1.02rem;}
  .ccard .v a{text-decoration:none; border-bottom:1px solid rgba(238,244,236,0.3);}
  .ccard .v a:hover{border-color:var(--hero-accent);}
  .ccard .edit-note{display:block; font-size:0.76rem; color:var(--hero-muted); margin-top:3px; font-family:'Plex Mono';}
  .map-card{
    margin-top:14px; border:1px dashed rgba(238,244,236,0.3); border-radius:var(--radius-m);
    padding:22px; display:flex; align-items:center; gap:16px; flex-wrap:wrap; background:rgba(8,33,56,0.4);
  }
  .map-card svg{width:34px; height:34px; flex:none; color:var(--hero-accent);}
  .map-card .t{font-weight:600;}
  .map-card .s{font-size:0.84rem; color:var(--hero-muted); margin-top:2px;}
  form.contact-form{display:grid; gap:14px;}
  .field label{display:block; font-family:'Plex Mono'; font-size:0.68rem; letter-spacing:0.08em; text-transform:uppercase; color:var(--hero-muted); margin-bottom:6px;}
  .field input, .field textarea, .field select{
    width:100%; padding:12px 14px; border-radius:var(--radius-s); border:1px solid rgba(238,244,236,0.28);
    background:rgba(238,244,236,0.07); color:var(--hero-text); font-family:'Public Sans'; font-size:0.95rem;
  }
  .field textarea{resize:vertical; min-height:90px;}
  .field input::placeholder, .field textarea::placeholder{color:rgba(238,244,236,0.4);}
  .field input:focus, .field textarea:focus, .field select:focus{outline:none; border-color:var(--hero-accent); background:rgba(238,244,236,0.1);}
  .two-col{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
  .form-foot{font-size:0.78rem; color:var(--hero-muted); font-family:'Plex Mono';}

  /* ---------- footer ---------- */
  footer.site{background:var(--footer-bg); color:var(--footer-ink); padding:48px 0 24px;}
  .footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:32px; padding-bottom:32px; border-bottom:1px solid rgba(241,244,239,0.14);}
  .footer-grid h5{font-family:'Plex Mono'; font-size:0.7rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(241,244,239,0.55); margin-bottom:14px;}
  .footer-grid ul{list-style:none; margin:0; padding:0; display:grid; gap:9px;}
  .footer-grid a{text-decoration:none; color:rgba(241,244,239,0.85); font-size:0.9rem;}
  .footer-grid a:hover{color:var(--hero-accent);}
  .footer-brand p{color:rgba(241,244,239,0.6); font-size:0.88rem; max-width:34ch; margin-top:12px;}
  .footer-bottom{display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; padding-top:20px; font-family:'Plex Mono'; font-size:0.74rem; color:rgba(241,244,239,0.5);}

  /* ---------- whatsapp float ---------- */
  .wa-float{
    position:fixed; right:22px; bottom:22px; z-index:60; width:58px; height:58px; border-radius:50%;
    background:var(--whatsapp); display:flex; align-items:center; justify-content:center; box-shadow:0 10px 26px -8px rgba(0,0,0,0.4);
    text-decoration:none; color:#fff; animation:wa-pulse 2.6s ease-in-out infinite;
  }
  .wa-float svg{width:28px; height:28px;}
  @keyframes wa-pulse{0%,100%{box-shadow:0 10px 26px -8px rgba(0,0,0,0.4), 0 0 0 0 rgba(34,189,90,0.5);} 50%{box-shadow:0 10px 26px -8px rgba(0,0,0,0.4), 0 0 0 10px rgba(34,189,90,0);}}

  @media (prefers-reduced-motion: reduce){
    .reveal, .reveal-stagger > *{opacity:1 !important; transform:none !important; transition:none !important;}
    .marquee-track{animation:none !important;}
    .wa-float{animation:none !important;}
  }

  /* ---------- responsive ---------- */
  @media (max-width:980px){
    nav.primary{display:none;}
    .hamburger{display:flex;}
    .hero-inner{grid-template-columns:1fr;}
    .hero-seal-card{order:-1; width:220px; margin:0 auto;}
    .path-row{grid-template-columns:1fr;}
    .trust-row{grid-template-columns:1fr 1fr;}
    .cat-tiles{grid-template-columns:1fr;}
    .about-grid{grid-template-columns:1fr;}
    .b2b-grid{grid-template-columns:1fr;}
    .retail-grid{grid-template-columns:1fr 1fr;}
    .cs-grid{grid-template-columns:1fr;}
    .refs{grid-template-columns:repeat(2,1fr);}
    .contact-grid{grid-template-columns:1fr;}
    .footer-grid{grid-template-columns:1fr 1fr;}
    .stats-row{grid-template-columns:1fr; }
    .stat{border-left:none; border-top:1px solid var(--rule);}
    .stat:first-child{border-top:none;}
  }
  @media (max-width:640px){
    .cat-list{columns:1;}
    .two-col{grid-template-columns:1fr;}
    .refs{grid-template-columns:1fr;}
    .trust-row{grid-template-columns:1fr;}
    .retail-grid{grid-template-columns:1fr;}
    .nav-cta .btn span.long{display:none;}
  }
