﻿/* ─────────────────────────────────────────
   TOKENS
───────────────────────────────────────── */
:root {
  /* brand */
  --c-navy:    #07192e;
  --c-navy-2:  #0b2240;
  --c-navy-3:  #0f2d55;
  --c-line:    rgba(255,255,255,.08);
  --c-blue:    #2570e8;
  --c-blue-h:  #1a5fd1;
  --c-blue-s:  #3b82f6;
  --c-orange:  #f7a01d;
  --c-orange-h:#ffb340;
  --c-green:   #25d366;
  --c-ink:     #07192e;
  --c-muted:   #64748b;
  --c-subtle:  #94a3b8;
  --c-surface: #f8fafc;
  --c-border:  #e2e8f0;
  --c-white:   #ffffff;
  --c-star:    #f59e0b;

  /* spacing (8-pt grid) */
  --s-1:  4px;  --s-2:  8px;  --s-3: 12px;
  --s-4: 16px;  --s-5: 20px;  --s-6: 24px;
  --s-8: 32px;  --s-10:40px;  --s-12:48px;
  --s-16:64px;  --s-20:80px;  --s-24:96px;

  /* type scale */
  --t-xs:  .75rem;   /* 12 */
  --t-sm:  .875rem;  /* 14 */
  --t-base:1rem;     /* 16 */
  --t-lg:  1.125rem; /* 18 */
  --t-xl:  1.25rem;  /* 20 */
  --t-2xl: 1.5rem;   /* 24 */
  --t-3xl: 1.875rem; /* 30 */
  --t-4xl: 2.25rem;  /* 36 */
  --t-5xl: 3rem;     /* 48 */
  --t-6xl: 3.75rem;  /* 60 */

  /* radius */
  --r-sm: 6px;   --r-md: 10px;
  --r-lg: 14px;  --r-xl: 20px;
  --r-2xl:28px;  --r-full:9999px;

  /* shadow */
  --shadow-sm:  0 1px 3px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.06);
  --shadow-md:  0 4px 16px rgba(0,0,0,.10), 0 2px 6px rgba(0,0,0,.06);
  --shadow-lg:  0 20px 48px rgba(0,0,0,.14), 0 8px 16px rgba(0,0,0,.08);
  --shadow-blue:0 12px 32px -8px rgba(37,112,232,.55);
  --shadow-hero:0 40px 80px -20px rgba(7,25,46,.6);

  /* layout */
  --maxw: 1200px;
  --nav-h: 72px;
}

/* ─────────────────────────────────────────
   RESET
───────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:var(--nav-h); -webkit-text-size-adjust:100%; }
body { font-family:'Plus Jakarta Sans', system-ui, sans-serif; color:var(--c-ink); background:var(--c-white); -webkit-font-smoothing:antialiased; line-height:1.6; }
img { display:block; max-width:100%; }
a { text-decoration:none; color:inherit; }
button { font-family:inherit; }
ul, ol { list-style:none; }

/* ─────────────────────────────────────────
   LAYOUT
───────────────────────────────────────── */
.wrap { max-width:var(--maxw); margin-inline:auto; padding-inline:var(--s-8); }
.section { padding-block:var(--s-24); }
.section--dark  { background:var(--c-navy); color:var(--c-white); }
.section--dark2 { background:linear-gradient(170deg,var(--c-navy) 0%,var(--c-navy-2) 100%); color:var(--c-white); }
.section--light { background:var(--c-surface); }
.section--white { background:var(--c-white); }

/* ─────────────────────────────────────────
   TYPOGRAPHY
───────────────────────────────────────── */
.eyebrow {
  display:inline-flex; align-items:center; gap:var(--s-3);
  font-size:var(--t-xs); font-weight:700; letter-spacing:.08em;
  text-transform:uppercase; color:var(--c-blue); margin-bottom:var(--s-5);
}
.eyebrow::before { content:""; width:24px; height:2px; background:var(--c-blue); border-radius:2px; flex-shrink:0; }
.eyebrow--light { color:rgba(255,255,255,.55); }
.eyebrow--light::before { background:rgba(255,255,255,.3); }
.eyebrow--center { justify-content:center; }

