/* =========================================================
   БАСТИОН — fulfillment landing
   Aesthetic: industrial fortress / blueprint / hazard-signal
   ========================================================= */

:root{
  --bg:            #12140f;
  --bg-raised:     #191c15;
  --bg-card:       #1c2017;
  --line:          rgba(237,234,226,0.10);
  --line-strong:   rgba(237,234,226,0.22);
  --ink:           #ece8dd;
  --ink-dim:       #a8a69a;
  --ink-faint:     #716f63;
  --accent:        #ff5a1f;
  --accent-ink:    #2a0f04;
  --accent-dim:    #c4471a;
  --steel:         #5c8a99;
  --blueprint:     #1d2b30;
  --radius:        2px;
  --maxw:          1180px;
  --ff-display:    'Big Shoulders Display', sans-serif;
  --ff-body:       'IBM Plex Sans', sans-serif;
  --ff-mono:       'IBM Plex Mono', monospace;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:var(--ff-body);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul,ol{ margin:0; padding:0; list-style:none; }
h1,h2,h3{ font-family:var(--ff-display); font-weight:800; text-transform:uppercase; letter-spacing:0.01em; margin:0; }
p{ margin:0; }
button{ font-family:inherit; cursor:pointer; }

.container{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }

/* ---------- texture: blueprint grid on dark sections ---------- */
body::before{
  content:"";
  position:fixed; inset:0;
  pointer-events:none;
  z-index:0;
  background-image:
    repeating-linear-gradient(0deg, rgba(237,234,226,0.025) 0px, rgba(237,234,226,0.025) 1px, transparent 1px, transparent 64px),
    repeating-linear-gradient(90deg, rgba(237,234,226,0.025) 0px, rgba(237,234,226,0.025) 1px, transparent 1px, transparent 64px);
  mix-blend-mode:screen;
  opacity:0.6;
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:8px;
  font-family:var(--ff-mono);
  font-weight:600;
  font-size:13px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  padding:13px 22px;
  border-radius:var(--radius);
  border:1px solid transparent;
  transition:transform .15s ease, background .2s ease, border-color .2s ease, color .2s ease;
  white-space:nowrap;
}
.btn--primary{ background:var(--accent); color:var(--accent-ink); }
.btn--primary:hover{ background:#ff7640; transform:translateY(-2px); }
.btn--outline{ border-color:var(--line-strong); color:var(--ink); }
.btn--outline:hover{ border-color:var(--accent); color:var(--accent); }
.btn--ghost{ color:var(--ink-dim); border-color:var(--line); background:transparent; }
.btn--ghost:hover{ color:var(--ink); border-color:var(--line-strong); }
.btn--xs{ padding:7px 14px; font-size:11px; }
.btn--lg{ padding:17px 30px; font-size:14px; }
.link-btn{ background:none; border:none; color:var(--accent); font-family:var(--ff-mono); font-size:13px; text-transform:uppercase; letter-spacing:.05em; padding:0; }
.link-btn:hover{ text-decoration:underline; }

.eyebrow{
  font-family:var(--ff-mono);
  font-size:12px;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:var(--accent);
  margin:0 0 14px;
}
.eyebrow__bracket{ color:var(--ink-faint); }

.section__head{ max-width:640px; margin:0 0 56px; }
.section__head h2{ font-size:clamp(32px,4.2vw,46px); line-height:1.05; margin-bottom:16px; }
.section__sub{ color:var(--ink-dim); font-size:16px; max-width:520px; }

/* ================= OFFER TICKER ================= */
.ticker{
  position:sticky; top:0; z-index:41;
  background:var(--accent);
  overflow:hidden;
  border-bottom:1px solid rgba(0,0,0,0.15);
}
.ticker__track{
  display:flex; align-items:center; gap:0; white-space:nowrap;
  width:max-content;
  animation:tickerScroll 22s linear infinite;
}
.ticker__item{
  display:inline-flex; align-items:center; gap:10px;
  padding:9px 28px;
  font-family:var(--ff-mono); font-weight:700; font-size:13px;
  letter-spacing:.04em; text-transform:uppercase;
  color:var(--accent-ink);
  border-right:1px solid rgba(0,0,0,0.18);
}
.ticker__item::before{ content:"▣"; font-size:11px; }
@keyframes tickerScroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@media (prefers-reduced-motion: reduce){ .ticker__track{ animation:none; } }

/* ================= TOP BAR ================= */
.topbar{
  position:relative; z-index:40;
  background:#0a0b08;
  border-bottom:1px solid var(--line);
  font-family:var(--ff-mono);
  font-size:12px;
}
.topbar__inner{ display:flex; align-items:center; justify-content:space-between; height:38px; }
.topbar__item{ color:var(--ink-dim); display:inline-flex; align-items:center; gap:6px; }
.topbar__item:hover{ color:var(--ink); }
.dot{ width:6px; height:6px; border-radius:50%; background:var(--accent); display:inline-block; }
.topbar__right{ display:flex; align-items:center; gap:18px; }
@media (max-width:640px){ .topbar__addr{ display:none; } }

/* ================= HEADER ================= */
.header{
  position:sticky; top:40px; z-index:39;
  background:rgba(18,20,15,0.97);
  border-bottom:1px solid var(--line);
}
.header__inner{ display:flex; align-items:center; justify-content:space-between; height:76px; gap:24px; }

.logo{ display:flex; align-items:center; gap:10px; }
.logo__mark{ color:var(--accent); display:flex; }
.logo__text{ font-family:var(--ff-display); font-weight:900; font-size:22px; letter-spacing:0.04em; }

.nav{ display:flex; gap:28px; flex:1; justify-content:center; }
.nav a{
  font-family:var(--ff-mono); font-size:13px; text-transform:uppercase; letter-spacing:.04em;
  color:var(--ink-dim);
  position:relative; padding:4px 0;
}
.nav a::after{ content:""; position:absolute; left:0; right:0; bottom:-2px; height:1px; background:var(--accent); transform:scaleX(0); transition:transform .2s ease; }
.nav a:hover{ color:var(--ink); }
.nav a:hover::after{ transform:scaleX(1); }

.header__actions{ display:flex; align-items:center; gap:14px; }
.burger{ display:none; flex-direction:column; gap:5px; background:none; border:none; padding:6px; }
.burger span{ width:22px; height:2px; background:var(--ink); display:block; }

@media (max-width:980px){
  .nav{ display:none; }
  .burger{ display:flex; }
}
@media (max-width:640px){
  .header__actions .btn--primary{ display:none; }
}

/* ================= HERO ================= */
.hero{ position:relative; padding:96px 0 64px; overflow:hidden; }
.hero__grid{
  position:absolute; inset:-20% -10%;
  background-image:
    repeating-linear-gradient(0deg, rgba(92,138,153,0.14) 0, rgba(92,138,153,0.14) 1px, transparent 1px, transparent 90px),
    repeating-linear-gradient(90deg, rgba(92,138,153,0.14) 0, rgba(92,138,153,0.14) 1px, transparent 1px, transparent 90px);
  -webkit-mask-image:radial-gradient(ellipse 60% 50% at 70% 20%, black 0%, transparent 70%);
  mask-image:radial-gradient(ellipse 60% 50% at 70% 20%, black 0%, transparent 70%);
}
.hero__inner{ position:relative; z-index:1; }
.hero__title{
  font-size:clamp(46px,7.2vw,96px);
  line-height:0.96;
  margin:0 0 28px;
}
.hero__title--accent{ color:var(--accent); }
.hero__sub{ max-width:520px; color:var(--ink-dim); font-size:17px; margin-bottom:36px; }
.hero__cta{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:64px; }

/* subpage hero (no marquee) + breadcrumbs */
.hero--page{ padding:56px 0 72px; }
.hero__title--page{ font-size:clamp(38px,5.5vw,68px); }
.crumbs{
  padding:20px 24px 0;
  font-family:var(--ff-mono); font-size:12px; letter-spacing:.04em;
  color:var(--ink-faint); display:flex; gap:8px; align-items:center;
}
.crumbs a{ color:var(--ink-dim); }
.crumbs a:hover{ color:var(--accent); }
.crumbs span{ color:var(--ink-faint); }

.marquee{
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:16px 0; overflow:hidden;
  mask-image:linear-gradient(90deg, transparent, black 10%, black 90%, transparent);
}
.marquee__track{
  display:flex; gap:48px; white-space:nowrap;
  font-family:var(--ff-mono); font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-faint);
  animation:scroll 32s linear infinite;
  width:max-content;
}
.marquee__offer{
  color:var(--accent); font-weight:600;
  display:inline-flex; align-items:center; gap:10px;
}
.marquee__offer::before{ content:"▣"; font-size:11px; }
@keyframes scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ================= RATES STRIP ================= */
.rates{ padding:72px 0 24px; position:relative; z-index:1; }
.rates__inner{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.rate-card{ position:relative; background:var(--bg-raised); padding:28px 24px; }
.rate-card__corner{ position:absolute; top:10px; right:10px; width:14px; height:14px; border-top:2px solid var(--accent); border-right:2px solid var(--accent); opacity:.7; }
.rate-card__price{ font-family:var(--ff-mono); font-size:14px; color:var(--ink-dim); margin-bottom:10px; }
.rate-card__price strong{ font-family:var(--ff-display); font-size:30px; color:var(--ink); font-weight:800; }
.rate-card__price small{ font-size:12px; }
.rate-card__label{ font-family:var(--ff-mono); font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--accent); margin-bottom:10px; }
.rate-card__desc{ color:var(--ink-dim); font-size:14px; }
.rates__note{ margin-top:18px; font-size:13px; color:var(--ink-faint); display:flex; gap:10px; flex-wrap:wrap; }
@media (max-width:860px){ .rates__inner{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .rates__inner{ grid-template-columns:1fr; } }

/* ================= PROCESS ================= */
.process{ padding:120px 0; position:relative; z-index:1; }
.process__head{ max-width:640px; margin-bottom:56px; }
.process__head h2{ font-size:clamp(32px,4.2vw,46px); line-height:1.05; margin:14px 0 16px; }
.process__list{ display:grid; grid-template-columns:repeat(4,1fr); gap:32px; counter-reset:step; }
.process__list li{ border-top:2px solid var(--line-strong); padding-top:24px; position:relative; }
.process__num{ font-family:var(--ff-display); font-size:48px; color:var(--steel); font-weight:800; display:block; margin-bottom:12px; }
.process__list h3{ font-size:18px; margin-bottom:10px; }
.process__list p{ color:var(--ink-dim); font-size:14px; }
@media (max-width:980px){ .process__list{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .process__list{ grid-template-columns:1fr; } }

/* ================= STATS ================= */
.stats{ background:var(--blueprint); padding:64px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); position:relative; z-index:1; }
.stats__inner{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; text-align:center; }
.stat{ display:flex; flex-direction:column; align-items:center; }
.stat__num{ font-family:var(--ff-display); font-size:clamp(40px,6vw,64px); font-weight:900; color:var(--ink); line-height:1; }
.stat__suffix{ font-family:var(--ff-display); font-size:28px; color:var(--accent); font-weight:800; margin-top:-30px; }
.stat__label{ font-family:var(--ff-mono); font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-dim); margin-top:10px; }
@media (max-width:760px){ .stats__inner{ grid-template-columns:repeat(2,1fr); } }

/* ================= SERVICES ================= */
.services{ padding:120px 0; position:relative; z-index:1; }
.services__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.service-card{ position:relative; background:var(--bg-card); padding:40px 32px; min-height:260px; display:flex; flex-direction:column; }
.service-card__corner{ position:absolute; top:12px; right:12px; width:16px; height:16px; border-top:2px solid var(--accent); border-right:2px solid var(--accent); }
.service-card__icon{ font-size:26px; color:var(--accent); margin-bottom:20px; }
.service-card h3{ font-size:22px; margin-bottom:12px; }
.service-card h3 a{ color:inherit; text-decoration:none; }
.service-card h3 a:hover{ color:var(--accent); text-decoration:underline; }
.service-card p{ color:var(--ink-dim); font-size:14px; flex:1; }
.service-card__link{ font-family:var(--ff-mono); font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--accent); margin-top:18px; }
.service-card__link:hover{ text-decoration:underline; }
@media (max-width:860px){ .services__grid{ grid-template-columns:1fr; } }

