:root{
  --ink:#17212e;
  --paper:#ffffff;
  --band:#f1f5f8;
  --band-2:#e6edf3;
  --blue:#1360d8;
  --blue-dark:#0d4aa8;
  --blue-soft:#e8f0fd;
  --sun:#ffc82c;
  --green:#12855a;
  --red:#d33a2c;
  --mist:#5d6d7c;
  --line:#dae2e9;
  --f:"Figtree",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --pad:clamp(18px,4.5vw,60px);
  --maxw:1240px;
  --r:10px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
p{margin:0}
h1,h2,h3,h4{margin:0;font-weight:800;line-height:1.08;letter-spacing:-.021em}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--pad)}
.kicker{font-weight:800;font-size:13.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--blue)}
.h2{font-size:clamp(1.7rem,3.7vw,2.55rem)}
.sub{color:var(--mist);margin-top:.7rem;max-width:56ch}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.nowrap{white-space:nowrap}

/* buttons — chunky and friendly */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--f);
  font-weight:800;font-size:16.5px;padding:.95rem 1.5rem;border-radius:8px;border:2px solid transparent;
  text-decoration:none;cursor:pointer;transition:background .16s,color .16s,border-color .16s,transform .16s}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-dark);transform:translateY(-1px)}
.btn-out{border-color:var(--ink);color:var(--ink)}
.btn-out:hover{background:var(--ink);color:#fff}
.btn-lg{font-size:17.5px;padding:1.05rem 1.7rem}
.btn-full{width:100%}

/* check list */
.checks{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.checks li{display:grid;grid-template-columns:auto 1fr;gap:.6rem;align-items:start;font-size:16px}
.checks svg{width:19px;height:19px;margin-top:.22em;flex:0 0 auto;fill:none;stroke:var(--green);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------- promo bar ---------- */
.promo{background:var(--blue);color:#fff;font-size:14.5px;font-weight:600}
.promo-in{display:flex;flex-wrap:wrap;gap:.3rem 1.5rem;align-items:center;justify-content:space-between;padding:.6rem 0}
.promo ul{list-style:none;display:flex;flex-wrap:wrap;gap:.3rem 1.4rem;margin:0;padding:0}
.promo li{display:flex;align-items:center;gap:.45rem}
.promo li::before{content:"✓";font-weight:800}
.promo-in > span{font-weight:800;white-space:nowrap}

/* ---------- header ---------- */
.head{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.head-in{display:flex;align-items:center;gap:1.4rem;height:72px}
.brand{display:flex;align-items:center;margin-right:auto;text-decoration:none}
.brand img{height:42px;width:auto}
.nav{display:flex;gap:1.3rem}
.nav a{text-decoration:none;font-weight:600;font-size:15.5px;color:var(--ink);white-space:nowrap;
  padding:.2rem 0;border-bottom:2px solid transparent;transition:border-color .18s,color .18s}
.nav a:hover{border-bottom-color:var(--blue);color:var(--blue)}
.head-mail{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;
  font-weight:700;font-size:15.5px;color:var(--ink);white-space:nowrap;
  border:1px solid var(--line);border-radius:8px;padding:.56rem .85rem;
  transition:border-color .18s ease,color .18s ease}
.head-mail:hover{border-color:var(--blue);color:var(--blue)}
.head-mail-ic{display:grid;place-items:center;flex:0 0 auto}
.head-mail-ic svg{width:19px;height:19px;fill:none;stroke:var(--blue);stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}
.head-tel{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;background:var(--blue);color:#fff;
  font-weight:800;font-size:16px;padding:.62rem 1.05rem;border-radius:8px;white-space:nowrap}
.head-tel:hover{background:var(--blue-dark)}
.menu-btn{display:none;background:none;border:0;padding:8px;cursor:pointer}
.menu-btn span{display:block;width:23px;height:2.5px;background:var(--ink);margin:4.5px 0;border-radius:2px;transition:.22s}
.menu-btn[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-btn[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- hero ---------- */
.hero{padding:clamp(30px,4.4vw,58px) 0 clamp(34px,4.4vw,58px)}
.hero-in{display:grid;grid-template-columns:1.06fr .94fr;gap:clamp(26px,4vw,56px);align-items:center}
.pill{display:inline-flex;align-items:center;gap:.5rem;background:var(--blue-soft);color:var(--blue-dark);
  font-weight:800;font-size:14px;padding:.42rem .8rem;border-radius:999px}
.hero h1{font-size:clamp(2.05rem,5vw,3.4rem);margin:.9rem 0 0}
.hero-lead{margin-top:.95rem;color:#3d4c5a;font-size:1.06rem;max-width:48ch}
.price-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem .7rem;margin:1.5rem 0 .35rem}
.price-line .from{font-weight:600;color:var(--mist);font-size:16px}
.price-line .amt{font-weight:800;font-size:clamp(2rem,4.6vw,2.9rem);letter-spacing:-.03em;line-height:1}
.price-note{color:var(--mist);font-size:15px}
.hero-cta{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.6rem 0 1.4rem}
.hero-shot{position:relative}
.hero-shot img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:center;border-radius:var(--r)}
.tag{
  position:absolute;left:-8px;bottom:22px;background:var(--sun);color:#3a2c00;border-radius:8px;
  padding:.8rem 1.15rem .85rem;transform:rotate(-3.2deg);box-shadow:0 12px 26px rgba(20,30,40,.24);text-align:left
}
.tag b{display:block;font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;opacity:.9}
.tag strong{display:block;font-size:1.85rem;font-weight:800;letter-spacing:-.025em;line-height:1.05}
.tag span{display:block;font-size:13px;font-weight:700;opacity:.85}

/* ---------- zero row ---------- */
.zero{background:var(--band);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.zero-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:var(--line)}
.zero-cell{background:var(--band);padding:1.15rem clamp(12px,1.8vw,22px)}
.zero-cell b{display:block;font-size:1.75rem;font-weight:800;letter-spacing:-.03em;line-height:1}
.zero-cell span{display:block;font-size:15px;color:var(--mist);margin-top:.2rem}

/* ---------- packages ---------- */
.pk{padding:clamp(44px,5.6vw,76px) 0}
.pk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(252px,1fr));gap:clamp(14px,1.8vw,22px);margin-top:clamp(26px,3.4vw,40px);align-items:stretch}
.card{border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:1.4rem;display:flex;flex-direction:column;gap:.9rem;height:100%}
.card.pop{border:2px solid var(--blue);box-shadow:0 12px 34px rgba(19,96,216,.13)}
.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.6rem}
.card h3{font-size:1.2rem}
.card .who{color:var(--mist);font-size:14.5px;margin-top:.15rem}
.flag{background:var(--blue);color:#fff;font-size:12px;font-weight:800;padding:.28rem .55rem;border-radius:6px;white-space:nowrap}
.card .p{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem}
.card .p b{font-size:clamp(1.4rem,2.5vw,1.85rem);font-weight:800;letter-spacing:-.03em;line-height:1.1}
.card .p .vat{font-size:.5em;font-weight:600;letter-spacing:0;color:var(--mist);white-space:nowrap}
.card .p span{color:var(--mist);font-size:14.5px;font-weight:600}
.thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(50px,1fr));gap:.4rem}
.thumbs img{width:100%;height:auto;aspect-ratio:1;border-radius:8px;border:1px solid var(--line);background:#fff;object-fit:contain}
.thumb-shot{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in;
  border-radius:8px;transition:transform .16s ease}
.thumb-shot img{display:block;transition:border-color .16s ease}
.thumb-shot:hover{transform:translateY(-2px)}
.thumb-shot:hover img{border-color:var(--blue)}
.card .checks{margin-top:.2rem}
.card .checks li{font-size:15.3px}
.card .btn{margin-top:auto}
.pk-note{margin-top:1.2rem;color:var(--mist);font-size:14.5px;max-width:70ch}

/* ---------- calculator (signature) ---------- */
.calc{background:var(--band);padding:clamp(44px,5.6vw,76px) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.calc-in{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(26px,4vw,56px);align-items:start}
.calc-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,2.4vw,28px)}
.ctrl{display:grid;gap:.35rem;margin-bottom:1.15rem}
.ctrl label{font-weight:700;font-size:15px}
.ctrl .hint{color:var(--mist);font-size:13.5px}
.ctrl input[type=number]{width:100%;max-width:190px;padding:.6rem .7rem;border:1px solid var(--line);
  border-radius:7px;font-family:var(--f);font-size:16.5px;font-weight:700;color:var(--ink)}
.ctrl input[type=range]{width:100%;accent-color:var(--blue);height:26px}
.yrs{font-weight:800;color:var(--blue)}
.range-ends{display:flex;justify-content:space-between;color:var(--mist);font-size:13px;margin-top:-.3rem}
.bars{display:grid;gap:.9rem;margin:1.4rem 0 1.1rem;border-top:1px solid var(--line);padding-top:1.3rem}
.bar-row{display:grid;gap:.35rem}
.bar-top{display:flex;justify-content:space-between;gap:1rem;font-weight:700;font-size:15.5px}
.bar-top .v{font-weight:800;font-variant-numeric:tabular-nums}
.track{background:var(--band-2);border-radius:6px;height:26px;overflow:hidden}
.fill{height:100%;border-radius:6px;width:0;transition:width .35s ease}
.fill.sub{background:var(--red)}
.fill.us{background:var(--blue)}
.verdict{display:block;background:var(--blue-soft);border-radius:8px;padding:.95rem 1.1rem;font-weight:700;font-size:16.5px}
.verdict small{display:block;font-weight:500;color:#3d4c5a;font-size:14.5px;margin-top:.25rem}
.calc-fine{margin-top:1rem;color:var(--mist);font-size:13.5px}

/* ---------- pay ---------- */
.pay{padding:clamp(44px,5.6vw,76px) 0}
.pay-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(14px,1.8vw,22px);margin-top:clamp(24px,3vw,36px)}
.pay-cell{border:1px solid var(--line);border-radius:var(--r);padding:1.3rem}
.pay-cell h3{font-size:1.1rem;margin-bottom:.35rem}
.pay-cell p{color:var(--mist);font-size:15.3px}
.pay-cell .ic{width:40px;height:40px;border-radius:8px;background:var(--blue-soft);display:grid;place-items:center;margin-bottom:.8rem}
.pay-cell .ic svg{width:20px;height:20px;fill:none;stroke:var(--blue-dark);stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}

/* ---------- devices ---------- */
.dev{background:var(--band);padding:clamp(44px,5.6vw,76px) 0;border-top:1px solid var(--line)}
.dev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(288px,1fr));
  gap:clamp(14px,1.8vw,22px);margin-top:clamp(26px,3.4vw,40px)}
