/* testimonials-page.css — Phase 4 extraction 2026-04-17. */
/* Photo-hero treatment promoted to vshr-v4.css (.sh-hero--photo, 2026-06-03). */

/* §1 */
/* ── SKIP LINK ─────────────────────────────────────────── */
    .skip-link{position:absolute;top:-100%;left:16px;z-index:9999;background:#07192E;color:#fff;padding:12px 24px;border-radius:0 0 8px 8px;font-family:"Inter",system-ui,sans-serif;font-size:14px;font-weight:600;text-decoration:none;transition:top .15s}
    .skip-link:focus{top:0}
    /* ── RESET ─────────────────────────────────────────────── */
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
    :focus-visible{outline:2px solid #29ABE2;outline-offset:3px;border-radius:6px}
    a,button,[role="button"],[onclick],.btn-hero-primary,.btn-primary,.btn-nav-primary,.callback-trigger{cursor:pointer}
    a,button,[role="button"]{transition:all 0.2s ease}
    .mob-sticky-cta a,.mob-sticky-cta button,.callback-trigger{min-height:44px}
    @media(max-width:768px){button,[role="button"],.btn-primary,.btn-nav-primary,.iq-submit,.callback-submit{min-height:44px;padding-top:12px;padding-bottom:12px}input,select,textarea{min-height:44px}}
    @media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}
    /* ── TOKENS ─────────────────────────────────────────────── */
    :root{
      --blue:#1479A3;--blue-dark:#1366A0;--navy:#07192E;--navy-2:#0D2B45;
      --white:#FFFFFF;--off:#F4F8FC;--surface:#FFFFFF;--border:#E2ECF4;
      --text:#0D1829;--muted:#3D5266;--orange:#F97316;--green:#15803D;
      --grad:linear-gradient(135deg,#F7D44C 0%,#F07128 28%,#E8125C 62%,#7B21A2 100%);
      --font-h:'Poppins',system-ui,sans-serif;--font-b:'Inter',system-ui,sans-serif;
      --ease:cubic-bezier(.22,1,.36,1);--spring:cubic-bezier(.175,.885,.32,1.275);
      --shadow-sm:0 1px 4px rgba(7,25,46,.06),0 1px 2px rgba(7,25,46,.04);
      --shadow-md:0 4px 24px rgba(7,25,46,.08),0 2px 8px rgba(7,25,46,.04);
      --shadow-lg:0 16px 56px rgba(7,25,46,.10),0 4px 16px rgba(7,25,46,.06);
      --shadow-xl:0 32px 80px rgba(7,25,46,.14),0 8px 24px rgba(7,25,46,.08);
      --glow-orange:0 0 0 1px rgba(249,115,22,.12),0 8px 24px rgba(249,115,22,.20);
      --glass-shadow:0 0 0 0.5px rgba(255,255,255,.6),0 0 0 1px rgba(0,0,0,.02),0 1px 2px rgba(7,25,46,.03),0 4px 12px rgba(7,25,46,.04),0 16px 48px rgba(7,25,46,.07);
      --glass-shadow-hover:0 0 0 0.5px rgba(255,255,255,.8),0 0 0 1px rgba(41,171,226,.08),0 2px 4px rgba(7,25,46,.04),0 8px 24px rgba(7,25,46,.06),0 24px 64px rgba(7,25,46,.10);
    }

    /* Brand gradient accent — canonical 5-stop, applied via .grad-word in hero H1s */
    .grad-word {
      background: linear-gradient(135deg, #F7D44C 0%, #F07128 22%, #E8125C 50%, #7B21A2 78%, #1779B8 100%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      color: transparent;
    }

    @media(max-width:768px){:root{--glass-shadow:0 2px 8px rgba(7,25,46,.04),0 4px 16px rgba(7,25,46,.03);--shadow-md:0 2px 12px rgba(7,25,46,.06);--shadow-sm:0 1px 6px rgba(7,25,46,.04)}}
    /* ── BASE ─────────────────────────────────────────────── */
    html{scroll-behavior:smooth;font-size:16px}
    body{font-family:var(--font-b);background:var(--off);color:var(--text);-webkit-font-smoothing:antialiased;line-height:1.6;}
    a{text-decoration:none}
    img{max-width:100%;display:block}
    /* ── HEADER ───────────────────────────────────────────── */
    header{position:sticky;top:0;z-index:300;background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 100%);-webkit-backdrop-filter:blur(28px) saturate(1.8) brightness(1.02);backdrop-filter:blur(28px) saturate(1.8) brightness(1.02);border-bottom:1px solid rgba(226,236,244,.5);box-shadow:0 1px 0 rgba(226,236,244,.5),0 0 0 0.5px rgba(255,255,255,.8),0 2px 12px rgba(7,25,46,.04),0 4px 24px rgba(7,25,46,.03)}
/* NAV CSS extracted to assets/site.css — see _scripts/extract_nav_css.py */
    /* ── HERO — light canonical (Phase 3 swap 2026-04-09) ─────
       Was: dark navy with rgba-white grid overlay + transparent-
       gradient H1. Now: light backdrop matching services-hub,
       navy H1 with brand-gradient .grad-word spans, muted body. */
    .t-hero{
      position:relative;
      overflow:hidden;
      padding:88px 32px 96px;
      background:linear-gradient(180deg,
        rgba(234,243,252,.94) 0%,
        rgba(220,234,249,.90) 55%,
        rgba(210,226,244,.86) 100%);
      border-bottom:2px solid rgba(41,171,226,.28);
      box-shadow:inset 0 24px 48px rgba(7,25,46,.04), 0 2px 0 rgba(255,255,255,.7);
      color:var(--navy);
    }
    .t-hero::before{
      content:'';
      position:absolute; inset:0;
      background:
        radial-gradient(ellipse 60% 70% at 15% 10%, rgba(41,171,226,.22) 0%, transparent 55%),
        radial-gradient(ellipse 50% 60% at 85% 30%, rgba(249,115,22,.12) 0%, transparent 55%),
        radial-gradient(rgba(7,25,46,.05) 1px, transparent 1px);
      background-size:100% 100%, 100% 100%, 26px 26px;
      pointer-events:none;
      z-index:0;
    }
    .t-hero::after{
      content:'';
      position:absolute;
      left:0; right:0; bottom:0;
      height:120px;
      background:linear-gradient(180deg, transparent 0%, rgba(255,255,255,.5) 60%, rgba(255,255,255,.85) 100%);
      pointer-events:none;
      z-index:0;
    }
    .t-hero-inner{max-width:960px;margin:0 auto;text-align:center;position:relative;z-index:1}
    .eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 16px;border-radius:999px;background:rgba(41,171,226,.08);border:1px solid rgba(41,171,226,.22);color:var(--blue-dark);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:22px}
    .t-hero h1{font-family:var(--font-h);font-size:2rem;font-size:clamp(2rem,5vw,3.8rem);font-weight:800;line-height:1.1;letter-spacing:-0.02em;color:var(--navy);margin-bottom:20px}
    .t-hero p{font-family:var(--font-b);font-size:1.15rem;color:var(--muted);max-width:64ch;margin:0 auto 32px}
    .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
    .btn-primary{font-family:var(--font-b);font-size:16px;font-weight:600;color:#fff;background:var(--orange);padding:15px 28px;border-radius:12px;text-decoration:none;transition:all .2s var(--ease);min-height:52px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:none;box-shadow:0 4px 14px rgba(249,115,22,.22)}
    .btn-primary:hover{background:#EA6C10;transform:translateY(-2px);box-shadow:0 6px 20px rgba(249,115,22,.35)}
    .btn-ghost{font-family:var(--font-b);font-size:16px;font-weight:600;color:var(--navy);background:#fff;padding:15px 28px;border-radius:12px;text-decoration:none;transition:all .2s var(--ease);min-height:52px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:1px solid rgba(13,24,41,.12);box-shadow:0 1px 2px rgba(13,24,41,.04)}
    .btn-ghost:hover{background:rgba(255,255,255,.1);transform:translateY(-2px)}
    /* ── STATS STRIP ─────────────────────────────────────── */
    .sec-stats{background:var(--navy);padding:60px 32px;position:relative}
    .sec-stats::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 50%,rgba(41,171,226,.05) 0%,transparent 60%);pointer-events:none}
    .stats-inner{max-width:1000px;margin:0 auto;position:relative;z-index:2}
    .stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:0}
    .stat-item{text-align:center;padding:16px;position:relative}
    .stat-item:not(:last-child)::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);width:1px;height:48px;background:rgba(255,255,255,.12)}
    .stat-number{font-family:var(--font-h);font-size:48px;font-weight:800;color:var(--white);line-height:1;margin-bottom:6px;background:linear-gradient(135deg,#fff 0%,var(--blue) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
    .stat-label{font-family:var(--font-b);font-size:14px;font-weight:400;color:rgba(255,255,255,.6)}
    /* ── SECTION SHARED ─────────────────────────────────── */
    .sec-inner{max-width:1200px;margin:0 auto}
    .sec-label{font-family:var(--font-b);font-size:13px;font-weight:600;color:var(--blue);letter-spacing:1.2px;text-transform:uppercase;margin-bottom:12px}
    .sec-h2{font-family:var(--font-h);font-size:36px;font-weight:700;color:var(--text);line-height:1.2;margin-bottom:8px}
    .sec-sub{font-family:var(--font-b);font-size:17px;font-weight:400;color:var(--muted);max-width:600px;margin-bottom:40px;line-height:1.6}
    /* ── TESTIMONIALS MASONRY ────────────────────────────── */
    .sec-testimonials{background:var(--white);padding:96px 32px}
    .t-masonry{columns:3;column-gap:24px}
    .t-card{break-inside:avoid;background:var(--off);border:1px solid var(--border);border-radius:20px;padding:28px;margin-bottom:24px;box-shadow:var(--glass-shadow);transition:all .35s var(--ease);position:relative;overflow:hidden}
    .t-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--blue),rgba(41,171,226,.35))}
    .t-card:hover{box-shadow:var(--glass-shadow-hover);transform:translateY(-3px)}
    .t-stars{display:flex;gap:3px;margin-bottom:14px}
    .t-stars svg{width:16px;height:16px;fill:#F59E0B;stroke:none}
    .t-quote{font-family:var(--font-b);font-size:15px;color:var(--text);line-height:1.75;margin-bottom:18px;position:relative}
    .t-quote::before{content:'\201C';font-family:var(--font-h);font-size:64px;line-height:0;position:absolute;top:28px;left:-6px;color:var(--blue);opacity:.12}
    .t-result{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;background:rgba(41,171,226,.08);color:var(--blue-dark);font-family:var(--font-b);font-size:12px;font-weight:700;margin-bottom:18px}
    .t-result svg{width:13px;height:13px;stroke:var(--blue);fill:none;stroke-width:2.5}
    .t-author{display:flex;flex-direction:column;gap:2px;border-top:1px solid var(--border);padding-top:14px}
    .t-author strong{font-family:var(--font-b);font-size:15px;font-weight:700;color:var(--text)}
    .t-author span{font-family:var(--font-b);font-size:13px;color:var(--muted)}
    .t-author .t-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;background:rgba(41,171,226,.08);color:var(--blue-dark);font-size:11px;font-weight:700;letter-spacing:.04em;margin-top:6px;width:fit-content}
    /* Quote-grid cards (inline-styled <article>): the cards stretch to equal
       height, but the trailing outcome + attribution lines float right after
       a variable-length quote. Make each card a flex column and push the
       outcome line (2nd-from-last) to the bottom so the outcome + attribution
       block aligns across every card in a row. */
    .t-quote-grid > article{display:flex;flex-direction:column}
    .t-quote-grid > article > div:nth-last-child(2){margin-top:auto}
    /* ── INDUSTRIES GRID ─────────────────────────────────── */
    .sec-industries{background:var(--off);padding:96px 32px}
    .ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
    .ind-card{background:var(--white);border:1px solid var(--border);border-radius:16px;padding:24px;text-align:center;box-shadow:var(--shadow-sm);transition:all .3s var(--ease);text-decoration:none;display:block}
    .ind-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px);border-color:rgba(41,171,226,.3)}
    .ind-icon{width:52px;height:52px;border-radius:14px;background:rgba(41,171,226,.09);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
    .ind-icon svg{width:26px;height:26px;stroke:var(--blue);fill:none;stroke-width:1.8}
    .ind-card strong{font-family:var(--font-b);font-size:15px;font-weight:700;color:var(--text);display:block;margin-bottom:6px}
    .ind-card span{font-family:var(--font-b);font-size:13px;color:var(--muted)}
    /* ── CASE STUDIES TEASER ─────────────────────────────── */
    .sec-cases{background:var(--white);padding:96px 32px}
    .cases-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
    .case-card{background:var(--off);border:1px solid var(--border);border-radius:20px;padding:32px;box-shadow:var(--glass-shadow);transition:all .35s var(--ease);position:relative}
    .case-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;border-radius:20px 20px 0 0}
    .case-card--blue::before{background:var(--blue)}
    .case-card--orange::before{background:var(--orange)}
    .case-card--navy::before{background:var(--navy)}
    .case-card:hover{box-shadow:var(--glass-shadow-hover);transform:translateY(-3px)}
    .case-industry{font-family:var(--font-b);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}
    .case-card h3{font-family:var(--font-h);font-size:20px;font-weight:700;color:var(--text);line-height:1.3;margin-bottom:12px}
    .case-card p{font-family:var(--font-b);font-size:14px;color:var(--muted);line-height:1.65;margin-bottom:20px}
    .case-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-b);font-size:14px;font-weight:700;color:var(--blue-dark);text-decoration:none;transition:color .15s}
    .case-link:hover{color:var(--blue)}
    .case-metric{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--white);border:1px solid var(--border);border-radius:12px;margin-bottom:20px}
    .case-metric strong{font-family:var(--font-h);font-size:22px;font-weight:800;color:var(--blue)}
    .case-metric span{font-family:var(--font-b);font-size:13px;color:var(--muted);line-height:1.4}
    /* ── BOTTOM CTA ──────────────────────────────────────── */
    .sec-cta{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);padding:96px 32px;text-align:center;position:relative;overflow:hidden}
    .sec-cta::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 50%,rgba(41,171,226,.08) 0%,transparent 60%);pointer-events:none}
    .sec-cta::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:48px 48px;pointer-events:none}
    .cta-inner{max-width:680px;margin:0 auto;position:relative;z-index:1}
    .cta-h2{font-family:var(--font-h);font-size:1.8rem;font-size:clamp(1.8rem,4vw,3rem);font-weight:800;color:var(--white);line-height:1.15;margin-bottom:16px;letter-spacing:-0.02em}
    .cta-sub{font-family:var(--font-b);font-size:1.1rem;color:rgba(255,255,255,.72);margin-bottom:36px;line-height:1.65}
    .cta-btns{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
    .btn-cta-primary, .btn-primary {font-family:var(--font-b);font-size:16px;font-weight:600;color:#fff;background:var(--orange);padding:16px 32px;border-radius:12px;text-decoration:none;transition:all .2s var(--ease);min-height:52px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:none;box-shadow:0 4px 14px rgba(249,115,22,.25)}
    .btn-cta-primary:hover, .btn-primary:hover {background:#EA6C10;transform:translateY(-2px);box-shadow:0 6px 20px rgba(249,115,22,.40)}
    .btn-cta-ghost, .btn-ghost {font-family:var(--font-b);font-size:16px;font-weight:600;color:#fff;background:transparent;padding:16px 32px;border-radius:12px;text-decoration:none;transition:all .2s var(--ease);min-height:52px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;border:1px solid rgba(255,255,255,.28)}
    .btn-cta-ghost:hover, .btn-ghost:hover {background:rgba(255,255,255,.1);transform:translateY(-2px)}
    /* ── FOOTER ──────────────────────────────────────────── */
    footer{background:#040E1A;padding:64px 32px 32px;color:rgba(255,255,255,.4);position:relative}
    footer::before{content:'';position:absolute;top:-120px;left:0;right:0;height:120px;background:linear-gradient(180deg,transparent 0%,#040E1A 100%);pointer-events:none}
    .ft{max-width:1200px;margin:0 auto}
    .ft-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:48px;margin-bottom:48px}
    .ft-logo img{height:36px;width:auto;display:block;margin-bottom:14px}
    .ft-tagline{font-family:var(--font-b);font-size:13.5px;color:rgba(255,255,255,.30);line-height:1.65;margin-bottom:20px}
    .ft-phone{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-b);font-size:14.5px;font-weight:700;color:var(--blue);text-decoration:none;transition:color .15s}
    .ft-phone:hover{color:#7DD4F5}
    .ft-col h3{font-family:var(--font-b);font-size:11px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;color:rgba(255,255,255,.22);margin-bottom:16px}
    .ft-col a{display:block;font-family:var(--font-b);font-size:14px;color:rgba(255,255,255,.65);text-decoration:none;margin-bottom:10px;transition:color .15s}
    .ft-col a:hover{color:#fff}
    .ft-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:28px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;font-family:var(--font-b);font-size:12.5px}
    .ft-legal{display:flex;gap:20px}
    .ft-legal a{color:rgba(255,255,255,.26);text-decoration:none;transition:color .15s}
    .ft-legal a:hover{color:#fff}
    /* ── REVEAL ───────────────────────────────────────────── */
    .reveal{opacity:0;transform:translateY(28px);transition:opacity .65s var(--ease),transform .65s var(--ease)}
    .reveal.revealed{opacity:1;transform:translateY(0)}
    .t-hero .reveal{opacity:1;transform:translateY(0)}
    .reveal-d1{transition-delay:.08s}.reveal-d2{transition-delay:.18s}.reveal-d3{transition-delay:.28s}
    .reveal-d4{transition-delay:.38s}.reveal-d5{transition-delay:.48s}.reveal-d6{transition-delay:.58s}
    /* ── CALLBACK WIDGET ────────────────────────────────── */
    .callback-widget{position:fixed;bottom:24px;right:24px;z-index:500}
    .callback-trigger{width:56px;height:56px;border-radius:50%;background:var(--orange);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(249,115,22,.3);transition:transform .2s ease,box-shadow .2s ease}
    .callback-trigger:hover{transform:scale(1.08);box-shadow:0 6px 20px rgba(249,115,22,.4)}
    .callback-trigger svg{width:24px;height:24px;stroke:#fff;fill:none}
    .callback-panel{display:none;position:absolute;bottom:70px;right:0;width:320px;background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(7,25,46,.15);padding:24px;transform-origin:bottom right}
    .callback-panel.open{display:block;animation:cbSlideUp .3s ease forwards;will-change:transform,opacity}
    @keyframes cbSlideUp{from{opacity:0;transform:translateY(10px) scale(0.95)}to{opacity:1;transform:translateY(0) scale(1)}}
    .callback-panel h3{font-family:var(--font-h);font-size:18px;font-weight:700;color:var(--navy);margin-bottom:4px}
    .callback-panel p{font-size:14px;color:var(--muted);margin-bottom:16px}
    .callback-panel input{width:100%;padding:12px 16px;border:1.5px solid var(--border);border-radius:10px;font-size:15px;margin-bottom:12px;font-family:var(--font-b)}
    .callback-panel input:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(41,171,226,.15);outline:none}
    .callback-submit{width:100%;padding:12px;border:none;border-radius:10px;background:var(--orange);color:#fff;font-weight:600;font-size:15px;cursor:pointer;box-shadow:0 4px 14px rgba(249,115,22,.18)}
    .callback-success{text-align:center;padding:20px 0}
    .callback-success svg{width:48px;height:48px;stroke:#10B981;margin-bottom:12px}
    /* ── MOBILE STICKY CTA ──────────────────────────────── */
    .mob-sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:400;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border);padding:12px 16px;box-shadow:0 -4px 20px rgba(7,25,46,.08)}
    @media(max-width:768px){.mob-sticky-cta{display:flex;gap:10px;align-items:center}body{padding-bottom:72px}}
    .mob-sticky-cta .mob-cta-btn{flex:1;padding:14px 20px;border-radius:12px;font-family:var(--font-h);font-size:15px;font-weight:700;text-align:center;text-decoration:none;transition:transform .15s ease}
    .mob-sticky-cta .mob-cta-btn:active{transform:scale(0.97)}
    .mob-sticky-cta .mob-cta-primary{background:var(--orange);color:#fff;box-shadow:0 4px 14px rgba(249,115,22,.18)}
    .mob-sticky-cta .mob-cta-secondary{background:transparent;color:var(--navy);border:1.5px solid var(--border)}
    /* ── RESPONSIVE ─────────────────────────────────────── */
    @media(max-width:1100px){.t-masonry{columns:2}.ind-grid{grid-template-columns:repeat(2,1fr)}.cases-grid{grid-template-columns:1fr}}
    @media(max-width:900px){.stats-strip{grid-template-columns:repeat(2,1fr)}.stat-item:nth-child(2)::after{display:none}.ft-top{grid-template-columns:1fr 1fr 1fr;gap:32px}}
    @media(max-width:768px){nav{display:none}.btn-nav-ghost{display:none}.ham{display:flex}.mob-overlay{display:block}.t-hero{padding:56px 24px 48px}.t-hero h1{font-size:1.8rem; font-size:clamp(1.8rem,7vw,2.8rem)}.t-masonry{columns:1}.sec-testimonials,.sec-industries,.sec-cases,.sec-cta{padding:64px 24px}.sec-h2{font-size:28px}.cta-h2{font-size:26px}.stat-number{font-size:36px}.ind-grid{grid-template-columns:repeat(2,1fr)}}
    @media(max-width:520px){.ind-grid{grid-template-columns:1fr}.ft-top{grid-template-columns:1fr 1fr;gap:24px}}
  
    nav { display: flex; align-items: center; }
    .nav-item { position: relative; display: flex; align-items: center; }
    .nav-item::after { content:''; position:absolute; top:100%; left:-8px; right:-8px; height:12px; }
    .nav-link, .nav-dd-trigger {
      font-family: var(--font-b); font-size: 14px; font-weight: 500;
      color: var(--muted); text-decoration: none;
      padding: 8px 12px; border-radius: 8px; border: 1px solid transparent;
      display: inline-flex; align-items: center; gap: 4px;
      background: none; cursor: pointer;
      transition: color .15s, background .2s, border-color .2s, box-shadow .2s;
      -webkit-tap-highlight-color: transparent; white-space: nowrap;
    }
    .nav-link:hover, .nav-dd-trigger:hover, .nav-item:hover > .nav-dd-trigger {
      color: var(--text); background: rgba(255,255,255,.7);
      backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
      border-color: rgba(226,236,244,.6); box-shadow: 0 1px 4px rgba(7,25,46,.05);
    }
    .nav-link.active, .nav-dd-trigger.active { color: var(--text); font-weight: 600; }
    .dd-chevron { width: 13px; height: 13px; stroke: currentColor; stroke-width: 2.5; fill: none; transition: transform .2s; flex-shrink: 0; }
    .nav-item:hover .dd-chevron { transform: rotate(180deg); }

    /* ── DROPDOWN PANEL ── */
    .dd-menu {
      position: absolute; top: calc(100% + 10px); left: 50%;
      transform: translateX(-50%) translateY(-6px);
      background: var(--white); border: 1px solid rgba(220,232,241,.9);
      border-radius: 16px; padding: 10px;
      box-shadow: 0 20px 60px rgba(7,25,46,.13), 0 4px 16px rgba(7,25,46,.07);
      opacity: 0; visibility: hidden; pointer-events: none;
      transition: opacity .18s, transform .18s, visibility 0s linear .18s;
      z-index: 400; min-width: 440px;
    }
    .nav-item:hover .dd-menu {
      opacity: 1; visibility: visible; pointer-events: all;
      transform: translateX(-50%) translateY(0);
      transition: opacity .18s, transform .18s, visibility 0s;
    }
    .dd-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; }
    .dd-menu a {
      display: flex; align-items: center; gap: 10px;
      padding: 9px 10px; border-radius: 10px;
      font-size: 13.5px; font-weight: 500; color: var(--text);
      text-decoration: none; transition: background .12s, color .12s; white-space: nowrap;
    }
    .dd-menu a:hover { background: var(--off); color: var(--blue-dark); }
    .dd-menu a.active { color: var(--blue-dark); font-weight: 600; background: rgba(41,171,226,.08); }
    .dd-ico {
      width: 30px; height: 30px; border-radius: 8px;
      background: linear-gradient(135deg, rgba(41,171,226,.13), rgba(23,121,184,.07));
      display: flex; align-items: center; justify-content: center; flex-shrink: 0;
    }
    .dd-ico svg { width: 15px; height: 15px; stroke: var(--blue-dark); stroke-width: 1.8; fill: none; }
    .dd-res .dd-ico { background: linear-gradient(135deg, rgba(249,115,22,.12), rgba(249,115,22,.06)); }
    .dd-res .dd-ico svg { stroke: var(--orange); }
    .dd-divider { height: 1px; background: var(--border); margin: 6px 0; }
    .dd-all {
      display: flex; justify-content: center; align-items: center; gap: 5px;
      padding: 8px 10px 4px; font-size: 13px; font-weight: 600;
      color: var(--blue-dark); text-decoration: none; border-radius: 8px;
      transition: background .12s;
    }
    .dd-all:hover { background: var(--off); }
    .dd-all svg { width: 12px; height: 12px; stroke: currentColor; stroke-width: 2.5; fill: none; }
    .dd-res { min-width: 220px; }

    /* ── MOBILE DRAWER SECTIONS ── */
    .mob-section-head {
      padding: 10px 20px 4px; font-size: 12px; font-weight: 700;
      letter-spacing: .07em; text-transform: uppercase; color: var(--muted);
    }
    .mob-section + .mob-section { border-top: 1px solid var(--off); }
    .mob-nav .mob-view-all { color: var(--blue-dark) !important; font-size: 13px !important; }

    .hd-right { display: flex; align-items: center; gap: 10px; }
    .btn-nav {
      font-family: var(--font-b); font-size: 13.5px; font-weight: 600;
      padding: 9px 18px; border-radius: 8px; cursor: pointer;
      text-decoration: none; transition: all .15s; min-height: 40px;
      display: inline-flex; align-items: center; gap: 6px;
    }
    .btn-nav-ghost { color: var(--text); border: 1px solid var(--border); background: var(--white); }
    .btn-nav-ghost:hover { background: var(--off); border-color: #CBD5E1; }
    .btn-nav-primary { color: #fff; background: var(--orange); border: 1px solid transparent; }
    .btn-nav-primary:hover { background: #EA6C10; transform: translateY(-1px); box-shadow: var(--glow-orange); }

    /* ── HAMBURGER ───────────────────────────────────────── */
    .ham {
      display: none; width: 44px; height: 44px;
      border: none; background: none; cursor: pointer;
      border-radius: 10px; align-items: center; justify-content: center;
      transition: background .15s;
      -webkit-tap-highlight-color: transparent;
    }
    .ham:hover { background: var(--off); }
    .ham svg { width: 22px; height: 22px; stroke: var(--text); stroke-width: 2; fill: none; }

    /* ── MOBILE DRAWER ───────────────────────────────────── */
    .mob-overlay {
      display: none; position: fixed; inset: 0; z-index: 200;
      background: rgba(7,25,46,.45); backdrop-filter: blur(4px);
      -webkit-backdrop-filter: blur(4px);
      opacity: 0; transition: opacity .25s; pointer-events: none;
    }
    .mob-overlay.open { opacity: 1; pointer-events: all; }

    .mob-drawer {
      position: fixed; top: 0; right: -320px; bottom: 0; z-index: 250;
      width: 300px; background: var(--white);
      box-shadow: var(--shadow-xl);
      transition: right .32s var(--ease);
      display: flex; flex-direction: column;
    }
    .mob-drawer.open { right: 0; }

    .mob-head {
      display: flex; align-items: center; justify-content: space-between;
      padding: 18px 20px; border-bottom: 1px solid var(--border);
    }
    .mob-head img { height: 34px; }
    .mob-close {
      width: 44px; height: 44px;
      border: 1px solid var(--border); background: var(--off);
      border-radius: 8px; cursor: pointer;
      display: flex; align-items: center; justify-content: center;
      font-size: 20px; line-height: 1; color: var(--muted);
      transition: all .15s; font-family: system-ui;
    }
    .mob-close:hover { background: var(--border); color: var(--text); }

    .mob-nav { flex: 1; padding: 8px 0; overflow-y: auto; }
    .mob-nav a {
      display: flex; align-items: center; padding: 15px 20px;
      font-family: var(--font-b); font-size: 15px; font-weight: 500;
      color: var(--text); text-decoration: none;
      border-bottom: 1px solid var(--off); transition: all .15s;
    }
    .mob-nav a:hover { background: var(--off); color: var(--blue-dark); padding-left: 26px; }

    .mob-footer {
      padding: 18px 20px; border-top: 1px solid var(--border);
      display: flex; flex-direction: column; gap: 10px;
    }
    .mob-cta {
      font-family: var(--font-b); font-size: 14.5px; font-weight: 700;
      text-align: center; text-decoration: none;
      padding: 13px 24px; border-radius: 10px;
      min-height: 48px; display: flex; align-items: center; justify-content: center;
      transition: all .15s;
    }
    .mob-cta-primary { background: var(--orange); color: #fff; }
    .mob-cta-primary:hover { background: #EA6C10; }
    .mob-cta-secondary { background: var(--off); color: var(--text); border: 1px solid var(--border); }
    .mob-cta-secondary:hover { background: var(--border); }
/*callback-widget-mobile-hide-v1*/
@media (max-width: 767px) {
  .callback-widget { display: none !important; }
  .mob-sticky-cta { display: flex !important; }
}
/* reduced-motion-v1 */
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important;}}
/* mobile-qa-v1 */
@media (max-width: 767px) {
  .btn, button, .btn-primary, .btn-secondary, .btn-outline, .cta, [class*="btn-"], a.button, input[type="submit"], input[type="button"] {
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 12px 18px !important;
  }
  p, li, span, a, td, th, label, input, select, textarea, button, .small, .tag, .badge, .meta, .label, .desc, [class*="-desc"], [class*="-meta"], [class*="-label"], [class*="-tag"], [class*="-badge"], [class*="-time"], [class*="-name"], [class*="-val"], [class*="-num"], [class*="-txt"], [class*="-trend"], [class*="-sub"], [class*="-item"], [class*="-sep"] {
    font-size: max(14px, 1em) !important;
  }
  body, main, section, div, table, .container, .wrap, [class*="-wrap"], [class*="-grid"] {
    max-width: 100% !important;
  }
  img, video, iframe, svg { max-width: 100% !important; height: auto; }
  table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .mob-drawer, [class*="drawer"], .nav-drawer { width: 88vw !important; max-width: 320px !important; }
  html { overflow-x: hidden !important; }
}
@media (max-width: 359px) {
  .mob-drawer, [class*="drawer"], .nav-drawer { width: 96vw !important; max-width: 100vw !important; }
}
/* scroll-margin-anchor-v2 */
[id], section[id], h1[id], h2[id], h3[id], h4[id] { scroll-margin-top: 130px; }

    /* GOLDEN-CARD-ABOUT-PATCH v1 */
    /* Shell-only golden-card overrides for the about section.
       Covers: background, border, radius, shadow, left accent rule,
       ghost watermark, hover state. Does NOT touch typography,
       icons, badges, or internal layouts — those are per-page. */
    
    /* .t-card — golden-card shell */
    .t-card {
      position: relative !important;
      background: #FFFFFF !important;
      border: 1px solid rgba(13,24,41,.09) !important;
      border-radius: 10px !important;
      padding: 28px 26px 24px 34px !important;
      box-shadow:
        0 1px 2px rgba(13,24,41,.04),
        0 8px 24px -12px rgba(13,24,41,.18),
        0 16px 40px -20px rgba(13,24,41,.12) !important;
      transition:
        border-color 180ms ease-out,
        box-shadow 180ms ease-out,
        transform 180ms ease-out !important;
      overflow: hidden !important;
      isolation: isolate !important;
      --card-color:#1366A0;
      --card-rgb: 23,121,184;
    }
    .t-card:nth-child(6n+1){--card-color:#1366A0;--card-rgb:23,121,184}
    .t-card:nth-child(6n+2){--card-color:#7B21A2;--card-rgb:123,33,162}
    .t-card:nth-child(6n+3){--card-color:#E8125C;--card-rgb:232,18,92}
    .t-card:nth-child(6n+4){--card-color:#10B981;--card-rgb:16,185,129}
    .t-card:nth-child(6n+5){--card-color:#B45309;--card-rgb:180,83,9}
    .t-card:nth-child(6n+6){--card-color:#0EA5E9;--card-rgb:14,165,233}
    .t-card::before {
      content: '';
      position: absolute;
      left: 0;
      top: 18px;
      bottom: 18px;
      width: 3px;
      background: linear-gradient(180deg,
        transparent 0%,
        var(--card-color) 15%,
        var(--card-color) 85%,
        transparent 100%);
      border-radius: 0 3px 3px 0;
      transition: width 180ms ease-out, top 180ms ease-out, bottom 180ms ease-out;
      z-index: 2;
      pointer-events: none;
    }
    .t-card::after {
      content: '';
      position: absolute;
      top: -80px;
      left: -80px;
      width: 240px;
      height: 240px;
      background: radial-gradient(circle,
        rgba(var(--card-rgb), .12) 0%,
        transparent 65%);
      pointer-events: none;
      z-index: 0;
      opacity: .55;
      transition: opacity 180ms ease-out;
    }
    .t-card:hover {
      transform: translateY(-2px) !important;
      border-color: rgba(var(--card-rgb), .42) !important;
      box-shadow:
        0 1px 2px rgba(13,24,41,.05),
        0 14px 32px -14px rgba(var(--card-rgb), .22),
        0 18px 36px -18px rgba(13,24,41,.18) !important;
    }
    .t-card:hover::before {
      width: 4px;
      top: 10px;
      bottom: 10px;
    }
    .t-card:hover::after {
      opacity: 1;
    }
    .t-card > * {
      position: relative;
      z-index: 1;
    }
    
    /* .ind-card — golden-card shell */
    .ind-card {
      position: relative !important;
      background: #FFFFFF !important;
      border: 1px solid rgba(13,24,41,.09) !important;
      border-radius: 10px !important;
      padding: 24px 22px 22px 30px !important;
      box-shadow:
        0 1px 2px rgba(13,24,41,.04),
        0 8px 24px -12px rgba(13,24,41,.18),
        0 16px 40px -20px rgba(13,24,41,.12) !important;
      transition:
        border-color 180ms ease-out,
        box-shadow 180ms ease-out,
        transform 180ms ease-out !important;
      overflow: hidden !important;
      isolation: isolate !important;
      --card-color:#1366A0;
      --card-rgb: 23,121,184;
    }
    .ind-card:nth-child(4n+1){--card-color:#1366A0;--card-rgb:23,121,184}
    .ind-card:nth-child(4n+2){--card-color:#7B21A2;--card-rgb:123,33,162}
    .ind-card:nth-child(4n+3){--card-color:#E8125C;--card-rgb:232,18,92}
    .ind-card:nth-child(4n+4){--card-color:#10B981;--card-rgb:16,185,129}
    .ind-card::before {
      content: '';
      position: absolute;
      left: 0;
      top: 14px;
      bottom: 14px;
      width: 3px;
      background: linear-gradient(180deg,
        transparent 0%,
        var(--card-color) 15%,
        var(--card-color) 85%,
        transparent 100%);
      border-radius: 0 3px 3px 0;
      transition: width 180ms ease-out, top 180ms ease-out, bottom 180ms ease-out;
      z-index: 2;
      pointer-events: none;
    }
    .ind-card::after {
      content: '';
      position: absolute;
      top: -80px;
      left: -80px;
      width: 240px;
      height: 240px;
      background: radial-gradient(circle,
        rgba(var(--card-rgb), .12) 0%,
        transparent 65%);
      pointer-events: none;
      z-index: 0;
      opacity: .55;
      transition: opacity 180ms ease-out;
    }
    .ind-card:hover {
      transform: translateY(-2px) !important;
      border-color: rgba(var(--card-rgb), .42) !important;
      box-shadow:
        0 1px 2px rgba(13,24,41,.05),
        0 14px 32px -14px rgba(var(--card-rgb), .22),
        0 18px 36px -18px rgba(13,24,41,.18) !important;
    }
    .ind-card:hover::before {
      width: 4px;
      top: 6px;
      bottom: 6px;
    }
    .ind-card:hover::after {
      opacity: 1;
    }
    .ind-card > * {
      position: relative;
      z-index: 1;
    }
    
    /* .case-card — golden-card shell */
    .case-card {
      position: relative !important;
      background: #FFFFFF !important;
      border: 1px solid rgba(13,24,41,.09) !important;
      border-radius: 10px !important;
      padding: 32px 28px 28px 38px !important;
      box-shadow:
        0 1px 2px rgba(13,24,41,.04),
        0 8px 24px -12px rgba(13,24,41,.18),
        0 16px 40px -20px rgba(13,24,41,.12) !important;
      transition:
        border-color 180ms ease-out,
        box-shadow 180ms ease-out,
        transform 180ms ease-out !important;
      overflow: hidden !important;
      isolation: isolate !important;
      --card-color:#1366A0;
      --card-rgb: 23,121,184;
    }
    .case-card:nth-child(4n+1){--card-color:#1366A0;--card-rgb:23,121,184}
    .case-card:nth-child(4n+2){--card-color:#F97316;--card-rgb:249,115,22}
    .case-card:nth-child(4n+3){--card-color:#0D2B45;--card-rgb:13,43,69}
    .case-card:nth-child(4n+4){--card-color:#10B981;--card-rgb:16,185,129}
    .case-card::before {
      content: '';
      position: absolute;
      left: 0;
      top: 20px;
      bottom: 20px;
      width: 3px;
      background: linear-gradient(180deg,
        transparent 0%,
        var(--card-color) 15%,
        var(--card-color) 85%,
        transparent 100%);
      border-radius: 0 3px 3px 0;
      transition: width 180ms ease-out, top 180ms ease-out, bottom 180ms ease-out;
      z-index: 2;
      pointer-events: none;
    }
    .case-card::after {
      content: '';
      position: absolute;
      top: -80px;
      left: -80px;
      width: 240px;
      height: 240px;
      background: radial-gradient(circle,
        rgba(var(--card-rgb), .12) 0%,
        transparent 65%);
      pointer-events: none;
      z-index: 0;
      opacity: .55;
      transition: opacity 180ms ease-out;
    }
    .case-card:hover {
      transform: translateY(-2px) !important;
      border-color: rgba(var(--card-rgb), .42) !important;
      box-shadow:
        0 1px 2px rgba(13,24,41,.05),
        0 14px 32px -14px rgba(var(--card-rgb), .22),
        0 18px 36px -18px rgba(13,24,41,.18) !important;
    }
    .case-card:hover::before {
      width: 4px;
      top: 12px;
      bottom: 12px;
    }
    .case-card:hover::after {
      opacity: 1;
    }
    .case-card > * {
      position: relative;
      z-index: 1;
    }
    
    @media (prefers-reduced-motion: reduce) {
      .t-card,
      .ind-card,
      .case-card {
        transition: none !important;
        animation: none !important;
      }
      .t-card::before,
      .ind-card::before,
      .case-card::before {
        transition: none !important;
      }
      .t-card::after,
      .ind-card::after,
      .case-card::after {
        transition: none !important;
      }
    }
    /* END GOLDEN-CARD-ABOUT-PATCH v1 */

/* §2 */
@media (max-width: 1024px) {
  .cb-fab, .callback-trigger { bottom: calc(90px + env(safe-area-inset-bottom, 0px)) !important; }
  .cb-panel, .callback-panel { bottom: calc(160px + env(safe-area-inset-bottom, 0px)) !important; width: min(320px, 90vw) !important; }
  body { padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px)); }
  .mob-sticky-cta { padding-bottom: env(safe-area-inset-bottom, 0px); }
}

/* §3 — mobile-optimise testimonials 390px pass */
@media (max-width: 767.98px) {
  /* testimonial-simple component: name + title override
     svc-components.css sets name:15px / title:14px — raise both to 16px
     so attribution text is comfortably readable on 390px screens. */
  .testimonial-simple__name {
    font-size: 16px !important;
  }
  .testimonial-simple__title {
    font-size: 16px !important;
  }

  /* Quote-grid cards: outcome result line + attribution line
     Both are inline-styled to 13px; the mobile-qa-v1 block above lifts
     generic divs only to max(14px,1em). These are body/proof-copy text,
     not badge/chip labels — raise to 16px.
     Selector targets the two trailing divs inside each card article. */
  .t-quote-grid > article > div:last-child,
  .t-quote-grid > article > div:nth-last-child(2) {
    font-size: 16px !important;
  }

  /* Disclaimer line below grid — also 13px inline, body copy, raise to 16px. */
  .t-quote-grid + p {
    font-size: 16px !important;
  }
}