/* ================= FEATURES ================= */
.features{ padding:120px 0; position:relative; z-index:1; }
.features__inner{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.checklist{ margin:28px 0 32px; display:flex; flex-direction:column; gap:14px; }
.checklist li{ position:relative; padding-left:28px; color:var(--ink-dim); font-size:15px; }
.checklist li::before{ content:"▣"; position:absolute; left:0; top:0; color:var(--accent); font-size:14px; }

.features__art{ display:flex; justify-content:center; }
.crate{
  position:relative;
  width:280px; height:280px;
  background:linear-gradient(145deg, var(--bg-card), var(--bg-raised));
  border:2px solid var(--line-strong);
  display:flex; align-items:center; justify-content:center;
}
.crate__stamp{
  font-family:var(--ff-display); font-weight:900; font-size:30px; color:var(--accent);
  border:3px solid var(--accent); padding:10px 18px; transform:rotate(-8deg);
  letter-spacing:.03em;
}
.crate__strap{ position:absolute; background:rgba(237,234,226,0.08); }
.crate__strap--h{ top:50%; left:-14px; right:-14px; height:14px; transform:translateY(-50%); }
.crate__strap--v{ left:50%; top:-14px; bottom:-14px; width:14px; transform:translateX(-50%); }
.crate__corner{ position:absolute; width:22px; height:22px; border:3px solid var(--steel); }
.crate__corner--tl{ top:-3px; left:-3px; border-right:none; border-bottom:none; }
.crate__corner--tr{ top:-3px; right:-3px; border-left:none; border-bottom:none; }
.crate__corner--bl{ bottom:-3px; left:-3px; border-right:none; border-top:none; }
.crate__corner--br{ bottom:-3px; right:-3px; border-left:none; border-top:none; }
@media (max-width:860px){ .features__inner{ grid-template-columns:1fr; } .features__art{ order:-1; } .crate{ width:220px; height:220px; } }

/* ================= PHOTO / VIDEO GALLERY ================= */
.gallery{ padding:100px 0; position:relative; z-index:1; }
.gallery-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line); margin-top:56px;
}
.gallery-item{ position:relative; display:block; aspect-ratio:3/4; overflow:hidden; background:var(--bg-card); }
.gallery-item img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .3s ease; }
.gallery-item:hover img{ transform:scale(1.04); }
.gallery-item__corner{ position:absolute; top:10px; right:10px; width:16px; height:16px; border-top:2px solid var(--accent); border-right:2px solid var(--accent); z-index:1; }
.gallery-item__cap{
  position:absolute; left:0; right:0; bottom:0; padding:14px 16px 12px;
  background:linear-gradient(to top, rgba(10,11,8,0.92), transparent);
  font-family:var(--ff-mono); font-size:12px; color:var(--ink); letter-spacing:.02em;
}
@media (max-width:860px){ .gallery-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .gallery-grid{ grid-template-columns:1fr; } }

