:root{
    --red-1:#B3261E;
    --red-2:#E23E31;
    --orange-1:#F26B1D;
    --orange-2:#FFA351;
    --grad-primary: linear-gradient(120deg, var(--red-1) 0%, var(--red-2) 38%, var(--orange-1) 72%, var(--orange-2) 100%);
    --grad-soft: linear-gradient(180deg, rgba(226,62,49,0.07) 0%, rgba(255,163,81,0.05) 100%);
    --ink:#211B19;
    --ink-soft:#5B5551;
    --paper:#FFFCFA;
    --paper-2:#FFF3EC;
    --line:#EDE2DB;
    --success:#1E7A4C;
    --radius:14px;
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Roboto',Arial,sans-serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.7;
    font-size:16px;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%;display:block;}
  a{color:inherit;text-decoration:none;}
  ul{list-style:none;}
  .wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
  section{padding:72px 0;}
  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
    color:var(--red-2);
    background:var(--paper-2);
    border:1px solid #FFD9BE;
    padding:6px 14px;border-radius:999px;
    margin-bottom:18px;
  }
  h1{font-size:44px;font-weight:900;line-height:1.18;letter-spacing:-0.01em;}
  h2{font-size:30px;font-weight:900;line-height:1.28;letter-spacing:-0.01em;}
  h3{font-size:22px;font-weight:700;line-height:1.35;}
  p{font-size:17px;color:var(--ink-soft);}
  .lead{font-size:19px;color:var(--ink-soft);}
  .cap{font-size:13px;color:var(--ink-soft);letter-spacing:.02em;}
  .grad-text{
    background:var(--grad-primary);
    -webkit-background-clip:text;background-clip:text;color:transparent;
  }

  /* ---------- Header ---------- */
  header{
    position:sticky;top:0;z-index:50;
    background:rgba(255,252,250,0.92);
    backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line);
  }
  .nav{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;max-width:1180px;margin:0 auto;}
  .logo{font-weight:900;font-size:21px;letter-spacing:-0.02em;}
  .logo span{background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .nav-links{display:flex;gap:28px;align-items:center;}
  .nav-links a{font-size:15px;font-weight:500;color:var(--ink);}
  .nav-cta{
    background:var(--grad-primary);color:#fff;font-weight:700;font-size:14px;
    padding:11px 22px;border-radius:999px;white-space:nowrap;
    box-shadow:0 6px 16px rgba(226,62,49,0.28);
  }
  .nav-phone{display:none;}
  @media(max-width:860px){.nav-links a:not(.nav-cta){display:none;} .logo{font-size:18px;}}

  /* ---------- Hero ---------- */
  .hero{
    position:relative;overflow:hidden;
    padding:64px 0 40px;
    background:
      radial-gradient(900px 420px at 85% -10%, rgba(255,163,81,0.20), transparent 60%),
      radial-gradient(700px 380px at -10% 20%, rgba(179,38,30,0.10), transparent 60%),
      var(--paper);
  }
  .hero-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:48px;align-items:center;}
  @media(max-width:920px){.hero-grid{grid-template-columns:1fr;}}
  .hero h1{margin-bottom:18px;}
  .hero .lead{margin-bottom:28px;max-width:560px;}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:30px;}
  .btn-primary{
    background:var(--grad-primary);color:#fff;font-weight:700;font-size:16px;
    padding:15px 30px;border-radius:10px;display:inline-block;
    box-shadow:0 10px 24px rgba(226,62,49,0.30);
    border:none;cursor:pointer;
  }
  .btn-secondary{
    background:#fff;color:var(--ink);font-weight:700;font-size:16px;
    padding:15px 28px;border-radius:10px;display:inline-block;
    border:1.5px solid var(--line);
  }
  .hero-trust{display:flex;gap:26px;flex-wrap:wrap;}
  .hero-trust .stat{min-width:110px;}
  .hero-trust .num{font-size:26px;font-weight:900;color:var(--red-2);}
  .hero-trust .lbl{font-size:13px;color:var(--ink-soft);}

  /* Pulse-to-growth signature graphic */
  .pulse-card{
    background:#fff;border:1px solid var(--line);border-radius:20px;
    padding:26px;box-shadow:0 20px 50px rgba(33,27,25,0.08);
  }
  .pulse-card .cap{margin-bottom:10px;display:flex;justify-content:space-between;}
  .pulse-svg{width:100%;height:auto;}

  /* ---------- Logo / trust strip ---------- */
  .trust-strip{
    border-top:1px solid var(--line);border-bottom:1px solid var(--line);
    padding:22px 0;background:var(--paper-2);
  }
  .trust-strip .wrap{display:flex;flex-wrap:wrap;gap:14px 34px;align-items:center;justify-content:center;}
  .trust-strip .item{font-size:14px;font-weight:600;color:var(--ink-soft);display:flex;gap:8px;align-items:center;}
  .trust-strip .item svg{flex:0 0 auto;}

  /* ---------- Intro ---------- */
  .intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
  @media(max-width:880px){.intro-grid{grid-template-columns:1fr;gap:28px;}}
  .stat-box{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:22px;margin-top:20px;
  }
  .stat-box .big{font-size:32px;font-weight:900;color:var(--orange-1);}

  /* ---------- Section heading pattern ---------- */
  .sec-head{max-width:700px;margin-bottom:44px;}
  .sec-head.center{margin-left:auto;margin-right:auto;text-align:center;}

  /* ---------- Services grid ---------- */
  .services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  @media(max-width:880px){.services-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:600px){.services-grid{grid-template-columns:1fr;}}
  .service-card{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:26px;transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }
  .service-card:hover{transform:translateY(-4px);box-shadow:0 18px 34px rgba(33,27,25,0.10);border-color:#FFD9BE;}
  .service-icon{
    width:46px;height:46px;border-radius:12px;background:var(--grad-primary);
    display:flex;align-items:center;justify-content:center;margin-bottom:16px;
  }
  .service-card h3{margin-bottom:8px;font-size:19px;}
  .service-card p{font-size:15px;}
  .service-card a.link{display:inline-block;margin-top:12px;font-size:14px;font-weight:700;color:var(--red-2);}

  /* ---------- Compliance section (unique) ---------- */
  .compliance{
    background:linear-gradient(180deg,#241614 0%, #1B1210 100%);
    color:#F4EBE6;
  }
  .compliance .eyebrow{background:rgba(255,163,81,0.14);border-color:rgba(255,163,81,0.3);color:var(--orange-2);}
  .compliance h2{color:#fff;}
  .compliance .lead{color:#D8C9C2;}
  .compliance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px;}
  @media(max-width:920px){.compliance-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:560px){.compliance-grid{grid-template-columns:1fr;}}
  .compliance-card{
    background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.10);
    border-radius:var(--radius);padding:22px;
  }
  .compliance-card .tag{font-size:12px;font-weight:700;color:var(--orange-2);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;display:block;}
  .compliance-card h3{color:#fff;font-size:18px;margin-bottom:8px;}
  .compliance-card p{color:#C9BAB3;font-size:14.5px;}

  /* ---------- Process / funnel (unique) ---------- */
  .funnel{background:var(--paper-2);}
  .funnel-track{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:40px;position:relative;}
  @media(max-width:920px){.funnel-track{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:560px){.funnel-track{grid-template-columns:1fr;}}
  .funnel-step{
    background:#fff;border-radius:var(--radius);padding:22px 18px;border:1px solid var(--line);
    position:relative;
  }
  .funnel-step .fnum{
    font-size:13px;font-weight:900;color:#fff;background:var(--grad-primary);
    width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;
    margin-bottom:14px;
  }
  .funnel-step h3{font-size:16px;margin-bottom:6px;}
  .funnel-step p{font-size:14px;}

  /* ---------- Why choose ---------- */
  .why-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;}
  @media(max-width:880px){.why-grid{grid-template-columns:1fr;}}
  .why-card{border-left:3px solid transparent;border-image:var(--grad-primary) 1;padding-left:20px;}
  .why-card h3{margin-bottom:8px;}
  .why-card p{font-size:15.5px;}

  /* ---------- Case study strip ---------- */
  .results{
    background:var(--grad-primary);
    color:#fff;
  }
  .results h2{color:#fff;}
  .results .lead{color:rgba(255,255,255,0.88);}
  .results-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:36px;}
  @media(max-width:880px){.results-grid{grid-template-columns:repeat(2,1fr);}}
  .results-card{
    background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.22);
    border-radius:var(--radius);padding:24px;backdrop-filter:blur(4px);
  }
  .results-card .num{font-size:34px;font-weight:900;margin-bottom:6px;}
  .results-card .lbl{font-size:14px;color:rgba(255,255,255,0.92);}

  /* ---------- Geo section (unique / geo optimized) ---------- */
  .geo-grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:48px;align-items:start;}
  @media(max-width:920px){.geo-grid{grid-template-columns:1fr;}}
  .city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px;}
  @media(max-width:600px){.city-grid{grid-template-columns:repeat(2,1fr);}}
  .city-chip{
    background:#fff;border:1px solid var(--line);border-radius:10px;
    padding:12px 14px;font-size:14.5px;font-weight:600;
    display:flex;align-items:center;gap:8px;
  }
  .city-chip::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--grad-primary);flex:0 0 auto;}
  .geo-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;}
  .geo-card h3{margin-bottom:10px;}
  .geo-card p{font-size:15px;margin-bottom:10px;}

  /* ---------- FAQ tabs ---------- */
  .faq-tabs{
    display:flex;flex-wrap:wrap;gap:10px;justify-content:center;
    margin-bottom:36px;
  }
  .faq-tab{
    font-family:'Roboto',Arial,sans-serif;
    background:#fff;border:1.5px solid var(--line);color:var(--ink-soft);
    font-size:14px;font-weight:700;padding:10px 18px;border-radius:999px;
    cursor:pointer;
  }
  .faq-tab.active{
    background:var(--grad-primary);color:#fff;border-color:transparent;
  }
  .faq-panel[hidden]{display:none;}

  /* ---------- FAQ ---------- */
  .faq-item{border-bottom:1px solid var(--line);padding:20px 0;}
  .faq-q{font-size:17px;font-weight:700;}
  .faq-q button{
    all:unset;
    display:flex;justify-content:space-between;align-items:center;gap:16px;
    cursor:pointer;font-weight:700;font-size:17px;width:100%;
    font-family:'Roboto',Arial,sans-serif;color:var(--ink);
  }
  .faq-q button:focus-visible{outline:3px solid var(--orange-1);outline-offset:4px;border-radius:4px;}
  .faq-q .plus{font-size:22px;color:var(--red-2);flex:0 0 auto;transition:transform .2s ease;}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
  .faq-a p{padding-top:12px;font-size:15.5px;}
  .faq-item.open .faq-a{max-height:400px;}

  /* ---------- Testimonials ---------- */
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  @media(max-width:880px){.testi-grid{grid-template-columns:1fr;}}
  .testi-card{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:26px;
  }
  .testi-card .stars{color:var(--orange-1);font-size:15px;margin-bottom:12px;}
  .testi-card p{font-size:15px;font-style:italic;margin-bottom:16px;}
  .testi-name{font-weight:700;font-size:14.5px;}
  .testi-role{font-size:13px;color:var(--ink-soft);}

  /* ---------- Final CTA ---------- */
  .final-cta{
    background:linear-gradient(135deg, #1B1210 0%, #2B1712 60%, #3A1B10 100%);
    color:#fff;text-align:center;position:relative;overflow:hidden;
  }
  .final-cta::before{
    content:"";position:absolute;inset:0;
    background:radial-gradient(600px 300px at 50% 0%, rgba(255,163,81,0.25), transparent 65%);
  }
  .final-cta .wrap{position:relative;}
  .final-cta h2{color:#fff;margin-bottom:14px;}
  .final-cta p{color:#DFCFC7;max-width:600px;margin:0 auto 30px;}

  /* ---------- Footer ---------- */
  footer{background:#150E0C;color:#B8ACA6;padding:52px 0 26px;}
  .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:36px;}
  @media(max-width:820px){.foot-grid{grid-template-columns:1fr 1fr;}}
  @media(max-width:520px){.foot-grid{grid-template-columns:1fr;}}
  footer h4{color:#fff;font-size:14px;margin-bottom:14px;letter-spacing:.04em;text-transform:uppercase;}
  footer li{margin-bottom:9px;font-size:14.5px;}
  footer a:hover{color:var(--orange-2);}
  .foot-logo{font-weight:900;font-size:20px;color:#fff;margin-bottom:10px;}
  .foot-logo span{background:var(--grad-primary);-webkit-background-clip:text;background-clip:text;color:transparent;}
  .foot-bottom{border-top:1px solid rgba(255,255,255,0.08);padding-top:22px;font-size:13px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}

  /* ---------- Team ---------- */
  .team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
  @media(max-width:920px){.team-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:560px){.team-grid{grid-template-columns:1fr;}}
  .team-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
  .team-avatar{
    width:44px;height:44px;border-radius:12px;background:var(--grad-primary);
    display:flex;align-items:center;justify-content:center;color:#fff;font-weight:900;font-size:16px;
    margin-bottom:14px;
  }
  .team-card h3{font-size:16.5px;margin-bottom:6px;}
  .team-card .role{font-size:12.5px;font-weight:700;color:var(--red-2);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;display:block;}
  .team-card p{font-size:14px;}

  /* ---------- Security ---------- */
  .security{background:var(--paper-2);}
  .security-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  @media(max-width:920px){.security-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:560px){.security-grid{grid-template-columns:1fr;}}
  .security-item{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:22px;text-align:center;
  }
  .security-item .sicon{
    width:48px;height:48px;border-radius:50%;background:var(--grad-soft);
    display:flex;align-items:center;justify-content:center;margin:0 auto 14px;
  }
  .security-item h3{font-size:16px;margin-bottom:6px;}
  .security-item p{font-size:13.5px;}

  /* ---------- Compare table ---------- */
  .compare-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff;}
  table.compare{width:100%;border-collapse:collapse;min-width:640px;}
  table.compare th, table.compare td{padding:16px 18px;text-align:left;font-size:14.5px;border-bottom:1px solid var(--line);}
  table.compare th{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);background:var(--paper-2);}
  table.compare td:first-child, table.compare th:first-child{font-weight:700;}
  table.compare th.hl, table.compare td.hl{background:linear-gradient(180deg, rgba(226,62,49,0.06), rgba(255,163,81,0.04));}
  table.compare td.hl{font-weight:700;color:var(--red-2);}
  table.compare tr:last-child td{border-bottom:none;}
  .yes{color:var(--success);font-weight:700;}
  .no{color:#B0413E;font-weight:700;}
  .partial{color:#B98418;font-weight:700;}

  /* ---------- Case studies ---------- */
  .case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  @media(max-width:920px){.case-grid{grid-template-columns:1fr;}}
  .case-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:flex;flex-direction:column;}
  .case-card .case-tag{
    display:inline-block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
    color:var(--orange-1);background:var(--paper-2);border:1px solid #FFD9BE;
    padding:5px 12px;border-radius:999px;margin-bottom:14px;width:fit-content;
  }
  .case-card h3{font-size:18px;margin-bottom:10px;}
  .case-card .clabel{font-size:12.5px;font-weight:700;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;margin-top:12px;margin-bottom:4px;}
  .case-card p{font-size:14.5px;}
  .case-result{
    margin-top:16px;padding-top:16px;border-top:1px solid var(--line);
    font-size:24px;font-weight:900;color:var(--red-2);
  }
  .case-result span{display:block;font-size:13px;font-weight:500;color:var(--ink-soft);margin-top:2px;}

  /* ---------- Pricing ---------- */
  .pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
  @media(max-width:920px){.pricing-grid{grid-template-columns:1fr;}}
  .pricing-card{
    background:#fff;border:1px solid var(--line);border-radius:var(--radius);
    padding:28px;display:flex;flex-direction:column;
  }
  .pricing-card.featured{
    border:2px solid transparent;
    background:linear-gradient(#fff,#fff) padding-box, var(--grad-primary) border-box;
    position:relative;
  }
  .pricing-card.featured::before{
    content:"Most Common";position:absolute;top:-13px;right:22px;
    background:var(--grad-primary);color:#fff;font-size:11px;font-weight:700;
    padding:5px 12px;border-radius:999px;letter-spacing:.03em;text-transform:uppercase;
  }
  .pricing-card h3{font-size:19px;margin-bottom:6px;}
  .pricing-card .prange{font-size:26px;font-weight:900;color:var(--red-2);margin:10px 0 4px;}
  .pricing-card .punit{font-size:13px;color:var(--ink-soft);margin-bottom:16px;}
  .pricing-card ul{margin-bottom:8px;}
  .pricing-card li{font-size:14.5px;color:var(--ink-soft);padding-left:20px;position:relative;margin-bottom:8px;}
  .pricing-card li::before{content:"✓";position:absolute;left:0;color:var(--success);font-weight:700;}
  .pricing-note{font-size:13.5px;color:var(--ink-soft);margin-top:24px;text-align:center;}

  .pricing-cta{width:100%;text-align:center;margin-top:18px;font-size:15px;padding:13px 20px;}

  /* ---------- Client slider ---------- */
  .client-slider-block{margin-top:44px;}
  .client-slider-heading{
    text-align:center;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
    color:var(--ink-soft);margin-bottom:20px;
  }
  .marquee{
    overflow:hidden;
    -webkit-mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    mask-image:linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  }
  .marquee-track{
    display:flex;gap:14px;width:max-content;
    animation:marquee-scroll 32s linear infinite;
  }
  @keyframes marquee-scroll{
    from{transform:translateX(0);}
    to{transform:translateX(-50%);}
  }
  .client-pill{
    flex:0 0 auto;
    background:#fff;border:1px solid var(--line);border-radius:999px;
    padding:12px 22px;font-size:14.5px;font-weight:700;color:var(--ink);
    white-space:nowrap;
  }
  @media (prefers-reduced-motion: reduce){
    .marquee-track{animation:none;flex-wrap:wrap;width:100%;justify-content:center;}
  }

  /* ---------- Section CTA (reusable) ---------- */
  .section-cta{text-align:center;margin-top:40px;}
  .section-cta p{font-size:14.5px;color:var(--ink-soft);margin-bottom:14px;}
  .section-cta.on-dark p{color:#D8C9C2;}

  .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
  .skip-link{
    position:absolute;left:-9999px;top:0;z-index:100;
    background:var(--grad-primary);color:#fff;padding:12px 20px;border-radius:0 0 8px 0;
    font-weight:700;font-size:14px;
  }
  .skip-link:focus{left:0;}
  a:focus-visible, button:focus-visible{outline:3px solid var(--orange-1);outline-offset:2px;}
  @media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important;}}