.heading-xl { font-size:clamp(2.5rem, 6vw, var(--t-6xl)); font-weight:800; letter-spacing:-.03em; line-height:1.04; }
.heading-lg { font-size:clamp(1.875rem, 4vw, var(--t-5xl)); font-weight:800; letter-spacing:-.025em; line-height:1.08; }
.heading-md { font-size:clamp(1.5rem, 3vw, var(--t-4xl)); font-weight:800; letter-spacing:-.02em; line-height:1.1; }
.heading-sm { font-size:var(--t-2xl); font-weight:700; letter-spacing:-.015em; line-height:1.2; }
.accent-blue { color:var(--c-blue); }
.accent-orange { color:var(--c-orange); }
.text-muted { color:var(--c-muted); }

/* ─────────────────────────────────────────
   BUTTONS
───────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:var(--s-2);
  font-size:var(--t-sm); font-weight:700; padding:13px var(--s-6);
  border-radius:var(--r-md); border:none; cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
  white-space:nowrap; line-height:1;
}
.btn svg { width:15px; height:15px; flex-shrink:0; }
.btn:hover { transform:translateY(-2px); }
.btn:active { transform:translateY(0); }

.btn-primary { background:var(--c-blue); color:#fff; box-shadow:var(--shadow-blue); }
.btn-primary:hover { background:var(--c-blue-h); box-shadow:0 16px 40px -8px rgba(37,112,232,.65); }

.btn-orange { background:var(--c-orange); color:#1a1205; }
.btn-orange:hover { background:var(--c-orange-h); box-shadow:0 12px 32px -8px rgba(247,160,29,.6); }

.btn-outline { background:transparent; color:var(--c-blue); border:1.5px solid #c4d6f0; }
.btn-outline:hover { border-color:var(--c-blue); background:rgba(37,112,232,.05); }

.btn-outline-dark { background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.25); }
.btn-outline-dark:hover { border-color:rgba(255,255,255,.6); background:rgba(255,255,255,.06); }

.btn-white { background:#fff; color:var(--c-blue); box-shadow:var(--shadow-md); }
.btn-white:hover { background:#f0f6ff; box-shadow:var(--shadow-lg); }

.btn-ghost-dark { background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.12); }
.btn-ghost-dark:hover { background:rgba(255,255,255,.14); }

.btn-lg { padding:16px 32px; font-size:var(--t-base); border-radius:var(--r-lg); }
.btn-sm { padding:9px 18px; font-size:var(--t-xs); border-radius:var(--r-sm); }

/* ─────────────────────────────────────────
   BADGE / PILL
───────────────────────────────────────── */
.pill {
  display:inline-flex; align-items:center; gap:var(--s-2);
  background:rgba(37,112,232,.1); border:1px solid rgba(37,112,232,.2);
  color:var(--c-blue-s); font-size:var(--t-xs); font-weight:700;
  padding:6px 14px; border-radius:var(--r-full); letter-spacing:.02em;
  margin-bottom:var(--s-6);
}
.pill::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--c-blue-s); animation:pulse-dot 2s ease-in-out infinite; }

/* ─────────────────────────────────────────
   HEADER
───────────────────────────────────────── */
.header {
  position:sticky; top:0; z-index:100;
  height:var(--nav-h); background:var(--c-navy);
  border-bottom:1px solid var(--c-line);
  transition:backdrop-filter .3s, box-shadow .3s;
}
.header.scrolled {
  backdrop-filter:blur(20px);
  background:rgba(7,25,46,.92);
  box-shadow:0 4px 32px rgba(0,0,0,.35);
}
.header__inner {
  height:100%; display:flex; align-items:center;
  justify-content:space-between; gap:var(--s-8);
}
.header__logo {
  display:flex; align-items:center; gap:10px;
  font-size:var(--t-lg); font-weight:800; letter-spacing:-.025em; color:#fff;
  flex-shrink:0;
}
.header__logo-img { height:26px; width:auto; display:block; }

