/* ============ HERO ============ */
.hero{position:relative;background:
   radial-gradient(900px 500px at 88% -10%,rgba(2,171,228,.12),transparent 60%),
   linear-gradient(180deg,#f4f9fc 0%,#eaf5fb 100%);
   overflow:hidden;padding:72px 0 90px}
.hero::after{content:"";position:absolute;right:-120px;bottom:-120px;width:480px;height:480px;background:radial-gradient(circle,rgba(246,130,5,.10),transparent 70%);border-radius:50%}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:center;position:relative;z-index:2}
.hero-badge{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);padding:8px 16px;border-radius:50px;font-size:13.5px;font-weight:600;color:var(--blue-ink);margin-bottom:24px}
.hero-badge .dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.18)}
.hero h1{font-size:clamp(34px,4.6vw,56px);font-weight:800;color:var(--ink)}
.hero h1 .hl{color:var(--blue);position:relative}
.hero h1 .hl::after{content:"";position:absolute;left:0;bottom:6px;width:100%;height:11px;background:rgba(246,130,5,.22);z-index:-1;border-radius:3px}
.hero p.lead{font-size:18px;color:var(--slate);margin:22px 0 26px;max-width:540px}
.hero-checks{display:grid;grid-template-columns:1fr 1fr;gap:13px 22px;margin-bottom:30px;max-width:540px}
.hero-checks li{list-style:none;display:flex;align-items:center;gap:10px;font-weight:600;font-size:14.5px;color:var(--blue-ink)}
.hero-checks .ck{width:22px;height:22px;border-radius:50%;background:rgba(2,171,228,.12);display:grid;place-items:center;flex:none}
.hero-checks .ck svg{width:13px;height:13px;color:var(--blue)}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.hero-trust{display:flex;gap:26px;margin-top:30px;flex-wrap:wrap}
.hero-trust div{display:flex;flex-direction:column}
.hero-trust b{font-family:'Sora',sans-serif;font-size:24px;font-weight:800;color:var(--blue-ink)}
.hero-trust span{font-size:12.5px;color:var(--slate);font-weight:500}

