/* ============================================================
   PromoKau Media Group — landing styles
   Extracted verbatim from the original inline <style> block.
   Accent is fixed to the brand magenta (the design default).
   ============================================================ */

/* WordPress accessibility helper */
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{background:#fff;clip:auto;color:#13283C;display:block;height:auto;left:6px;top:6px;padding:12px 18px;width:auto;z-index:100000;border-radius:5px}

  *{box-sizing:border-box}
  html,body{margin:0;padding:0}
  html{scroll-behavior:smooth}
  body{
    font-family:var(--font-body);
    color:var(--kmg-grey-600);
    background:var(--kmg-white);
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  ::selection{background:var(--accent,var(--kmg-magenta));color:#fff}

  /* ----- accent theming (driven by Tweaks) ----- */
  :root{
    --accent:var(--kmg-magenta);
    --accent-grad:var(--grad-magenta);
    --accent-hover:var(--kmg-magenta-hover);
    /* house radius — everything 5px */
    --radius-pill:5px;
    --radius-lg:5px;
    --radius-md:5px;
    /* body text: no greys — dark text is #202020 (white is set per-element on dark) */
    --kmg-grey-500:#202020;
    --kmg-grey-600:#202020;
    --kmg-grey-700:#202020;
    /* softer elevation for large elements */
    --shadow-pop:0 14px 40px -16px rgba(8,30,52,.13);
    --maxw:1200px;
    --gutter:194px;
    --sy:0;
  }

  .wrap{max-width:1536px;margin:0 auto;padding:0 48px}
  @media(max-width:600px){.wrap{padding:0 20px}}

  /* eyebrow pill (Localyzer-flavoured) */
  .pill-eyebrow{
    display:inline-flex;align-items:center;gap:9px;
    font-family:var(--font-display);font-weight:600;
    font-size:12.5px;letter-spacing:1.6px;text-transform:uppercase;
    padding:7px 15px 7px 13px;border-radius:var(--radius-pill);
    background:transparent;
    color:color-mix(in srgb,var(--kmg-cyan) 76%,var(--kmg-navy));
    border:1px solid color-mix(in srgb,var(--kmg-cyan) 76%,var(--kmg-navy));
  }
  .pill-eyebrow .pdot{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--kmg-cyan) 76%,var(--kmg-navy))}
  .pill-eyebrow.on-dark{
    background:rgba(255,255,255,.15);color:#fff;
    border:none;
  }
  .pill-eyebrow.on-dark .pdot{background:var(--accent)}

  h1,h2,h3{text-wrap:balance;text-transform:capitalize}
  p{text-wrap:pretty}

  /* primary CTA — respects --accent */
  .cta{
    font-family:var(--font-display);font-weight:600;font-size:16px;letter-spacing:.4px;
    color:#fff;border:none;border-radius:var(--radius-md);
    height:54px;padding:0 30px;display:inline-flex;align-items:center;gap:10px;
    background:var(--kmg-navy);cursor:pointer;text-decoration:none;
    box-shadow:0 7px 16px -12px color-mix(in srgb,var(--kmg-navy) 40%,transparent);
    transition:transform .16s ease, box-shadow .2s ease, filter .2s ease;
  }
  .cta:hover{transform:translateY(-2px);background:var(--kmg-navy-hover);color:#fff}
  /* orange treatment for buttons on dark backgrounds */
  .cta.on-dark{background:var(--kmg-orange-bright);color:var(--kmg-ink);box-shadow:0 7px 16px -12px color-mix(in srgb,var(--kmg-orange-bright) 40%,transparent)}
  .cta.on-dark:hover{background:var(--kmg-orange-deep);color:var(--kmg-ink)}
  .cta .ar{transition:transform .2s ease}
  .cta:hover .ar{transform:translateX(4px)}
  .cta.ghost{
    background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.5);
    box-shadow:none;
  }
  .cta.ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
  .cta.ghost-dark{
    background:transparent;color:var(--kmg-ink);border:1.5px solid var(--kmg-line);box-shadow:none;
  }
  .cta.ghost-dark:hover{border-color:var(--kmg-ink);background:transparent}
  .cta.light{background:var(--kmg-orange-bright);color:var(--kmg-ink);box-shadow:0 14px 34px -14px rgba(0,0,0,.4)}
  .cta.light:hover{background:var(--kmg-orange-deep)}

  section{position:relative}

  /* reduced motion: kill parallax + animation */
  @media(prefers-reduced-motion:reduce){
    *{animation:none!important;transition:none!important}
    html{scroll-behavior:auto}
    [data-parallax]{transform:none!important}
  }

  /* responsive helpers used by inline grids */
  @media(max-width:980px){
    .grid-2{grid-template-columns:1fr!important;gap:40px!important}
  }
  @media(max-width:700px){
    .sol-caps{grid-template-columns:1fr!important}
    .ai-points{grid-template-columns:1fr!important}
  }
  @media(max-width:600px){
    .hero-nowrap{white-space:normal}
  }
  @media(max-width:680px){
    .hide-sm{display:none!important}
  }

  .recv-row:hover{transform:translateY(-4px);box-shadow:var(--shadow-card)}
  .hero-nowrap{white-space:nowrap}

  /* compact timeline — staggered vertical "journey" flow */
  .jv{position:relative;margin:clamp(34px,4.5vw,54px) auto 0;max-width:920px}
  .jv-line{position:absolute;left:50%;top:10px;bottom:10px;width:3px;transform:translateX(-50%);border-radius:3px;background:linear-gradient(180deg,var(--accent),var(--kmg-cyan));display:none}
  .jv-row{position:relative;height:156px}
  .jv-node{position:absolute;left:50%;top:44px;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-family:var(--font-display);font-weight:700;font-size:16px;background:#fff;border:2px solid var(--kmg-line);color:var(--kmg-navy);box-shadow:var(--shadow-soft);z-index:1}
  .jv-row.free .jv-node{background:var(--accent-grad);border-color:transparent;color:#fff;box-shadow:0 0 0 6px color-mix(in srgb,var(--accent) 18%,transparent)}
  @media(max-width:760px){.offer-split{grid-template-columns:1fr!important;gap:22px!important}}
  @media(max-width:760px){.proof-fig{grid-template-columns:1fr!important;min-height:0!important}.proof-photo{height:260px}.proof-copy{padding-top:32px!important;padding-bottom:clamp(40px,8vw,56px)!important;align-items:flex-start!important}}
  /* contact (Figma) */
  .contact-card input::placeholder,.contact-card textarea::placeholder{color:#484747;opacity:1}
  @media(max-width:860px){.contact-grid{grid-template-columns:1fr!important;gap:38px!important}}
  @media(max-width:720px){.stats-grid{display:grid!important;grid-template-columns:repeat(2,1fr)!important;justify-items:center;row-gap:40px}}
  @media(max-width:420px){.stats-grid{grid-template-columns:max-content!important;justify-content:center!important;justify-items:start!important}}
  @media(max-width:800px){#root > section#receive{padding-top:0!important}.recv-photo{position:relative!important;width:100%!important;height:clamp(320px,calc(30vw + 200px),500px)!important;margin-bottom:clamp(24px,4vw,40px)}.recv-grid{grid-template-columns:1fr!important;min-height:0!important}.recv-spacer{display:none}}
  .cta.cta-navy:hover{background:var(--kmg-navy-hover)!important;color:#fff}
  .jv-left,.jv-right{position:absolute;top:50%;transform:translateY(-50%);width:calc(50% - 44px)}
  .jv-left{left:0;text-align:right;padding-right:30px}
  .jv-right{right:0;text-align:left;padding-left:30px}
  .jv-tag{display:block;font-family:var(--font-display);font-weight:600;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--kmg-cyan)}
  .jv-row.free .jv-tag{color:var(--kmg-cyan)}
  .jv-row.free .jv-left,.jv-row.free .jv-right{background:var(--kmg-navy);border:none;border-radius:var(--radius-md);padding:14px 22px;box-shadow:var(--shadow-pop);width:fit-content;max-width:calc(50% - 44px)}
  .jv-row.free .jv-term{color:#fff;white-space:nowrap}
  .jv-row.free .jv-left{left:auto;right:50%;margin-right:44px;top:50%;transform:translateY(-50%)}
  .jv-row.free .jv-right{right:auto;left:50%;margin-left:44px;top:50%;transform:translateY(-50%)}
  .jv-row.free .jv-desc{color:#fff;height:auto;max-width:300px}
  .jv-term{font-family:var(--font-display);font-weight:700;font-size:24px;line-height:1.15;letter-spacing:-.3px;margin:5px 0 5px;color:var(--kmg-ink)}
  .jv-desc{font-family:var(--font-body);font-size:16px;line-height:1.5;color:var(--kmg-grey-600);margin:0;max-width:340px;display:inline-block;height:78px;overflow:hidden}
  @media(max-width:680px){
    .jv{max-width:none}
    .jv-line{left:23px;display:block}
    .jv-wave{display:none}
    .jv-row{height:auto;padding:14px 0 14px 60px}
    .jv-node{left:23px;top:26px;transform:translate(-50%,0)}
    .jv-left,.jv-right{position:static;transform:none;width:auto;text-align:left;padding:0}
    .jv-row.free .jv-left,.jv-row.free .jv-right{position:static;left:auto;right:auto;top:auto;transform:none;margin:0;width:auto;max-width:none;display:block;padding:14px 18px}
    .jv-row.free .jv-term{white-space:normal}
    .jv-desc{max-width:none;height:auto}
  }

  /* smaller hero heading on mid/small screens (≤1200px) */
  @media(max-width:1200px){
    .hero-h1{font-size:clamp(34px,5.4vw,56px)!important}
  }

  /* hero: stacked photo-above-content on small screens (≤700px) */
  @media(max-width:700px){
    .site-nav{background:var(--kmg-navy)!important;backdrop-filter:none!important;box-shadow:0 1px 0 rgba(255,255,255,.08)!important}
  }
  .hero-photo-mobile{display:none}
  @media(max-width:700px){
    .hero-illu{min-height:auto!important;background:var(--kmg-navy)!important}
    .hero-illu .hero-bg-layers{display:none!important}
    .hero-illu .hero-photo-mobile{
      display:block;width:100%;height:clamp(220px,42vh,340px);
      object-fit:cover;object-position:center 30%;flex:none;
    }
    .hero-illu > .wrap{padding-top:clamp(34px,7vw,48px)!important;padding-bottom:clamp(52px,8vw,64px)!important;flex:none!important}
  }
  @media(max-width:860px) and (min-width:701px){
    .hero-illu > .wrap{padding-top:clamp(48px,6vh,58px)!important;padding-bottom:clamp(8px,1.5vh,16px)!important}
  }
  @media(max-width:700px){
    #root > section{padding-top:52px!important;padding-bottom:52px!important}
    #root > section#proof{padding-top:0!important}
    .hero-cta-row{flex-direction:column;align-items:stretch}
    .hero-cta-row .cta{width:100%;justify-content:center}
    .venn-img{max-width:416px}
    #root > section#challenge{padding-top:22px!important;padding-bottom:22px!important}
    #challenge > .wrap{padding-left:16px!important;padding-right:16px!important}
    #challenge > .wrap > div > div{padding:30px 22px!important}
    .price-card{padding:22px!important}
    .price-card ul{margin:16px 0 18px!important}
    .price-card ul li{font-size:14.5px!important}
    .ww-grid > *:nth-child(n+5){overflow:hidden;max-height:0;opacity:0;
      transition:max-height .55s cubic-bezier(.65,0,.35,1),opacity .4s ease}
    #solution{padding-top:52px!important;padding-bottom:52px!important}
    .ww-grid:not(.ww-all) > *:nth-child(4){
      -webkit-mask-image:linear-gradient(to bottom,#000 0,transparent 92%);
      mask-image:linear-gradient(to bottom,#000 0,transparent 92%);
      pointer-events:none;
    }
    .recv-row{padding:15px 15px 16px!important}
    .recv-row h3{margin-top:10px!important}
  }

  /* How-it-works: sleek timeline */
  .tl{position:relative;margin-top:56px}
  .tl-line{position:absolute;top:18px;left:12.5%;right:12.5%;height:2px;border-radius:2px;
    background:linear-gradient(90deg,var(--accent),var(--kmg-cyan));opacity:.55}
  .tl-steps{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
  .tl-step{display:flex;flex-direction:column;align-items:center;text-align:center;height:100%}
  .tl-node{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex:none;
    font-family:var(--font-display);font-weight:700;font-size:14px;position:relative;z-index:1;margin-bottom:20px;
    background:var(--kmg-navy);border:1.5px solid rgba(255,255,255,.3);color:#fff}
  .tl-node.free{background:var(--accent-grad);border-color:transparent;color:#fff;
    box-shadow:0 0 0 5px color-mix(in srgb,var(--accent) 20%,transparent)}
  .tl-tag{font-family:var(--font-display);font-weight:600;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--kmg-cyan)}
  .tl-step.free .tl-tag{color:var(--accent)}
  .tl-term{font-family:var(--font-display);font-weight:700;font-size:19px;letter-spacing:-.3px;margin:7px 0 8px;color:#fff}
  .tl-desc{font-family:var(--font-body);font-size:14px;line-height:1.5;color:#fff;margin:0;max-width:230px}
  .tl-body{width:100%;text-align:left;border-radius:var(--radius-md);padding:22px 20px;flex:1;
    background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12)}
  .tl-step.free .tl-body{background:#fff;border-color:#fff;box-shadow:var(--shadow-card)}
  .tl-step.free .tl-term{color:var(--kmg-ink)}
  .tl-step.free .tl-desc{color:var(--kmg-grey-600)}
  .tl-desc{max-width:none}
  /* tablet + mobile: vertical timeline, number in each card's top-right, line behind cards */
  @media(max-width:860px){
    .tl-steps{grid-template-columns:1fr;gap:16px}
    .tl-line{display:none}
    .tl-step{position:relative;display:block;text-align:left;height:auto;z-index:1}
    .tl-step::before{content:"";position:absolute;top:38px;right:37px;width:2px;height:calc(100% + 16px);
      background:linear-gradient(180deg,var(--accent),var(--kmg-cyan));opacity:.6;z-index:0}
    .tl-step:last-child::before{display:none}
    .tl-node{position:absolute;top:20px;right:20px;left:auto;margin-bottom:0;z-index:2}
    .tl-body{position:relative;z-index:1;padding:20px 52px 20px 20px}
    .tl-desc{max-width:none}
  }
  .why-card:hover{transform:translateY(-4px);background:rgba(255,255,255,.08)!important}

  /* "Show more" — line + pill with animated + */
  .ww-more{display:flex;align-items:center;gap:16px;width:100%;margin-top:30px;
    background:none;border:none;padding:0;cursor:pointer;font:inherit;color:var(--kmg-navy)}
  .ww-more-line{flex:1;height:1px;background:var(--kmg-line)}
  .ww-more-pill{display:inline-flex;align-items:center;gap:9px;flex:none;
    font-family:var(--font-display);font-weight:600;font-size:14px;letter-spacing:.3px;
    padding:9px 18px;border-radius:var(--radius-pill);border:1px solid var(--kmg-line);
    background:#fff;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
  .ww-more:hover .ww-more-pill{border-color:var(--accent);color:var(--accent);box-shadow:var(--shadow-soft);transform:translateY(-1px)}
  .ww-more-ico{position:relative;width:14px;height:14px;flex:none;transition:transform .25s ease}
  .ww-more-ico::before,.ww-more-ico::after{content:"";position:absolute;background:currentColor;border-radius:2px}
  .ww-more-ico::before{top:50%;left:0;right:0;height:2px;transform:translateY(-50%)}
  .ww-more-ico::after{left:50%;top:0;bottom:0;width:2px;transform:translateX(-50%);transition:opacity .25s ease}
  .ww-more-ico.open{transform:rotate(180deg)}
  .ww-more-ico.open::after{opacity:0}

  /* AI block — slow-drifting mesh gradient (GPU-light: only background-position animates) */
  .ai-mesh{
    background-color:#160b2e;
    background-image:
      radial-gradient(60% 55% at 20% 16%, rgba(124,77,255,.85), transparent 62%),
      radial-gradient(55% 50% at 82% 12%, rgba(56,120,255,.70), transparent 60%),
      radial-gradient(62% 60% at 86% 76%, rgba(236,72,153,.70), transparent 62%),
      radial-gradient(70% 70% at 40% 102%, rgba(18,9,42,.95), transparent 60%),
      radial-gradient(58% 60% at 6% 82%, rgba(96,64,190,.72), transparent 62%);
    background-size:200% 200%;
    background-position:0% 0%;
    animation:aiMeshDrift 9s ease-in-out infinite alternate;
  }
  /* Offer band — magenta mesh gradient (same motif as AI section) */
  .offer-mesh{
    background-color:#9D1858;
    background-image:
      radial-gradient(60% 55% at 20% 16%, rgba(196,0,112,.92), transparent 62%),
      radial-gradient(55% 50% at 82% 12%, rgba(157,24,88,.85), transparent 60%),
      radial-gradient(62% 60% at 86% 76%, rgba(4,17,50,.82), transparent 60%),
      radial-gradient(70% 70% at 40% 104%, rgba(8,20,46,.92), transparent 62%),
      radial-gradient(58% 60% at 6% 82%, rgba(190,35,110,.78), transparent 62%);
    background-size:200% 200%;
    background-position:0% 0%;
    animation:aiMeshDrift 9s ease-in-out infinite alternate;
  }
  @media(prefers-reduced-motion:reduce){.offer-mesh{animation:none}}
  @keyframes aiMeshDrift{
    0%{background-position:0% 50%}
    50%{background-position:100% 0%}
    100%{background-position:100% 100%}
  }
  @media(prefers-reduced-motion:reduce){.ai-mesh{animation:none}}

  /* AI block — soft drifting glow blooms (abstract 3D-render flavour) */
  .ai-orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.6;pointer-events:none;will-change:transform}
  @keyframes aiFloatA{0%{transform:translate(0,0) scale(1)}100%{transform:translate(46px,-30px) scale(1.12)}}
  @keyframes aiFloatB{0%{transform:translate(0,0) scale(1)}100%{transform:translate(-40px,30px) scale(1.1)}}
  .ai-streak{position:absolute;pointer-events:none;border-radius:50%;
    background:conic-gradient(from 210deg,transparent,rgba(180,150,255,.5),rgba(120,180,255,.35),rgba(236,72,153,.4),transparent);
    filter:blur(34px);opacity:.5;animation:aiSwirl 22s linear infinite;will-change:transform}
  @keyframes aiSwirl{to{transform:rotate(360deg)}}
  @media(prefers-reduced-motion:reduce){.ai-orb,.ai-streak{animation:none}}

  /* fancy CTA — animated sheen sweep */
  .cta-shine{position:relative;overflow:hidden}
  .cta-shine::after{
    content:"";position:absolute;top:0;left:-120%;width:60%;height:100%;
    background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);
    transform:skewX(-18deg);transition:left .6s ease;
  }
  .cta-shine:hover::after{left:140%}
  @media(prefers-reduced-motion:reduce){.cta-shine::after{display:none}}

  /* Clients logo wall */
  .client-tile:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 45%,var(--kmg-line));box-shadow:var(--shadow-soft);color:var(--kmg-navy)}
  /* Agency-life polaroids — straighten on hover */
  .polaroid:hover{transform:rotate(0deg) translateY(-6px) scale(1.02)!important;box-shadow:0 30px 60px -18px rgba(0,0,0,.7)}
  /* Agency-life — mobile carousel (≤700px): continuous CSS marquee */
  .ag-carousel{display:none}
  @keyframes agMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
  @media(max-width:700px){
    .ag-stage{display:none!important}
    .ag-carousel{display:block;overflow:hidden;margin-top:24px;padding:10px 0 20px}
    .ag-track{display:flex;width:max-content;will-change:transform;animation:agMarquee 75s linear infinite}
    .ag-card{flex:0 0 auto;width:262px;margin-right:16px;position:relative;
      background:#e6e6e6;box-shadow:-8px 8px 12px rgba(0,0,0,.22);padding:18px 18px 46px}
    .ag-card-photo{width:100%;aspect-ratio:1/1;overflow:hidden;background:var(--kmg-navy-deep)}
    .ag-card-photo img{width:100%;height:100%;object-fit:cover;display:block}
    .ag-card-ig{position:absolute;left:20px;bottom:14px;width:22px;height:22px;opacity:.5;filter:brightness(0) invert(1)}
  }
  @media(prefers-reduced-motion:reduce){.ag-track{animation:none}}
  @media(max-width:900px){.ww-grid{grid-template-columns:1fr 1fr!important}}
  @media(max-width:700px){.ww-grid{grid-template-columns:1fr!important}}

  /* WorkWith — card variation */
  /* Bespoke — keep 2 columns (shrinking the Venn to ~320px) before stacking */
  .bsp-grid{min-width:0}
  .bsp-grid > *{min-width:0}
  @media(max-width:800px){
    .bsp-grid{grid-template-columns:1fr!important;gap:40px!important}
  }
  /* Bespoke — partner + social logos: full-size 2 rows on desktop, shrink responsively */
  .bsp-partner-row{display:grid;grid-template-columns:repeat(5,1fr);align-items:center;justify-items:center;gap:0;max-width:620px}
  .bsp-partner-row img{width:100%;max-width:120px;height:auto;aspect-ratio:1/1;object-fit:contain;display:block}
  .bsp-social-row{display:grid;grid-template-columns:repeat(6,1fr);align-items:center;justify-items:center;gap:12px;max-width:606px}
  .bsp-social-row span{display:inline-flex;width:100%;justify-content:center}
  .bsp-social-row img{width:100%;max-width:90px;height:auto;aspect-ratio:1/1;object-fit:contain;display:block}
  .ww-card{background:#fff;border:1px solid var(--kmg-line);border-radius:var(--radius-md);padding:28px 26px 26px;height:100%;box-sizing:border-box;
    transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
  .ww-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-soft);border-color:color-mix(in srgb,var(--kmg-navy) 30%,var(--kmg-line))}

  /* WorkWith — list variation: 2-column directory rows */
  .ww-list.ww-grid{grid-template-columns:repeat(2,1fr)!important;column-gap:52px!important;row-gap:0!important;
    grid-auto-rows:1fr}
  .ww-list.ww-grid > *{height:100%}
  .ww-list .ww-list-row{display:grid;
    grid-template-columns:48px 1fr;
    column-gap:18px;align-items:start;position:relative;height:100%;box-sizing:border-box;
    padding:18px 14px 18px 18px;border-bottom:1px solid var(--kmg-line);
    transition:background .22s ease}
  .ww-list .ww-list-row:hover{background:color-mix(in srgb,var(--kmg-navy) 4%,#fff)}
  .ww-list .ww-list-row::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:3px;
    border-radius:3px;background:var(--kmg-navy);opacity:0;transform:scaleY(.35);transform-origin:center;
    transition:opacity .22s ease,transform .22s ease}
  .ww-list .ww-list-row:hover::before{opacity:1;transform:scaleY(1)}
  .ww-list-ico-col{display:flex;flex-direction:column;align-items:center;gap:7px}
  .ww-list-num{font-family:var(--font-display);font-weight:700;font-size:13px;letter-spacing:.5px;line-height:24px;
    color:color-mix(in srgb,var(--kmg-navy) 38%,#fff);font-variant-numeric:tabular-nums}
  .ww-list-chip{width:48px;height:48px;display:grid;place-items:center}
  .ww-list-chip svg{width:46px;height:46px}
  @media(max-width:760px){
    .ww-list.ww-grid{grid-template-columns:1fr!important;column-gap:0!important;grid-auto-rows:auto!important}
    .ww-list.ww-grid > *{height:auto!important}
    .ww-list .ww-list-row{height:auto!important}
  }

  /* Floating lead-capture bar */
  .fbar{position:fixed;left:50%;bottom:24px;z-index:55;width:min(1080px,calc(100vw - 40px));
    transform:translate(-50%,150%);opacity:0;pointer-events:none;
    transition:transform .55s cubic-bezier(.2,.85,.25,1),opacity .4s ease}
  .fbar.show{transform:translate(-50%,0);opacity:1;pointer-events:auto}
  .fbar-inner{position:relative;display:flex;align-items:center;gap:0;background:var(--kmg-navy);
    border:1px solid rgba(255,255,255,.14);border-radius:5px;box-shadow:0 20px 54px -14px rgba(8,30,52,.45);
    padding:14px 14px 14px 150px}
  .fbar-badge{position:absolute;bottom:-1px;left:-1px;width:140px;height:140px;z-index:2;pointer-events:none;
    box-shadow:0 12px 26px -10px rgba(0,0,0,.45)}
  .fbar-lead{display:flex;flex-direction:column;gap:3px;flex:none}
  .fbar-eyebrow{font-family:var(--font-display);font-weight:600;font-size:11px;letter-spacing:1.4px;
    text-transform:uppercase;color:var(--kmg-cyan)}
  .fbar-title{font-family:var(--font-display);font-weight:700;font-size:23px;letter-spacing:-.4px;
    color:#fff;line-height:1.08;max-width:9ch}
  .fbar-form{display:flex;align-items:center;gap:10px;flex:1;min-width:0;margin-left:20px}
  .fbar-input{flex:1 1 0;min-width:0;height:44px;box-sizing:border-box;border:1px solid rgba(255,255,255,.22);
    border-radius:var(--radius-md);padding:0 13px;font-family:var(--font-body);font-size:14px;
    color:#fff;background:rgba(255,255,255,.07);outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}
  .fbar-input::placeholder{color:rgba(255,255,255,.6)}
  .fbar-input:focus{border-color:var(--kmg-cyan);background:rgba(255,255,255,.12);box-shadow:0 0 0 3px color-mix(in srgb,var(--kmg-cyan) 22%,transparent)}
  .fbar-submit{flex:none;height:44px;padding:0 18px;font-size:14px;background:var(--kmg-orange-bright)!important;color:var(--kmg-ink)!important;white-space:nowrap}
  .fbar-submit:hover{background:var(--kmg-orange-deep)!important;color:var(--kmg-ink)!important}
  .fbar-mobile-actions{display:none}
  .fbar-mini{flex:1 1 0;min-width:0;height:46px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);
    font-family:var(--font-display);font-weight:600;font-size:15px;letter-spacing:.3px;text-decoration:none;cursor:pointer;box-sizing:border-box}
  .fbar-mini.fbar-enquire{background:var(--kmg-orange-bright)!important;color:var(--kmg-ink)!important;border:none}
  .fbar-mini.fbar-enquire:hover{background:var(--kmg-orange-deep)!important;transform:none}
  .fbar-mini.fbar-call{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4)}
  .fbar-mini.fbar-call:hover{background:rgba(255,255,255,.08)}
  .fbar-x{position:absolute;top:-11px;right:-11px;width:28px;height:28px;border-radius:50%;
    border:1px solid rgba(255,255,255,.18);background:var(--kmg-navy);color:#fff;display:grid;place-items:center;
    cursor:pointer;box-shadow:0 6px 16px -6px rgba(0,0,0,.6);transition:transform .15s ease,color .15s ease}
  .fbar-x:hover{transform:scale(1.08);color:var(--kmg-cyan)}
  .fbar-done{display:flex;align-items:center;gap:13px;padding:6px 4px;
    font-family:var(--font-display);font-weight:600;font-size:17px;letter-spacing:-.2px;color:#fff}
  .fbar-check{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
    background:var(--accent-grad);color:#fff}
  @media(max-width:880px){
    .nav-cta{display:none!important}
    .nav-wrap{justify-content:center!important}
    .fbar{bottom:0;width:100%}
    .fbar-inner{flex-direction:column;align-items:stretch;gap:10px;border-radius:5px 5px 0 0;padding:12px 12px 14px}
    .fbar-lead{display:none}
    .fbar-badge{display:none}
    .fbar-form{display:none}
    .fbar-mobile-actions{display:flex;gap:10px;width:100%}
    .fbar-x{display:none}
    .fbar-submit{width:100%;justify-content:center}
    .fbar-x{top:10px;right:12px}
    .fbar-badge{width:120px;height:120px;top:-64px;bottom:auto;left:8px}
  }
  @media print{.fbar{display:none!important}}

/* ============================================================
   Additions for the WordPress conversion
   ============================================================ */

/* Reveal-on-scroll (replaces the React IntersectionObserver helper) */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}}

/* CTA popup modal (ported from CtaModal CSS) */
.ctam-scrim{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;
  padding:24px;background:rgba(4,17,50,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);
  animation:ctam-fade .2s ease}
.ctam-scrim[hidden]{display:none}
.ctam-card{position:relative;width:100%;max-width:460px;max-height:calc(100vh - 48px);overflow-y:auto;
  background:rgb(248,248,248);box-shadow:0 40px 90px -30px rgba(4,17,50,.7);
  padding:clamp(28px,4vw,46px);animation:ctam-pop .26s cubic-bezier(.2,.8,.25,1)}
.ctam-accent{position:absolute;top:0;left:-118px;width:134px;height:134px;transform:scaleY(-1);pointer-events:none}
.ctam-x{position:absolute;top:14px;right:14px;width:34px;height:34px;border:none;background:rgba(0,0,0,.05);
  border-radius:50%;cursor:pointer;display:grid;place-items:center;color:var(--kmg-ink);transition:background .15s}
.ctam-x:hover{background:rgba(0,0,0,.12)}
@keyframes ctam-fade{from{opacity:0}to{opacity:1}}
@keyframes ctam-pop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@keyframes ctam-fade-out{from{opacity:1}to{opacity:0}}
@keyframes ctam-pop-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(10px) scale(.97)}}
.ctam-scrim.closing{animation:ctam-fade-out .2s ease forwards}
.ctam-scrim.closing .ctam-card{animation:ctam-pop-out .2s cubic-bezier(.4,0,.7,.4) forwards}
@media(prefers-reduced-motion:reduce){.ctam-scrim,.ctam-card,.ctam-scrim.closing,.ctam-scrim.closing .ctam-card{animation:none}}

/* ---- Gravity Forms: match the KMG field design --------------------------- */
.promokmg-gform .gform_wrapper{margin:0}
.promokmg-gform .gform_wrapper .gform_validation_errors{border-radius:5px}
/* Hidden tracking fields (utm_*, gclid, …) must never take layout space */
.promokmg-gform .gfield--type-hidden,
.promokmg-gform .gform_hidden,
.promokmg-gform input[type=hidden]{display:none!important}
.promokmg-gform .gform_wrapper form,
.promokmg-gform .gform_wrapper .gform_fields{display:grid;gap:20px}
.promokmg-gform .gform_wrapper .gfield_label{font-family:var(--font-body);font-size:13px;color:var(--kmg-grey-600);margin-bottom:7px}
.promokmg-gform .gform_wrapper input[type=text],
.promokmg-gform .gform_wrapper input[type=email],
.promokmg-gform .gform_wrapper input[type=tel],
.promokmg-gform .gform_wrapper input[type=number],
.promokmg-gform .gform_wrapper select,
.promokmg-gform .gform_wrapper textarea{
  width:100%;box-sizing:border-box;height:52px;border:1px solid #1A1919;border-radius:var(--radius-md);
  padding:0 16px;font-family:var(--font-body);font-size:16px;color:var(--kmg-ink);background:#fff;outline:none;
  transition:border-color .15s ease}
.promokmg-gform .gform_wrapper textarea{height:auto;min-height:158px;padding:14px 18px;resize:vertical}
.promokmg-gform .gform_wrapper input:focus,
.promokmg-gform .gform_wrapper select:focus,
.promokmg-gform .gform_wrapper textarea:focus{border-color:var(--kmg-cyan)}
.promokmg-gform .gform_wrapper .gform_footer{margin:0!important;padding:0!important}
.promokmg-gform .gform_wrapper .gform_button{
  font-family:var(--font-display);font-weight:600;font-size:16px;letter-spacing:.4px;color:#fff;border:none;
  border-radius:var(--radius-md);height:54px;padding:0 30px;cursor:pointer;background:var(--kmg-navy);
  box-shadow:0 7px 16px -12px color-mix(in srgb,var(--kmg-navy) 40%,transparent);transition:transform .16s ease,background .2s ease}
.promokmg-gform .gform_wrapper .gform_button:hover{transform:translateY(-2px);background:var(--kmg-navy-hover)}

/* Inline variant used inside the floating bar — one row on a dark surface.
   GF 2.7 (gravity-theme) lays fields out in a 12-col grid and puts the submit
   button in a separate .gform_footer sibling, so we force a flex row instead. */
.promokmg-gform--inline .gform_wrapper{flex:1 1 auto;width:100%;min-width:0}
.promokmg-gform--inline .gform_wrapper form{display:flex;align-items:center;gap:10px}
.promokmg-gform--inline .gform_wrapper .gform-body,
.promokmg-gform--inline .gform_wrapper .gform_body{flex:1 1 auto;min-width:0;margin:0}
.promokmg-gform--inline .gform_wrapper .gform_fields{display:flex!important;grid-template-columns:none!important;gap:10px;margin:0;align-items:center}
.promokmg-gform--inline .gform_wrapper .gform_fields > .gfield{flex:1 1 0;min-width:0;grid-column:auto!important;margin:0;padding:0}
.promokmg-gform--inline .gform_wrapper .gfield_label,
.promokmg-gform--inline .gform_wrapper .gfield_description,
.promokmg-gform--inline .gform_wrapper .gform_required_legend,
.promokmg-gform--inline .gform_wrapper .instruction{display:none!important}
.promokmg-gform--inline .gform_wrapper .ginput_container{margin:0}
.promokmg-gform--inline .gform_wrapper input[type=text],
.promokmg-gform--inline .gform_wrapper input[type=email],
.promokmg-gform--inline .gform_wrapper input[type=tel]{
  height:44px;border:1px solid rgba(255,255,255,.22);color:#fff;background:rgba(255,255,255,.07);font-size:14px}
.promokmg-gform--inline .gform_wrapper input::placeholder{color:rgba(255,255,255,.6)}
.promokmg-gform--inline .gform_wrapper input:focus{border-color:var(--kmg-cyan);background:rgba(255,255,255,.12)}
.promokmg-gform--inline .gform_wrapper .gform_footer{flex:none;margin:0;padding:0;width:auto}
.promokmg-gform--inline .gform_wrapper .gform_button{height:44px;padding:0 18px;font-size:14px;white-space:nowrap;
  background:var(--kmg-orange-bright);color:var(--kmg-ink)}
.promokmg-gform--inline .gform_wrapper .gform_button:hover{background:var(--kmg-orange-deep);transform:none}
@media(max-width:880px){.promokmg-gform--inline{display:none!important}}

/* ---- Site nav: transparent over the dark hero → frosted white on scroll --- */
.site-nav{position:fixed;top:0;left:0;right:0;z-index:60;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;transition:background .25s ease,box-shadow .25s ease}
.nav-wrap{height:72px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:nowrap}
.nav-logo-link{display:flex;align-items:center;flex:none}
.nav-logo{height:32px;width:auto;display:block;transition:opacity .2s ease}
.nav-logo--color{display:none}
.nav-links{display:flex;align-items:center;gap:clamp(16px,2.4vw,34px);min-width:0}
.navlink{font-family:var(--font-body);font-weight:500;font-size:15.5px;letter-spacing:.2px;white-space:nowrap;text-decoration:none;color:rgba(255,255,255,.92);transition:color .2s ease}
.navlink:hover{color:#fff}
.nav-actions{display:flex;align-items:center;gap:16px;flex:none}
.nav-phone{display:flex;align-items:center;gap:9px;text-decoration:none;white-space:nowrap;font-family:var(--font-display);font-weight:600;font-size:15px;color:#fff;transition:color .2s ease}
.nav-phone-ico{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none;background:rgba(255,255,255,.14);transition:background .2s ease}
.nav-phone-ico img{width:15px;height:15px;filter:brightness(0) invert(1);transition:filter .2s ease}
.nav-cta{height:46px;padding:0 22px;font-size:15px}

.site-nav.is-scrolled{background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 rgba(0,0,0,.06),var(--shadow-soft)}
.site-nav.is-scrolled .nav-logo--white{display:none}
.site-nav.is-scrolled .nav-logo--color{display:block}
.site-nav.is-scrolled .navlink{color:var(--kmg-grey-700)}
.site-nav.is-scrolled .navlink:hover{color:var(--kmg-navy)}
.site-nav.is-scrolled .nav-phone{color:var(--kmg-navy)}
.site-nav.is-scrolled .nav-phone-ico{background:var(--kmg-bg-200)}
.site-nav.is-scrolled .nav-phone-ico img{filter:none}
.site-nav.is-scrolled .nav-cta.on-dark{background:var(--kmg-navy);color:#fff;box-shadow:0 7px 16px -12px color-mix(in srgb,var(--kmg-navy) 40%,transparent)}
.site-nav.is-scrolled .nav-cta.on-dark:hover{background:var(--kmg-navy-hover);color:#fff}

/* compact: hide links + phone + CTA ≤880 and centre the logo (matches source) */
@media(max-width:880px){
  .nav-links,.nav-phone,.nav-cta{display:none!important}
  .nav-wrap{justify-content:center!important}
}
/* mobile: always a dark bar with the white logo */
@media(max-width:700px){
  .site-nav,.site-nav.is-scrolled{background:var(--kmg-navy)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;box-shadow:0 1px 0 rgba(255,255,255,.08)!important}
  .site-nav .nav-logo--white{display:block!important}
  .site-nav .nav-logo--color{display:none!important}
}

/* ---- Hero illustration background — responsive position (replicates the
   design's pickHeroBg breakpoints from TWEAK_DEFAULTS.heroBg) -------------- */
.hero-illu .hero-bg{background-size:cover;background-repeat:no-repeat;background-position:100% 50%}
@media(max-width:1536px){.hero-illu .hero-bg{background-position:85% 58%}}
@media(max-width:1200px){.hero-illu .hero-bg{background-position:84% 50%}}
@media(max-width:1000px){.hero-illu .hero-bg{background-position:97% 0%}}

/* ---- "Who we work with" — Show more is mobile-only --------------------------
   The source only renders the toggle when isMobile (≤700px). On desktop the
   full 2-col list shows, so the button is hidden. On mobile it reveals the
   verticals collapsed past the 4th (theme.js toggles .ww-all). */
.ww-more{display:none}
@media(max-width:700px){
  .ww-more{display:flex}
  .ww-grid.ww-all > *:nth-child(n+5){max-height:600px;opacity:1}
}

/* ---- Footer: responsive columns (the source 3-col grid had no breakpoints) -- */
@media(max-width:860px){
  .grid-foot{grid-template-columns:1fr 1fr!important;gap:36px 32px!important}
}
@media(max-width:520px){
  .grid-foot{grid-template-columns:1fr!important;gap:30px!important}
}

/* ---- Contact: tighter top padding on mobile -------------------------------- */
@media(max-width:700px){
  #contact{padding-top:36px!important}
}

/* ---- Mobile vertical rhythm: uniform 52px block padding on these sections ---
   (the source applied this via #root > section, which doesn't exist here) */
@media(max-width:700px){
  #bespoke,#how,#work-with,#receive,#stats,#clients,#agency{
    padding-top:52px!important;padding-bottom:52px!important;
  }
}

/* Receive: no top padding on mobile (matches the source ≤800px treatment) */
@media(max-width:700px){
  #receive{padding-top:0!important}
}

/* GF confirmation message colours per surface:
   - contact form sits on a light card → dark ink text
   - floating bar sits on the dark navy bar → white text
   - CTA modal sits on a light card → keeps default dark text */
#contact .gform_confirmation_message{color:rgb(26,25,25)}
.fbar .gform_confirmation_message{color:#fff}
