/* =========================================================
   Shop Internet - Landing page styles
   Mobile first. Phone layout = the approved mobile design.
   Desktop layout starts at 960px (see bottom of file).
   Most mobile sizes use cqw (container query width) so each
   section scales with its own width, exactly like the approved
   mobile design.
   ========================================================= */

/* ---------- Tokens ---------- */
:root{
  --navy:#0a1f4d;
  --navy-ink:#12295e;
  --ink:#0a2a6b;
  --ink-2:#1c3568;
  --muted:#4a5876;
  --green:#45e02b;
  --green-2:#3cc424;
  --green-text:#2fb800;
  --green-soft:#eaf9e5;
  --blue:#2a9df4;
  --blue-2:#1b84e0;
  --font:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
html{scroll-padding-top:env(safe-area-inset-top,0px)}
body{margin:0;background:var(--navy);font-family:var(--font);-webkit-text-size-adjust:100%}
img{display:block;width:100%;height:auto;max-width:100%}
.wrap{max-width:560px;margin:0 auto;position:relative}
.d-only{display:none}

/* ---------- Header ---------- */
.site-header{position:sticky;top:env(safe-area-inset-top,0px);z-index:60;container-type:inline-size;background:linear-gradient(#fff,#f2f4f8);border-bottom:1px solid #e3e8f1;box-shadow:0 .6px 10px #0a1f4d26;font-family:var(--font)}
.site-header__in{display:flex;align-items:center;gap:3cqw;padding:2.2cqw 4cqw}
.brand{display:flex;flex-direction:column;align-items:center;text-decoration:none;line-height:1;flex:none}
.brand__name{font-size:4.7cqw;font-weight:800;color:#163a7a;letter-spacing:-.1cqw;white-space:nowrap}
.brand__swoosh{width:21cqw;height:2.1cqw;margin-top:.3cqw}
.site-header__sep{width:1px;height:8cqw;background:#c9d1df;flex:none}
.tagline{margin:0;display:flex;flex-direction:column;font-size:2.9cqw;font-weight:600;color:#1f3d78;line-height:1.3;white-space:nowrap}
.tagline__bar{display:none}
.tagline__green{color:#2a9a14}
.header-call{display:none}

/* ---------- Mobile hero (image + call button) ---------- */
.pos{position:relative;container-type:inline-size}
.hero-call{position:absolute;left:4.1%;top:79.1%;width:66%;height:20.2%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3cqw;background:linear-gradient(var(--blue),var(--blue-2));border-radius:3.6cqw;color:#fff;text-decoration:none;font-family:var(--font);box-shadow:0 1cqw 3cqw #0006;-webkit-tap-highlight-color:transparent}
.hero-call__top{font-size:3.4cqw;font-weight:800;line-height:1.15;white-space:nowrap}
.hero-call__num{display:flex;align-items:center;gap:.6cqw;font-size:5.3cqw;font-weight:800;line-height:1.1;white-space:nowrap;letter-spacing:.1cqw}
.ring-phone{width:9.6cqw;height:9.6cqw;margin:-1.4cqw 0;overflow:visible;flex:none}

/* Ringing arcs used on every call icon */
.w{opacity:.15;animation:ring 1.5s ease-in-out infinite}
.w2{animation-delay:.25s}
@keyframes ring{0%,8%{opacity:.12}28%,55%{opacity:1}75%,100%{opacity:.12}}

/* ---------- Reviews (mobile) ---------- */
.rev{display:flex;gap:0;background:var(--navy)}
.card{flex:1;min-width:0;text-align:center;padding:6px 4px 7px;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}
.tp{background:linear-gradient(#0f6b5c,#0a2a5c 45%,#0a1f4d)}
.gg{background:linear-gradient(#b8893f,#3d3a4a 45%,#0a1f4d)}
.card__top{display:flex;align-items:center;justify-content:center;gap:6px}
.card img.logo{height:22px;width:auto;margin:0}
.gg img.logo{border-radius:50%}
.stars{color:#f1c35a;font-size:clamp(13px,4.2vw,20px);letter-spacing:1px;line-height:1;text-shadow:0 1px 2px #0006}
.box{display:flex;align-items:center;justify-content:center;gap:5px;background:#0d2f6e;border:1px solid #ffffff22;border-radius:8px;padding:3px 4px;margin:5px 2px 0;width:calc(100% - 4px);box-sizing:border-box}
.num{color:#e9c674;font-weight:800;font-size:clamp(20px,6vw,34px);line-height:1}
.lbl{font-weight:800;font-size:clamp(8px,2.6vw,12px);line-height:1.1;text-transform:uppercase;margin:0;text-align:left}
.cap{font-size:clamp(8px,2.5vw,11px);opacity:.85;margin-top:4px;line-height:1.2}

/* ---------- Offer card (inside phone mockup image) ---------- */
.offer{position:absolute;left:8.7%;top:13%;width:82.6%;height:66.4%;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:0;padding:1cqw 0 0;text-align:center;color:var(--ink);font-family:var(--font)}
.rows{width:100%}
.rw{display:flex;align-items:center;gap:2.4cqw;padding:1.4cqw .5cqw;border-bottom:.25cqw solid #d3dbe8;text-align:left}
.rw:last-child{border-bottom:0}
.ic{width:5cqw;height:5cqw;flex:none}
.rl{flex:1;font-size:3.5cqw;color:var(--ink-2);white-space:nowrap}
.rv{font-size:3.6cqw;font-weight:800;color:var(--ink);white-space:nowrap}
.lt{display:block;font-size:2.8cqw;font-weight:700;color:#c2410c;line-height:1.1;margin-top:.5cqw;letter-spacing:.1cqw}
.pb{display:flex;flex-direction:column;align-items:center;line-height:1.1;border-top:.25cqw solid #d3dbe8;padding-top:1.4cqw;width:100%}
.was{font-size:4.2cqw;color:#7a86a0;text-decoration:line-through;text-decoration-thickness:.4cqw}
.pal{font-size:3.4cqw;color:var(--muted);margin-top:.6cqw}
.now{color:var(--ink);font-weight:800;margin-top:.5cqw}
.now span{font-size:12cqw;letter-spacing:-.4cqw}
.now small{font-size:4.6cqw;font-weight:600}
.l2{display:flex;flex-direction:column;align-items:center;gap:1cqw}
.fr{font-size:6.6cqw;font-weight:800;color:var(--green-text);line-height:1.05}
.po{font-size:3cqw;color:#d62828;font-weight:600}
.l3{margin:0;font-size:3.3cqw;line-height:1.25;max-width:78cqw;color:var(--ink-2)}
.btn{display:flex;align-items:center;justify-content:center;gap:1cqw;width:100%;box-sizing:border-box;padding:3cqw 2cqw;background:var(--green);color:var(--ink);font-weight:800;font-size:3.4cqw;border-radius:99px;text-decoration:none;white-space:nowrap;box-shadow:0 1cqw 2.4cqw #0a2a6b33;animation:pulse 1.8s ease-in-out infinite;will-change:transform}
.btn .ph3{width:6cqw;height:6cqw;flex:none;overflow:visible}
@keyframes pulse{0%,100%{transform:scale(1);box-shadow:0 1cqw 2.4cqw #0a2a6b33,0 0 0 0 #45e02b00}50%{transform:scale(1.03);box-shadow:0 1.4cqw 3cqw #0a2a6b44,0 0 3.5cqw .6cqw #45e02b88}}
.tos{position:absolute;left:0;width:83%;top:84.6%;text-align:center;font-size:3.3cqw;color:#8b93a3;text-decoration:underline;font-family:var(--font)}

/* ---------- Providers ---------- */
.prov{container-type:inline-size;background:#fff;padding:7cqw 4cqw;text-align:center;font-family:var(--font)}
.prov h2{margin:0 0 4.5cqw;font-size:6.3cqw;line-height:1.22;font-weight:800;color:#1f2430;letter-spacing:-.1cqw}
.prov h2 span{color:var(--green)}
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.8cqw 2cqw;align-items:center}
.lg{height:13cqw;display:flex;align-items:center;justify-content:center}
.lg img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
/* per-logo optical sizing (logos have different built-in padding) */
.grid .lg:nth-child(1) img{max-width:89%;max-height:89%}
.grid .lg:nth-child(2) img{max-width:none;max-height:none;width:128%;transform:translateX(8.9%)}
.grid .lg:nth-child(3) img{max-width:76%;max-height:76%;transform:translateX(14%)}
.grid .lg:nth-child(4) img{max-width:none;max-height:none;width:110%;transform:translateX(1.2%)}
.grid .lg:nth-child(10) img{max-width:65%;max-height:73%}
.grid .lg:nth-child(12) img{max-width:64%;max-height:64%}
.prov-bar{width:26%;height:.9cqw;background:#3f6fe0;opacity:.7;margin:6cqw auto 0;border-radius:1cqw}

/* ---------- 3 Steps ---------- */
.steps{container-type:inline-size;background:linear-gradient(#f3f6fc,#e9eff9);padding:9cqw 6cqw 11cqw;text-align:center;font-family:var(--font)}
.steps h2{margin:0 0 7cqw;font-size:7.4cqw;line-height:1.2;font-weight:800;color:var(--navy-ink);letter-spacing:-.15cqw}
.steps h2 span{background:linear-gradient(90deg,#74dc3f,#1c8f2e);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.col{display:flex;flex-direction:column;align-items:center}
.step{position:relative;width:100%;box-sizing:border-box;min-height:26cqw;display:flex;align-items:center;justify-content:flex-start;gap:4.5cqw;background:#fff;border:.3cqw solid #d3efca;border-radius:4cqw;padding:6cqw 4cqw 6cqw 10cqw;box-shadow:0 0 4.4cqw .5cqw rgba(69,224,43,.34),0 1.5cqw 0 rgba(60,196,36,.26),0 2.8cqw 4.2cqw rgba(27,58,138,.12)}
.nb{position:absolute;left:3.2cqw;top:-2.6cqw;width:7cqw;height:7cqw;border-radius:50%;background:var(--navy-ink);color:#fff;font-weight:800;font-size:3.8cqw;display:flex;align-items:center;justify-content:center;box-shadow:0 .6cqw 1.4cqw #12295e55;border:.6cqw solid #fff}
.ico{width:12.5cqw;height:12.5cqw;border-radius:50%;background:var(--green-soft);display:flex;align-items:center;justify-content:center;flex:none}
.ico svg{width:6.8cqw;height:6.8cqw}
.tx{display:flex;flex-direction:column;align-items:flex-start;font-size:6.2cqw;font-weight:700;color:#1f4fbf;letter-spacing:-.1cqw;white-space:normal;text-align:left;line-height:1.15}
.tx .t1{display:block}
.tx .sb{display:block;font-size:3.3cqw;font-weight:500;color:#5a6a8e;margin-top:1.2cqw;line-height:1.25;letter-spacing:0}
.dn{width:9.5cqw;height:9.5cqw;border-radius:50%;background:var(--green-soft);margin:-1.6cqw 0;position:relative;z-index:2;display:flex;align-items:center;justify-content:center;box-shadow:0 .8cqw 2cqw #1b3a8a22;border:.6cqw solid #fff}
.dn svg{width:5.6cqw;height:5.6cqw;stroke:var(--green-2);stroke-width:2.3}
.step+.dn{margin-top:-1.2cqw}
.cta3{display:flex;align-items:center;justify-content:center;gap:2.2cqw;width:100%;box-sizing:border-box;margin-top:8cqw;padding:4.4cqw 1.6cqw;background:linear-gradient(#55e83a,#3fd424);border-radius:99px;text-decoration:none;color:var(--ink);box-shadow:0 1.4cqw 3cqw #0a2a6b33;animation:pulse3 2.6s ease-in-out infinite;will-change:transform;-webkit-tap-highlight-color:transparent}
.ph2{width:8cqw;height:8cqw;flex:none;overflow:visible}
.ct{display:flex;flex-direction:column;align-items:center;text-align:center;line-height:1.15}
.ct__main{font-size:5.1cqw;font-weight:800;line-height:1.15;white-space:nowrap;letter-spacing:-.05cqw}
.ct__main b{font-weight:800}
.ct__sub{display:flex;align-items:center;gap:.6cqw;font-size:3.5cqw;font-weight:600;line-height:1.1;white-space:nowrap;letter-spacing:.1cqw;opacity:.85;margin-top:.9cqw}
@keyframes pulse3{0%,100%{transform:scale(1);box-shadow:0 1.4cqw 3cqw #0a2a6b33,0 0 0 0 #45e02b00}50%{transform:scale(1.065);box-shadow:0 2cqw 4cqw #0a2a6b55,0 0 6cqw 1.6cqw #45e02bcc}}

/* ---------- Value boxes ---------- */
.boxes{container-type:inline-size;background:#fff;padding:9cqw 4.5cqw 10cqw;font-family:var(--font)}
.bt{margin:0 0 6.5cqw;text-align:center;font-size:4.7cqw;line-height:1.25;font-weight:700;color:#3a4a73;letter-spacing:-.04cqw}
.bt::after{content:"";display:block;width:12cqw;height:.9cqw;border-radius:1cqw;background:var(--green-2);margin:2.4cqw auto 0}
.box-grid{display:grid;grid-template-columns:1fr 1fr;gap:3.6cqw;align-items:stretch}
.bx{position:relative;background:#fff;border:.3cqw solid #e1e8f5;border-radius:3.6cqw;padding:5.5cqw 4cqw 5cqw;box-shadow:0 1.2cqw 3.4cqw #1b3a8a1a;overflow:hidden;text-align:left}
.bx::before{content:"";position:absolute;left:0;top:0;right:0;height:1.2cqw;background:linear-gradient(90deg,var(--green-2),#6bf03a)}
.bi{display:flex;align-items:center;justify-content:center;width:11.5cqw;height:11.5cqw;border-radius:50%;background:var(--green-soft);margin-bottom:3.4cqw}
.bi svg{width:6.2cqw;height:6.2cqw}
.bx h3{margin:0 0 2.4cqw;font-size:4.5cqw;line-height:1.2;font-weight:800;color:var(--navy-ink);letter-spacing:-.05cqw}
.bx p{margin:0;font-size:3.3cqw;line-height:1.5;color:var(--muted)}
@supports (grid-template-rows:subgrid){
  .box-grid{grid-template-rows:repeat(6,auto);row-gap:0}
  .bx{display:grid;grid-template-rows:subgrid;grid-row:span 3;align-content:start}
  .bx:nth-child(n+3){margin-top:3.6cqw}
  .bx p,.bi{align-self:start}
}

/* ---------- FAQ ---------- */
.faq{container-type:inline-size;background:linear-gradient(#f3f6fc,#e9eff9);padding:9cqw 4.5cqw 11cqw;font-family:var(--font)}
.faq h2{margin:0 0 6.5cqw;text-align:center;font-size:7.4cqw;line-height:1.2;font-weight:800;color:var(--navy-ink);letter-spacing:-.15cqw}
.fl{display:flex;flex-direction:column;gap:3.2cqw}
.fq{background:#fff;border:.3cqw solid #e1e8f5;border-radius:3.6cqw;box-shadow:0 1.2cqw 3.4cqw #1b3a8a1a;overflow:hidden}
.fq[open]{border-color:#cfeec6;box-shadow:0 0 3.6cqw .3cqw rgba(69,224,43,.26),0 1.2cqw 3.4cqw #1b3a8a1a}
.fq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:3cqw;padding:4.6cqw 4.2cqw;-webkit-tap-highlight-color:transparent}
.fq summary::-webkit-details-marker{display:none}
.q{font-size:4.1cqw;line-height:1.28;font-weight:800;color:var(--navy-ink)}
.cv{flex:none;width:8.6cqw;height:8.6cqw;border-radius:50%;background:var(--green-soft);display:flex;align-items:center;justify-content:center;transition:transform .25s ease}
.cv svg{width:4.8cqw;height:4.8cqw}
.fq[open] .cv{transform:rotate(180deg)}
.a{padding:0 4.2cqw 5cqw}
.a p{margin:0;padding-top:3.4cqw;border-top:.3cqw solid #e6edf8;font-size:3.6cqw;line-height:1.55;color:var(--muted)}
.fq[open] .a{animation:fqin .28s ease}
@keyframes fqin{from{opacity:0;transform:translateY(-1.2cqw)}to{opacity:1;transform:none}}
.fq.more{display:block;padding:4.6cqw 4.2cqw 4.8cqw;text-decoration:none;border-color:#cfeec6;box-shadow:0 0 3.6cqw .3cqw rgba(69,224,43,.26),0 1.2cqw 3.4cqw #1b3a8a1a}
.mrow{display:flex;align-items:center;gap:3.4cqw}
.mi{flex:none;width:11.5cqw;height:11.5cqw;border-radius:50%;background:var(--green-soft);display:flex;align-items:center;justify-content:center}
.mi svg{width:6.2cqw;height:6.2cqw}
.mt{flex:1;display:flex;flex-direction:column;gap:1cqw}
.m1{font-size:4.1cqw;line-height:1.28;font-weight:800;color:var(--navy-ink)}
.m2{font-size:3.6cqw;color:var(--muted)}
.mbtn{display:flex;align-items:center;justify-content:center;gap:2cqw;margin-top:4.4cqw;padding:3.8cqw 3cqw;border-radius:99px;background:linear-gradient(#55e83a,#3fd424);color:var(--ink);text-decoration:none;font-weight:800;font-size:4.2cqw;box-shadow:0 1cqw 2.4cqw #0a2a6b2e;-webkit-tap-highlight-color:transparent}
.mbtn svg{width:5.2cqw;height:5.2cqw;flex:none}

/* ---------- Footer ---------- */
.site-footer{background:#061638;color:#c9d4ea;font-family:var(--font);text-align:center}
.site-footer__in{padding:30px 16px 22px;display:flex;flex-direction:column;align-items:center;gap:16px}
.site-footer__brand{display:flex;flex-direction:column;align-items:center}
.site-footer__brand .brand__name{font-size:22px;color:#fff}
.site-footer__brand .brand__swoosh{width:96px;height:9px;margin-top:3px}
.site-footer__brand p{margin:10px 0 0;font-size:13px}
.site-footer__call{display:inline-flex;align-items:center;gap:10px;padding:13px 24px;border-radius:999px;background:linear-gradient(#5bea3e,#3fd424);color:var(--ink);text-decoration:none;font-size:18px;font-weight:800}
.site-footer__call svg{width:20px;height:20px;fill:none;stroke:var(--ink);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.site-footer__legal{border-top:1px solid #ffffff1a;padding:16px 16px 22px;font-size:12.5px;color:#8fa0c2}
.site-footer__legal nav{display:flex;justify-content:center;gap:20px;margin-bottom:8px}
.site-footer__legal a{color:#c9d4ea}
.site-footer__legal p{margin:0;line-height:1.5}

/* ---------- Mobile spacing refinements ---------- */
.prov{padding-top:4.5cqw}
.steps{padding:8cqw 6cqw 9.5cqw}
.steps h2{margin-bottom:6cqw}
.cta3{margin-top:7cqw}
.boxes{padding:8cqw 4.5cqw 8.5cqw}
.faq{padding:8cqw 4.5cqw 9cqw}
.faq h2{margin-bottom:5.5cqw}

/* ---------- Motion preferences ---------- */
@media (prefers-reduced-motion:reduce){
  .w{animation:none;opacity:1}
  .btn,.cta3{animation:none}
  .fq[open] .a{animation:none}
  .cv{transition:none}
}

/* =========================================================
   DESKTOP (960px and up)
   Mobile layout above is untouched below 960px.
   ========================================================= */
@media (min-width:960px){
  body{background:#fff}
  .wrap{max-width:none}
  .d-only{display:block}
  .m-hero{display:none}
  .site-header__in,.d-hero__in,.offer-prov,.site-footer__in,.site-footer__legal{max-width:1248px;margin-left:auto;margin-right:auto;box-sizing:border-box}
  .d-reviews__in{max-width:1200px;margin:0 auto}

  /* Header */
  .site-header{container-type:normal;background:rgba(255,255,255,.97);box-shadow:0 6px 24px rgba(10,31,77,.07)}
  .site-header__in{gap:24px;padding:14px 24px}
  .brand__name{font-size:26px;letter-spacing:-.5px}
  .brand__swoosh{width:116px;height:11px;margin-top:3px}
  .site-header__sep{height:40px;background:#d3dae6}
  .tagline{flex-direction:row;align-items:center;gap:16px;font-size:16px;color:#26407a}
  .tagline__bar{display:block;width:2px;height:20px;background:#45c626;border-radius:2px}
  .tagline__green{color:#26407a}
  .header-call{margin-left:auto;display:flex;align-items:center;gap:12px;padding:10px 26px 10px 14px;border-radius:999px;background:linear-gradient(#2fa3f7,#1677d6);color:#fff;text-decoration:none;box-shadow:0 8px 20px rgba(22,119,214,.35);transition:transform .2s ease,box-shadow .2s ease}
  .header-call:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(22,119,214,.45)}
  .header-call__icon{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center}
  .header-call__icon svg{width:26px;height:26px;overflow:visible}
  .header-call__txt{display:flex;flex-direction:column;font-size:22px;font-weight:800;line-height:1.1;letter-spacing:.3px}
  .header-call__txt small{font-size:12px;font-weight:600;opacity:.9;letter-spacing:0}

  /* Hero */
  .d-hero{position:relative;overflow:hidden;height:680px;background:#011034 url(../images/hero-desktop-bg.jpg) center/cover no-repeat;font-family:var(--font)}
  .d-hero__photo{position:absolute;right:0;top:0;height:100%;width:min(calc(50vw + 140px),1040px);object-fit:cover;object-position:right 32%;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 30%),linear-gradient(0deg,transparent 0%,#000 16%);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent 0%,#000 30%),linear-gradient(0deg,transparent 0%,#000 16%);mask-composite:intersect}
  .d-hero__in{position:relative;z-index:2;height:100%;padding:0 24px 60px;display:flex;flex-direction:column;justify-content:center}
  .chips{list-style:none;margin:0 0 26px;padding:0;display:flex;gap:10px}
  .chips li{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);color:#fff;font-size:14px;font-weight:600}
  .chips svg{width:18px;height:18px;fill:none;stroke:#5ee23b;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
  .d-hero h1{margin:0;font-size:92px;line-height:.94;font-weight:800;font-style:italic;letter-spacing:-2px;color:#fff;text-shadow:0 6px 30px rgba(0,0,0,.35)}
  .d-hero h1 span{color:#4fe02a}
  .d-hero__sub{margin:18px 0 0;font-size:30px;font-weight:600;color:#fff;letter-spacing:-.3px}
  .d-hero__call{margin-top:34px;width:470px;display:flex;flex-direction:column;align-items:center;padding:16px 20px 18px;border-radius:18px;background:linear-gradient(#2fa3f7,#1677d6);color:#fff;text-decoration:none;box-shadow:0 18px 40px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.3);transition:transform .2s ease}
  .d-hero__call:hover{transform:translateY(-2px)}
  .d-hero__call-top{font-size:19px;font-weight:800}
  .d-hero__call-num{display:flex;align-items:center;gap:12px;font-size:42px;font-weight:800;line-height:1.1;letter-spacing:.5px}
  .d-hero__call-num svg{width:46px;height:46px;overflow:visible}

  /* Reviews bar (overlaps hero) */
  .d-reviews{position:relative;z-index:3;margin-top:-64px;padding:0 24px;background:linear-gradient(transparent 64px,#fff 64px);font-family:var(--font)}
  .d-reviews__in{display:grid;grid-template-columns:1fr 1fr 300px;background:#fff;border-radius:22px;border:1px solid #e3e9f3;box-shadow:0 24px 60px rgba(10,31,77,.18);overflow:hidden}
  .d-rev{display:flex;align-items:center;gap:22px;padding:26px 30px;border-right:1px solid #edf1f7}
  .d-rev__tp{width:auto;height:44px;border-radius:10px}
  .d-rev__g{width:48px;height:48px;border-radius:50%}
  .d-rev__stars{color:#f5b93a;font-size:22px;letter-spacing:2px;line-height:1}
  .d-rev__count{display:flex;align-items:baseline;gap:10px;margin-top:4px}
  .d-rev__count strong{font-size:38px;font-weight:800;color:var(--navy-ink);letter-spacing:-1px;line-height:1}
  .d-rev__count span{font-size:13px;font-weight:800;color:var(--muted);text-transform:uppercase;line-height:1.2;white-space:nowrap}
  .d-rev--note{gap:14px;border-right:0;background:linear-gradient(#f3fbef,#e8f8e1);font-size:15px;font-weight:700;color:#1f3a6e;line-height:1.35}
  .d-rev__badge{flex:none;width:48px;height:48px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(60,196,36,.25)}
  .d-rev__badge svg{width:26px;height:26px;fill:none;stroke:#2fae17;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

  /* Offer phone + providers side by side */
  .offer-prov{display:grid;grid-template-columns:440px minmax(0,1fr);gap:72px;align-items:center;padding:72px 24px 88px}
  .offer-phone{width:440px;-webkit-mask-image:linear-gradient(transparent 0,#000 7%);mask-image:linear-gradient(transparent 0,#000 7%)}
  .prov{background:none;padding:0;text-align:left;container-type:normal}
  .prov h2{font-size:46px;line-height:1.12;letter-spacing:-1.2px;color:var(--navy-ink);margin:0 0 34px}
  .prov h2 span{color:var(--green-2)}
  .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .lg{height:96px;padding:14px 20px;box-sizing:border-box;background:#fff;border:1px solid #e3e9f2;border-radius:16px;box-shadow:0 6px 18px rgba(27,58,138,.06);transition:transform .2s ease,box-shadow .2s ease}
  .lg:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(27,58,138,.12)}
  .grid .lg img,.grid .lg:nth-child(n) img{max-width:100%;max-height:100%;width:auto;height:auto;transform:none}
  .grid .lg:nth-child(3) img{max-width:86%}
  .grid .lg:nth-child(10) img{max-height:100%}
  .prov-bar{display:none}

  /* Steps */
  .steps{container-type:normal;padding:96px 24px 104px;background:#0b1f4d url(../images/hero-desktop-bg.jpg) center/cover no-repeat}
  .steps h2{font-size:48px;letter-spacing:-1.2px;color:#fff;margin:0 auto 60px;max-width:1200px}
  .steps h2 br{display:none}
  .steps h2 span{margin-left:.2em;background:none;color:#4fe02a;-webkit-text-fill-color:#4fe02a}
  .col{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr) 56px minmax(0,1fr);align-items:stretch}
  .step{width:auto;min-height:0;flex-direction:column;align-items:flex-start;gap:0;padding:40px 28px 34px;border:0;border-radius:22px;box-shadow:0 0 30px rgba(69,224,43,.25),0 24px 50px rgba(0,0,0,.3)}
  .nb{left:28px;top:-20px;width:40px;height:40px;font-size:18px;background:var(--green-2);border:4px solid #fff;box-shadow:0 6px 14px rgba(0,0,0,.25)}
  .ico{width:64px;height:64px;border-radius:18px}
  .ico svg{width:32px;height:32px}
  .tx{margin-top:22px;font-size:24px;font-weight:800;color:var(--navy-ink);letter-spacing:-.4px}
  .tx .sb{font-size:16px;font-weight:400;color:var(--muted);margin-top:8px;line-height:1.5}
  .dn,.step+.dn{align-self:center;justify-self:center;margin:0;width:44px;height:44px;border:1px solid rgba(79,224,42,.5);background:rgba(79,224,42,.16);box-shadow:none;transform:rotate(-90deg)}
  .dn svg{width:22px;height:22px;stroke:#5ee23b;stroke-width:2.6}
  .cta3{grid-column:1/-1;justify-self:center;width:520px;margin:56px 0 0;padding:18px 28px;gap:14px}
  .ph2{width:38px;height:38px}
  .ct__main{font-size:24px}
  .ct__sub{font-size:15px;margin-top:3px;letter-spacing:0}

  /* Value boxes */
  .boxes{container-type:normal;padding:96px 24px 100px}
  .bt{font-size:40px;font-weight:800;color:var(--navy-ink);letter-spacing:-1px;margin:0 0 52px}
  .bt::after{width:64px;height:5px;margin-top:16px}
  .box-grid{max-width:1200px;margin:0 auto;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:24px}
  .bx{padding:34px 26px 32px;border-width:1px;border-radius:20px;box-shadow:0 12px 32px rgba(27,58,138,.09);transition:transform .2s ease,box-shadow .2s ease}
  .bx:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(27,58,138,.14)}
  .bx::before{height:5px}
  .bi{width:56px;height:56px;border-radius:16px;margin-bottom:22px}
  .bi svg{width:28px;height:28px}
  .bx h3{font-size:20px;line-height:1.25;margin-bottom:10px}
  .bx p{font-size:15.5px;line-height:1.6}
  @supports (grid-template-rows:subgrid){.box-grid{grid-template-rows:repeat(3,auto)}.bx:nth-child(n+3){margin-top:0}}

  /* FAQ */
  .faq{container-type:normal;padding:96px 24px 104px;background:#f2f6fc}
  .faq h2{font-size:48px;letter-spacing:-1.2px;margin-bottom:40px}
  .fl{max-width:860px;margin:0 auto;gap:14px}
  .fq{border-width:1px;border-radius:18px;box-shadow:0 10px 28px rgba(27,58,138,.07)}
  .fq[open]{box-shadow:0 0 26px rgba(69,224,43,.18),0 10px 28px rgba(27,58,138,.07)}
  .fq summary{padding:24px 26px;gap:16px}
  .q,.m1{font-size:19px}
  .cv{width:38px;height:38px}
  .cv svg{width:20px;height:20px}
  .a{padding:0 26px 24px}
  .a p{font-size:16.5px;padding-top:16px;border-top-width:1px;line-height:1.6}
  .fq.more{padding:26px}
  .mrow{gap:16px}
  .mi{width:56px;height:56px;border-radius:16px}
  .mi svg{width:28px;height:28px}
  .m2{font-size:15px}
  .mt{gap:4px}
  .mbtn{max-width:420px;margin:20px 0 0 72px;padding:16px 24px;font-size:17px;gap:10px}
  .mbtn svg{width:22px;height:22px}

  /* Footer */
  .site-footer{text-align:left}
  .site-footer__in{flex-direction:row;justify-content:space-between;padding:48px 24px 40px}
  .site-footer__brand{align-items:flex-start}
  .site-footer__brand .brand__name{font-size:26px}
  .site-footer__brand .brand__swoosh{width:116px;height:11px}
  .site-footer__brand p{font-size:15px}
  .site-footer__call{font-size:20px;padding:14px 26px}
  .site-footer__legal{padding:18px 24px 24px;display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:14px;border-top-color:#ffffff1a}
  .site-footer__legal nav{order:2;margin:0;gap:24px;flex:none}
  .site-footer__legal p{max-width:760px}
}

/* Between 960 and 1180px: tighten the biggest elements */
@media (min-width:960px) and (max-width:1180px){
  .tagline__green,.tagline__bar{display:none}
  .d-hero h1{font-size:76px}
  .d-hero__call{width:420px}
  .d-hero__call-num{font-size:36px}
  .d-reviews__in{grid-template-columns:1fr 1fr}
  .d-rev--note{display:none}
  .offer-prov{grid-template-columns:400px minmax(0,1fr);gap:48px}
  .offer-phone{width:400px}
  .prov h2{font-size:36px}
  .box-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}
  @supports (grid-template-rows:subgrid){.box-grid{grid-template-rows:repeat(6,auto);row-gap:0}.bx:nth-child(n+3){margin-top:24px}}
}

/* Very wide screens: show more of the speedometer above the family */
@media (min-width:1600px){
  .d-hero__photo{width:940px;object-position:right 26%}
}
