:root{--bg:#fff;--bg2:#f2f8fb;--card:#fff;--line:#e2e9f2;--head:#0b2559;--tx:#1b2640;--mu:#5b6985;--g:#12c26a;--gtxt:#0c9a53;--b:#2a7de1;--grad:linear-gradient(90deg,#12c26a,#2a8bf2);--sh:0 20px 50px rgba(11,37,89,.08);--cardsh:0 8px 24px rgba(11,37,89,.04);--btn-tx:#fff;--btn-sh:0 12px 30px rgba(18,194,106,.35);--bo-bd:#0b2559;--bo-bg:#fff;--bo-tx:#0b2559;--bo-hbg:#0b2559;--bo-htx:#fff;--hdr:#fff;--hdr-s:rgba(255,255,255,.92);--nav-tx:#1b2640;--hero-bg:linear-gradient(180deg,#f6faf7,#fff);--mq-bg:#f2f8fb;--mq-tx:#0b2559;--mq-op:.7;--mq-star:#12c26a;--ib-bg:linear-gradient(135deg,#0b2559,#1d4aa0);--ib-tx:#fff;--ib-ai:linear-gradient(135deg,#12c26a,#0c9a53);--pill-bg:rgba(42,125,225,.1);--pill-tx:#1d5fc0;--pill-ai-bg:rgba(18,194,106,.12);--ck-bg:#12c26a;--ck-tx:#fff;--ph-bg:#fff;--mu-bg:#eef2f8;--rs-bg:linear-gradient(135deg,#0b2559,#12408f);--pop-bg:linear-gradient(170deg,#f0fbf5,#eef5ff);--ct-bg:linear-gradient(135deg,#eafaf2,#eaf3ff);--form-bg:#fff;--form-bd:#e2e9f2;--form-pad:28px;--in-bg:#fff;--ph-c:#8a97b0;--foot:#f2f8fb;--menu-bg:#fff;--star:#f5a623;--star-off:#d9dfea;--tag-bg:rgba(18,194,106,.09);--tag-bd:rgba(18,194,106,.3);--hov-bd:rgba(18,194,106,.6);--spot:rgba(18,194,106,.14);--note:#fffdf9;--serif:'Fraunces',Georgia,serif}
[data-theme="dark"]{--bg:#050b1f;--bg2:#0a1330;--card:rgba(255,255,255,.04);--line:rgba(255,255,255,.1);--head:#fff;--tx:#e8eeff;--mu:#93a1c4;--g:#12e07a;--gtxt:#12e07a;--b:#3b82f6;--grad:linear-gradient(90deg,#12e07a,#3bd0ff);--sh:0 20px 50px rgba(0,0,0,.4);--cardsh:none;--btn-tx:#04210f;--btn-sh:0 12px 40px rgba(18,224,122,.3);--bo-bd:rgba(255,255,255,.18);--bo-bg:rgba(255,255,255,.04);--bo-tx:#fff;--bo-hbg:rgba(255,255,255,.08);--bo-htx:#fff;--hdr:transparent;--hdr-s:rgba(5,11,31,.85);--nav-tx:#93a1c4;--hero-bg:none;--mq-bg:rgba(255,255,255,.03);--mq-tx:#93a1c4;--mq-op:1;--mq-star:#12e07a;--ib-bg:rgba(18,224,122,.12);--ib-tx:#12e07a;--ib-ai:rgba(18,224,122,.12);--pill-bg:rgba(59,130,246,.15);--pill-tx:#8db8ff;--pill-ai-bg:rgba(18,224,122,.14);--ck-bg:rgba(18,224,122,.15);--ck-tx:#12e07a;--ph-bg:#0c1636;--mu-bg:#1b2a58;--rs-bg:linear-gradient(135deg,#0b3a2c,#0a2a66);--pop-bg:linear-gradient(170deg,rgba(18,224,122,.14),rgba(59,130,246,.1));--ct-bg:linear-gradient(135deg,rgba(18,224,122,.12),rgba(59,130,246,.15));--form-bg:transparent;--form-bd:transparent;--form-pad:0;--in-bg:rgba(5,11,31,.7);--ph-c:#7584a8;--foot:transparent;--menu-bg:#0a1330;--star:#fbbf24;--star-off:rgba(255,255,255,.2);--tag-bg:rgba(18,224,122,.07);--tag-bd:rgba(255,255,255,.1);--hov-bd:rgba(18,224,122,.5);--spot:rgba(18,224,122,.16);--note:rgba(255,255,255,.05)}
.tr,.tr *{transition:background-color .3s,color .3s,border-color .3s!important}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'Plus Jakarta Sans',system-ui,Arial,sans-serif;background:var(--bg);color:var(--tx);line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.w{max-width:1160px;margin:auto;padding:0 22px}
section{padding:96px 0;position:relative}
h1,h2,h3{font-family:var(--serif);line-height:1.12;letter-spacing:-.015em;color:var(--head)}
h2{font-size:clamp(30px,4.2vw,46px);margin-bottom:14px}
.tag{display:inline-block;padding:6px 14px;border:1px solid var(--tag-bd);border-radius:40px;font-size:13px;font-weight:700;color:var(--gtxt);background:var(--tag-bg);margin-bottom:18px}
.lead{color:var(--mu);font-size:18px;max-width:600px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 26px;border-radius:12px;font:700 16px inherit;font-family:inherit;border:1px solid transparent;cursor:pointer;transition:.25s}
.bg{background:var(--grad);color:var(--btn-tx);box-shadow:var(--btn-sh)}
.bg:hover{transform:translateY(-3px)}
.bo{border-color:var(--bo-bd);background:var(--bo-bg);color:var(--bo-tx)}
.bo:hover{background:var(--bo-hbg);color:var(--bo-htx);transform:translateY(-3px)}

/* nav */
header{position:fixed;top:0;left:0;right:0;z-index:50;background:var(--hdr);transition:.3s}
header.s{background:var(--hdr-s);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
nav{display:flex;align-items:center;justify-content:space-between;height:82px}
.lg{display:block;border-radius:12px;flex:none}
.logo{display:block;position:relative;overflow:hidden;height:50px;aspect-ratio:3.38/1}
.logo img{position:absolute;width:112.5%;max-width:none;left:-7.6%;top:-69.7%;height:auto}
[data-theme="dark"] header .lg{background:#fff;padding:5px 12px}
.rt{display:flex;align-items:center;gap:26px}
.lk{display:flex;gap:28px;align-items:center}
.lk a{font-size:15px;font-weight:600;color:var(--nav-tx);transition:.2s}
.lk a:hover{color:var(--gtxt)}
.lk .btn{color:var(--btn-tx);padding:10px 20px;font-size:15px}
.lk .btn:hover{color:var(--btn-tx)}
.ctl{display:flex;align-items:center;gap:8px}
.thm{width:42px;height:42px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--head);cursor:pointer;display:grid;place-items:center}
.thm:hover{border-color:var(--g)}
.thm svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.sun{display:none}
[data-theme="dark"] .sun{display:block}
[data-theme="dark"] .moon{display:none}
.bur{display:none;background:none;border:0;color:var(--head);font-size:30px;cursor:pointer}

/* hero */
.hero{padding:160px 0 80px;background:var(--hero-bg)}
.hg{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.hero h1{font-size:clamp(36px,5.4vw,64px);margin-bottom:22px}
.mk{position:relative;white-space:nowrap}
.mk svg{position:absolute;left:0;bottom:-10px;width:100%;height:14px}
.mk path{stroke:var(--g);stroke-width:5;fill:none;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:420;animation:dr 1.2s .5s forwards}
@keyframes dr{to{stroke-dashoffset:0}}
.hero .lead{margin-bottom:30px}
.cta{display:flex;gap:12px;flex-wrap:wrap}
.small{margin-top:18px;font-size:14px;color:var(--mu)}
.note{background:var(--note);border:1px solid var(--line);border-radius:8px;padding:30px 28px;transform:rotate(1.5deg);box-shadow:8px 10px 0 rgba(11,37,89,.07)}
.note h3{font-size:22px;margin-bottom:12px}
.note ul{list-style:none}
.note li{padding:11px 0;border-bottom:1px dashed var(--line);font-size:15.5px;display:flex;justify-content:space-between;gap:12px}
.note li:last-child{border:0}
.note li b{color:var(--gtxt);white-space:nowrap}
.note p{font-size:14px;margin-top:12px;color:var(--mu)}

/* moving services strip (right to left) */
.mq{border-block:1px solid var(--line);padding:22px 0;overflow:hidden;background:var(--mq-bg)}
.mt{display:flex;gap:56px;width:max-content;animation:mv 32s linear infinite}
.mt span{font-size:20px;font-weight:800;color:var(--mq-tx);opacity:var(--mq-op);white-space:nowrap;display:flex;gap:56px;align-items:center}
.mt span:after{content:"\2726";color:var(--mq-star);opacity:1}
@keyframes mv{to{transform:translateX(-50%)}}

/* stats */
.stats{padding:70px 0}
.st{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
.st b{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-size:clamp(40px,5vw,60px);font-weight:800;letter-spacing:-.04em;line-height:1.2;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.st span{color:var(--mu);font-size:15px}

/* services */
.hd{margin-bottom:50px}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:18px}
.bc{grid-column:span 2;position:relative;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:30px;overflow:hidden;transition:.3s;box-shadow:var(--cardsh)}
.bc.wd{grid-column:span 3}.bc.xl{grid-column:span 4}
.bc:before{content:"";position:absolute;inset:0;background:radial-gradient(400px circle at var(--x,50%) var(--y,50%),var(--spot),transparent 45%);opacity:0;transition:.3s}
.bc:hover{border-color:var(--hov-bd);transform:translateY(-5px);box-shadow:var(--sh)}
.bc:hover:before{opacity:1}
.bc>*{position:relative}
.ib{width:50px;height:50px;border-radius:14px;background:var(--ib-bg);display:grid;place-items:center;margin-bottom:20px;color:var(--ib-tx)}
.bc.ai .ib{background:var(--ib-ai)}
.ib svg{width:25px;height:25px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.bc h3{font-size:21px;margin-bottom:8px}
.bc p{color:var(--mu);font-size:15px}
.pill{display:inline-block;margin-top:16px;font-size:12px;font-weight:700;padding:4px 11px;border-radius:30px;background:var(--pill-bg);color:var(--pill-tx)}
.bc.ai .pill{background:var(--pill-ai-bg);color:var(--gtxt)}

/* AI */
.am{background:var(--bg2)}
.sp{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.ck{list-style:none;margin-top:26px}
.ck li{display:flex;gap:14px;margin-bottom:18px;color:var(--mu)}
.ck li:before{content:"\2713";flex:none;width:26px;height:26px;border-radius:50%;background:var(--ck-bg);color:var(--ck-tx);display:grid;place-items:center;font-size:13px;font-weight:800}
.ck b{color:var(--head);display:block}
.ph{background:var(--ph-bg);border:1px solid var(--line);border-radius:26px;padding:20px;box-shadow:var(--sh);max-width:420px;margin:auto;width:100%}
.ph .top{display:flex;gap:12px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}
.ph .top i{width:40px;height:40px;border-radius:50%;background:var(--grad);color:var(--btn-tx);display:grid;place-items:center;font-style:normal;font-weight:800;font-size:13px}
.ph .top b{display:block;font-size:15px;color:var(--head)}.ph .top small{color:var(--gtxt);font-size:12px;font-weight:600}
.ms{display:flex;flex-direction:column;gap:10px;min-height:290px}
.m{max-width:82%;padding:11px 15px;border-radius:18px;font-size:14px;opacity:0;transform:translateY(10px);transition:.4s}
.m.sh{opacity:1;transform:none}
.m.u{background:var(--mu-bg);color:var(--tx);align-self:flex-start;border-bottom-left-radius:4px}
.m.a{background:var(--g);color:var(--btn-tx);font-weight:600;align-self:flex-end;border-bottom-right-radius:4px}
.sv{margin-top:10px;text-align:center;font-size:12px;font-weight:600;color:var(--gtxt);opacity:0;transition:.4s}.sv.sh{opacity:1}

/* process */
.stp{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:2px solid var(--head)}
.sc{padding:24px 22px 8px 0}
.sc i{font-family:var(--serif);font-style:normal;color:var(--gtxt);font-size:34px;font-weight:700;display:block;line-height:1}
.sc h3{font-size:22px;margin:10px 0 6px}.sc p{color:var(--mu);font-size:15px}

/* impact */
.rs{background:var(--rs-bg);border-radius:30px;padding:56px;color:#fff}
.rs h2{color:#fff}
.rs .tag{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#7df0b0}
.rg{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:36px}
.rg div{border-left:2px solid #12e07a;padding-left:20px}
.rg b{display:block;font-family:var(--serif);font-size:clamp(36px,4vw,52px);line-height:1.1;margin-bottom:6px}
.rg p{color:#c5d3f0;font-size:15px}

/* reviews */
.rvw{overflow:hidden;padding:10px 0 20px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.rtrack{display:flex;width:max-content;animation:rm 70s linear infinite}
.rvw:hover .rtrack{animation-play-state:paused}
@keyframes rm{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.tc{flex:none;width:350px;margin-right:18px;background:var(--card);border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--cardsh);display:flex;flex-direction:column}
.rr{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.stars{display:inline-block;font-size:19px;line-height:1;letter-spacing:3px;background:linear-gradient(90deg,var(--star) calc(var(--r)*20%),var(--star-off) calc(var(--r)*20%));-webkit-background-clip:text;background-clip:text;color:transparent}
.rn{font-size:13px;font-weight:800;color:var(--head)}
.tc p{font-size:15.5px;margin-bottom:22px;flex:1}
.au{display:flex;gap:12px;align-items:center;font-size:14px;color:var(--head)}
.au i{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-weight:800;font-size:14px;color:#fff;background:linear-gradient(135deg,#2a7de1,#12c26a);flex:none}
.au small{color:var(--mu);display:block;font-size:12.5px}.au b{display:block;line-height:1.3}

/* leave a review */
.lr{background:var(--ct-bg);border:1px solid var(--line);border-radius:32px;padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.rate{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.rate input{position:absolute;opacity:0;width:1px;height:1px}
.rate label{font-size:34px;line-height:1;color:var(--star-off);cursor:pointer;transition:.15s}
.rate label:hover,.rate label:hover~label,.rate input:checked~label{color:var(--star)}
.rate input:focus-visible+label{outline:2px solid var(--g);border-radius:4px}

/* pricing */
.pg{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
.pc{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:34px;display:flex;flex-direction:column;position:relative;box-shadow:var(--cardsh)}
.pc.pop{background:var(--pop-bg);border:2px solid var(--g);transform:scale(1.04)}
.pc.pop:before{content:"MOST POPULAR";position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--grad);color:var(--btn-tx);font-size:11px;font-weight:800;padding:5px 14px;border-radius:30px;letter-spacing:.08em}
.pc h3{font-size:24px}
.deal{align-self:flex-start;font-size:12px;font-weight:800;padding:6px 13px;border-radius:30px;background:var(--pill-ai-bg);color:var(--gtxt);margin-bottom:16px}
.pr{font-family:var(--serif);font-size:42px;font-weight:700;margin:12px 0 4px;color:var(--head);display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px}
.pr small{font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;color:var(--mu);font-weight:500}
.pr s{font-size:22px;font-weight:600;color:var(--mu);opacity:.75}
.pc>p{color:var(--mu);font-size:14.5px;margin-bottom:20px}
.pc ul{list-style:none;margin-bottom:26px;flex:1}
.pc li{padding:9px 0 9px 28px;position:relative;font-size:15px;border-top:1px solid var(--line)}
.pc li:before{content:"\2713";position:absolute;left:0;color:var(--g);font-weight:800}
.pc li.gift{color:var(--head);font-weight:700}
.pc li.gift:before{content:"+";font-size:18px;line-height:1.3}
.ofn{text-align:center;color:var(--mu);font-size:14px;margin-top:30px}.ofn b{color:var(--head)}

/* faq */
.fq{max-width:780px;margin:auto}
.q{border:1px solid var(--line);border-radius:16px;margin-bottom:12px;background:var(--card);transition:.3s}
.q:hover{border-color:var(--hov-bd)}
.q button{width:100%;text-align:left;background:none;border:0;color:var(--head);padding:22px 24px;font:600 19px var(--serif);cursor:pointer;display:flex;justify-content:space-between;gap:12px;align-items:center}
.q button:after{content:"+";color:var(--g);font-size:26px;line-height:1;transition:.3s;flex:none}
.q.open button:after{transform:rotate(45deg)}
.q div{max-height:0;overflow:hidden;transition:max-height .35s;color:var(--mu);padding:0 24px}
.q.open div{padding-bottom:22px}

/* contact */
.ct{background:var(--ct-bg);border:1px solid var(--line);border-radius:32px;padding:52px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center}
.ct .inf p{margin-top:14px;color:var(--mu)}.ct .inf b{color:var(--head)}
.ct .inf a:hover{color:var(--gtxt)}
form{background:var(--form-bg);padding:var(--form-pad);border-radius:22px;border:1px solid var(--form-bd)}
.f{display:grid;gap:12px}
input,select,textarea{width:100%;padding:14px 16px;border:1.5px solid var(--line);border-radius:12px;font:inherit;background:var(--in-bg);color:var(--tx)}
select option{background:var(--bg2);color:var(--tx)}
input::placeholder,textarea::placeholder{color:var(--ph-c)}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--g);box-shadow:0 0 0 4px rgba(18,194,106,.14)}
textarea{min-height:100px;resize:vertical}
.f .btn[disabled]{opacity:.7;cursor:wait}
.ok{display:none;text-align:center;padding:26px 10px}
.okc{width:70px;height:70px;border-radius:50%;background:var(--grad);color:var(--btn-tx);display:grid;place-items:center;font-size:34px;font-weight:800;margin:0 auto 18px}
.ok h3{font-size:26px;margin-bottom:10px}
.ok p{color:var(--mu);margin-bottom:22px}
form.done .f{display:none}form.done .ok{display:block}

/* footer + floating button */
footer{background:var(--foot);border-top:1px solid var(--line);padding:40px 0;color:var(--mu);font-size:14px}
footer .w{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
footer .fa{display:flex;gap:24px;font-weight:600}footer a:hover{color:var(--gtxt)}
footer .lg{background:#fff;padding:6px 14px;border-radius:18px;border:1px solid var(--line)}
.cu{position:fixed;right:20px;bottom:20px;z-index:60;background:var(--grad);color:var(--btn-tx);padding:14px 24px;border-radius:40px;font-weight:700;font-size:15px;box-shadow:var(--btn-sh);transition:.2s}
.cu:hover{transform:translateY(-3px)}
.rv{opacity:0;transform:translateY(30px);transition:.8s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}

/* ===== MOBILE & SMALL SCREENS ONLY ===== */
@media (max-width: 920px) {
  section {
    padding: 64px 0;
  }

  .w {
    padding: 0 18px;
  }

  /* Header */
  nav {
    height: 70px;
  }

  .logo {
    height: 40px;
  }

  .rt {
    gap: 8px;
  }

  .thm {
    width: 40px;
    height: 40px;
  }

  .bur {
    display: block;
    width: 44px;
    height: 44px;
    font-size: 28px;
    line-height: 1;
  }

  .lk {
    position: fixed;
    top: 70px;
    left: 0;
    right: 0;
    background: var(--menu-bg);
    flex-direction: column;
    padding: 20px 18px 28px;
    gap: 6px;
    border-bottom: 1px solid var(--line);
    display: none;
    max-height: calc(100vh - 70px);
    overflow-y: auto;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
  }

  .lk.show {
    display: flex;
  }

  .lk a {
    color: var(--tx);
    font-size: 17px;
    padding: 14px 12px;
    border-radius: 10px;
  }

  .lk a:hover {
    background: var(--bg2);
  }

  .lk .btn {
    margin-top: 10px;
    width: 100%;
    justify-content: center;
    padding: 14px 20px;
  }

  /* Hero */
  .hero {
    padding: 110px 0 50px;
  }

  .hg,
  .sp,
  .ct,
  .lr {
    grid-template-columns: 1fr;
    gap: 36px;
  }

  .hero h1 {
    font-size: clamp(30px, 8vw, 42px);
    margin-bottom: 16px;
  }

  .mk {
    white-space: normal;
  }

  .hero .lead {
    font-size: 16.5px;
    margin-bottom: 24px;
  }

  .cta {
    gap: 10px;
  }

  .cta .btn {
    flex: 1 1 auto;
    min-width: 140px;
    justify-content: center;
    padding: 13px 18px;
    font-size: 15px;
  }

  .note {
    transform: none;
    padding: 24px 20px;
    margin-top: 8px;
  }

  .note h3 {
    font-size: 19px;
  }

  .note li {
    font-size: 14.5px;
    flex-direction: column;
    gap: 2px;
    padding: 10px 0;
  }

  .note li b {
    font-size: 13px;
  }

  /* Marquee */
  .mq {
    padding: 16px 0;
  }

  .mt {
    gap: 36px;
  }

  .mt span {
    font-size: 16px;
    gap: 36px;
  }

  /* Stats – keep 2 columns on all mobile sizes */
  .stats {
    padding: 48px 0;
  }

  .st {
    grid-template-columns: 1fr 1fr;
    gap: 22px 12px;
  }

  .st b {
    font-size: clamp(32px, 9vw, 44px);
  }

  .st span {
    font-size: 13.5px;
  }

  /* Services – 2-column grid on tablet/mobile */
  .hd {
    margin-bottom: 36px;
  }

  .hd h2 {
    font-size: clamp(26px, 7vw, 36px);
  }

  .bento {
    grid-template-columns: 1fr 1fr;
    gap: 14px;
  }

  .bc,
  .bc.wd,
  .bc.xl {
    grid-column: auto;
    padding: 22px 16px;
  }

  .bc h3 {
    font-size: 17px;
  }

  .bc p {
    font-size: 13.5px;
  }

  .ib {
    width: 42px;
    height: 42px;
    margin-bottom: 14px;
  }

  .ib svg {
    width: 20px;
    height: 20px;
  }

  .pill {
    font-size: 11px;
    padding: 3px 9px;
    margin-top: 12px;
  }

  .pg {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  /* AI section */
  .sp {
    gap: 40px;
  }

  .ph {
    max-width: 100%;
    padding: 16px;
  }

  .ms {
    min-height: 260px;
  }

  .m {
    font-size: 13.5px;
    padding: 10px 13px;
  }

  /* Process */
  .stp {
    grid-template-columns: 1fr 1fr;
    gap: 8px 16px;
    border-top-width: 1.5px;
  }

  .sc {
    padding: 18px 8px 4px 0;
  }

  .sc i {
    font-size: 28px;
  }

  .sc h3 {
    font-size: 18px;
  }

  .sc p {
    font-size: 14px;
  }

  /* Results / Impact */
  .rs {
    padding: 36px 20px;
    border-radius: 22px;
  }

  .rg {
    grid-template-columns: 1fr 1fr;
    gap: 24px 16px;
    margin-top: 28px;
  }

  .rg b {
    font-size: clamp(28px, 8vw, 40px);
  }

  .rg p {
    font-size: 13.5px;
  }

  /* Reviews */
  .tc {
    width: 300px;
    padding: 22px;
  }

  /* Leave review + Contact */
  .lr,
  .ct {
    padding: 28px 18px;
    border-radius: 22px;
    gap: 28px;
  }

  .lr h2,
  .ct h2 {
    font-size: clamp(24px, 6.5vw, 32px);
  }

  .rate label {
    font-size: 30px;
  }

  /* Pricing */
  .pc {
    padding: 26px 20px;
  }

  .pc.pop {
    transform: none;
  }

  .pr {
    font-size: 34px;
  }

  .pc h3 {
    font-size: 21px;
  }

  /* FAQ */
  .q button {
    padding: 18px 16px;
    font-size: 17px;
  }

  .q div {
    padding-left: 16px;
    padding-right: 16px;
  }

  /* Footer */
  footer {
    padding: 32px 0;
    text-align: center;
  }

  footer .w {
    flex-direction: column;
    gap: 20px;
  }

  footer .fa {
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px 22px;
  }

  /* Floating CTA */
  .cu {
    right: 14px;
    bottom: 14px;
    padding: 12px 18px;
    font-size: 14px;
  }
}

/* Extra-small phones */
@media (max-width: 520px) {
  .w {
    padding: 0 16px;
  }

  section {
    padding: 52px 0;
  }

  .hero {
    padding: 100px 0 40px;
  }

  .hero h1 {
    font-size: 28px;
  }

  .cta {
    flex-direction: column;
  }

  .cta .btn {
    width: 100%;
  }

  /* Stats stay 2 columns */
  .st {
    grid-template-columns: 1fr 1fr;
    gap: 18px 10px;
  }

  .st b {
    font-size: clamp(28px, 8vw, 36px);
  }

  .st span {
    font-size: 12.5px;
  }

  /* Services – keep 2 columns, make cards even smaller */
  .bento {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }

  .bc,
  .bc.wd,
  .bc.xl {
    padding: 16px 12px;
  }

  .bc h3 {
    font-size: 15px;
    margin-bottom: 6px;
  }

  .bc p {
    font-size: 12.5px;
    line-height: 1.45;
  }

  .ib {
    width: 36px;
    height: 36px;
    margin-bottom: 10px;
    border-radius: 10px;
  }

  .ib svg {
    width: 18px;
    height: 18px;
  }

  .pill {
    font-size: 10px;
    padding: 2px 8px;
    margin-top: 10px;
  }

  /* Process & Results keep 2-col */
  .stp,
  .rg {
    grid-template-columns: 1fr 1fr;
    gap: 16px 12px;
  }

  .note li {
    font-size: 14px;
  }

  .tc {
    width: 270px;
  }

  .rs {
    padding: 28px 16px;
  }

  .rg div {
    padding-left: 14px;
  }

  .pc {
    padding: 22px 16px;
  }

  .pr {
    font-size: 30px;
  }

  .cu {
    padding: 11px 16px;
    font-size: 13.5px;
  }

  .lk a {
    font-size: 16px;
    padding: 12px 10px;
  }
}

@media (max-width: 380px) {
  .hero h1 {
    font-size: 26px;
  }

  .st b {
    font-size: 26px;
  }

  .st span {
    font-size: 12px;
  }

  .bc h3 {
    font-size: 14px;
  }

  .bc p {
    font-size: 12px;
  }

  .tc {
    width: 250px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rtrack {
    animation-duration: 200s;
  }
  .mt {
    animation-duration: 120s;
  }
  .rv {
    transition: none;
  }
}