/* ═══════════════════════════════════════════════════════════
   ДЕКОРАДО · Homepage „Инструмент"
   Signal red on graphite · Golos Text
   ═══════════════════════════════════════════════════════════ */

:root {
  --void:#0B0D10; --steel:#14181D; --slate:#1D242B; --graphite:#2A333C;
  --paper:#F1F2F0; --card:#FFFFFF; --line:#D8DAD6; --line-2:#E7E8E5;
  --ink:#0B0D10; --ink-2:#4A535C; --ink-3:#818A92;
  --signal:#D81F26; --signal-d:#A9161C; --signal-l:#F04148;
  --amber:#9C6206; --amber-l:#F5A623; --ok:#1E8A5A;
  --disp:"Golos Text",system-ui,sans-serif;
  --sans:"Golos Text",system-ui,sans-serif;
  --mark:"PT Serif",Georgia,serif;
  --hatch:repeating-linear-gradient(45deg,#D81F26 0 12px,#0B0D10 12px 24px);
  --plate:repeating-linear-gradient(45deg,#E7E8E5 0 10px,#DDDEDA 10px 20px);
  --plate-d:repeating-linear-gradient(45deg,#171C21 0 10px,#12161A 10px 20px);
  --pad:40px;          /* horizontal gutter, desktop */
  --maxw:1440px;
}

* { box-sizing:border-box; }

html, body {
  margin:0; padding:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  color-scheme:light;
  -webkit-font-smoothing:antialiased;
}

body { overflow-x:hidden; }

img { max-width:100%; display:block; }

a { color:var(--signal); text-decoration:none; }
a:hover { color:var(--signal-d); }

h1, h2, h3 { margin:0; }

.accent-l { color:var(--signal-l); }

/* ───────── shared buttons ───────── */
.btn {
  display:grid; place-items:center;
  height:46px; padding:0 22px;
  font-family:var(--sans); font-weight:700; font-size:14.5px;
  white-space:nowrap; border:none; cursor:pointer;
  text-align:center;
}
.btn--lg { height:56px; padding:0 28px; font-size:16.5px; }
.btn--signal { background:var(--signal); color:#fff; }
.btn--signal:hover { background:var(--signal-d); color:#fff; }
.btn--lg.btn--signal:hover { background:var(--signal-l); color:#fff; }
.btn--ghost {
  background:transparent; color:#fff;
  border:1.5px solid rgba(255,255,255,.4); font-weight:600;
}
.btn--ghost:hover { background:#fff; color:var(--void); }

/* ───────── shared eyebrow ───────── */
.eyebrow {
  display:flex; gap:14px; align-items:center;
  font-weight:700; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
}
.eyebrow__tick { width:26px; height:3px; background:var(--signal); flex:none; }
.eyebrow--signal { color:var(--signal); }
.eyebrow--light { color:rgba(255,255,255,.65); font-weight:600; font-size:12px; }
.eyebrow--light .eyebrow__tick { width:34px; height:3px; }

/* ───────── shared underline link ───────── */
.link-underline {
  font-weight:700; font-size:15px; color:var(--ink);
  border-bottom:2px solid var(--signal); padding-bottom:4px;
  align-self:flex-end; white-space:nowrap;
}
.link-underline:hover { color:var(--signal); }
.link-underline--light {
  color:#fff; font-weight:600;
  border-bottom-color:rgba(255,255,255,.4);
  padding-bottom:3px;
}
.link-underline--light:hover { color:#fff; border-bottom-color:#fff; }

/* ───────── shared plate / hatch ───────── */
.plate { background:var(--plate); }
.plate--dark { background:var(--plate-d); }

.badge {
  font-weight:700; font-size:9.5px; letter-spacing:.08em;
  background:var(--signal); color:#fff; padding:3px 6px; flex:none;
}

.tag--corner {
  position:absolute; left:0; bottom:0;
  background:var(--signal); color:#fff;
  font-weight:700; font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  padding:9px 14px;
}

/* ───────── generic section wrapper ───────── */
.section {
  max-width:var(--maxw); margin:0 auto;
  padding:88px var(--pad) 96px;
}
.section__head {
  display:flex; justify-content:space-between; align-items:flex-end;
  gap:24px; flex-wrap:wrap; margin-bottom:40px;
}
.section__headtext { display:grid; gap:16px; }
.section__title {
  font-family:var(--disp); font-weight:800; font-size:48px;
  line-height:1.02; letter-spacing:-.03em; color:var(--ink);
}
.section__title--sm { font-size:40px; line-height:1.04; }

/* ═════════ UTILITY BAR ═════════ */
.utility { background:var(--void); color:#fff; }
.utility__inner {
  max-width:var(--maxw); margin:0 auto;
  height:42px; padding:0 var(--pad);
  display:flex; align-items:center; justify-content:space-between; gap:20px;
}
.utility__contact {
  display:flex; gap:26px; align-items:center;
  font-weight:500; font-size:12.5px; letter-spacing:.02em;
}
.utility__contact a { color:#fff; }
.utility__contact span { color:rgba(255,255,255,.5); }
.utility__lang {
  display:flex; gap:7px; align-items:center;
  font-weight:600; font-size:12px; letter-spacing:.06em; text-transform:uppercase;
}
.utility__sep { color:rgba(255,255,255,.35); }
.utility__lang a { color:rgba(255,255,255,.55); }
.utility__lang a:hover { color:#fff; }

/* ═════════ HEADER ═════════ */
.header { background:var(--card); border-bottom:1px solid var(--line); }
.header__inner {
  max-width:var(--maxw); margin:0 auto;
  padding:0 var(--pad); height:80px;
  display:flex; align-items:center; justify-content:space-between; gap:32px;
}
.brand { display:flex; align-items:center; gap:12px; flex:none; }
.brand__logo { width:54px; height:54px; object-fit:contain; flex:none; }
.brand__text { display:grid; gap:3px; }
.brand__name {
  font-family:var(--mark); font-weight:700; font-size:24px;
  line-height:1; letter-spacing:.02em; color:var(--signal);
}
.brand__tag {
  font-weight:600; font-size:9.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--ink-3);
}

.nav {
  display:flex; gap:2px; align-items:center;
  white-space:nowrap; height:80px;
}
.nav a {
  color:var(--ink); font-weight:600; font-size:14.5px;
  padding:0 16px; height:100%;
  display:flex; gap:8px; align-items:center; justify-content:center;
  border-bottom:3px solid transparent;
}
.nav a:hover { border-bottom-color:var(--signal); }
.nav__ai .badge { font-size:9.5px; }

.header__actions { display:flex; align-items:center; gap:10px; flex:none; }
.iconbtn {
  width:46px; height:46px; flex:none;
  border:1px solid var(--line); background:var(--card);
  color:var(--ink-2); cursor:pointer;
  display:grid; place-items:center; position:relative;
}
.iconbtn:hover { border-color:var(--ink); color:var(--ink); }
.iconbtn--cart { color:var(--ink); }
.iconbtn__count {
  position:absolute; top:-7px; right:-7px;
  min-width:20px; height:20px; padding:0 5px;
  background:var(--signal); color:#fff;
  font-weight:700; font-size:11px;
  display:grid; place-items:center;
}
.iconbtn--menu { display:none; border-color:var(--void); background:var(--void); color:#fff; }

/* mobile nav drawer */
.mobilenav {
  display:grid; gap:2px;
  border-top:1px solid var(--line);
  padding:12px var(--pad) 18px;
  background:var(--card);
}
.mobilenav[hidden] { display:none; }
.mobilenav a {
  display:flex; align-items:center; gap:8px;
  padding:12px 4px; color:var(--ink);
  font-weight:600; font-size:16px;
  border-bottom:1px solid var(--line-2);
}
.mobilenav a.btn {
  justify-content:center; color:#fff; border-bottom:none; margin-top:10px;
}

/* ═════════ HERO ═════════ */
.hero { background:var(--void); color:#fff; position:relative; }
.hero__stripe { height:10px; background:var(--hatch); }
.hero__grid {
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:minmax(460px,1.15fr) minmax(400px,.85fr);
}
.hero__body {
  padding:80px 56px 72px var(--pad);
  display:grid; gap:28px; align-content:center;
}
.hero__title {
  font-family:var(--disp); font-weight:800; font-size:68px;
  line-height:1.0; letter-spacing:-.03em; text-wrap:pretty;
}
.hero__lead {
  margin:0; font-size:19px; line-height:1.6;
  color:rgba(255,255,255,.72); max-width:52ch; text-wrap:pretty;
}
.hero__cta { display:flex; gap:12px; flex-wrap:wrap; }
.hero__stats {
  display:grid; grid-template-columns:repeat(3,auto);
  justify-content:start; column-gap:56px;
  border-top:1px solid rgba(255,255,255,.15); padding-top:24px;
}
.stat { display:grid; gap:4px; }
.stat__num {
  font-family:var(--disp); font-weight:800; font-size:38px;
  line-height:1; letter-spacing:-.03em;
}
.stat__label { font-size:13.5px; color:rgba(255,255,255,.55); }

.hero__media {
  min-height:600px;
  display:grid; place-items:center; position:relative;
  border-left:1px solid rgba(255,255,255,.1);
}
.hero__media-caption {
  font-weight:600; font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.45); text-align:center; line-height:2; padding:0 24px;
}
.hero__img {
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
}

/* ═════════ CLIENTS ═════════ */
.clients { background:var(--card); border-bottom:1px solid var(--line); }
.clients__inner {
  max-width:var(--maxw); margin:0 auto;
  padding:26px var(--pad);
  display:flex; align-items:center; gap:36px; flex-wrap:wrap;
}
.clients__label {
  font-weight:700; font-size:11.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-3); flex:none;
}
.clients__list {
  display:flex; gap:34px; flex-wrap:wrap; align-items:center;
  font-weight:600; font-size:17px; color:var(--ink-2); letter-spacing:-.01em;
}

/* ═════════ PRODUCTS ═════════ */
.products {
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px;
}
.pcard {
  background:var(--card); border:1px solid var(--line);
  display:grid; color:var(--ink); align-content:start;
}
.pcard:hover { border-color:var(--ink); color:var(--ink); }
.pcard__media {
  aspect-ratio:4/3; display:grid; place-items:center;
  border-bottom:1px solid var(--line-2);
}
.pcard__media-label {
  font-weight:600; font-size:11px; letter-spacing:.09em; text-transform:uppercase;
  color:var(--ink-3);
}
.pcard__img {
  width:100%; height:100%;
  object-fit:contain; padding:16px; background:#fff;
}
.pcard__body { padding:22px; display:grid; gap:10px; }
.pcard__idx {
  font-weight:700; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-3);
}
.pcard__title {
  font-family:var(--disp); font-weight:700; font-size:21px;
  line-height:1.2; letter-spacing:-.02em;
}
.pcard__desc { font-size:14.5px; line-height:1.55; color:var(--ink-2); }
.pcard__price {
  font-weight:600; font-size:13px; color:var(--ink-3); letter-spacing:.02em;
  border-top:1px solid var(--line-2); padding-top:12px;
}
.pcard__price--signal { font-weight:700; color:var(--signal); }

/* ───────── AI flagship ───────── */
.flagship {
  margin-top:20px; background:var(--void); color:#fff;
  display:grid; grid-template-columns:minmax(320px,.95fr) minmax(360px,1.05fr);
}
.flagship__media {
  min-height:340px; display:grid; align-content:end;
  padding:24px; position:relative;
  border-right:1px solid rgba(255,255,255,.1);
}
.flagship__stripe {
  position:absolute; top:0; left:0; right:0; height:6px; background:var(--hatch);
}
.flagship__media-label {
  font-weight:600; font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.5); justify-self:start;
}
.flagship__img {
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover; object-position: 90% 50%;
}
.flagship__body {
  padding:48px 44px; display:grid; gap:20px; align-content:center;
}
.flagship__kicker { display:flex; gap:12px; align-items:center; }
.flagship__kicker-text {
  font-weight:700; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.6);
}
.flagship__title {
  font-family:var(--disp); font-weight:800; font-size:42px;
  line-height:1.02; letter-spacing:-.03em;
}
.flagship__lead {
  margin:0; font-size:17px; line-height:1.6;
  color:rgba(255,255,255,.72); max-width:50ch;
}
.steps {
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:rgba(255,255,255,.15); border:1px solid rgba(255,255,255,.15);
}
.steps__item { background:var(--void); padding:16px 14px; display:grid; gap:6px; }
.steps__num { font-weight:700; font-size:10px; letter-spacing:.1em; color:rgba(255,255,255,.45); }
.steps__num--signal { color:var(--signal-l); }
.steps__text { font-size:14px; line-height:1.4; color:#fff; }
.flagship__cta { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }

/* ═════════ SERVICES ═════════ */
.services { background:var(--card); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.services__grid {
  max-width:var(--maxw); margin:0 auto;
  padding:88px var(--pad);
  display:grid; grid-template-columns:minmax(300px,.8fr) minmax(460px,1.7fr); gap:64px;
}
.services__intro { display:grid; gap:18px; align-content:start; }
.services__intro .section__title { font-size:44px; line-height:1.04; }
.services__lead {
  margin:0; font-size:17px; line-height:1.6; color:var(--ink-2); max-width:38ch;
}
.services__intro .link-underline { align-self:start; margin-top:6px; }

.srvlist { display:grid; }
.srvrow {
  display:grid; grid-template-columns:80px 1fr auto; gap:24px; align-items:center;
  padding:26px 8px; border-top:1px solid var(--line); color:var(--ink);
}
.srvrow--last { border-bottom:1px solid var(--line); }
.srvrow:hover { background:var(--paper); color:var(--ink); }
.srvrow__num {
  font-family:var(--disp); font-weight:800; font-size:34px;
  line-height:1; color:var(--line); letter-spacing:-.03em;
}
.srvrow__text { display:grid; gap:5px; }
.srvrow__title {
  font-family:var(--disp); font-weight:700; font-size:22px; letter-spacing:-.02em;
}
.srvrow__desc { font-size:14.5px; line-height:1.5; color:var(--ink-2); }
.srvrow__arrow { color:var(--signal); font-size:20px; }

/* ═════════ REMINDER ═════════ */
.reminder {
  background:var(--signal); color:#fff;
  max-width:var(--maxw); margin:0 auto;
  display:grid; grid-template-columns:minmax(320px,1.15fr) minmax(340px,.85fr);
}
.reminder__body {
  padding:72px 56px 72px var(--pad);
  display:grid; gap:20px; align-content:center;
}
.reminder__kicker {
  font-weight:700; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.78);
}
.reminder__title {
  font-family:var(--disp); font-weight:800; font-size:52px;
  line-height:1.0; letter-spacing:-.03em;
}
.reminder__lead {
  margin:0; font-size:18px; line-height:1.6; color:rgba(255,255,255,.92); max-width:44ch;
}
.reminder__fine {
  margin:0; font-weight:500; font-size:13px; line-height:1.6; color:rgba(255,255,255,.72);
}
.reminder__form {
  padding:56px var(--pad); background:var(--void);
  display:grid; gap:16px; align-content:center;
}
.field { display:grid; gap:7px; }
.field label {
  font-weight:700; font-size:11px; letter-spacing:.1em; text-transform:uppercase;
  color:rgba(255,255,255,.6);
}
.field input {
  height:54px; padding:0 14px; width:100%;
  border:1px solid rgba(255,255,255,.2); background:#fff;
  font-family:var(--sans); font-size:16px; color:var(--ink);
}
.reminder__form .btn { margin-top:4px; height:54px; font-size:16px; }
.reminder__disclaimer { font-size:13px; line-height:1.5; color:rgba(255,255,255,.55); }

/* ═════════ SPLIT (home use + about) ═════════ */
.split { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.splitcard {
  background:var(--card); border:1px solid var(--line);
  display:grid; grid-template-columns:220px 1fr; color:var(--ink);
}
.splitcard:hover { border-color:var(--ink); color:var(--ink); }
.splitcard__media { position:relative; overflow:hidden; border-right:1px solid var(--line-2); }
.splitcard__img {
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
}
.splitcard__body { padding:34px; display:grid; gap:12px; align-content:center; }
.splitcard__kicker {
  font-weight:700; font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--ink-3);
}
.splitcard__title {
  font-family:var(--disp); font-weight:700; font-size:30px;
  line-height:1.06; letter-spacing:-.03em;
}
.splitcard__desc { margin:0; font-size:15px; line-height:1.55; color:var(--ink-2); }
.splitcard__link { font-weight:700; font-size:15px; color:var(--signal); }

/* ═════════ REVIEWS ═════════ */
.reviews { background:var(--card); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.reviews__inner {
  max-width:var(--maxw); margin:0 auto;
  padding:80px var(--pad);
}
.reviews .section__head { margin-bottom:32px; }
.reviews__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.review {
  margin:0; border:1px solid var(--line); padding:28px;
  display:grid; gap:16px; align-content:start;
}
.review__tick { width:28px; height:3px; background:var(--signal); }
.review p { margin:0; font-size:15.5px; line-height:1.6; color:var(--ink-2); }
.review cite {
  font-style:normal; font-weight:700; font-size:14px; color:var(--ink);
  border-top:1px solid var(--line-2); padding-top:14px;
}
.review--dark {
  background:var(--void); color:#fff; border:none;
  gap:14px; align-content:center;
}
.review__label {
  font-weight:700; font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(255,255,255,.55);
}
.review__reasons {
  font-family:var(--disp); font-weight:700; font-size:20px;
  line-height:1.4; letter-spacing:-.02em;
}
.reviews__dots { display:none; gap:6px; justify-content:center; padding-top:16px; }
.reviews__dots span { width:26px; height:3px; background:var(--line); }
.reviews__dots span.is-active { background:var(--signal); }

/* ═════════ ADVICE ═════════ */
.articles { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.article {
  background:var(--card); border:1px solid var(--line);
  display:grid; color:var(--ink); align-content:start;
}
.article:hover { border-color:var(--ink); color:var(--ink); }
.article__media { aspect-ratio:16/9; border-bottom:1px solid var(--line-2); }
.article__body { padding:24px; display:grid; gap:10px; }
.article__cat {
  font-weight:700; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--signal);
}
.article__title {
  font-family:var(--disp); font-weight:700; font-size:20px;
  line-height:1.24; letter-spacing:-.02em;
}

/* ═════════ FOOTER ═════════ */
.footer { background:#000; color:#fff; }
.footer__stripe { height:8px; background:var(--hatch); }
.footer__inner {
  max-width:var(--maxw); margin:0 auto;
  padding:64px var(--pad) 48px;
  display:grid; grid-template-columns:minmax(280px,1fr) minmax(300px,1.2fr); gap:56px;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.footer__brand { display:grid; gap:22px; align-content:start; }
.footer__brandrow { display:flex; align-items:center; gap:14px; }
.footer__logo { width:74px; height:74px; object-fit:contain; flex:none; }
.footer__brandtext { display:grid; gap:5px; }
.footer__name {
  font-family:var(--mark); font-weight:700; font-size:30px;
  line-height:1; letter-spacing:.02em; color:var(--signal-l);
}
.footer__slogan {
  font-weight:600; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:rgba(255,255,255,.55);
}
.footer__about {
  margin:0; font-size:15px; line-height:1.65; color:rgba(255,255,255,.6); max-width:38ch;
}
.footer__contact { display:grid; gap:10px; max-width:340px; }
.footer__phone {
  font-family:var(--disp); font-weight:800; font-size:30px;
  letter-spacing:-.02em; color:#fff; line-height:1.1;
}
.footer__phone:hover { color:var(--signal-l); }
.footer__mail { font-size:15px; color:rgba(255,255,255,.7); }
.footer__mail:hover { color:#fff; }
.footer__contact .btn { margin-top:8px; height:52px; font-size:15.5px; }
.footer__contact .btn--signal:hover { background:var(--signal-l); }

.footer__cols {
  display:grid; grid-template-columns:repeat(3,1fr); gap:32px; align-content:start;
}
.footer__col { display:grid; gap:13px; align-content:start; }
.footer__coltitle {
  font-weight:700; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color:var(--signal-l);
  border-bottom:1px solid rgba(255,255,255,.14); padding-bottom:12px;
}
.footer__col a { color:rgba(255,255,255,.78); font-size:14.5px; }
.footer__col a:hover { color:#fff; }
.footer__link--strong { color:#fff !important; font-weight:700; }
.footer__contactinfo { font-size:14.5px; line-height:1.7; color:rgba(255,255,255,.6); }
.footer__social { display:flex; gap:8px; margin-top:4px; }
.footer__social span {
  width:38px; height:38px;
  border:1px solid rgba(255,255,255,.22);
  display:grid; place-items:center;
  font-weight:700; font-size:12px; color:rgba(255,255,255,.6);
}
.footer__bottom {
  max-width:var(--maxw); margin:0 auto;
  padding:20px var(--pad);
  display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap;
  font-weight:500; font-size:12.5px; color:rgba(255,255,255,.5);
}
.footer__legal { display:flex; gap:22px; flex-wrap:wrap; }
.footer__bottom a { color:rgba(255,255,255,.5); }
.footer__bottom a:hover { color:#fff; }

/* ═════════ MOBILE STICKY CTA ═════════ */
.stickybar {
  display:none;
  position:fixed; left:0; right:0; bottom:0; z-index:50;
  background:rgba(11,13,16,.96);
  padding:10px 12px;
  grid-template-columns:1fr 1fr; gap:8px;
  border-top:1px solid rgba(255,255,255,.18);
}
.stickybar .btn { height:48px; font-size:14.5px; }

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════════════════════ */

@media (min-width:1001px) {
  .mobilenav { display:none !important; }
}

@media (max-width:1200px) {
  .hero__grid { grid-template-columns:1fr 1fr; }
  .hero__body { padding:64px 32px; }
  .products { grid-template-columns:repeat(2,1fr); }
  .articles { grid-template-columns:repeat(3,1fr); }
}

@media (max-width:1000px) {
  :root { --pad:24px; }

  .nav { display:none; }
  .header__quote { display:none; }
  .iconbtn { width:44px; height:44px; }
  .iconbtn--menu { display:grid; }

  .section { padding:56px var(--pad) 64px; }
  .section__title { font-size:34px; }
  .section__title--sm { font-size:30px; }

  /* hero → single column */
  .hero__grid { grid-template-columns:1fr; }
  .hero__body { padding:40px var(--pad) 34px; gap:20px; }
  .hero__title { font-size:40px; }
  .hero__lead { font-size:16px; }
  .hero__cta { display:grid; }
  .hero__media { min-height:0; height:210px; border-left:none; }
  .hero__media-caption { font-size:10.5px; line-height:1.9; }
  .hero__stats {
    grid-template-columns:repeat(3,1fr);
    column-gap:0; padding-top:0; margin-top:4px;
    border-top:1px solid rgba(255,255,255,.12);
  }
  .stat { padding:18px 12px 0; border-right:1px solid rgba(255,255,255,.12); }
  .stat:last-child { border-right:none; }
  .stat__num { font-size:26px; }
  .stat__label { font-size:11.5px; }

  /* flagship / services / reminder / footer → stack */
  .flagship { grid-template-columns:1fr; }
  .flagship__media { min-height:140px; }
  .flagship__body { padding:26px var(--pad); }
  .flagship__title { font-size:30px; }

  .services__grid { grid-template-columns:1fr; gap:24px; padding:56px var(--pad); }
  .services__intro .section__title { font-size:28px; }

  .reminder { grid-template-columns:1fr; }
  .reminder__body { padding:40px var(--pad); }
  .reminder__title { font-size:32px; }
  .reminder__form { padding:32px var(--pad); }

  .split { grid-template-columns:1fr; }

  .reviews__inner { padding:56px var(--pad); }
  .reviews__grid { grid-template-columns:1fr; }
  .review--dark { display:none; }
  .reviews__dots { display:flex; }

  .articles { grid-template-columns:1fr; }

  .footer__inner { grid-template-columns:1fr; gap:32px; padding:40px var(--pad); }
  .footer__cols { grid-template-columns:1fr; gap:24px; }
  .footer__bottom { flex-direction:column; gap:12px; }

  .stickybar { display:grid; }
}

@media (max-width:640px) {
  .utility__note { display:none; }
  .utility__contact { gap:16px; font-size:11.5px; }
  .utility__contact span:first-of-type { display:none; } /* hide email, keep phone + field note hidden already */
  .utility__inner { height:38px; padding:0 14px; }

  .header__inner { height:66px; padding:0 14px; gap:12px; }
  .brand__logo { width:44px; height:44px; }
  .brand__name { font-size:20px; }
  .brand__tag { display:none; }
  .iconbtn:first-child { display:none; } /* hide search on small screens */

  .products { grid-template-columns:1fr; }
  .srvrow { grid-template-columns:46px 1fr; gap:14px; padding:18px 0; }
  .srvrow__arrow { display:none; }
  .srvrow__num { font-size:26px; }
  .srvrow__title { font-size:18px; }

  .splitcard { grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; }
  .splitcard__body { padding:20px 16px; }
  .splitcard__title { font-size:22px; }

  .clients__inner { gap:12px; }
  .clients__list { gap:18px; font-size:15px; overflow-x:auto; white-space:nowrap; }

  .footer__phone { font-size:26px; }
  .flagship__body { padding:26px 16px; }
  .steps { grid-template-columns:1fr; }
}

/* keep the fixed sticky bar from covering the footer on mobile */
@media (max-width:1000px) {
  .footer { padding-bottom:72px; }
}