.header__nav { display:flex; align-items:center; gap:var(--s-8); flex:1; justify-content:center; }
.header__nav a {
  font-size:var(--t-sm); font-weight:500; color:rgba(255,255,255,.65);
  position:relative; padding-block:4px; transition:color .2s;
}
.header__nav a::after {
  content:""; position:absolute; left:0; bottom:-2px; width:0; height:2px;
  background:var(--c-blue); border-radius:2px; transition:width .25s ease;
}
.header__nav a:hover { color:#fff; }
.header__nav a:hover::after { width:100%; }

.header__right { display:flex; align-items:center; gap:var(--s-3); flex-shrink:0; }
.header__phone {
  display:flex; align-items:center; gap:6px;
  font-size:var(--t-xs); color:rgba(255,255,255,.5); font-weight:500;
}
.header__phone svg { width:13px; height:13px; stroke:var(--c-blue-s); }

.header__menu-btn { display:none; background:none; border:none; cursor:pointer; padding:6px; }
.header__menu-btn svg { width:24px; height:24px; stroke:#fff; }

/* mobile drawer */
.mobile-nav {
  display:none; position:fixed; inset:var(--nav-h) 0 0 0;
  background:var(--c-navy); z-index:99; flex-direction:column;
  padding:var(--s-8) var(--s-6); gap:var(--s-1);
  border-top:1px solid var(--c-line); overflow-y:auto;
}
.mobile-nav.is-open { display:flex; }
.mobile-nav a {
  color:rgba(255,255,255,.7); font-size:var(--t-xl); font-weight:600;
  padding:var(--s-4) 0; border-bottom:1px solid var(--c-line);
  transition:color .2s;
}
.mobile-nav a:hover { color:#fff; }
.mobile-nav .btn { margin-top:var(--s-5); justify-content:center; }

/* ─────────────────────────────────────────
   HERO
───────────────────────────────────────── */
.hero {
  position:relative; overflow:hidden;
  background:linear-gradient(135deg, #f0f4fa 0%, #e6ecf5 50%, #dde5f0 100%);
  padding-block:var(--s-20) var(--s-24);
}
.hero::before {
  content:""; position:absolute; inset:0;
  background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z' fill='%230a1a2f' fill-opacity='0.025'/%3E%3C/g%3E%3C/svg%3E");
  pointer-events:none;
}
.hero__grid {
  display:grid; grid-template-columns:1.1fr 1fr;
  gap:var(--s-16); align-items:center; position:relative;
}
.hero__kicker { display:flex; align-items:center; gap:var(--s-3); margin-bottom:var(--s-5); }
.hero__star {
  display:flex; align-items:center; gap:5px;
  background:rgba(245,158,11,.12); border:1px solid rgba(245,158,11,.25);
  color:#92400e; font-size:var(--t-xs); font-weight:700;
  padding:5px 12px; border-radius:var(--r-full);
}
.hero__star svg { width:12px; height:12px; fill:var(--c-star); }
.hero h1 { margin-bottom:var(--s-6); }
.hero__lead {
  font-size:var(--t-lg); color:var(--c-muted);
  max-width:460px; margin-bottom:var(--s-8); line-height:1.7;
}
.hero__cta { display:flex; gap:var(--s-3); flex-wrap:wrap; margin-bottom:var(--s-10); }
.hero__stats { display:flex; gap:var(--s-8); flex-wrap:wrap; }
.hero__stat-num { font-size:var(--t-2xl); font-weight:800; color:var(--c-ink); letter-spacing:-.02em; line-height:1; }
.hero__stat-lbl { font-size:var(--t-xs); color:var(--c-muted); font-weight:500; margin-top:3px; }
.hero__stat-div { width:1px; background:var(--c-border); align-self:stretch; }

.hero__visual { position:relative; }
.hero__img-wrap { position:relative; }
/* 📸 img/hero-shot.jpg */
.hero__img {
  width:100%; aspect-ratio:4/3; object-fit:cover;
  border-radius:var(--r-xl); box-shadow:var(--shadow-hero);
}
.hero__badge {
  position:absolute; bottom:-20px; left:-20px;
  background:#fff; border-radius:var(--r-lg); padding:var(--s-4) var(--s-5);
  box-shadow:var(--shadow-lg); display:flex; align-items:center; gap:var(--s-3);
}
.hero__badge-icon { width:40px; height:40px; border-radius:var(--r-md); background:rgba(37,112,232,.1); display:flex; align-items:center; justify-content:center; }
.hero__badge-icon svg { width:20px; height:20px; stroke:var(--c-blue); }
.hero__badge-text strong { display:block; font-size:var(--t-sm); font-weight:800; color:var(--c-ink); }
.hero__badge-text span { font-size:var(--t-xs); color:var(--c-muted); }
.hero__badge2 {
  position:absolute; top:-16px; right:-16px;
  background:var(--c-blue); border-radius:var(--r-lg); padding:var(--s-3) var(--s-4);
  box-shadow:var(--shadow-blue); color:#fff; text-align:center;
}
.hero__badge2 strong { display:block; font-size:var(--t-2xl); font-weight:800; line-height:1; }
.hero__badge2 span { font-size:var(--t-xs); opacity:.8; }

/* ─────────────────────────────────────────
   TRUST BAR
───────────────────────────────────────── */
.trust { border-block:1px solid var(--c-border); padding-block:var(--s-8); }
.trust__inner { display:flex; align-items:center; gap:var(--s-10); flex-wrap:wrap; justify-content:center; }
.trust__label { font-size:var(--t-xs); font-weight:600; color:var(--c-subtle); text-transform:uppercase; letter-spacing:.06em; white-space:nowrap; }
.trust__logos { display:flex; align-items:center; gap:var(--s-8); flex-wrap:wrap; justify-content:center; }
.trust__logo {
  height:28px; opacity:.3; filter:grayscale(1); transition:opacity .2s;
  display:flex; align-items:center;
  font-size:var(--t-sm); font-weight:800; color:var(--c-ink); letter-spacing:-.02em;
}
.trust__logo:hover { opacity:.55; }

/* ─────────────────────────────────────────
   SECTION HEAD
───────────────────────────────────────── */
.sec-head { max-width:600px; }
.sec-head--center { text-align:center; margin-inline:auto; }
.sec-head h2 { margin-bottom:var(--s-4); }
.sec-head p { font-size:var(--t-lg); color:var(--c-muted); line-height:1.7; }
.section--dark .sec-head p,
.section--dark2 .sec-head p { color:rgba(255,255,255,.55); }

/* ─────────────────────────────────────────
   SERVICES
───────────────────────────────────────── */
.services__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s-5); margin-top:var(--s-12); }
.svc {
  position:relative; overflow:hidden;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.07);
  border-radius:var(--r-xl); padding:var(--s-8) var(--s-6);
  transition:transform .2s ease, border-color .25s ease, background .25s ease;
  cursor:default;
}
.svc::before {
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--c-blue),var(--c-blue-s));
  transform:scaleX(0); transform-origin:left; transition:transform .3s ease;
  border-radius:var(--r-xl) var(--r-xl) 0 0;
}
.svc:hover { transform:translateY(-6px); border-color:rgba(37,112,232,.3); background:rgba(37,112,232,.05); }
.svc:hover::before { transform:scaleX(1); }
.svc__num {
  position:absolute; top:var(--s-6); right:var(--s-6);
  font-size:var(--t-6xl); font-weight:800; color:rgba(255,255,255,.04);
  line-height:1; pointer-events:none; user-select:none;
}
.svc__icon {
  width:52px; height:52px; border-radius:var(--r-md);
  background:rgba(37,112,232,.15); border:1px solid rgba(37,112,232,.25);
  display:flex; align-items:center; justify-content:center; margin-bottom:var(--s-6);
}
.svc__icon svg { width:24px; height:24px; stroke:var(--c-blue-s); }
.svc h3 { font-size:var(--t-lg); font-weight:700; color:#fff; margin-bottom:var(--s-3); }
.svc p { font-size:var(--t-sm); color:var(--c-subtle); line-height:1.6; margin-bottom:var(--s-5); }
.svc__link {
  display:inline-flex; align-items:center; gap:6px;
  font-size:var(--t-sm); font-weight:600; color:var(--c-blue-s);
  transition:gap .2s;
}
.svc:hover .svc__link { gap:10px; }
.svc__link svg { width:14px; height:14px; }

/* ─────────────────────────────────────────
   HOW IT WORKS
───────────────────────────────────────── */
.process__grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:var(--s-6); margin-top:var(--s-12); position:relative;
}
.process__grid::before {
  content:""; position:absolute; top:36px; left:10%; right:10%; height:2px;
  background:linear-gradient(90deg,transparent,var(--c-border),transparent);
  z-index:0;
}
.process__step { position:relative; z-index:1; text-align:center; }
.process__icon {
  width:72px; height:72px; border-radius:var(--r-2xl);
  background:var(--c-white); border:2px solid var(--c-border);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto var(--s-5); transition:border-color .2s, box-shadow .2s;
  box-shadow:var(--shadow-sm);
}
.process__step:hover .process__icon { border-color:var(--c-blue); box-shadow:0 0 0 4px rgba(37,112,232,.1); }
.process__icon svg { width:28px; height:28px; stroke:var(--c-blue); }
.process__num {
  position:absolute; top:-10px; right:calc(50% - 44px);
  width:22px; height:22px; border-radius:50%;
  background:var(--c-blue); color:#fff;
  font-size:10px; font-weight:800; display:flex; align-items:center; justify-content:center;
}
.process__step h3 { font-size:var(--t-base); font-weight:700; color:var(--c-ink); margin-bottom:var(--s-2); }
.process__step p { font-size:var(--t-sm); color:var(--c-muted); line-height:1.6; }