.video-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; margin-top:32px; max-width:700px; }
.video-card{ background:var(--bg-card); border:1px solid var(--line-strong); padding:16px; }
.video-card video{ width:100%; display:block; background:#000; aspect-ratio:9/16; max-height:480px; object-fit:contain; }
.video-card p{ font-family:var(--ff-mono); font-size:12px; color:var(--ink-dim); margin-top:12px; text-align:center; }
@media (max-width:640px){ .video-grid{ grid-template-columns:1fr; max-width:360px; } }

/* ================= EQUIPMENT / SCANNER ART ================= */
.equipment{ padding:0 0 120px; position:relative; z-index:1; }
.equipment__inner{ display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:center; }
.scanner-wrap{
  position:relative; display:flex; align-items:center; justify-content:center;
  width:280px; height:280px; margin:0 auto;
  background:linear-gradient(145deg, var(--bg-card), var(--bg-raised));
  border:2px solid var(--line-strong);
}
.scanner-wrap svg{ width:150px; height:210px; }
.scanner-wrap .crate__corner{ position:absolute; width:22px; height:22px; border:3px solid var(--steel); }
.scanner-tag{
  position:absolute; bottom:14px; left:50%; transform:translateX(-50%);
  font-family:var(--ff-mono); font-size:11px; letter-spacing:.1em; color:var(--accent);
  border:1px solid var(--accent); padding:4px 10px;
}
@media (max-width:860px){ .equipment__inner{ grid-template-columns:1fr; } .equipment .features__art{ order:-1; } }

.equipment-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--line); border:1px solid var(--line); margin-top:64px;
}
.equipment-card{
  background:var(--bg-card); padding:28px 22px;
  display:flex; flex-direction:column; align-items:flex-start; gap:16px;
}
.equipment-card__icon{
  width:72px; height:72px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(145deg, var(--bg-raised), var(--bg-card));
  border:1px solid var(--line-strong);
}
.equipment-card__icon svg{ width:40px; height:40px; }
.equipment-card h3{ font-size:16px; }
.equipment-card p{ color:var(--ink-dim); font-size:13px; line-height:1.55; }
@media (max-width:860px){ .equipment-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .equipment-grid{ grid-template-columns:1fr; } }