/* hero form */
.hero-form{background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-lg);padding:30px 28px;position:relative;border:1px solid var(--line)}
.hero-form .ff-top{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.hero-form .ff-ic{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,var(--orange),var(--orange-dark));display:grid;place-items:center;color:#fff;flex:none}
.hero-form .ff-ic svg{width:20px;height:20px}
.hero-form h3{font-size:20px;font-weight:700;color:var(--ink)}
.hero-form .ff-sub{font-size:13px;color:var(--slate);margin:2px 0 18px 0}
.hero-form .btn{width:100%;justify-content:center;margin-top:4px}
.hero-form .ff-note{display:flex;align-items:center;justify-content:center;gap:7px;font-size:12px;color:var(--slate);margin-top:13px}
.hero-form .ff-note svg{width:13px;height:13px;color:#22c55e}
@media(max-width:920px){.hero .wrap{grid-template-columns:1fr;gap:40px}.hero-form{max-width:480px}}
@media(max-width:520px){.hero-checks{grid-template-columns:1fr}}

/* ============ TRUST / AUTHORITY STRIP ============ */
.trust{padding:34px 0;background:#fff;border-bottom:1px solid var(--line)}
.trust .wrap{display:flex;align-items:center;gap:34px;flex-wrap:wrap;justify-content:center}
.trust .tl{font-family:'Sora';font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--slate)}
.trust .auth{display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
.auth-chip{display:inline-flex;align-items:center;gap:8px;background:var(--bg-soft);border:1px solid var(--line);padding:10px 18px;border-radius:12px;font-family:'Sora';font-weight:700;font-size:15px;color:var(--blue-ink)}
.auth-chip span{font-weight:500;font-size:12px;color:var(--slate);font-family:'Inter'}

/* ============ WHO WE ARE ============ */
.who .wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.who-visual{position:relative}
.who-visual .img-main{border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/3;background:linear-gradient(135deg,#0386b3,#02abe4)}
.who-visual .img-main img{width:100%;height:100%;object-fit:cover}
.who-float{position:absolute;left:-26px;bottom:-26px;background:#fff;border-radius:18px;box-shadow:var(--shadow-md);padding:18px 22px;display:flex;align-items:center;gap:14px;border:1px solid var(--line)}
.who-float .wf-ic{width:48px;height:48px;border-radius:13px;background:rgba(246,130,5,.12);display:grid;place-items:center;flex:none}
.who-float .wf-ic svg{width:24px;height:24px;color:var(--orange)}
.who-float b{display:block;font-family:'Sora';font-size:22px;font-weight:800;color:var(--blue-ink)}
.who-float span{font-size:12.5px;color:var(--slate)}
.who h2{font-size:clamp(27px,3.4vw,40px);font-weight:800;margin-bottom:18px}
.who p{color:var(--slate);font-size:16px;margin-bottom:24px}
.who-acts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:30px}
.who-acts li{list-style:none;display:flex;align-items:center;gap:11px;font-weight:600;font-size:14.5px;color:var(--blue-ink);background:var(--bg-soft);padding:12px 15px;border-radius:11px;border:1px solid var(--line)}
.who-acts .ck{width:20px;height:20px;border-radius:6px;background:var(--blue);display:grid;place-items:center;flex:none}
.who-acts .ck svg{width:12px;height:12px;color:#fff}
@media(max-width:900px){.who .wrap{grid-template-columns:1fr;gap:54px}.who-acts{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.who-acts{grid-template-columns:1fr}}

/* ============ WHY CHOOSE US ============ */
.why{background:var(--bg-soft)}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.why-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 24px;transition:.3s;position:relative;overflow:hidden}
.why-card::before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--blue),var(--orange));transform:scaleX(0);transform-origin:left;transition:.35s}
.why-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-md);border-color:transparent}
.why-card:hover::before{transform:scaleX(1)}
.why-ic{width:56px;height:56px;border-radius:15px;background:linear-gradient(135deg,rgba(2,171,228,.12),rgba(2,171,228,.05));display:grid;place-items:center;margin-bottom:20px;transition:.3s}
.why-card:hover .why-ic{background:linear-gradient(135deg,var(--blue),var(--blue-dark))}
.why-ic svg{width:28px;height:28px;color:var(--blue);transition:.3s}
.why-card:hover .why-ic svg{color:#fff}
.why-card h3{font-size:19px;font-weight:700;margin-bottom:9px}
.why-card p{font-size:14px;color:var(--slate);margin-bottom:13px}
.why-card .quote{font-size:13px;font-style:italic;color:var(--blue-dark);border-left:3px solid var(--orange);padding-left:12px}
@media(max-width:980px){.why-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.why-grid{grid-template-columns:1fr}}

/* ============ STATS BANNER ============ */
.statband{position:relative;background:linear-gradient(135deg,#063a4e 0%,#0386b3 100%);color:#fff;overflow:hidden}
.statband::before{content:"";position:absolute;inset:0;background:radial-gradient(900px 500px at 20% 0%,rgba(2,171,228,.22),transparent 60%),radial-gradient(700px 400px at 85% 100%,rgba(246,130,5,.14),transparent 60%)}
.statband::after{content:"";position:absolute;right:-100px;top:-100px;width:360px;height:360px;background:radial-gradient(circle,rgba(246,130,5,.3),transparent 70%);border-radius:50%}
.statband .wrap{position:relative;z-index:2}
.statband .sb-head{text-align:center;max-width:620px;margin:0 auto 46px}
.statband .sb-head h2{font-size:clamp(26px,3.3vw,38px);font-weight:800}
.statband .sb-head p{color:#bfe6f3;margin-top:12px;font-size:16px}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.stat-card{text-align:center;padding:26px 16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:var(--r-lg);backdrop-filter:blur(6px);transition:.3s}
.stat-card:hover{background:rgba(255,255,255,.12);transform:translateY(-4px)}
.stat-num{font-family:'Sora';font-size:clamp(32px,4vw,46px);font-weight:800;color:#fff;line-height:1}
.stat-num .plus{color:var(--orange)}
.stat-label{margin-top:10px;font-size:14px;color:#bfe6f3;font-weight:500}
@media(max-width:760px){.stat-grid{grid-template-columns:1fr 1fr}}

/* ============ CTA STRIPS ============ */
.ctastrip{background:linear-gradient(100deg,var(--orange) 0%,var(--orange-dark) 100%);color:#fff;border-radius:var(--r-lg);padding:42px 48px;display:flex;align-items:center;justify-content:space-between;gap:30px;box-shadow:var(--shadow-md);position:relative;overflow:hidden}
.ctastrip::after{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 70%);border-radius:50%}
.ctastrip .cs-txt{position:relative;z-index:2}
.ctastrip h3{font-size:26px;font-weight:800;margin-bottom:6px}
.ctastrip p{font-size:15.5px;opacity:.94}
.ctastrip .btn{background:#fff;color:var(--orange-dark);position:relative;z-index:2}
.ctastrip .btn:hover{background:var(--blue-ink);color:#fff;transform:translateY(-2px)}
.ctawrap{padding:46px 0}
.ctastrip.blue{background:linear-gradient(100deg,var(--blue) 0%,var(--blue-dark) 100%)}
.ctastrip.blue .btn{color:var(--blue-dark)}
.ctastrip.blue .btn:hover{background:var(--orange);color:#fff}
@media(max-width:760px){.ctastrip{flex-direction:column;text-align:center;padding:36px 28px}}

/* ============ SERVICES ============ */
.services{background:#fff}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.svc-card{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;transition:.3s;display:flex;flex-direction:column}
.svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.svc-media{height:172px;position:relative;overflow:hidden}
.svc-media img{width:100%;height:100%;object-fit:cover;transition:.5s}
.svc-card:hover .svc-media img{transform:scale(1.07)}
.svc-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(6,58,78,.6))}
.svc-badge{position:absolute;top:14px;left:14px;z-index:2;background:rgba(255,255,255,.92);backdrop-filter:blur(4px);width:44px;height:44px;border-radius:12px;display:grid;place-items:center;box-shadow:var(--shadow-sm)}
.svc-badge svg{width:23px;height:23px;color:var(--blue)}
.svc-body{padding:24px 22px 26px;display:flex;flex-direction:column;flex:1}
.svc-body h3{font-size:20px;font-weight:700;margin-bottom:10px}
.svc-body p{font-size:14px;color:var(--slate);margin-bottom:16px;flex:1}
.svc-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:18px}
.svc-tags span{font-size:11.5px;font-weight:600;color:var(--blue-dark);background:rgba(2,171,228,.09);padding:5px 11px;border-radius:50px}
.svc-link{display:inline-flex;align-items:center;gap:7px;font-family:'Sora';font-weight:600;font-size:14px;color:var(--orange);transition:.2s}
.svc-link svg{width:15px;height:15px;transition:.25s}
.svc-card:hover .svc-link{color:var(--orange-dark)}
.svc-card:hover .svc-link svg{transform:translateX(4px)}
@media(max-width:920px){.svc-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.svc-grid{grid-template-columns:1fr}}

/* ============ INDUSTRIES ============ */
.industries{background:var(--bg-soft)}
.ind-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.ind-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px 16px;text-align:center;transition:.3s;cursor:pointer}
.ind-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md);border-color:var(--blue)}
.ind-ic{width:54px;height:54px;border-radius:14px;background:linear-gradient(135deg,rgba(2,171,228,.1),rgba(246,130,5,.08));display:grid;place-items:center;margin:0 auto 14px;transition:.3s}
.ind-card:hover .ind-ic{background:linear-gradient(135deg,var(--blue),var(--orange))}
.ind-ic svg{width:26px;height:26px;color:var(--blue);transition:.3s}
.ind-card:hover .ind-ic svg{color:#fff}
.ind-card h4{font-size:13.5px;font-weight:600;color:var(--blue-ink);line-height:1.35}
@media(max-width:980px){.ind-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.ind-grid{grid-template-columns:1fr 1fr}}

/* ============ HOW IT WORKS ============ */
.how{background:#fff}
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.how-step{position:relative;padding:8px}
.how-num{font-family:'Sora';font-size:15px;font-weight:800;color:#fff;width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--blue-dark));display:grid;place-items:center;margin-bottom:20px;box-shadow:0 8px 20px rgba(2,171,228,.35);position:relative;z-index:2}
.how-step:nth-child(even) .how-num{background:linear-gradient(135deg,var(--orange),var(--orange-dark));box-shadow:0 8px 20px rgba(246,130,5,.35)}
.how-step h3{font-size:18px;font-weight:700;margin-bottom:9px}
.how-step p{font-size:14px;color:var(--slate)}
.how-line{position:absolute;top:31px;left:12%;right:12%;height:2px;background:repeating-linear-gradient(90deg,var(--line) 0 8px,transparent 8px 16px);z-index:1}
@media(max-width:900px){.how-grid{grid-template-columns:1fr 1fr;gap:32px}.how-line{display:none}}
@media(max-width:520px){.how-grid{grid-template-columns:1fr}}

/* ============ TESTIMONIALS ============ */
.testi{background:linear-gradient(180deg,#f4f9fc,#eaf5fb)}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.testi-card{background:#fff;border:1px solid var(--line);border-radius:var(--r-lg);padding:30px 26px;box-shadow:var(--shadow-sm);position:relative;transition:.3s}
.testi-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.testi-card .qm{font-family:'Sora';font-size:60px;color:rgba(2,171,228,.16);line-height:.6;height:24px}
.testi-stars{color:var(--orange);font-size:15px;letter-spacing:2px;margin-bottom:14px}
.testi-card p{font-size:14.5px;color:var(--ink);margin-bottom:22px}
.testi-who{display:flex;align-items:center;gap:13px}
.testi-av{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--orange));display:grid;place-items:center;color:#fff;font-family:'Sora';font-weight:700;font-size:17px;flex:none}
.testi-who b{display:block;font-family:'Sora';font-size:15px;font-weight:700;color:var(--blue-ink)}
.testi-who span{font-size:12.5px;color:var(--slate)}
@media(max-width:920px){.testi-grid{grid-template-columns:1fr}.testi-card{max-width:560px;margin:0 auto}}

/* ============ BLOG ============ */
.blog{background:#fff}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.blog-card{border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;background:#fff;transition:.3s}
.blog-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-md)}
.blog-media{height:184px;overflow:hidden}
.blog-media img{width:100%;height:100%;object-fit:cover;transition:.5s}
.blog-card:hover .blog-media img{transform:scale(1.06)}
.blog-body{padding:22px}
.blog-tag{display:inline-block;font-size:11.5px;font-weight:700;color:var(--blue);text-transform:uppercase;letter-spacing:.06em;margin-bottom:11px}
.blog-body h3{font-size:17.5px;font-weight:700;line-height:1.3;margin-bottom:14px}
.blog-body h3 a:hover{color:var(--blue)}
.blog-more{display:inline-flex;align-items:center;gap:6px;font-family:'Sora';font-weight:600;font-size:13.5px;color:var(--orange)}
.blog-more svg{width:14px;height:14px;transition:.2s}
.blog-card:hover .blog-more svg{transform:translateX(3px)}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr}}

/* ============ FINAL CTA ============ */
.finalcta{background:linear-gradient(135deg,#063a4e,#0386b3);color:#fff;text-align:center;position:relative;overflow:hidden}
.finalcta::before{content:"";position:absolute;inset:0;background:radial-gradient(800px 460px at 15% 0%,rgba(2,171,228,.2),transparent 60%),radial-gradient(600px 380px at 88% 100%,rgba(246,130,5,.13),transparent 60%)}
.finalcta .wrap{position:relative;z-index:2;max-width:720px}
.finalcta h2{font-size:clamp(28px,4vw,44px);font-weight:800;margin-bottom:16px}
.finalcta p{font-size:17px;color:#cfeaf5;margin-bottom:30px}
.finalcta .fc-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.finalcta .ph{display:inline-flex;align-items:center;gap:9px;margin-top:26px;font-family:'Sora';font-weight:700;font-size:19px}
.finalcta .ph svg{width:20px;height:20px;color:var(--orange)}

/* footer note (kept minimal — real footer unchanged) */
.footnote{background:var(--blue-ink);color:#9fc4d4;text-align:center;padding:22px;font-size:13px}


/* ============ HERO SLIDER ============ */
.heroslider{padding:38px 0 54px;background:linear-gradient(180deg,#f4f9fc 0%,#eaf5fb 100%)}
.hs-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(320px,.85fr);gap:30px;align-items:stretch}
.hs-stage{position:relative;border-radius:var(--r-lg);overflow:hidden;min-height:520px;box-shadow:var(--shadow-lg)}
.hs-slide{position:absolute;inset:0;background-size:cover;background-position:center;display:flex;align-items:center;
  opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s}
.hs-slide.active{opacity:1;visibility:visible;z-index:2}
.hs-scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(4,38,52,.92) 0%,rgba(4,38,52,.72) 42%,rgba(4,38,52,.18) 78%,rgba(4,38,52,.05) 100%)}
.hs-copy{position:relative;z-index:2;padding:56px 54px;max-width:640px;color:#fff}
.hs-eyebrow{display:inline-flex;align-items:center;gap:8px;font-family:'Sora',sans-serif;font-weight:700;font-size:12.5px;
  letter-spacing:.16em;text-transform:uppercase;color:#7fd4f0;margin-bottom:16px}
.hs-eyebrow::before{content:"";width:26px;height:2px;background:var(--orange);border-radius:2px}
.hs-copy h2{font-size:clamp(28px,3.4vw,46px);font-weight:800;line-height:1.12;color:#fff}
.hs-copy p{margin:18px 0 26px;font-size:16.5px;line-height:1.7;color:#d7ecf5;max-width:52ch}
.hs-btns{display:flex;gap:13px;flex-wrap:wrap}
.hs-slide .btn-ghost{border-color:rgba(255,255,255,.55)}
/* slide entrance */
.hs-slide .hs-copy>*{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease}
.hs-slide.active .hs-copy>*{opacity:1;transform:none}
.hs-slide.active .hs-copy>*:nth-child(1){transition-delay:.15s}
.hs-slide.active .hs-copy>*:nth-child(2){transition-delay:.25s}
.hs-slide.active .hs-copy>*:nth-child(3){transition-delay:.35s}
.hs-slide.active .hs-copy>*:nth-child(4){transition-delay:.45s}
/* controls */
.hs-controls{position:absolute;left:54px;bottom:26px;z-index:5;display:flex;align-items:center;gap:16px}
.hs-arrow{width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);background:rgba(255,255,255,.08);
  backdrop-filter:blur(4px);color:#fff;cursor:pointer;display:grid;place-items:center;transition:.22s}
.hs-arrow svg{width:16px;height:16px}
.hs-prev svg{transform:rotate(180deg)}
.hs-arrow:hover{background:var(--orange);border-color:var(--orange)}
.hs-dots{display:flex;gap:8px}
.hs-dot{width:9px;height:9px;border-radius:50%;border:none;background:rgba(255,255,255,.4);cursor:pointer;padding:0;transition:.25s}
.hs-dot.active{width:26px;border-radius:5px;background:var(--orange)}
@media(max-width:1080px){
  .hs-layout{grid-template-columns:1fr}
  .hs-stage{min-height:440px}
  .hero-form{max-width:560px;margin:0 auto;width:100%}
}
@media(max-width:640px){
  .hs-copy{padding:40px 26px 84px}
  .hs-controls{left:26px;bottom:22px}
  .hs-stage{min-height:480px}
}

/* ============ BOTTOM QUOTE BAND ============ */
.quoteband{background:
  radial-gradient(700px 420px at 12% -10%,rgba(2,171,228,.16),transparent 55%),
  linear-gradient(160deg,var(--blue-ink) 0%,#08425a 100%);color:#c4e3ef}
.qb-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
@media(max-width:940px){.qb-grid{grid-template-columns:1fr;gap:44px}}
.qb-copy h2{font-size:clamp(27px,3.3vw,40px);font-weight:800;color:#fff;max-width:22ch}
.qb-copy p{margin:18px 0 24px;font-size:16.5px;line-height:1.75;max-width:56ch}
.qb-points{list-style:none;display:grid;gap:12px;margin-bottom:28px}
.qb-points li{display:flex;align-items:center;gap:11px;font-weight:600;font-size:15px;color:#e6f5fb}
.qb-points .ck{width:24px;height:24px;border-radius:50%;background:rgba(2,171,228,.25);display:grid;place-items:center;flex:none}
.qb-points .ck svg{width:13px;height:13px;color:#7fd4f0}
.qb-call{display:inline-flex;align-items:center;gap:10px;font-family:'Sora',sans-serif;font-weight:700;font-size:19px;color:#fff;transition:.2s}
.qb-call svg{width:19px;height:19px;color:var(--orange)}
.qb-call:hover{color:var(--orange)}
.qb-form{background:#fff;border-radius:var(--r-lg);padding:34px 32px;box-shadow:var(--shadow-lg)}
.qb-form h3{font-size:20px;font-weight:700;color:var(--blue-ink);margin-bottom:20px}
.qb-form .cz-hero-form{display:grid;gap:12px}

/* ============ HERO CALLBACK CARD — vertical balance ============
   The card sits beside a 520px slider. Rather than leaving dead space
   under the button, the content is distributed and the base of the card
   carries the trust figures that used to sit under the old hero copy. */
.hs-layout .hero-form{display:flex;flex-direction:column;padding:28px 26px 24px}
.hs-layout .ff-body{flex:1;display:flex;flex-direction:column;justify-content:center;padding:4px 0}
.hero-form .ff-head{flex:none}
.hero-form .ff-foot{flex:none;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.hero-form .ff-note{display:flex;align-items:center;justify-content:center;gap:7px;
  font-size:12.5px;color:var(--slate);margin:0}
.hero-form .ff-note svg{width:13px;height:13px;color:var(--blue)}
.hero-form .ff-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;text-align:center}
.hero-form .ff-trust div{display:flex;flex-direction:column;gap:1px}
.hero-form .ff-trust b{font-family:'Sora',sans-serif;font-size:17px;font-weight:800;color:var(--blue-ink);line-height:1.1}
.hero-form .ff-trust span{font-size:10.5px;color:var(--slate);line-height:1.3}
@media(max-width:1080px){
  .hs-layout .hero-form{padding:26px 24px 22px}
  .hs-layout .ff-body{justify-content:flex-start}
}

/* ============================================================
   FULL-BLEED HERO (supersedes the boxed slider styles above)

   The slider becomes the full-width backdrop of the section; copy
   sits left inside the content column, the callback card floats
   right. Edge-to-edge imagery with a deep ink overlay reads far
   more like an enterprise site than a boxed carousel.
   ============================================================ */
.heroslider{padding:0;background:var(--bg-band)}
.heroslider .hs-layout{display:block;max-width:none;padding:0;position:relative}
.heroslider .hs-stage{position:relative;inset:auto;min-height:680px;border-radius:0;box-shadow:none}
.hs-slide{border-radius:0}
.hs-scrim{background:
  linear-gradient(100deg,rgba(3,28,40,.94) 0%,rgba(3,28,40,.82) 34%,rgba(3,28,40,.45) 62%,rgba(3,28,40,.28) 100%)}
/* Copy: constrained to the site column, leaving room for the card. */
.hs-copy{max-width:none;width:100%;padding:0}
.hs-slide{align-items:stretch}
.hs-slide .hs-copy{display:flex;flex-direction:column;justify-content:center;
  max-width:var(--maxw);margin:0 auto;padding:96px 480px 130px 24px}
.hs-copy h1,.hs-copy h2{font-size:clamp(32px,4.2vw,56px);letter-spacing:-.02em}
.hs-copy p{font-size:17.5px;max-width:56ch}
.hs-eyebrow{font-size:13px}
/* Controls anchored to the content column. */
.hs-controls{left:50%;transform:translateX(calc(-1 * var(--maxw)/2 + 24px));bottom:34px}
@media(max-width:1248px){.hs-controls{left:24px;transform:none}}
/* Floating callback card. */
.heroslider .hero-form{position:absolute;z-index:6;top:50%;transform:translateY(-50%);
  right:max(24px,calc((100% - var(--maxw))/2 + 24px));width:400px;margin:0;
  box-shadow:0 30px 80px rgba(2,20,30,.45)}
/* Trust figures read better light-on-dark inside the floating card context. */
@media(max-width:1080px){
  .heroslider .hs-stage{min-height:560px}
  .hs-slide .hs-copy{padding:80px 24px 120px}
  .heroslider .hero-form{position:static;transform:none;width:auto;max-width:560px;
    margin:-70px auto 0;box-shadow:var(--shadow-lg)}
  .heroslider{padding-bottom:56px}
}
@media(max-width:640px){
  .heroslider .hs-stage{min-height:520px}
  .hs-slide .hs-copy{padding:64px 22px 120px}
  .hs-copy h1,.hs-copy h2{font-size:clamp(30px,8vw,38px)}
}

/* ============ BLOG CARDS (fix + polish) ============
   .blog-media became a link when the block went dynamic; as an inline
   element its fixed height was ignored, the image rendered full-size and
   the card's overflow:hidden clipped the text body out of existence. */
.blog-media{display:block;height:200px;position:relative}
.blog-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(6,58,78,.18));opacity:0;transition:.3s}
.blog-card:hover .blog-media::after{opacity:1}
.blog-card{display:flex;flex-direction:column}
.blog-body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.blog-body h3{flex:1;font-size:16.5px;line-height:1.42;margin-bottom:16px;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-tag{color:var(--blue-link);margin-bottom:10px}
.blog-more{color:var(--orange-dark);margin-top:auto}
.blog-card:hover .blog-more svg{transform:translateX(4px)}
@media(max-width:900px){.blog-grid{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.blog-grid{grid-template-columns:1fr}.blog-media{height:190px}}
