/* self-hosted fonts (2026-07-20) — was Google Fonts, render-blocking */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/inter-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/inter-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Sora';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/sora-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Sora';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/sora-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Sora';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/sora-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Sora';font-style:normal;font-weight:800;font-display:swap;src:url(assets/fonts/sora-800.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
  :root{
    --navy:#1b1f2a; --navy2:#232838; --panel:#2a3142; --light:#f5f6fa;
    --orange:#F19A52; --orange-d:#e07f30; --green:#7ED957;
    --ink:#13161e; --body:#e8e9ee; --muted:#a7adbd; --line:rgba(255,255,255,.10);
    --radius:16px; --max:1200px;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:auto}
  body{font-family:'Inter',system-ui,sans-serif;background:var(--navy);color:var(--body);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
  h1,h2,h3,h4{font-family:'Sora',sans-serif;line-height:1.1;letter-spacing:-.02em;color:#fff}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
  .eyebrow{font-family:'Sora';font-weight:700;font-size:13px;letter-spacing:.22em;text-transform:uppercase;color:var(--orange);display:inline-block;margin-bottom:14px}
  .btn{display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;padding:15px 28px;border-radius:10px;transition:.2s;cursor:pointer;border:2px solid transparent}
  .btn-primary{background:var(--orange);color:var(--ink)}
  .btn-primary:hover{background:var(--orange-d);transform:translateY(-2px);box-shadow:0 14px 30px rgba(241,154,82,.35)}
  .btn-ghost{border-color:rgba(255,255,255,.25);color:#fff}
  .btn-ghost:hover{border-color:var(--orange);color:var(--orange)}
  section{padding:96px 0}
  .section-head{max-width:720px;margin:0 auto 56px;text-align:center}
  .section-head h2{font-size:clamp(30px,4vw,46px);font-weight:800}
  .section-head p{color:var(--muted);font-size:18px;margin-top:16px}
  .reveal{opacity:0;transform:translateY(26px);transition:.7s cubic-bezier(.2,.7,.2,1)}
  .reveal.in{opacity:1;transform:none}

  /* Top bar */
  .topbar{background:#13161e;font-size:13px;color:var(--muted)}
  .topbar .wrap{display:flex;justify-content:space-between;align-items:center;height:42px;flex-wrap:wrap}
  .topbar a{color:var(--muted)}.topbar a:hover{color:#fff}
  .topbar .r{display:flex;gap:22px}
  .topbar .star{color:var(--orange)}
  @media(max-width:760px){.topbar .r span:not(.star-wrap){display:none}}

  /* Header */
  header{position:sticky;top:0;z-index:60;background:rgba(27,31,42,.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:74px}
  .logo{font-family:'Sora';font-weight:800;font-size:24px;letter-spacing:-.02em;color:#fff}
  .logo span{color:var(--orange)}
  .logo-sub{font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-family:'Sora';font-weight:600;margin-top:3px;line-height:1}
  .logo-sub strong{color:var(--orange);font-weight:700}
  .nav-links{display:flex;gap:28px;font-weight:500;font-size:15px;color:var(--body)}
  .nav-links a:hover{color:var(--orange)}
  .nav-cta{display:flex;align-items:center;gap:18px}
  .nav-phone{font-weight:700;color:#fff;font-size:15px}
  @media(max-width:960px){.nav-links,.nav-phone{display:none}}

  /* Hero */
  .hero{position:relative;padding:96px 0 84px;overflow:hidden;background:radial-gradient(1100px 520px at 76% -10%,rgba(241,154,82,.20),transparent 60%),linear-gradient(180deg,#1b1f2a,#20232f)}
  .hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
  .hero h1{font-size:clamp(38px,5.4vw,64px);font-weight:800;letter-spacing:-.03em}
  .hero h1 em{font-style:normal;color:var(--orange)}
  .hero p.lead{font-size:19px;color:var(--muted);margin:22px 0 32px;max-width:560px}
  .hero-cta{display:flex;gap:14px;flex-wrap:wrap}
  .hero-trust{display:flex;gap:30px;margin-top:40px;flex-wrap:wrap}
  .hero-trust div{font-size:13px;color:var(--muted)}
  .hero-trust strong{display:block;font-family:'Sora';font-size:26px;color:#fff;font-weight:700}
  .hero-visual{position:relative;border-radius:20px;overflow:hidden;min-height:460px;border:1px solid var(--line);box-shadow:0 40px 80px rgba(0,0,0,.45)}
  .hero-visual img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:.92}
  .hero-badge{position:absolute;bottom:20px;left:20px;right:20px;background:rgba(19,22,30,.8);backdrop-filter:blur(8px);border:1px solid var(--line);border-radius:14px;padding:16px 18px;display:flex;align-items:center;gap:14px}
  .hero-badge .dot{width:44px;height:44px;border-radius:10px;background:var(--orange);display:grid;place-items:center;font-weight:800;color:var(--ink);font-family:'Sora'}
  .hero-badge b{color:#fff;font-family:'Sora'}
  .hero-badge span{font-size:13px;color:var(--muted)}
  @media(max-width:960px){.hero-grid{grid-template-columns:1fr}.hero-visual{min-height:320px}}

  /* Client strip */
  .strip{background:var(--navy2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:28px 0}
  .strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
  .strip p{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;white-space:nowrap}
  .strip .clients{display:flex;gap:34px;flex-wrap:wrap;font-family:'Sora';font-weight:700;color:#cfd3de;font-size:17px;opacity:.85}

  /* Stats band */
  .stats{background:linear-gradient(120deg,#20232f,#262c3c);border-bottom:1px solid var(--line)}
  .stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
  .stat-b .num{font-family:'Sora';font-weight:800;font-size:clamp(34px,4.4vw,52px);color:#fff;letter-spacing:-.03em}
  .stat-b .num span{color:var(--orange)}
  .stat-b p{color:var(--muted);font-size:14px;margin-top:6px}
  @media(max-width:760px){.stats .wrap{grid-template-columns:1fr 1fr}}

  /* generic split */
  .split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
  .split img{border-radius:var(--radius);width:100%;height:100%;object-fit:cover;min-height:360px}
  .split h2{font-size:clamp(28px,3.6vw,40px);font-weight:800;margin-bottom:18px}
  .split p{color:var(--muted);margin-bottom:14px}
  .ticks{list-style:none;margin:20px 0}
  .ticks li{padding-left:32px;position:relative;margin-bottom:12px;color:var(--body)}
  .ticks li::before{content:'✓';position:absolute;left:0;top:0;color:var(--ink);background:var(--orange);width:22px;height:22px;border-radius:6px;display:grid;place-items:center;font-size:13px;font-weight:800}
  @media(max-width:880px){.split{grid-template-columns:1fr}.split img{min-height:260px}}

  /* Services */
  .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .card{background:linear-gradient(180deg,#262b39,#212532);border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:.25s}
  .card:hover{transform:translateY(-6px);border-color:rgba(241,154,82,.45);box-shadow:0 24px 50px rgba(0,0,0,.35)}
  .card .ic{width:50px;height:50px;border-radius:12px;background:rgba(241,154,82,.14);display:grid;place-items:center;margin-bottom:16px;font-size:23px}
  .card h3{font-size:19px;margin-bottom:9px}
  .card p{color:var(--muted);font-size:14.5px}
  .card a{display:inline-block;margin-top:14px;color:var(--orange);font-weight:600;font-size:14px}
  @media(max-width:880px){.cards{grid-template-columns:1fr}}
  .more-services{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:36px}
  .pill{border:1px solid var(--line);border-radius:999px;padding:9px 18px;font-size:14px;color:var(--body);transition:.2s}
  .pill:hover{border-color:var(--orange);color:var(--orange)}

  /* Featured case */
  .feature{background:var(--navy2)}
  .feature .split img{min-height:420px}
  .feat-stats{display:flex;gap:30px;margin-top:24px;flex-wrap:wrap}
  .feat-stats b{font-family:'Sora';font-size:24px;color:var(--orange);display:block}
  .feat-stats span{font-size:13px;color:var(--muted)}

  /* Case grid */
  .case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .case{position:relative;border-radius:var(--radius);overflow:hidden;min-height:280px;border:1px solid var(--line);display:flex;align-items:flex-end;background:#1e222e}
  .case img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;transition:.4s}
  .case:hover img{opacity:.68;transform:scale(1.06)}
  .case-body{position:relative;padding:24px;background:linear-gradient(0deg,rgba(19,22,30,.96),transparent);width:100%}
  .case .tag{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--orange)}
  .case h3{font-size:20px;margin:7px 0 5px}
  .case p{color:var(--muted);font-size:13.5px}
  @media(max-width:880px){.case-grid{grid-template-columns:1fr}}

  /* Sectors */
  .sectors{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
  .sector{background:linear-gradient(180deg,#262b39,#212532);border:1px solid var(--line);border-radius:14px;padding:26px 22px;transition:.25s}
  .sector:hover{border-color:var(--orange);transform:translateY(-4px)}
  .sector .ic{font-size:26px;margin-bottom:14px}
  .sector h3{font-size:17px;margin-bottom:8px}
  .sector p{font-size:13px;color:var(--muted)}
  @media(max-width:880px){.sectors{grid-template-columns:1fr 1fr}}

  /* Comparison */
  .compare{background:var(--navy2)}
  .ctable{max-width:840px;margin:0 auto;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
  .crow{display:grid;grid-template-columns:1.6fr 1fr 1fr}
  .crow>div{padding:18px 22px;border-bottom:1px solid var(--line)}
  .crow.head>div{background:#13161e;font-family:'Sora';font-weight:700;color:#fff;font-size:15px}
  .crow.head .hl{color:var(--orange)}
  .crow .yes{color:var(--green);font-weight:700}
  .crow .no{color:#7c8294}
  .crow div:first-child{color:var(--body);font-weight:500}
  .crow:last-child>div{border-bottom:none}
  @media(max-width:680px){.crow{grid-template-columns:1.4fr .8fr .8fr;font-size:13px}.crow>div{padding:14px}}

  /* Process */
  .steps{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
  .step{text-align:center;padding:20px 12px}
  .step .n{width:48px;height:48px;border-radius:50%;border:2px solid var(--orange);color:var(--orange);font-family:'Sora';font-weight:700;display:grid;place-items:center;margin:0 auto 14px}
  .step h3{font-size:16px;margin-bottom:6px}
  .step p{font-size:13px;color:var(--muted)}
  @media(max-width:880px){.steps{grid-template-columns:1fr 1fr}}

  /* Certs */
  .certs{background:var(--navy2)}
  .cert-row{display:flex;gap:20px;justify-content:center;flex-wrap:wrap}
  .cert{border:1px solid var(--line);border-radius:14px;padding:22px 30px;text-align:center;min-width:160px;background:#20232f}
  .cert b{font-family:'Sora';color:#fff;display:block;font-size:18px}
  .cert span{font-size:12px;color:var(--muted)}

  /* Testimonials */
  .quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .quote{background:linear-gradient(180deg,#262b39,#212532);border:1px solid var(--line);border-radius:var(--radius);padding:28px}
  .quote .stars{color:var(--orange);font-size:16px;margin-bottom:14px;letter-spacing:2px}
  .quote p{font-size:15px;color:var(--body);font-style:italic}
  .quote .by{margin-top:18px;font-family:'Sora';font-weight:600;color:#fff;font-size:14px}
  .quote .by span{display:block;color:var(--muted);font-size:12px;font-style:normal;font-weight:400}
  @media(max-width:880px){.quotes{grid-template-columns:1fr}}

  /* Coverage */
  .coverage{background:linear-gradient(120deg,#20232f,#262c3c)}
  .cov-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
  .regions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
  .regions span{border:1px solid var(--line);border-radius:8px;padding:8px 14px;font-size:13px;color:var(--muted)}
  @media(max-width:880px){.cov-grid{grid-template-columns:1fr}}

  /* Network */
  .network{background:linear-gradient(120deg,var(--panel),#222838);border-radius:24px;padding:54px;margin:0 24px;display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:center}
  .network h2{font-size:clamp(26px,3.4vw,38px);font-weight:800;margin-bottom:14px}
  .network p{color:var(--muted)}
  @media(max-width:880px){.network{grid-template-columns:1fr;padding:36px}}

  /* Articles */
  .articles{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .article{background:linear-gradient(180deg,#262b39,#212532);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.25s}
  .article:hover{transform:translateY(-6px);border-color:rgba(241,154,82,.4)}
  .article img{height:170px;width:100%;object-fit:cover}
  .article .ab{padding:22px}
  .article .cat{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);font-weight:700}
  .article h3{font-size:18px;margin:8px 0}
  .article p{font-size:14px;color:var(--muted)}
  @media(max-width:880px){.articles{grid-template-columns:1fr}}

  /* CTA band */
  .cta-band{background:linear-gradient(120deg,var(--orange),#e8893f);color:var(--ink);text-align:center;border-radius:24px;padding:66px 30px;margin:0 24px}
  .cta-band h2{color:var(--ink);font-size:clamp(28px,4vw,44px);font-weight:800}
  .cta-band p{color:#3a2a14;font-size:18px;margin:14px 0 28px;font-weight:500}
  .cta-band .btn-dark{background:var(--ink);color:#fff}
  .cta-band .btn-dark:hover{background:#000;transform:translateY(-2px)}
  .cta-band .btn-out{border-color:rgba(19,22,30,.45);color:var(--ink)}

  /* FAQ */
  .faq-item{border-bottom:1px solid var(--line);padding:22px 0}
  .faq-item summary{font-family:'Sora';font-weight:600;font-size:18px;color:#fff;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:20px}
  .faq-item summary::-webkit-details-marker{display:none}
  .faq-item summary::after{content:'+';color:var(--orange);font-size:24px;font-weight:400}
  .faq-item[open] summary::after{content:'\2013'}
  .faq-item p{color:var(--muted);margin-top:14px;font-size:15px}

  /* Footer */
  footer{background:#13161e;border-top:1px solid var(--line);padding:60px 0 30px}
  .foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:40px;margin-bottom:40px}
  .foot-grid h3{font-family:'Sora';font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:#fff;margin-bottom:18px}
  .foot-grid a,.foot-grid p{display:block;color:var(--muted);font-size:14px;margin-bottom:10px}
  .foot-grid a:hover{color:var(--orange)}
  .foot-bot{border-top:1px solid var(--line);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:14px;color:var(--muted);font-size:13px}
  @media(max-width:880px){.foot-grid{grid-template-columns:1fr 1fr}}

  /* Before/After slider */
  .ba{position:relative;max-width:980px;margin:0 auto;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);aspect-ratio:16/8;user-select:none;background:#1e222e}
  .ba img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .ba .after{clip-path:inset(0 0 0 50%)}
  .ba .lbl{position:absolute;top:14px;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:700;font-family:'Sora';background:rgba(19,22,30,.82);color:#fff;z-index:3}
  .ba .lbl.b{left:14px}.ba .lbl.a{right:14px;color:var(--orange)}
  .ba .handle{position:absolute;top:0;bottom:0;left:50%;width:3px;background:var(--orange);z-index:4;transform:translateX(-50%)}
  .ba .handle::after{content:'⟺';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:var(--orange);color:var(--ink);display:grid;place-items:center;font-weight:800;box-shadow:0 6px 18px rgba(0,0,0,.4)}
  .ba input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;z-index:5;margin:0}

  /* Compliance */
  .comply{background:var(--navy2)}
  .comply-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .comply-card{background:#20232f;border:1px solid var(--line);border-radius:14px;padding:26px;transition:.25s}
  .comply-card:hover{border-color:rgba(241,154,82,.4);transform:translateY(-4px)}
  .comply-card .ic{font-size:24px;margin-bottom:12px}
  .comply-card h3{font-size:17px;margin-bottom:8px}
  .comply-card p{font-size:14px;color:var(--muted)}
  @media(max-width:880px){.comply-grid{grid-template-columns:1fr}}

  /* Case filter */
  .filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:34px}
  .filters button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:9px 18px;font-size:14px;font-weight:600;cursor:pointer;font-family:'Inter';transition:.2s}
  .filters button.active,.filters button:hover{border-color:var(--orange);color:var(--orange)}
  .case.hide{display:none}

  /* Contact form */
  .contact{background:linear-gradient(120deg,#20232f,#262c3c)}
  .contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:50px;align-items:start}
  .contact-info h2{font-size:clamp(28px,3.6vw,42px);font-weight:800;margin-bottom:16px}
  .contact-info p{color:var(--muted);margin-bottom:24px}
  .cinfo-item{display:flex;gap:14px;align-items:center;margin-bottom:16px}
  .cinfo-item .ic{width:44px;height:44px;border-radius:10px;background:rgba(241,154,82,.14);display:grid;place-items:center;font-size:20px}
  .cinfo-item b{color:#fff;font-family:'Sora';display:block}.cinfo-item span{font-size:13px;color:var(--muted)}
  .form-card{background:linear-gradient(160deg,#232a3d,#1b2130);border:1px solid rgba(241,154,82,.55);border-radius:18px;padding:32px;box-shadow:0 30px 70px rgba(0,0,0,.5),0 0 0 6px rgba(241,154,82,.07)}
  .form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .field{margin-bottom:14px}
  .field label{display:block;font-size:13px;color:var(--muted);margin-bottom:6px;font-weight:600}
  .field input,.field select,.field textarea{width:100%;background:#13161e;border:1px solid var(--line);border-radius:10px;padding:13px 14px;color:#fff;font-family:'Inter';font-size:15px}
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--orange)}
  .field textarea{resize:vertical;min-height:90px}
  .consent{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted);margin:6px 0 18px}
  @media(max-width:880px){.contact-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}}

  /* Group band */
  .group{background:linear-gradient(120deg,#13161e,#1b1f2a)}
  .group-band{display:grid;grid-template-columns:.85fr 1.15fr;gap:50px;align-items:center;border:1px solid var(--line);border-radius:24px;padding:48px;background:#1b1f2a}
  .group-logo{display:flex;flex-direction:column;gap:18px;align-items:flex-start}
  .group-logo img{max-width:230px;background:#fff;padding:16px 20px;border-radius:12px}
  .group-band h2{font-size:clamp(24px,3vw,34px);font-weight:800;margin-bottom:14px}
  .group-band p{color:var(--muted)}
  .group-points{display:flex;gap:26px;margin-top:24px;flex-wrap:wrap}
  .group-points div{flex:1;min-width:150px}
  .group-points b{font-family:'Sora';color:#fff;display:block;margin-bottom:4px;font-size:15px}
  .group-points span{font-size:13px;color:var(--muted)}
  @media(max-width:880px){.group-band{grid-template-columns:1fr;padding:32px}}

  /* Sticky CTA */
  .sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:70;background:rgba(19,22,30,.94);backdrop-filter:blur(10px);border-top:1px solid var(--line);transform:translateY(110%);transition:.4s}
  .sticky-cta.show{transform:none}
  .sticky-cta .wrap{display:flex;align-items:center;justify-content:space-between;height:66px;gap:16px}
  .sticky-cta b{color:#fff;font-family:'Sora'}
  .sticky-cta .l{font-size:14px;color:var(--muted)}
  @media(max-width:680px){.sticky-cta .l span{display:none}}

  /* ===== Service page ===== */
  .breadcrumb{font-size:13px;color:var(--muted);margin-bottom:20px}
  .breadcrumb a:hover{color:var(--orange)}
  .breadcrumb b{color:var(--orange);font-weight:600}
  .svc-hero{padding:70px 0 80px;background:radial-gradient(900px 440px at 80% -10%,rgba(241,154,82,.16),transparent 60%),linear-gradient(180deg,#1b1f2a,#20232f)}
  .svc-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}
  .svc-hero h1{font-size:clamp(34px,4.6vw,54px);font-weight:800;letter-spacing:-.03em}
  .svc-hero p.lead{font-size:18px;color:var(--muted);margin:20px 0 30px;max-width:540px}
  .svc-hero-img{border-radius:18px;overflow:hidden;border:1px solid var(--line);box-shadow:0 36px 70px rgba(0,0,0,.45);min-height:380px}
  .svc-hero-img img{width:100%;height:100%;object-fit:cover;min-height:380px}
  @media(max-width:880px){.svc-hero-grid{grid-template-columns:1fr}}
  .benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
  .benefit{background:linear-gradient(180deg,#262b39,#212532);border:1px solid var(--line);border-radius:14px;padding:26px;transition:.25s}
  .benefit:hover{transform:translateY(-5px);border-color:rgba(241,154,82,.4)}
  .benefit .ic{font-size:24px;margin-bottom:12px}
  .benefit h3{font-size:17px;margin-bottom:8px}
  .benefit p{color:var(--muted);font-size:14px}
  @media(max-width:880px){.benefits{grid-template-columns:1fr}}
  .prose{max-width:780px;margin:0 auto}
  .prose h2{color:#fff;font-size:clamp(26px,3.4vw,38px);margin:0 0 18px;font-weight:800;letter-spacing:-.02em}
  .prose p{margin-bottom:18px;color:var(--muted);font-size:17px}

/* Related services (internal linking) */
.related{background:var(--navy2);border-top:1px solid var(--line)}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:8px}
.rel-card{display:flex;flex-direction:column;gap:6px;padding:20px 22px;background:var(--panel);border:1px solid var(--line);border-radius:14px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.rel-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(20,24,40,.08);border-color:var(--orange,#F19A52)}
.rel-card span{font-family:'Sora',sans-serif;font-weight:700;color:#fff;font-size:17px}
.rel-card b{color:var(--orange);font-weight:600;font-size:13px;letter-spacing:.01em}

/* Mobile navigation (hamburger) */
.gi{width:1em;height:1em;vertical-align:-.12em;margin-right:.45em;flex:none;display:inline-block}
.nav-toggle{display:none;background:none;border:0;font-size:26px;line-height:1;color:var(--body,#e8e9ee);cursor:pointer;padding:6px 8px}
.mobile-menu{display:none;flex-direction:column;background:var(--navy2,#232838);border-top:1px solid var(--line);padding:8px 22px 18px}
.mobile-menu.open{display:flex}
.mobile-menu a{padding:13px 2px;font-family:'Sora',sans-serif;font-weight:600;font-size:16px;color:var(--body,#e8e9ee);text-decoration:none;border-bottom:1px solid var(--line)}
.mobile-menu a:last-child{border-bottom:0}
.mobile-menu a.btn{margin-top:12px;justify-content:center;color:#fff}
@media(max-width:960px){.nav-toggle{display:block}.nav-cta .btn{display:none}}
@media(min-width:961px){.mobile-menu{display:none!important}}

/* Mobile footer + small-screen safety */
.foot-grid>div{min-width:0}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr!important;gap:28px}}

/* Knowledge guide pages */
.guide-wrap{display:grid;grid-template-columns:1fr 320px;gap:48px;align-items:start}
.guide-prose{max-width:none}
.guide-prose h2{font-family:'Sora',sans-serif;font-size:24px;font-weight:700;color:#fff;margin:34px 0 12px}
.guide-prose h2:first-child{margin-top:0}
.guide-prose p{color:var(--body);font-size:16.5px;line-height:1.75;margin:0 0 14px}
.guide-prose .ticks{margin:6px 0 18px;padding-left:0;list-style:none}
.guide-prose .ticks li{position:relative;padding:6px 0 6px 30px;color:var(--body);line-height:1.6}
.guide-prose .ticks li::before{content:'✓';position:absolute;left:0;top:6px;color:var(--orange-d,#e07f30);font-weight:700}
.guide-aside{position:sticky;top:90px;display:flex;flex-direction:column;gap:18px}
.takeaways{background:var(--navy2);border:1px solid var(--line);border-radius:16px;padding:24px}
.takeaways h3{font-family:'Sora',sans-serif;font-size:18px;margin:0 0 12px;color:#fff}
.takeaways ul{margin:0;padding-left:20px}
.takeaways li{color:var(--body);font-size:14.5px;line-height:1.55;margin-bottom:10px}
.aside-cta{background:linear-gradient(160deg,#1b1f2a,#232838);border-radius:16px;padding:24px;color:#fff}
.aside-cta h3{font-family:'Sora',sans-serif;font-size:18px;margin:0 0 8px}
.aside-cta p{color:#c6ccd8;font-size:14.5px;line-height:1.55;margin:0 0 14px}
@media(max-width:880px){.guide-wrap{grid-template-columns:1fr;gap:32px}.guide-aside{position:static}}

/* Case study facts strip + clickable case cards */
.cs-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.cs-fact{background:var(--navy2);border:1px solid var(--line);border-radius:14px;padding:18px}
.cs-fact span{display:block;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--orange);font-weight:700;margin-bottom:4px}
.cs-fact b{font-family:'Sora',sans-serif;font-size:15px;color:#fff;line-height:1.3}
a.case{text-decoration:none;color:inherit;display:block;transition:transform .2s ease,box-shadow .2s ease}
a.case:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(20,24,40,.1)}
@media(max-width:760px){.cs-facts{grid-template-columns:1fr 1fr}}

/* SVG icons inside .ic circles (replaces emoji) */
.ic svg{width:26px;height:26px;display:block;color:var(--orange-d,#e07f30)}
.benefit .ic svg,.sector .ic svg,.cinfo-item .ic svg,.svc-hero .ic svg{color:var(--orange-d,#e07f30)}

  /* ===== Dropdown nav (2026-07-18) ===== */
  .nav-item{position:relative;display:flex;align-items:center}
  .nav-item>a{display:inline-flex;align-items:center;gap:5px}
  .nav-item .car{width:12px;height:12px;opacity:.55;transition:.18s}
  .nav-item:hover>a .car,.nav-item:focus-within>a .car{transform:rotate(180deg);opacity:1}
  .dropdown{position:absolute;top:100%;left:50%;transform:translate(-50%,10px);min-width:252px;background:#1e2330;border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:2px;opacity:0;visibility:hidden;transition:.18s;box-shadow:0 22px 44px rgba(0,0,0,.5);z-index:80}
  .dropdown::before{content:'';position:absolute;top:-14px;left:0;right:0;height:14px}
  .nav-item:hover .dropdown,.nav-item:focus-within .dropdown{opacity:1;visibility:visible;transform:translate(-50%,0)}
  .dropdown a{display:block;padding:9px 14px;border-radius:8px;font-size:14px;font-weight:500;color:var(--body);white-space:nowrap}
  .dropdown a:hover{background:rgba(255,255,255,.06);color:var(--orange)}
  .dropdown a.all{margin-top:6px;padding-top:11px;border-top:1px solid var(--line);color:var(--orange);font-weight:700}
  /* ===== Sticky-CTA overflow fix (2026-07-18) ===== */
  .btn{white-space:nowrap}
  .sticky-cta .wrap{flex-wrap:nowrap;min-width:0}
  .sticky-cta .l{min-width:0;overflow:hidden;text-overflow:ellipsis}
  .sticky-cta .btn{padding:12px 20px;flex-shrink:0}
  @media(max-width:900px){.sticky-cta .l{display:none}.sticky-cta .wrap{justify-content:center}}
  @media(max-width:540px){.sticky-cta .btn-ghost{display:none}}

  /* nav crowding fix (2026-07-19): Locations link added — keep items on one line,
     drop the header phone number earlier now the nav is fuller */
  .nav-links a{white-space:nowrap}
  .nav-links{gap:22px}
  .nav-phone{white-space:nowrap}
  @media(max-width:1420px){.nav-phone{display:none}}

  /* photo galleries (2026-07-19) */
  .gal{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .gal img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px;display:block}
  .gal.gal2{grid-template-columns:1fr 1fr;margin-top:26px}
  .guide-prose figure{margin:26px 0}
  .guide-prose figure img{width:100%;border-radius:12px;display:block}
  .guide-prose figcaption{font-size:13px;color:var(--muted);margin-top:8px}
  @media(max-width:760px){.gal{grid-template-columns:1fr 1fr}}

  /* locations hub (2026-07-19) */
  .locsearch{margin-top:26px;max-width:420px}
  .locsearch input{width:100%;padding:14px 18px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;font-size:16px;font-family:'Inter',sans-serif}
  .locsearch input::placeholder{color:var(--muted)}
  .locsearch input:focus{outline:2px solid var(--orange);border-color:transparent}
  .region-block{margin-bottom:40px}
  .region-head{display:flex;gap:18px;align-items:center;margin-bottom:16px}
  .region-head img{width:132px;height:88px;object-fit:cover;border-radius:12px;flex:none}
  .region-head h2{font-size:24px;margin-bottom:4px}
  .region-head p{color:var(--muted);font-size:14px}
  @media(max-width:560px){.region-head img{width:92px;height:64px}}

  .form-head{margin-bottom:18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
  .form-head b{display:block;font-family:'Sora',sans-serif;font-size:20px;color:#fff;margin-bottom:4px}
  .form-head span{color:var(--muted);font-size:13.5px}

  /* a11y: footer CTA keeps ink-on-orange contrast (2026-07-20) */
  footer .btn.btn-primary{color:var(--ink)}

  .foot-grid a.btn-primary,.foot-grid a.btn-primary:hover{color:var(--ink)}

  /* mobile form UX (2026-07-21): big consent checkbox, form lands first on #contact */
  .consent input[type=checkbox]{width:22px;height:22px;flex:none;accent-color:var(--orange);margin-top:0}
  .consent{align-items:center;font-size:13.5px}
  #contact,#faq,#cases,#services{scroll-margin-top:84px}
  @media(max-width:880px){
    .contact-grid .form-card{order:-1}
    .contact-grid{gap:34px}
    .form-card{padding:24px 18px}
    .btn{padding:14px 22px}
  }

  /* mobile polish (2026-07-21): slim topbar, tighter hero, full-width hero CTAs */
  @media(max-width:640px){
    .topbar .wrap>span:first-child{display:none}
    .topbar .wrap{justify-content:center}
    .hero{padding:36px 0 44px}
    .svc-hero{padding:30px 0 40px}
    .hero-cta .btn{width:100%;justify-content:center}
  }

  /* mobile menu accordions + white hamburger (2026-07-21) */
  .nav-toggle{color:#fff}
  .mobile-menu{max-height:calc(100vh - 140px);overflow-y:auto}
  .mobile-menu details.mm{border-bottom:1px solid var(--line)}
  .mobile-menu details.mm summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:14px 2px;font-family:'Sora',sans-serif;font-weight:600;font-size:16px;color:#fff;cursor:pointer}
  .mobile-menu details.mm summary::-webkit-details-marker{display:none}
  .mobile-menu details.mm summary::after{content:"+";color:var(--orange);font-size:22px;font-weight:400}
  .mobile-menu details.mm[open] summary::after{content:"\2013"}
  .mobile-menu details.mm a{display:block;padding:11px 2px 11px 16px;font-size:15px;font-weight:500;border-bottom:0;color:var(--body,#e8e9ee)}
  .mobile-menu details.mm a.mm-all{color:var(--orange);font-weight:700;padding-bottom:14px}