/* ================= ONBOARDING ================= */
.onboarding{ padding:120px 0; background:var(--bg-raised); border-top:1px solid var(--line); border-bottom:1px solid var(--line); position:relative; z-index:1; }
.onb__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:40px 32px; }
.onb__grid li{ position:relative; padding-left:0; }
.onb__num{ font-family:var(--ff-mono); font-size:13px; color:var(--accent-ink); background:var(--accent); display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; font-weight:700; margin-bottom:16px; }
.onb__grid h3{ font-size:17px; margin-bottom:8px; }
.onb__grid p{ color:var(--ink-dim); font-size:14px; }
@media (max-width:860px){ .onb__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .onb__grid{ grid-template-columns:1fr; } }

/* ================= PERKS ================= */
.perks{ padding:120px 0; position:relative; z-index:1; }
.perks__grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.perk{ background:var(--bg-card); padding:28px 22px; }
.perk__num{ font-family:var(--ff-mono); font-size:12px; color:var(--ink-faint); display:block; margin-bottom:18px; }
.perk h3{ font-size:16px; margin-bottom:10px; }
.perk h3 a{ color:inherit; text-decoration:none; }
.perk h3 a:hover{ color:var(--accent); text-decoration:underline; }
.perk p{ color:var(--ink-dim); font-size:13px; }
@media (max-width:980px){ .perks__grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .perks__grid{ grid-template-columns:1fr; } }