/* ─────────────────────────────────────────
   CATALOG
───────────────────────────────────────── */
.catalog__layout { display:grid; grid-template-columns:auto 1fr; gap:var(--s-16); align-items:start; }
.catalog__intro { max-width:280px; }
.catalog__intro h2 { margin-bottom:var(--s-6); }
.catalog__intro p { font-size:var(--t-base); color:var(--c-muted); margin-bottom:var(--s-8); line-height:1.7; }
.catalog__grid { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s-5); }
.product-card {
  border-radius:var(--r-xl); overflow:hidden;
  background:var(--c-white); border:1px solid var(--c-border);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.product-card:hover { transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:#c4d6f0; }
/* 📸 img/prod-*.jpg */
.product-card__img { width:100%; height:160px; object-fit:cover; background:#edf0f5; }
.product-card__body { padding:var(--s-4) var(--s-4) var(--s-5); }
.product-card__name { font-size:var(--t-sm); font-weight:700; color:var(--c-ink); margin-bottom:3px; }
.product-card__price { font-size:var(--t-xs); color:var(--c-muted); }
.product-card__action {
  display:flex; align-items:center; justify-content:space-between; margin-top:var(--s-3);
}
.product-card__btn {
  display:flex; align-items:center; justify-content:center;
  width:32px; height:32px; border-radius:var(--r-md);
  border:1px solid var(--c-border); background:transparent;
  cursor:pointer; transition:background .2s, border-color .2s;
}
.product-card__btn svg { width:14px; height:14px; stroke:var(--c-ink); transition:stroke .2s; }
.product-card:hover .product-card__btn { background:var(--c-blue); border-color:var(--c-blue); }
.product-card:hover .product-card__btn svg { stroke:#fff; }

/* ─────────────────────────────────────────
   DIFFERENTIALS
───────────────────────────────────────── */
.diff__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s-5); margin-top:var(--s-12); }
.diff-card {
  background:var(--c-white); border:1px solid var(--c-border);
  border-radius:var(--r-xl); padding:var(--s-6);
  display:flex; gap:var(--s-4); align-items:flex-start;
  transition:box-shadow .2s, border-color .2s;
}
.diff-card:hover { box-shadow:var(--shadow-md); border-color:#c4d6f0; }
.diff-card__icon {
  flex-shrink:0; width:44px; height:44px; border-radius:var(--r-md);
  background:rgba(37,112,232,.08); display:flex; align-items:center; justify-content:center;
}
.diff-card__icon svg { width:20px; height:20px; stroke:var(--c-blue); }
.diff-card h3 { font-size:var(--t-base); font-weight:700; color:var(--c-ink); margin-bottom:4px; }
.diff-card p { font-size:var(--t-sm); color:var(--c-muted); line-height:1.55; }

/* ─────────────────────────────────────────
   ABOUT
───────────────────────────────────────── */
.about__grid { display:grid; grid-template-columns:1fr 1fr; gap:var(--s-20); align-items:center; }
.about__text p { font-size:var(--t-lg); color:rgba(255,255,255,.6); line-height:1.75; margin-bottom:var(--s-10); }
.about__stats { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--s-6); }
.about__stat { padding:var(--s-6); background:rgba(255,255,255,.05); border:1px solid var(--c-line); border-radius:var(--r-lg); }
.about__stat-num { font-size:var(--t-4xl); font-weight:800; color:var(--c-blue-s); letter-spacing:-.03em; line-height:1; margin-bottom:6px; }
.about__stat-lbl { font-size:var(--t-sm); color:rgba(255,255,255,.5); line-height:1.4; }

/* ─────────────────────────────────────────
   TESTIMONIALS
───────────────────────────────────────── */
.testi__grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--s-5); margin-top:var(--s-12); }
.testi {
  background:var(--c-white); border:1px solid var(--c-border);
  border-radius:var(--r-xl); padding:var(--s-8);
  display:flex; flex-direction:column;
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s;
}
.testi:hover { transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:#c4d6f0; }
.testi__stars { display:flex; gap:3px; margin-bottom:var(--s-5); }
.testi__stars svg { width:16px; height:16px; fill:var(--c-star); }
.testi__quote { font-size:var(--t-base); color:#374151; line-height:1.7; flex:1; margin-bottom:var(--s-6); }
.testi__author { display:flex; align-items:center; gap:var(--s-3); padding-top:var(--s-5); border-top:1px solid var(--c-border); }
.testi__avatar {
  width:40px; height:40px; border-radius:50%;
  background:linear-gradient(135deg,var(--c-blue) 0%,#1a3a6f 100%);
  display:flex; align-items:center; justify-content:center;
  font-size:var(--t-base); font-weight:800; color:#fff; flex-shrink:0;
}
.testi__name { font-size:var(--t-sm); font-weight:700; color:var(--c-ink); }
.testi__role { font-size:var(--t-xs); color:var(--c-muted); margin-top:2px; }

/* ─────────────────────────────────────────
   FAQ
───────────────────────────────────────── */
.faq { max-width:760px; margin-inline:auto; margin-top:var(--s-12); }
.faq__item { border-bottom:1px solid var(--c-border); }
.faq__item:first-child { border-top:1px solid var(--c-border); }
.faq__btn {
  width:100%; display:flex; align-items:center; justify-content:space-between;
  gap:var(--s-5); padding:var(--s-5) 0; background:none; border:none;
  cursor:pointer; text-align:left;
}
.faq__question { font-size:var(--t-base); font-weight:700; color:var(--c-ink); line-height:1.4; }
.faq__chevron {
  width:28px; height:28px; flex-shrink:0; border-radius:var(--r-sm);
  background:var(--c-surface); border:1px solid var(--c-border);
  display:flex; align-items:center; justify-content:center;
  transition:background .2s, transform .3s;
}
.faq__chevron svg { width:14px; height:14px; stroke:var(--c-muted); transition:stroke .2s; }
.faq__item.is-open .faq__chevron { background:var(--c-blue); border-color:var(--c-blue); transform:rotate(180deg); }
.faq__item.is-open .faq__chevron svg { stroke:#fff; }
.faq__answer { overflow:hidden; max-height:0; transition:max-height .35s ease; }
.faq__answer p { padding-bottom:var(--s-5); font-size:var(--t-base); color:var(--c-muted); line-height:1.75; }

/* ─────────────────────────────────────────
   CTA BAND
───────────────────────────────────────── */
.cta-band {
  position:relative; overflow:hidden;
  background:linear-gradient(135deg,var(--c-blue) 0%,#1a3a8c 100%);
  padding-block:var(--s-20);
}
.cta-band::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='40' cy='40' r='38' fill='none' stroke='white' stroke-opacity='.04' stroke-width='1'/%3E%3C/svg%3E") center/80px;
}
.cta-band__inner { position:relative; text-align:center; }
.cta-band h2 { color:#fff; margin-bottom:var(--s-4); }
.cta-band p { font-size:var(--t-lg); color:rgba(255,255,255,.7); max-width:500px; margin:0 auto var(--s-10); }
.cta-band__btns { display:flex; gap:var(--s-3); justify-content:center; flex-wrap:wrap; }

/* ─────────────────────────────────────────
   FOOTER
───────────────────────────────────────── */
.footer { background:var(--c-navy); color:#fff; padding-top:var(--s-20); }
.footer__grid { display:grid; grid-template-columns:1.6fr 1fr 1fr 1.4fr; gap:var(--s-10); padding-bottom:var(--s-16); }
.footer__brand-logo { display:flex; align-items:center; margin-bottom:var(--s-5); }
.footer__brand-logo-img { height:28px; width:auto; display:block; }
.footer__brand p { font-size:var(--t-sm); color:var(--c-subtle); line-height:1.7; max-width:260px; margin-bottom:var(--s-6); }
.footer__socials { display:flex; gap:var(--s-3); }
.footer__social {
  width:38px; height:38px; border-radius:var(--r-md);
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.1);
  display:flex; align-items:center; justify-content:center;
  transition:background .2s, transform .2s, border-color .2s;
}
.footer__social:hover { background:var(--c-blue); border-color:var(--c-blue); transform:translateY(-2px); }
.footer__social svg { width:17px; height:17px; fill:#fff; }

.footer__col h4 { font-size:var(--t-sm); font-weight:700; color:#fff; margin-bottom:var(--s-5); }
.footer__col ul { display:flex; flex-direction:column; gap:var(--s-3); }
.footer__col ul a { font-size:var(--t-sm); color:var(--c-subtle); transition:color .2s; }
.footer__col ul a:hover { color:var(--c-blue-s); }

.footer__contact-item {
  display:flex; gap:var(--s-3); align-items:flex-start;
  font-size:var(--t-sm); color:var(--c-subtle); margin-bottom:var(--s-4);
}
.footer__contact-item svg { width:16px; height:16px; stroke:var(--c-blue-s); flex-shrink:0; margin-top:2px; }
.footer__contact-item a { color:var(--c-subtle); transition:color .2s; }
.footer__contact-item a:hover { color:var(--c-blue-s); }

.footer__hours { display:grid; grid-template-columns:auto 1fr; gap:2px var(--s-3); font-size:var(--t-xs); color:var(--c-subtle); margin-top:var(--s-4); }
.footer__hours strong { color:rgba(255,255,255,.7); }

.footer__bottom {
  border-top:1px solid var(--c-line); padding-block:var(--s-6);
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:var(--s-3);
  font-size:var(--t-xs); color:var(--c-subtle);
}
.footer__bottom a { color:var(--c-subtle); transition:color .2s; }
.footer__bottom a:hover { color:var(--c-blue-s); }

/* ─────────────────────────────────────────
   FLOATING BUTTONS
───────────────────────────────────────── */
.scroll-top {
  position:fixed; right:24px; bottom:24px; z-index:80;
  width:44px; height:44px; border-radius:50%; border:none; cursor:pointer;
  background:var(--c-navy); border:1px solid rgba(255,255,255,.15);
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-md); opacity:0; pointer-events:none;
  transform:translateY(12px) scale(.9);
  transition:opacity .3s, transform .3s, background .2s;
}
.scroll-top.is-visible { opacity:1; pointer-events:auto; transform:translateY(0) scale(1); }
.scroll-top:hover { background:var(--c-blue); }
.scroll-top svg { width:18px; height:18px; stroke:#fff; }

.wpp-btn {
  position:fixed; left:20px; bottom:20px; z-index:80;
  display:flex; align-items:center; gap:10px;
  background:var(--c-green); color:#fff; font-weight:700; font-size:var(--t-sm);
  padding:12px 20px; border-radius:var(--r-full);
  box-shadow:0 8px 28px rgba(37,211,102,.45);
  transition:transform .2s, box-shadow .2s;
}
.wpp-btn:hover { transform:translateY(-3px); box-shadow:0 14px 36px rgba(37,211,102,.55); }
.wpp-btn svg { width:20px; height:20px; fill:#fff; flex-shrink:0; }

/* ─────────────────────────────────────────
   ANIMATIONS
───────────────────────────────────────── */
@keyframes pulse-dot {
  0%,100% { opacity:1; transform:scale(1); }
  50%      { opacity:.5; transform:scale(.7); }
}
.reveal { opacity:0; transform:translateY(24px); transition:opacity .65s ease, transform .65s ease; }
.reveal.is-visible { opacity:1; transform:none; }

/* ─────────────────────────────────────────
   RESPONSIVE
───────────────────────────────────────── */
@media (max-width:1024px) {
  .hero__grid { grid-template-columns:1fr; }
  .hero__visual { order:-1; }
  .hero__badge, .hero__badge2 { display:none; }
  .services__grid { grid-template-columns:repeat(2,1fr); }
  .catalog__layout { grid-template-columns:1fr; }
  .catalog__intro { max-width:100%; }
  .catalog__grid { grid-template-columns:repeat(2,1fr); }
  .about__grid { grid-template-columns:1fr; }
  .process__grid { grid-template-columns:repeat(2,1fr); }
  .process__grid::before { display:none; }
  .diff__grid { grid-template-columns:repeat(2,1fr); }
  .testi__grid { grid-template-columns:repeat(2,1fr); }
  .footer__grid { grid-template-columns:1fr 1fr; gap:var(--s-10) var(--s-8); }
}
@media (max-width:680px) {
  :root { --s-24:64px; }
  .wrap { padding-inline:var(--s-5); }
  .header__nav, .header__phone, .header__right .btn { display:none; }
  .header__menu-btn { display:block; }
  .services__grid { grid-template-columns:1fr; }
  .catalog__grid { grid-template-columns:1fr 1fr; }
  .process__grid { grid-template-columns:1fr; }
  .diff__grid { grid-template-columns:1fr; }
  .testi__grid { grid-template-columns:1fr; }
  .about__stats { grid-template-columns:1fr 1fr; }
  .footer__grid { grid-template-columns:1fr; }
  .footer__bottom { flex-direction:column; text-align:center; }
  .cta-band__btns { flex-direction:column; align-items:center; }
  .wpp-btn__label { display:none; }
  .wpp-btn { padding:13px; border-radius:50%; left:16px; bottom:16px; }
  .hero__stats { gap:var(--s-6); }
  .trust__logos { gap:var(--s-6); }
}