.dev-card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;
  display:flex;flex-direction:column}
.dev-icon{width:56px;height:56px;margin-bottom:.9rem;object-fit:contain}
.dev-card h3{font-size:1.14rem;line-height:1.25}
.dev-model{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;letter-spacing:.04em;
  color:var(--blue);margin-top:.3rem}
.dev-text{color:var(--mist);font-size:15.2px;margin-top:.7rem}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;margin:1rem 0 0;padding:0}
.chips li{border:1px solid var(--line);border-radius:999px;padding:.24rem .62rem;font-size:12.5px;
  font-weight:600;color:var(--ink)}
.dev-note{margin-top:1.3rem;color:var(--mist);font-size:14.5px;max-width:72ch}

/* recommended add-on: dark band so it stands out from the white device grid */
.panel-promo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  gap:clamp(22px,3.4vw,52px);align-items:center;margin-top:clamp(30px,4vw,48px);
  background:var(--ink);color:#fff;border-radius:var(--r);
  padding:clamp(24px,3.4vw,46px);overflow:hidden}
.panel-badge{display:inline-block;background:var(--blue);color:#fff;font-size:12.5px;
  font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:.34rem .7rem;border-radius:999px}
.panel-promo h3{color:#fff;font-size:clamp(1.35rem,2.6vw,1.95rem);margin:1rem 0 .8rem;line-height:1.15}
.panel-promo p{color:rgba(255,255,255,.82);font-size:16px;max-width:52ch}
.panel-points{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.55rem}
.panel-points li{display:grid;grid-template-columns:auto 1fr;gap:.6rem;align-items:start;
  font-size:15.4px;color:rgba(255,255,255,.92)}
.panel-points svg{width:18px;height:18px;margin-top:.24em;fill:none;stroke:var(--blue);
  stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.panel-promo .btn{margin-top:1.6rem}
.panel-shot{padding:0;border:0;background:none;cursor:zoom-in;border-radius:10px;
  transition:transform .2s ease}
.panel-shot:hover{transform:translateY(-3px)}
.panel-shot img{width:100%;height:auto;border-radius:10px;display:block;
  box-shadow:0 24px 60px rgba(0,0,0,.45)}
@media (max-width:860px){
  .panel-promo{grid-template-columns:1fr}
  .panel-promo p{max-width:none}
}
@media (prefers-reduced-motion:reduce){.panel-shot{transition:none}}

/* product photo as a clickable thumbnail */
.dev-shot{display:block;width:100%;aspect-ratio:4/3;margin:0 0 1rem;padding:0;cursor:zoom-in;
  background:var(--band);border:1px solid var(--line);border-radius:8px;overflow:hidden;
  transition:border-color .18s ease,transform .18s ease}
.dev-shot:hover{border-color:var(--blue);transform:translateY(-2px)}
.dev-shot img{width:100%;height:100%;object-fit:contain;padding:6%}
.dev-card.is-feature .dev-shot{width:clamp(150px,16vw,206px);margin:0;flex:0 0 auto}

/* lightbox */
.lightbox{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:clamp(16px,4vw,48px);
  background:rgba(8,9,11,.92);backdrop-filter:blur(4px)}
.lightbox[hidden]{display:none}
.lightbox figure{margin:0;max-width:min(1060px,94vw);display:grid;gap:clamp(16px,2.4vw,32px);
  align-items:center;text-align:center}
.lightbox img{max-width:100%;max-height:72vh;object-fit:contain;background:#fff;border-radius:10px}
.lightbox figcaption{color:#fff}
.lightbox figcaption h3{font-size:clamp(1.15rem,2.2vw,1.5rem);color:#fff;margin:0}
.lightbox figcaption p{margin-top:.7rem;color:rgba(255,255,255,.82);font-size:15.5px;
  line-height:1.55;max-width:56ch;margin-left:auto;margin-right:auto}
.lightbox figcaption p:empty{display:none}
@media (min-width:900px){
  .lightbox figure{grid-template-columns:minmax(0,1.25fr) minmax(280px,.95fr);text-align:left}
  .lightbox img{max-height:76vh}
  .lightbox figcaption p{margin-left:0;margin-right:0}
}
.lightbox-close{position:absolute;top:clamp(10px,2vw,22px);right:clamp(10px,2vw,22px);
  width:46px;height:46px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;
  font-size:30px;line-height:1;cursor:pointer;transition:background .18s ease}
.lightbox-close:hover{background:rgba(255,255,255,.28)}
@media (prefers-reduced-motion:reduce){.dev-shot{transition:none}}

/* the notification card gets the wide slot and a full-size graphic */
.dev-card.is-feature{grid-column:span 2;flex-direction:row;align-items:center;
  gap:clamp(18px,2.6vw,34px)}
.dev-card.is-feature .dev-icon{flex:0 0 auto;width:clamp(150px,16vw,206px);height:auto;margin:0}
.dev-card.is-feature .dev-body{flex:1 1 auto}
.dev-card.is-feature h3{font-size:1.3rem}
@media (max-width:760px){
  .dev-card.is-feature{grid-column:span 1;flex-direction:column;align-items:flex-start}
  .dev-card.is-feature .dev-icon{width:170px;margin-bottom:.9rem}
}

/* ---------- steps ---------- */
.steps{padding:clamp(44px,5.6vw,76px) 0}
.step-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(14px,1.8vw,24px);margin-top:clamp(24px,3vw,36px)}
.step{background:var(--band);border-radius:var(--r);padding:1.4rem}
.step b.n{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--blue);color:#fff;font-size:16px;margin-bottom:.8rem}
.step h3{font-size:1.12rem;margin-bottom:.35rem}
.step p{color:var(--mist);font-size:15.3px}

/* ---------- reviews / answer promise ---------- */
.rev{background:var(--band);padding:clamp(44px,5.6vw,76px) 0;border-top:1px solid var(--line)}
.rev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:clamp(14px,1.8vw,22px);margin-top:clamp(22px,2.8vw,34px)}
.quote{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.3rem}
.stars{display:flex;gap:2px;margin-bottom:.6rem}
.stars svg{width:17px;height:17px;fill:var(--sun)}
.quote p{font-size:15.6px}
.quote cite{display:block;margin-top:.7rem;font-style:normal;font-weight:700;font-size:14.5px;color:var(--mist)}
.answer-box{display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:center;margin-top:clamp(22px,2.8vw,32px);
  background:var(--ink);color:#fff;border-radius:var(--r);padding:1.3rem clamp(16px,2.2vw,26px)}
.answer-box h3{font-size:1.2rem}
.answer-box p{color:#c2cdd8;font-size:15.3px;margin-top:.2rem}
.answer-box .nums{display:flex;flex-wrap:wrap;gap:.5rem}
.answer-box .nums a{background:#fff;color:var(--ink);text-decoration:none;font-weight:800;padding:.6rem .95rem;border-radius:8px;white-space:nowrap}
.answer-box .num-mail{flex-basis:100%;text-align:center}
.answer-box .ic{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.14);display:grid;place-items:center}
.answer-box .ic svg{width:22px;height:22px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round}

/* ---------- faq ---------- */
.faq{padding:clamp(44px,5.6vw,76px) 0}
.faq-list{max-width:900px;margin-top:clamp(20px,2.6vw,30px);border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:1.05rem 2.8rem 1.05rem 0;position:relative;font-weight:700;font-size:1.05rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:.5rem;top:1.35rem;width:10px;height:10px;
  border-right:2.5px solid var(--blue);border-bottom:2.5px solid var(--blue);transform:rotate(45deg);transition:transform .22s}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq .a{padding:0 2.5rem 1.2rem 0;color:#3d4c5a;max-width:66ch}

/* ---------- contact ---------- */
.contact{background:var(--band);padding:clamp(44px,5.6vw,76px) 0;border-top:1px solid var(--line)}
.contact-in{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(26px,4vw,60px)}
.tel-block{margin-top:1.6rem;display:grid;gap:.7rem;max-width:400px}
/* contact section with the form switched off — full-width band, calling is the action */
.contact-head{text-align:center;max-width:62ch;margin:0 auto}
.contact-head .sub{margin-left:auto;margin-right:auto}
.contact-head .h2::after{content:"";display:block;width:64px;height:4px;border-radius:2px;
  background:var(--blue);margin:1.1rem auto 0}
.contact-actions{display:grid;gap:clamp(14px,1.8vw,22px);margin-top:clamp(28px,3.6vw,44px)}
.act-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:clamp(14px,1.8vw,22px)}
.act-sep{font-size:14px;font-weight:600;color:var(--mist);letter-spacing:.04em;
  text-transform:uppercase;margin:.5rem 0 -.2rem}

.act{display:flex;flex-direction:column;align-items:center;gap:.3rem;text-decoration:none;
  background:#fff;border:1px solid var(--line);border-radius:var(--r);
  padding:clamp(22px,2.8vw,34px) 1.2rem;transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease}
.act:hover{border-color:var(--blue);transform:translateY(-3px);box-shadow:0 14px 34px rgba(16,17,20,.1)}
.act-ic{width:52px;height:52px;border-radius:50%;background:var(--blue-soft);display:grid;
  place-items:center;margin-bottom:.55rem}
.act-ic svg{width:24px;height:24px;fill:none;stroke:var(--blue);stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}
.act-lbl{font-size:14px;font-weight:600;color:var(--mist);letter-spacing:.04em;text-transform:uppercase}
.act-val{font-size:1.65rem;font-weight:800;letter-spacing:-.02em;color:var(--ink)}
.act-val-mail{font-size:1.12rem;word-break:break-word}
/* e-mail card — the primary channel */
.act-primary{background:var(--blue);border-color:var(--blue);color:#fff;
  padding:clamp(28px,3.6vw,46px) clamp(18px,2.4vw,32px)}
.act-primary:hover{background:var(--blue-dark);border-color:var(--blue-dark);
  box-shadow:0 18px 44px rgba(215,29,46,.28)}
.act-primary .act-ic{background:rgba(255,255,255,.2);width:60px;height:60px}
.act-primary .act-ic svg{stroke:#fff;width:27px;height:27px}
.act-primary .act-lbl{color:rgba(255,255,255,.88)}
.act-primary .act-val{color:#fff;font-size:clamp(1.35rem,3.6vw,2.3rem)}
.act-hint{margin-top:.75rem;max-width:52ch;font-size:15.3px;font-weight:500;line-height:1.5;
  color:rgba(255,255,255,.9)}
.act-phone .act-val{font-size:1.5rem}
@media (prefers-reduced-motion:reduce){.act{transition:none}}
.tel-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;text-decoration:none;background:#fff;
  border:1px solid var(--line);border-radius:8px;padding:.9rem 1.1rem;transition:border-color .18s}
.tel-card:hover{border-color:var(--blue)}
.tel-card .who{color:var(--mist);font-size:14px;font-weight:600}
.tel-card .num{font-weight:800;font-size:1.3rem;letter-spacing:-.02em}
.mail{margin-top:1rem;color:var(--mist);font-size:15.3px}
.mail a{color:var(--ink);font-weight:700;text-decoration:none;border-bottom:2px solid var(--sun)}
form{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:clamp(18px,2.6vw,32px)}
.field{margin-bottom:.9rem}
.field label{display:block;font-weight:700;font-size:14.5px;margin-bottom:.35rem}
.field input,.field textarea{width:100%;padding:.78rem .85rem;border:1px solid var(--line);border-radius:7px;
  font-family:var(--f);font-size:16.5px;color:var(--ink);background:#fff}
.field input:focus,.field textarea:focus{border-color:var(--blue);outline:none}
.field textarea{min-height:104px;resize:vertical}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
.consent{display:flex;gap:.6rem;align-items:flex-start;color:var(--mist);font-size:14.3px;margin:.2rem 0 1.1rem}
.consent input{margin-top:.28rem;accent-color:var(--blue)}
.form-msg{margin-top:.9rem;color:var(--green);font-weight:800}
.form-msg[hidden]{display:none}
.form-fine{margin-top:.8rem;color:var(--mist);font-size:13.5px}
/* honeypot — off-screen rather than display:none, which some bots skip */
.hp{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.btn[aria-busy="true"]{opacity:.65;pointer-events:none}
.form-msg.is-error{color:#ff8a8a}

/* ---------- footer ---------- */
.foot{background:var(--ink);color:#b9c5d1;padding:clamp(36px,4.6vw,58px) 0 1.8rem}
.foot-in{display:flex;flex-wrap:wrap;gap:2rem;justify-content:space-between;align-items:flex-start}
.foot img{height:50px;width:auto;margin-bottom:.9rem}
.foot p{max-width:34ch;font-size:15px}
.foot-links{display:grid;gap:.45rem;font-size:15px}
.foot-links a{text-decoration:none}
.foot-mail{font-weight:700;color:#fff}
.foot-links a:hover{color:#fff}
.foot-bot{margin-top:2.4rem;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.16);display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;font-size:13px}

/* ---------- reveal ---------- */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}
.reveal.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1040px){
  .nav{position:absolute;top:72px;left:0;right:0;flex-direction:column;gap:0;display:none;background:#fff;
    border-bottom:1px solid var(--line);padding:.3rem var(--pad) 1rem}
  .nav.is-open{display:flex}
  .nav a{padding:.8rem 0;border-bottom:1px solid var(--line)}
  .menu-btn{display:block;order:3}
  .head-tel .lbl{display:none}
  .head-mail{padding:.5rem;border-radius:50%}
  .head-mail-txt{display:none}
  .hero-in,.calc-in,.contact-in{grid-template-columns:1fr}
  .pk-grid,.pay-grid,.step-grid,.rev-grid{grid-template-columns:1fr 1fr}
  .zero-in{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
  .pk-grid,.pay-grid,.step-grid,.rev-grid,.kit-grid{grid-template-columns:1fr}
  .answer-box{grid-template-columns:1fr;text-align:left}
  .row2{grid-template-columns:1fr}
  .promo-in{justify-content:center;gap:.25rem 1.1rem}
  .promo ul{justify-content:center;gap:.25rem 1.1rem}
}
@media (max-width:540px){
  body{font-size:16px}
  .head-in{height:64px}
  .nav{top:64px}
  .brand img{height:34px}
  .hero-cta{flex-direction:column;align-items:stretch}
  .zero-in{grid-template-columns:1fr}
  .promo{font-size:13.5px}
  .promo-in{padding:.55rem 0;gap:.9rem}
  .promo-in > span{display:none}
  .promo ul li:nth-child(2){display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}


/* ---------- cookie consent ---------- */
.cc{position:fixed;left:0;right:0;bottom:0;z-index:180;padding:clamp(12px,2vw,20px);
  background:rgba(16,17,20,.55);backdrop-filter:blur(3px)}
.cc[hidden]{display:none}
.cc-box{max-width:var(--maxw);margin:0 auto;background:#fff;border:1px solid var(--line);
  border-radius:var(--r);box-shadow:0 26px 60px rgba(16,17,20,.3);
  padding:clamp(18px,2.4vw,28px);display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(16px,2.4vw,32px);align-items:center}
.cc-copy h2{font-size:1.12rem;margin-bottom:.45rem}
.cc-copy p{color:var(--mist);font-size:15.2px;max-width:70ch}
.cc-link{display:inline-block;margin-top:.6rem;font-size:14.5px;font-weight:700;color:var(--ink);
  text-decoration:none;border-bottom:2px solid var(--blue)}
.cc-actions{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end}
.cc-actions .btn{padding:.78rem 1.25rem;font-size:15.5px}
@media (max-width:760px){
  .cc-box{grid-template-columns:1fr}
  .cc-actions{justify-content:stretch}
  .cc-actions .btn{flex:1 1 auto;justify-content:center}
}

/* ---------- document page (privacy policy) ---------- */
.doc{padding:clamp(34px,5vw,72px) 0 clamp(44px,6vw,88px)}
.doc-in{max-width:78ch}
.doc h1{margin:.6rem 0 .5rem}
.doc-date{color:var(--mist);font-size:14.5px}
.doc-lead{margin-top:1.4rem;font-size:1.06rem;color:#3a4047}
.doc-sec{margin-top:clamp(26px,3.2vw,40px)}
.doc-sec h2{font-size:1.2rem;margin-bottom:.7rem}
.doc-sec p{margin-bottom:.85rem;color:#3a4047;font-size:16px;line-height:1.65}
.doc-back{margin-top:clamp(32px,4vw,52px)}
.doc-back a{font-weight:700;color:var(--blue);text-decoration:none}
.doc-back a:hover{text-decoration:underline}
.foot-bot a{color:inherit}
.foot-bot a:hover{color:#fff}