/* ================= REVIEWS ================= */
.reviews{ padding:120px 0; position:relative; z-index:1; overflow:hidden; }
.reviews__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:56px; flex-wrap:wrap; }
.reviews__nav{ display:flex; gap:10px; flex-shrink:0; }
.reviews__arrow{
  width:44px; height:44px; display:flex; align-items:center; justify-content:center;
  background:none; border:1px solid var(--line-strong); color:var(--ink);
  font-size:16px; transition:border-color .15s ease, color .15s ease;
}
.reviews__arrow:hover{ border-color:var(--accent); color:var(--accent); }
.reviews__arrow:disabled{ opacity:.35; cursor:default; }
.reviews__arrow:disabled:hover{ border-color:var(--line-strong); color:var(--ink); }
.reviews__track{ display:flex; gap:24px; overflow-x:auto; padding-bottom:12px; scroll-snap-type:x mandatory; scrollbar-width:none; }
.reviews__track::-webkit-scrollbar{ display:none; }
.review-card{
  flex:0 0 340px; scroll-snap-align:start;
  background:var(--bg-card); border:1px solid var(--line); padding:28px;
  display:flex; flex-direction:column; justify-content:space-between; gap:20px;
}
.review-card p{ color:var(--ink); font-size:15px; line-height:1.6; font-style:italic; }
.review-card__foot{ display:flex; justify-content:space-between; font-family:var(--ff-mono); font-size:12px; color:var(--ink-faint); text-transform:uppercase; letter-spacing:.03em; }
.review-card__rating{ color:var(--accent); font-size:13px; letter-spacing:.1em; }
.review-card__foot span:last-child{ text-align:right; }

/* ================= FAQ ================= */
.faq{ padding:120px 0; position:relative; z-index:1; }
.faq__list{ border-top:1px solid var(--line); max-width:760px; }
.faq__item{ border-bottom:1px solid var(--line); }
.faq__q{
  width:100%; display:flex; justify-content:space-between; align-items:center;
  background:none; border:none; color:var(--ink);
  font-family:var(--ff-body); font-size:16px; font-weight:600;
  padding:22px 0; text-align:left;
}
.faq__q span{ font-family:var(--ff-mono); color:var(--accent); font-size:18px; transition:transform .2s ease; }
.faq__item.open .faq__q span{ transform:rotate(45deg); }
.faq__a{ max-height:0; overflow:hidden; transition:max-height .25s ease; }
.faq__a p{ color:var(--ink-dim); font-size:14px; padding-bottom:22px; max-width:600px; }
.faq__item.open .faq__a{ max-height:200px; }

