/* ============================================================
   KINGSIDE DIGITAL — Landing page styles
   Built on the Kingside Design System tokens
   ============================================================ */

:root{
  --ink:#0D1426; --ink-soft:#19233A;
  --slate-700:#2A3650; --slate-600:#475069; --slate-400:#69718A; --slate-300:#9AA1B4; --slate-200:#C8CDD9;
  --blue:#2563EB; --blue-700:#1D4ED8; --blue-500:#3B82F6; --blue-400:#60A5FA; --blue-tint:#EAF1FE;
  --paper:#F4F5F8; --card:#FFFFFF; --line:#E6E9EF; --line-soft:#EEF0F4;
  --pos:#1F7A45;
  --maxw:1200px;
  --ease:cubic-bezier(.4,0,.15,1);
}

*{box-sizing:border-box;}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;scroll-behavior:smooth;}
body{margin:0;background:var(--paper);color:var(--ink);font-family:'Manrope',system-ui,sans-serif;line-height:1.55;overflow-x:hidden;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}

h1,h2,h3,h4{font-family:'Sora',sans-serif;letter-spacing:-.025em;margin:0;color:var(--ink);font-weight:700;line-height:1.04;}
p{margin:0;color:var(--slate-400);}

.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px;}
.eyebrow{font-family:'Sora';font-weight:600;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin:0;display:inline-flex;align-items:center;gap:9px;}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--blue);opacity:.5;}
.eyebrow.center{justify-content:center;}
.idx{font-family:'Sora';font-variant-numeric:tabular-nums;font-weight:600;}

/* checkerboard texture utility */
.checker{
  background-image:conic-gradient(var(--sq,rgba(13,20,38,.04)) 25%, transparent 0 50%, var(--sq,rgba(13,20,38,.04)) 0 75%, transparent 0);
  background-size:30px 30px;
}
/* barely-perceptible diagonal drift — echoes the living hero board */
.checker.drift{animation:checker-drift 90s linear infinite;}
@keyframes checker-drift{to{background-position:60px 60px;}}