/* ================= CONTACT ================= */
.contact{ padding:120px 0; background:var(--bg-raised); border-top:1px solid var(--line); position:relative; z-index:1; }
.contact__inner{ display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.contact__text h2{ font-size:clamp(30px,4vw,42px); line-height:1.08; margin:14px 0 16px; }
.contact__form{ display:flex; flex-direction:column; gap:16px; }
.contact__form label{ display:flex; flex-direction:column; gap:8px; font-family:var(--ff-mono); font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-dim); }
.contact__form input[type=text], .contact__form input[type=tel]{
  background:var(--bg-card); border:1px solid var(--line-strong); color:var(--ink);
  padding:14px 16px; font-family:var(--ff-body); font-size:15px; border-radius:var(--radius);
}
.contact__form input:focus{ outline:none; border-color:var(--accent); }
.checkbox{ flex-direction:row !important; align-items:flex-start; gap:10px !important; font-size:13px; text-transform:none; letter-spacing:0; }
.checkbox input{ margin-top:3px; }
.checkbox a{ color:var(--accent); text-decoration:underline; }
.contact__success{ color:var(--accent); font-size:13px; font-family:var(--ff-mono); }
.contact__success.form__msg--error, .modal__success.form__msg--error{ color:#ff6b6b; }
@media (max-width:860px){ .contact__inner{ grid-template-columns:1fr; } }

/* ================= FOOTER ================= */
.footer{ background:#0a0b08; padding:72px 0 0; position:relative; z-index:1; }
.footer__inner{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr 1fr; gap:32px; padding-bottom:48px; border-bottom:1px solid var(--line); }
.footer__brand p{ color:var(--ink-faint); font-size:13px; margin-top:16px; max-width:220px; }
.footer__col h4{ font-family:var(--ff-mono); font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-faint); margin-bottom:16px; font-weight:600; }
.footer__col{ display:flex; flex-direction:column; gap:10px; }
.footer__col a, .footer__col span{ color:var(--ink-dim); font-size:14px; }
.footer__col a:hover{ color:var(--accent); }
.footer__bottom{ display:flex; justify-content:space-between; align-items:center; padding:24px 0; flex-wrap:wrap; gap:12px; }
.footer__bottom span{ font-family:var(--ff-mono); font-size:11px; color:var(--ink-faint); }
.footer__legal{ display:flex; gap:20px; }
.footer__legal a{ font-family:var(--ff-mono); font-size:11px; color:var(--ink-faint); }
.footer__legal a:hover{ color:var(--accent); }
@media (max-width:980px){ .footer__inner{ grid-template-columns:1fr 1fr 1fr; } }
@media (max-width:640px){ .footer__inner{ grid-template-columns:1fr 1fr; } }
@media (max-width:420px){ .footer__inner{ grid-template-columns:1fr; } }

/* ================= MODAL ================= */
.modal{ position:fixed; inset:0; z-index:100; display:none; align-items:center; justify-content:center; padding:24px; }
.modal.open{ display:flex; }
.modal__backdrop{ position:absolute; inset:0; background:rgba(10,11,8,0.82); backdrop-filter:blur(4px); }
.modal__panel{
  position:relative; background:var(--bg-card); border:1px solid var(--line-strong);
  max-width:460px; width:100%; max-height:88vh; overflow-y:auto;
  padding:36px; z-index:1;
}
.modal__panel h3{ font-size:26px; margin-bottom:10px; }
.modal__sub{ color:var(--ink-dim); font-size:14px; margin-bottom:24px; }
.modal__label{ font-family:var(--ff-mono); font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-dim); margin:18px 0 10px; }
.modal__close{ position:absolute; top:16px; right:16px; background:none; border:none; color:var(--ink-dim); font-size:26px; line-height:1; }
.modal__close:hover{ color:var(--accent); }
.modal__success{ color:var(--accent); font-size:13px; font-family:var(--ff-mono); margin-top:14px; }

.chip-group{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:8px; }
.chip{ position:relative; }
.chip input{ position:absolute; opacity:0; }
.chip span{
  display:inline-flex; padding:9px 14px; border:1px solid var(--line-strong); border-radius:var(--radius);
  font-size:13px; color:var(--ink-dim); transition:all .15s ease;
}
.chip input:checked + span{ background:var(--accent); color:var(--accent-ink); border-color:var(--accent); }

.modal__panel label{ display:flex; flex-direction:column; gap:8px; font-family:var(--ff-mono); font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-dim); margin-top:16px; }
.modal__panel input[type=text], .modal__panel input[type=tel]{
  background:var(--bg); border:1px solid var(--line-strong); color:var(--ink);
  padding:13px 14px; font-family:var(--ff-body); font-size:14px; border-radius:var(--radius);
}
.modal__panel input:focus{ outline:none; border-color:var(--accent); }
.modal__panel button[type=submit]{ margin-top:22px; width:100%; }

/* ================= ARTICLE / BLOG ================= */
.article{ padding:24px 0 60px; position:relative; z-index:1; }
.article__body{ max-width:760px; }
.article__meta{ font-family:var(--ff-mono); font-size:12px; letter-spacing:.04em; color:var(--ink-faint); margin-bottom:28px; }
.article__body h2{ font-size:clamp(24px,3vw,30px); margin:48px 0 16px; line-height:1.15; }
.article__body h2:first-of-type{ margin-top:0; }
.article__body h3{ font-size:19px; margin:28px 0 12px; }
.article__body p{ color:var(--ink-dim); font-size:16px; line-height:1.75; margin-bottom:18px; max-width:700px; }
.article__body ul{ margin:8px 0 24px; padding-left:0; }
.article__body li{ position:relative; padding-left:26px; color:var(--ink-dim); font-size:15px; line-height:1.6; margin-bottom:10px; max-width:680px; }
.article__body li::before{ content:"▣"; position:absolute; left:0; top:1px; color:var(--accent); font-size:12px; }
.article__body strong{ color:var(--ink); }
.article__cta{ margin-top:40px; padding:32px; border:1px solid var(--line-strong); background:var(--bg-card); display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap; }
.article__cta p{ margin:0; color:var(--ink-dim); max-width:420px; }
.article__compare{ width:100%; border-collapse:collapse; margin:16px 0 28px; border:1px solid var(--line-strong); }
.article__compare th, .article__compare td{ padding:12px 16px; border-top:1px solid var(--line); font-size:14px; text-align:left; color:var(--ink-dim); }
.article__compare th{ font-family:var(--ff-mono); font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--accent); background:var(--bg-raised); border-top:none; }
.article__compare td:first-child{ color:var(--ink); font-weight:600; white-space:nowrap; }

.blog-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.blog-card{ position:relative; background:var(--bg-card); padding:32px; display:flex; flex-direction:column; min-height:220px; }
.blog-card__corner{ position:absolute; top:12px; right:12px; width:16px; height:16px; border-top:2px solid var(--accent); border-right:2px solid var(--accent); }
.blog-card__tag{ font-family:var(--ff-mono); font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--accent); margin-bottom:16px; }
.blog-card h3{ font-size:19px; margin-bottom:10px; }
.blog-card p{ color:var(--ink-dim); font-size:14px; flex:1; }
.blog-card__link{ font-family:var(--ff-mono); font-size:12px; text-transform:uppercase; letter-spacing:.05em; color:var(--accent); margin-top:18px; }
.blog-card__link:hover{ text-decoration:underline; }
@media (max-width:860px){ .blog-grid{ grid-template-columns:1fr; } }