/* ---------- ambient section decor ---------- */
.sec-deco{position:absolute;inset:0;pointer-events:none;--sq:rgba(13,20,38,.032);}
.sec-deco.deco-tr{
  -webkit-mask-image:radial-gradient(48% 85% at 100% 0%, #000, transparent 74%);
          mask-image:radial-gradient(48% 85% at 100% 0%, #000, transparent 74%);}
.sec-deco.deco-br{
  -webkit-mask-image:radial-gradient(44% 80% at 100% 100%, #000, transparent 74%);
          mask-image:radial-gradient(44% 80% at 100% 100%, #000, transparent 74%);}
.sec-tint{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(55% 60% at 50% 0%, rgba(37,99,235,.045), transparent 72%);}
.deco-rook{position:absolute;right:-34px;top:50%;width:300px;height:300px;
  transform:translateY(-50%) rotate(-7deg);color:var(--ink);opacity:.03;pointer-events:none;}
@media (prefers-reduced-motion: reduce){
  .checker.drift{animation:none;}
}

/* ---------- reveal animation (progressive enhancement: hidden only when JS is on) ---------- */
.reveal{transition:opacity .7s var(--ease), transform .7s var(--ease);}
html.js .reveal{opacity:0;transform:translateY(22px);}
html.js .reveal.in{opacity:1;transform:none;}
.reveal.d1{transition-delay:.08s;} .reveal.d2{transition-delay:.16s;}
.reveal.d3{transition-delay:.24s;} .reveal.d4{transition-delay:.32s;} .reveal.d5{transition-delay:.40s;}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1 !important;transform:none !important;transition:none !important;}
  html{scroll-behavior:auto;}
}

/* ============================================================
   NAV
   ============================================================ */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;transition:.3s var(--ease);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;border-bottom:1px solid transparent;transition:.3s var(--ease);}
.nav.scrolled{background:rgba(244,245,248,.82);backdrop-filter:blur(14px) saturate(1.4);}
.nav.scrolled .nav-inner{border-bottom-color:var(--line);height:64px;}
.brand{display:flex;align-items:center;gap:10px;}
.brand svg{width:30px;height:30px;color:var(--ink);transition:transform .4s var(--ease);}
.brand:hover svg{transform:translateY(-2px) rotate(-4deg);}
.brand .wm{font-family:'Sora';font-weight:700;font-size:19px;letter-spacing:-.03em;}
.brand .wm span{font-weight:400;color:var(--slate-400);}
.nav-links{display:flex;align-items:center;gap:34px;}
.nav-links a.lnk{font-size:14px;font-weight:500;color:var(--slate-600);position:relative;padding:4px 0;}
.nav-links a.lnk::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1.5px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);}
.nav-links a.lnk:hover{color:var(--ink);}
.nav-links a.lnk:hover::after{transform:scaleX(1);}

/* buttons (from design system) */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:'Sora';font-weight:600;font-size:14px;letter-spacing:-.01em;border-radius:11px;padding:11px 20px;border:1px solid transparent;cursor:pointer;transition:.2s var(--ease);white-space:nowrap;}
.btn svg{width:17px;height:17px;transition:transform .25s var(--ease);}
.btn.primary{background:var(--blue);color:#fff;box-shadow:0 1px 2px rgba(37,99,235,.3);}
.btn.primary:hover{background:var(--blue-700);box-shadow:0 10px 26px -10px rgba(37,99,235,.7);transform:translateY(-1px);}
.btn.primary:hover svg{transform:translateX(3px);}
.btn.secondary{background:var(--card);color:var(--ink);border-color:var(--line);}
.btn.secondary:hover{border-color:var(--slate-300);background:#fff;transform:translateY(-1px);}
.btn.ghost{background:transparent;color:var(--blue-700);padding-left:6px;padding-right:6px;}
.btn.ghost:hover svg{transform:translateX(3px);}
.btn.white{background:#fff;color:var(--ink);}
.btn.white:hover{transform:translateY(-1px);box-shadow:0 14px 30px -12px rgba(0,0,0,.5);}
.btn.lg{padding:14px 26px;font-size:15px;border-radius:12px;}
.btn:active{transform:translateY(1px);}

/* ============================================================
   HERO
   ============================================================ */
.hero{position:relative;padding:188px 0 92px;overflow:hidden;}
.hero-bg{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(120% 80% at 50% -8%, var(--blue-tint), rgba(234,241,254,0) 56%);}
.hero-board{position:absolute;inset:0;z-index:0;pointer-events:none;width:100%;height:100%;
  -webkit-mask-image:radial-gradient(75% 62% at 50% 40%, #000, transparent 82%);
          mask-image:radial-gradient(75% 62% at 50% 40%, #000, transparent 82%);}
.hero .wrap{position:relative;z-index:1;text-align:center;}
.hero-label{margin-bottom:26px;}
.hero h1{font-size:78px;letter-spacing:-.04em;max-width:15ch;margin:0 auto 26px;}
.hero h1 .accent{color:var(--blue);position:relative;white-space:nowrap;}
.hero h1 .accent svg{position:absolute;left:0;bottom:-.16em;width:100%;height:.18em;color:var(--blue-400);overflow:visible;}
.hero h1 .accent svg path{stroke-dasharray:1;stroke-dashoffset:1;pathLength:1;animation:draw 1s var(--ease) .55s forwards;}
@keyframes draw{to{stroke-dashoffset:0;}}
.hero-sub{font-size:20px;line-height:1.6;color:var(--ink-soft);max-width:52ch;margin:0 auto 38px;}
.hero-cta{display:flex;gap:14px;justify-content:center;align-items:center;}
.hero-meta{margin-top:22px;display:flex;gap:10px;align-items:center;justify-content:center;font-size:13.5px;color:var(--slate-400);font-weight:500;}
.hero-meta .av{display:flex;}
.hero-meta .av span{width:28px;height:28px;border-radius:50%;border:2px solid var(--paper);margin-left:-8px;background:var(--blue-tint);display:flex;align-items:center;justify-content:center;font-family:'Sora';font-size:9px;font-weight:700;color:var(--blue-700);letter-spacing:-.03em;}
.hero-meta .av span:first-child{margin-left:0;}
.hero-meta b{color:var(--ink);font-weight:700;}

/* ---------- trust marquee ---------- */
.trust{padding:0 0 64px;position:relative;z-index:1;}
.trust-cap{text-align:center;font-family:'Sora';font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--slate-300);margin-bottom:26px;}
.marquee{position:relative;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);}
.marquee-track{display:flex;gap:100px;width:max-content;animation:scroll 34s linear infinite;align-items:center;}
.marquee:hover .marquee-track{animation-play-state:paused;}
@keyframes scroll{to{transform:translateX(-50%);}}
.client-wm{font-family:'Sora';font-weight:700;font-size:23px;letter-spacing:-.02em;color:var(--slate-300);display:flex;align-items:center;gap:8px;transition:color .3s;white-space:nowrap;}
.client-wm:hover{color:var(--slate-600);}
.client-wm i{width:9px;height:9px;border-radius:2px;background:currentColor;opacity:.5;font-style:normal;}
.client-wm.round i{border-radius:50%;}
.client-logo{display:flex;align-items:center;}
.client-logo img{height:30px;width:auto;opacity:0.35;filter:grayscale(1);transition:opacity .3s,filter .3s;}
.client-logo:hover img{opacity:0.75;filter:grayscale(0);}
.client-logo.logo-checkmate img{height:38px;}
.client-logo.logo-marketvendr img{height:52px;}
.client-logo.logo-cotehill img{height:30px;opacity:1;filter:brightness(0) opacity(0.35);}
.client-logo.logo-cotehill:hover img{opacity:1;filter:brightness(0) opacity(1);}
.client-logo.logo-lsd img{height:22px;opacity:1;filter:brightness(0) opacity(0.35);}
.client-logo.logo-lsd:hover img{filter:brightness(0) opacity(1);}
/* Grubby Knees — SVG has black shapes with white fills on top; show as-is so the design reads correctly */
.client-logo.logo-grubbyknees img{height:36px;opacity:0.45;filter:none;transition:opacity .3s;}
.client-logo.logo-grubbyknees:hover img{opacity:1;}
/* Grimbarians CIC */
.client-logo.logo-grimbarians img{height:40px;opacity:0.5;filter:brightness(0);transition:opacity .3s;}
.client-logo.logo-grimbarians:hover img{opacity:0.9;}

/* ============================================================
   SECTION SHELL
   ============================================================ */
section{position:relative;}
.sec{padding:104px 0;}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:56px;}
.sec-head .lhs{max-width:42ch;}
.sec-head h2{font-size:46px;letter-spacing:-.035em;margin-top:18px;}
.sec-head p{font-size:17px;margin-top:16px;}
.divider-top{border-top:1px solid var(--line);}

/* ============================================================
   SERVICES
   ============================================================ */
.services{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line);}
.svc{position:relative;padding:40px 38px 44px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--card);transition:.3s var(--ease);overflow:hidden;}
.svc::before{content:"";position:absolute;left:0;top:0;width:100%;height:3px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease);}
.svc:hover{background:#fff;}
.svc:hover::before{transform:scaleX(1);}
.svc-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:30px;}
.svc-ic{width:52px;height:52px;border-radius:13px;background:var(--paper);display:flex;align-items:center;justify-content:center;transition:.3s var(--ease);}
.svc-ic svg{width:25px;height:25px;color:var(--ink);}
.svc:hover .svc-ic{background:var(--blue);}
.svc:hover .svc-ic svg{color:#fff;}
.svc-num{font-family:'Sora';font-variant-numeric:tabular-nums;font-weight:600;font-size:14px;color:var(--slate-300);}
.svc h3{font-size:23px;letter-spacing:-.02em;margin-bottom:11px;}
.svc p{font-size:15px;line-height:1.6;max-width:42ch;}
.svc-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;}
.svc-tags span{font-family:'Sora';font-size:12px;font-weight:500;color:var(--slate-600);background:var(--paper);border:1px solid var(--line);padding:5px 11px;border-radius:999px;transition:.3s var(--ease);}
.svc:hover .svc-tags span{border-color:var(--line-soft);background:#fff;}

/* ============================================================
   WORK
   ============================================================ */
.work-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.proj{grid-column:span 1;}
.proj.feature{grid-column:span 2;}
.proj-frame{display:block;position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(140deg,#eef2fb,#e0e6f2);cursor:pointer;}
.proj-frame image-slot{width:100%;display:block;transition:transform .6s var(--ease);}
.proj.feature image-slot{height:480px;}
.proj image-slot{height:300px;}
.proj-frame:hover image-slot{transform:scale(1.045);}
.proj-screenshot{width:100%;height:300px;object-fit:cover;object-position:top;display:block;transition:transform .6s var(--ease);}
.proj.feature .proj-screenshot{height:480px;}
.proj-frame:hover .proj-screenshot{transform:scale(1.045);}
.proj-overlay{position:absolute;left:0;right:0;bottom:0;padding:96px 32px 30px;z-index:2;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;pointer-events:none;background:linear-gradient(to top, rgba(13,20,38,.9), rgba(13,20,38,.5) 46%, transparent);}
.proj-overlay .meta .cat{font-family:'Sora';font-size:11.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--blue-400);margin-bottom:8px;display:block;}
.proj-overlay .meta h3{color:#fff;font-size:25px;letter-spacing:-.025em;}
.proj.feature .proj-overlay .meta h3{font-size:32px;}
.proj-overlay .meta .desc{color:rgba(255,255,255,.72);font-size:14px;margin-top:9px;max-width:46ch;}
.proj-view{flex:none;width:50px;height:50px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;transform:translateY(8px) scale(.85);opacity:0;transition:.4s var(--ease);}
.proj-view svg{width:20px;height:20px;color:var(--ink);}
.proj-frame:hover .proj-view{transform:none;opacity:1;}
.proj-frame:hover .proj-view{background:var(--blue);}
.proj-frame:hover .proj-view svg{color:#fff;}

/* ============================================================
   PROCESS
   ============================================================ */
.process{position:relative;background:var(--ink);color:#fff;overflow:hidden;}
.process .sec-head h2{color:#fff;}
.process .sec-head p{color:rgba(255,255,255,.62);}
.process .eyebrow{color:var(--blue-400);}
.process .eyebrow::before{background:var(--blue-400);}
.proc-checker{position:absolute;inset:0;opacity:1;--sq:rgba(255,255,255,.025);pointer-events:none;
  -webkit-mask-image:radial-gradient(70% 120% at 85% 0%, #000, transparent 70%);
          mask-image:radial-gradient(70% 120% at 85% 0%, #000, transparent 70%);}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative;}
.step{padding:34px 26px 30px 0;border-top:1px solid rgba(255,255,255,.14);position:relative;transition:.3s var(--ease);}
.step .node{position:absolute;top:-6.5px;left:0;width:12px;height:12px;border-radius:50%;background:var(--ink);border:2px solid rgba(255,255,255,.3);transition:.3s var(--ease);}
.step:hover .node{background:var(--blue);border-color:var(--blue);box-shadow:0 0 0 5px rgba(37,99,235,.22);}
.step .pnum{font-family:'Sora';font-variant-numeric:tabular-nums;font-weight:700;font-size:13px;color:var(--blue-400);letter-spacing:.05em;margin-bottom:18px;}
.step h3{color:#fff;font-size:22px;letter-spacing:-.02em;margin-bottom:10px;}
.step .move{font-family:'Sora';font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:14px;}
.step p{color:rgba(255,255,255,.66);font-size:14px;line-height:1.6;max-width:30ch;}
.step:hover h3{color:var(--blue-400);}

/* ============================================================
   STATS
   ============================================================ */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;}
.stat{position:relative;padding-left:22px;}
.stat::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;border-radius:2px;background:var(--blue);opacity:.85;}
.stat .num{font-family:'Sora';font-weight:700;font-size:58px;letter-spacing:-.04em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;}
.stat .num .suf{color:var(--blue);}
.stat .lbl{font-size:14.5px;color:var(--slate-400);margin-top:12px;font-weight:500;max-width:24ch;}

/* ============================================================
   CTA
   ============================================================ */
.cta-sec{padding:112px 0;}
.cta-card{position:relative;background:var(--ink);border-radius:28px;padding:84px 56px;text-align:center;overflow:hidden;}
.cta-checker{position:absolute;inset:0;--sq:rgba(255,255,255,.03);
  -webkit-mask-image:radial-gradient(80% 90% at 50% 120%, #000, transparent 72%);
          mask-image:radial-gradient(80% 90% at 50% 120%, #000, transparent 72%);}
.cta-glow{position:absolute;left:50%;top:-30%;width:560px;height:560px;transform:translateX(-50%);
  background:radial-gradient(circle, rgba(37,99,235,.5), transparent 62%);pointer-events:none;}
.cta-card .inner{position:relative;z-index:1;}
.cta-rook{width:56px;height:56px;color:#fff;margin-bottom:26px;}
.cta-card h2{color:#fff;font-size:58px;letter-spacing:-.04em;margin-bottom:18px;}
.cta-card h2 span{color:var(--blue-400);}
.cta-card p{color:rgba(255,255,255,.7);font-size:18px;max-width:48ch;margin:0 auto 36px;}
.cta-card .cta-row{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
.cta-note{margin-top:22px;font-size:13.5px;color:rgba(255,255,255,.5);font-family:'Sora';}

/* ============================================================
   FOOTER
   ============================================================ */
.footer{border-top:1px solid var(--line);padding:72px 0 40px;}
.foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;margin-bottom:56px;}
.foot-brand .brand{margin-bottom:18px;}
.foot-brand p{font-size:14.5px;max-width:34ch;line-height:1.6;}
.foot-col h4{font-family:'Sora';font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--slate-300);margin-bottom:18px;}
.foot-col a{display:block;font-size:14.5px;color:var(--slate-600);padding:6px 0;transition:.2s;width:fit-content;}
.foot-col a:hover{color:var(--ink);transform:translateX(3px);}
.foot-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:28px;border-top:1px solid var(--line);flex-wrap:wrap;}
.foot-bottom .cc{font-size:13px;color:var(--slate-400);}
.foot-bottom .soc{display:flex;gap:10px;}
.foot-bottom .soc a{width:38px;height:38px;border-radius:10px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--slate-600);transition:.25s var(--ease);}
.foot-bottom .soc a:hover{border-color:var(--ink);color:var(--ink);background:#fff;transform:translateY(-2px);}
.foot-bottom .soc a svg{width:17px;height:17px;}

.ico{fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;}

/* ============================================================
   DUAL CAPABILITY MARQUEE
   ============================================================ */
.cap-marquee-sec{padding:80px 0;}
.cap-marquee-sec .eyebrow{display:flex;margin-bottom:40px;}
.cap-marquee{display:flex;flex-direction:column;gap:14px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.cap-row{overflow:hidden;}
.cap-track{display:flex;gap:12px;width:max-content;}
.cap-rtl{animation:cap-scroll-rtl 48s linear infinite;}
.cap-ltr{animation:cap-scroll-ltr 38s linear infinite;}
.cap-row:hover .cap-track{animation-play-state:paused;}
@keyframes cap-scroll-rtl{to{transform:translateX(-50%);}}
@keyframes cap-scroll-ltr{from{transform:translateX(-50%);}to{transform:translateX(0);}}
.cap-card{display:inline-flex;align-items:center;gap:13px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 20px;white-space:nowrap;cursor:default;transition:.25s var(--ease);}
.cap-card:hover{border-color:var(--blue);transform:translateY(-2px);box-shadow:0 8px 20px -10px rgba(37,99,235,.22);}
.cap-ic{width:40px;height:40px;border-radius:10px;background:var(--paper);display:flex;align-items:center;justify-content:center;flex:none;transition:.25s var(--ease);}
.cap-ic svg{width:21px;height:21px;color:var(--ink);}
.cap-card:hover .cap-ic{background:var(--blue);}
.cap-card:hover .cap-ic svg{color:#fff;}
.cap-title{font-family:'Sora';font-weight:600;font-size:13.5px;color:var(--ink);letter-spacing:-.01em;}
.cap-sub{font-size:12px;color:var(--slate-400);margin-top:2px;}
.cap-dot{width:10px;height:10px;border-radius:50%;background:var(--blue);opacity:.6;flex:none;transition:.25s var(--ease);}
.cap-card.ind:hover .cap-dot{opacity:1;box-shadow:0 0 0 4px rgba(37,99,235,.15);}
@media(prefers-reduced-motion:reduce){
  .cap-rtl,.cap-ltr{animation:none;}
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:980px){
  .wrap{padding:0 28px;}
  .hero{padding:150px 0 70px;}
  .hero h1{font-size:54px;}
  .hero-sub{font-size:18px;}
  .sec{padding:76px 0;}
  .sec-head{flex-direction:column;align-items:flex-start;gap:14px;}
  .sec-head h2{font-size:36px;}
  .services{grid-template-columns:1fr;}
  .work-grid{grid-template-columns:1fr;}
  .proj.feature{grid-column:span 1;}
  .proj.feature image-slot{height:300px;}
  .steps{grid-template-columns:1fr 1fr;}
  .stats{grid-template-columns:1fr 1fr;gap:36px 24px;}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px;}
  .nav-links .lnk{display:none;}
  .deco-rook{display:none;}
  .cta-card{padding:60px 28px;}
  .cta-card h2{font-size:40px;}
}
@media(max-width:560px){
  .hero h1{font-size:42px;}
  .steps{grid-template-columns:1fr;}
  .stats{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .sec-head h2,.cta-card h2{font-size:32px;}
  .hero-cta{flex-direction:column;}
  .hero-cta .btn{width:100%;justify-content:center;}
}