/* ================= PRICE TABLE ================= */
.pricetable{ padding:24px 0 100px; position:relative; z-index:1; }
.pricetable__group{ margin-bottom:48px; }
.pricetable__group h3{
  font-size:20px; margin-bottom:0; padding:14px 20px;
  background:var(--bg-raised); border:1px solid var(--line-strong); border-bottom:none;
  display:flex; align-items:center; gap:10px;
}
.pricetable__group h3::before{ content:""; width:8px; height:8px; background:var(--accent); display:inline-block; }
.pricetable table{ width:100%; border-collapse:collapse; border:1px solid var(--line-strong); }
.pricetable td{ padding:14px 20px; border-top:1px solid var(--line); font-size:14px; color:var(--ink-dim); }
.pricetable tr td:first-child{ color:var(--ink); }
.pricetable tr td:last-child{ text-align:right; font-family:var(--ff-mono); color:var(--accent); font-weight:600; white-space:nowrap; }
.pricetable__note{ max-width:700px; color:var(--ink-faint); font-size:13px; margin-top:16px; }
.pricetable__group-note{ color:var(--accent); font-size:13px; padding:12px 20px; border:1px solid var(--line-strong); border-top:none; background:var(--bg-card); }
@media (max-width:640px){
  .pricetable td{ padding:12px 14px; font-size:13px; }
}

/* ================= utility ================= */
@media (max-width:980px){
  .nav{ position:fixed; top:76px; left:0; right:0; bottom:0; background:var(--bg); flex-direction:column; align-items:flex-start; padding:32px 24px; gap:22px; transform:translateX(100%); transition:transform .25s ease; z-index:38; display:flex; }
  .nav.open{ transform:translateX(0); }
  .nav a{ font-size:16px; }
}

/* ================= SHIP COUNTDOWN WIDGET ================= */
.shipcountdown{
  position:fixed; left:20px; bottom:20px; z-index:45;
  background:var(--bg-card); border:1px solid var(--line-strong); border-left:3px solid var(--accent);
  padding:16px 36px 14px 20px; min-width:230px;
  box-shadow:0 10px 30px rgba(0,0,0,0.5);
  opacity:0; transform:translateY(12px); pointer-events:none;
  transition:opacity .4s ease, transform .4s ease;
}
.shipcountdown.is-visible{ opacity:1; transform:translateY(0); pointer-events:auto; }
.shipcountdown__close{
  position:absolute; top:6px; right:6px; width:24px; height:24px; border:none; background:transparent;
  color:var(--ink-faint); font-size:17px; line-height:1; cursor:pointer;
}
.shipcountdown__close:hover{ color:var(--accent); }
.shipcountdown__label{
  display:flex; align-items:center; gap:7px;
  font-family:var(--ff-mono); font-size:11px; text-transform:uppercase; letter-spacing:.05em;
  color:var(--ink-dim); margin:0 0 8px;
}
.shipcountdown__label .dot{ animation:shipcountdownPulse 1.4s ease-in-out infinite; }
@keyframes shipcountdownPulse{ 0%,100%{ opacity:1; } 50%{ opacity:.25; } }
.shipcountdown__time{
  font-family:var(--ff-mono); font-size:30px; font-weight:600; color:var(--accent);
  margin:0; letter-spacing:.03em;
}
.shipcountdown__sub{ font-size:12px; color:var(--ink-faint); margin:5px 0 0; }
@media (max-width:640px){
  .shipcountdown{ left:12px; right:12px; bottom:12px; min-width:0; padding:14px 36px 12px 16px; }
  .shipcountdown__time{ font-size:26px; }
}

/* ================= COOKIE CONSENT BAR ================= */
.cookiebar{
  position:fixed; left:0; right:0; bottom:0; z-index:46;
  background:var(--bg-raised); border-top:1px solid var(--line-strong);
  box-shadow:0 -10px 30px rgba(0,0,0,0.4);
  padding:16px 24px; display:flex; align-items:center; justify-content:center;
  gap:20px; flex-wrap:wrap;
  transform:translateY(100%); transition:transform .4s ease;
}
.cookiebar.is-visible{ transform:translateY(0); }
.cookiebar p{ margin:0; max-width:760px; font-size:13px; color:var(--ink-dim); text-align:center; }
.cookiebar p a{ color:var(--accent); text-decoration:underline; }
.cookiebar__accept{ flex-shrink:0; white-space:nowrap; }
@media (max-width:640px){
  .cookiebar{ padding:14px 16px; gap:12px; }
  .cookiebar p{ font-size:12px; text-align:left; }
}

body.has-cookiebar .shipcountdown{ bottom:96px; }
@media (max-width:640px){
  body.has-cookiebar .shipcountdown{ bottom:148px; }
}
