/* Source: original-fonts.css */
/* latin */
@font-face {
  font-family: 'Big Shoulders Display';
  font-style: normal;
  font-weight: 700 900;
  font-display: optional;
  src: url(/fonts/classic/subset-0.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
  font-family: 'DM Mono';
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url(/fonts/classic/subset-1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: optional;
  src: url(/fonts/classic/subset-2.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400 700;
  font-display: optional;
  src: url(/fonts/classic/subset-3.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Source: style.css */
/* ═══════════════════════════════════════════════════
   КАТКОМ — Premium Industrial Luxury
   Fonts: Big Shoulders Display · Manrope · DM Mono
   ═══════════════════════════════════════════════════ */

:root {
  --bg:      #0c0a08;
  --bg-1:    #111009;
  --bg-2:    #18150e;
  --panel:   #1e1a12;
  --line:    rgba(255,243,210,0.07);
  --line-s:  rgba(255,243,210,0.14);
  --text:    #f0e8d5;
  --text-2:  #c0b49a;
  --muted:   #8e816a;
  --gold:    #f0b429;
  --gold-2:  #ffd060;
  --green:   #25d366;
  --ease:    cubic-bezier(0.22,1,0.36,1);
  --display: 'Big Shoulders Display', sans-serif;
  --body:    'Manrope', sans-serif;
  --mono:    'DM Mono', monospace;
  --shadow:  0 20px 60px rgba(0,0,0,0.45);
  --r:       18px;
}

/* ── RESET ─────────────────────────────────────── */
*,*::before,*::after { box-sizing: border-box; }
img { image-orientation: from-image; }
html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
body { margin:0; font-family:var(--body); background:var(--bg); color:var(--text); line-height:1.65; overflow-x:hidden; }
img  { display:block; max-width:100%; height:auto; }
a    { color:inherit; text-decoration:none; }
button,input,select { font:inherit; }
button { border:0; background:none; cursor:pointer; }
ul,ol  { margin:0; padding:0; list-style:none; }
h1,h2,h3,h4,p { margin:0; }
::selection { background:var(--gold); color:#0c0a08; }
:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:3px;
}

/* ── SKIP TO CONTENT ────────────────────────────── */
.skip-to-content {
  position:fixed; top:12px; left:12px; z-index:99999;
  padding:10px 20px; border-radius:8px;
  background:var(--gold); color:#0c0a08;
  font-weight:700; font-size:.86rem; letter-spacing:.02em;
  transform:translateY(-120%);
  transition:transform .2s var(--ease);
}
.skip-to-content:focus { transform:translateY(0); }

/* ── GRAIN ──────────────────────────────────────── */
.grain {
  position:fixed; inset:0; pointer-events:none; z-index:999; opacity:.028;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ── CUSTOM CURSOR ──────────────────────────────── */
.cursor { position:fixed; top:0; left:0; pointer-events:none; z-index:9999; }
.cursor__dot {
  position:absolute; top:-5px; left:-5px; width:10px; height:10px;
  border-radius:50%; background:#fff; mix-blend-mode:difference;
  transition:transform .06s linear;
}
.cursor__ring {
  position:absolute; top:-22px; left:-22px; width:44px; height:44px;
  border-radius:50%; border:1.5px solid rgba(255,255,255,.45); mix-blend-mode:difference;
  transition:transform .2s var(--ease), width .3s var(--ease), height .3s var(--ease), top .3s var(--ease), left .3s var(--ease);
}
.cursor--hover .cursor__ring { width:64px; height:64px; top:-32px; left:-32px; border-color:rgba(240,180,41,.7); }

/* ── LAYOUT ─────────────────────────────────────── */
.container { width:min(1240px,calc(100% - 48px)); margin:0 auto; }
.section   { padding:clamp(64px,7vw,100px) 0; }

.sh {
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:auto auto;
  gap:0 40px;
  margin-bottom:clamp(36px,5vw,60px);
}
/* Base section-tag — used both inside and outside .sh */
.section-tag {
  font-family:var(--mono); font-size:.68rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--gold); display:block;
}
/* Inside .sh: span full width top row */
.sh > .section-tag {
  grid-column:1 / -1;
  margin-bottom:clamp(20px, 2.5vw, 28px);
}
.sh__title {
  font-family:var(--display); font-weight:900;
  font-size:clamp(2.6rem,5vw,4.4rem); line-height:1;
  letter-spacing:-.02em; text-transform:uppercase; color:var(--text);
  align-self:start;
}
.sh__desc {
  color:var(--text-2); font-size:clamp(.9rem,1.3vw,1rem);
  line-height:1.72; max-width:52ch;
  align-self:center;
}

/* ── BUTTONS ────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  min-height:52px; padding:0 26px; border-radius:8px;
  border:1.5px solid transparent; font-weight:600; font-size:.86rem;
  letter-spacing:.03em; white-space:nowrap;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), border-color .25s var(--ease);
}
.btn:hover { transform:translateY(-2px); }
.btn-gold  { background:var(--gold); color:#0c0a08; border-color:var(--gold); box-shadow:0 12px 32px rgba(240,180,41,.28); }
.btn-gold:hover { background:var(--gold-2); border-color:var(--gold-2); box-shadow:0 18px 48px rgba(240,180,41,.4); }
.btn-ghost { background:transparent; border-color:var(--line-s); color:var(--text-2); }
.btn-ghost:hover { border-color:rgba(240,180,41,.45); color:var(--text); background:rgba(240,180,41,.06); }
.btn-dark  { background:var(--bg); color:var(--text); border-color:rgba(12,10,8,.2); }
.btn-dark:hover  { background:var(--bg-2); }
.btn-dark-o { background:transparent; border-color:rgba(12,10,8,.25); color:var(--bg); }
.btn-dark-o:hover { background:rgba(12,10,8,.1); }
.btn-full  { width:100%; }

/* ── HEADER ─────────────────────────────────────── */
.site-header {
  position:fixed; inset:0 0 auto; z-index:200;
  background:rgba(12,10,8,.55); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(255,243,210,0.04);
  transition:background .4s var(--ease), border-color .4s var(--ease), backdrop-filter .4s;
}
.site-header--scrolled {
  background:rgba(12,10,8,.92); backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px); border-bottom:1px solid var(--line);
}
.site-header__inner {
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; min-height:78px;
}
.brand { display:inline-flex; align-items:center; gap:10px; flex-shrink:0; text-decoration:none; }
.brand__logo {
  height:46px; width:auto;
  display:block;
  object-fit:contain;
  filter:brightness(1.05) contrast(1);
  transition:opacity .2s;
}
.brand:hover .brand__logo { opacity:.85; }
.brand__wordmark {
  font-family:var(--display); font-weight:900;
  font-size:1.25rem; text-transform:uppercase;
  letter-spacing:.06em; line-height:1; color:var(--text);
  transition:color .2s;
}
.brand:hover .brand__wordmark { color:var(--gold); }
/* Used in footer and subpages */
.brand__mark {
  width:46px; height:46px; border-radius:0;
  display:inline-flex; align-items:center; justify-content:center;
  background:var(--gold); color:#0c0a08;
  font-family:var(--display); font-weight:900; font-size:1.65rem;
  letter-spacing:-.02em; flex-shrink:0;
  clip-path: polygon(0 0, 100% 0, 100% 68%, 78% 100%, 0 100%);
}
.brand__name {
  font-family:var(--display); font-size:1.05rem; font-weight:900;
  text-transform:uppercase; letter-spacing:.03em; line-height:1; color:var(--text);
}
.site-nav { display:flex; align-items:center; gap:32px; }
.site-nav a {
  color:var(--text-2); font-size:.76rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.12em;
  transition:color .2s; position:relative;
}
.site-nav a:hover { color:var(--text); }
.header-actions { display:flex; align-items:center; gap:20px; }
.header-phone { color:var(--text-2); font-size:.8rem; font-weight:600; letter-spacing:.03em; transition:color .2s; }
.header-phone:hover { color:var(--gold); }
.burger { display:none; flex-direction:column; gap:5px; padding:8px; flex-shrink:0; }
.burger span { width:22px; height:2px; background:var(--text); border-radius:2px; transition:transform .25s var(--ease), opacity .25s; }
.burger--active span:first-child { transform:translateY(3.5px) rotate(45deg); }
.burger--active span:last-child  { transform:translateY(-3.5px) rotate(-45deg); }

/* ── MOBILE NAV ─────────────────────────────────── */
.mob-nav {
  position:fixed; inset:0; display:flex; flex-direction:column;
  justify-content:center; align-items:center;
  background:rgba(8,7,5,.97); backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  opacity:0; pointer-events:none;
  transition:opacity .35s var(--ease);
  z-index:190;
}
.mob-nav--open { opacity:1; pointer-events:auto; }
.mob-nav__inner {
  width:min(90vw, 400px); padding:0;
  display:flex; flex-direction:column; gap:0;
  background:none; border:none; box-shadow:none;
}
.mob-nav__inner a {
  font-family:var(--display); font-size:clamp(2rem, 8vw, 2.8rem); font-weight:900;
  text-transform:uppercase; letter-spacing:-.01em; line-height:1;
  color:var(--text-2);
  padding:clamp(14px, 3vw, 20px) 0;
  border-bottom:1px solid var(--line);
  transition:color .25s var(--ease), padding-left .25s var(--ease);
  display:flex; align-items:center; gap:14px;
}
.mob-nav__inner a:first-child { border-top:1px solid var(--line); }
.mob-nav__inner a:active { color:var(--gold); padding-left:8px; }
.mob-nav__phone {
  color:var(--gold) !important;
  font-family:var(--body) !important; font-size:1rem !important;
  font-weight:600 !important; letter-spacing:.04em !important;
  border-bottom:none !important;
  margin-top:clamp(20px, 4vw, 36px);
  padding:16px 24px !important;
  border:1px solid rgba(240,180,41,.3) !important;
  border-radius:var(--r); text-align:center; justify-content:center;
  transition:background .25s var(--ease), color .25s;
}
.mob-nav__phone:active {
  background:var(--gold) !important;
  color:#0c0a08 !important;
}
.mob-nav__socials {
  display:flex; justify-content:center; gap:20px;
  margin-top:clamp(14px, 3vw, 24px);
}
.mob-nav__social {
  width:52px; height:52px; border-radius:50%;
  border:1px solid var(--line-s);
  display:flex; align-items:center; justify-content:center;
  transition:border-color .25s var(--ease), background .25s var(--ease), transform .2s var(--ease);
}
.mob-nav__social img { width:24px; height:24px; object-fit:contain; }
.mob-nav__social:active {
  border-color:var(--gold); background:rgba(240,180,41,.1);
  transform:scale(0.92);
}

/* ── HERO CINEMATIC SLIDER ───────────────────────── */
.hero {
  position:relative; min-height:100svh;
  display:flex; flex-direction:column; justify-content:flex-end;
  padding-top:78px; overflow:hidden;
}
.hero__slider {
  position:absolute; inset:0; z-index:0; overflow:hidden;
}

/* Individual slide */
.hero__slide {
  position:absolute; inset:0;
  opacity:0;
  transition:opacity 1.4s cubic-bezier(0.4,0,0.2,1);
  will-change:opacity;
}
.hero__slide--active { opacity:1; }
.hero__slide--leaving { opacity:0; }

/* Background image with Ken Burns */
.hero__slide-picture {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
}
.hero__slide-img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  will-change:transform;
  transform-origin:center center;
  transform:scale(1.12) scaleX(-1);
}

/* Ken Burns animations — 3 variants for visual variety */
.hero__slide--active .hero__slide-img {
  animation:kenBurns1 8s linear forwards;
}
.hero__slide[data-index="1"] .hero__slide-img {
  animation:kenBurns2 8s linear forwards;
}
.hero__slide[data-index="2"] .hero__slide-img {
  animation:kenBurns3 8s linear forwards;
}

/* Slide 0: subtle zoom-in from center */
@keyframes kenBurns1 {
  0%   { transform:scale(1.14) translate3d(0, 0, 0) scaleX(-1); }
  100% { transform:scale(1.08) translate3d(0, 0, 0) scaleX(-1); }
}
/* Slide 1: slow drift left→right */
@keyframes kenBurns2 {
  0%   { transform:scale(1.16) translate3d(-1.2%, 0.4%, 0) scaleX(-1); }
  100% { transform:scale(1.10) translate3d(1.2%, -0.4%, 0) scaleX(-1); }
}
/* Slide 2: drift top-right → bottom-left */
@keyframes kenBurns3 {
  0%   { transform:scale(1.15) translate3d(1%, -0.8%, 0) scaleX(-1); }
  100% { transform:scale(1.09) translate3d(-1%, 0.8%, 0) scaleX(-1); }
}

/* Multi-layer overlay: bottom gradient + left fade + top dimmer */
.hero__overlay {
  position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    /* Strong bottom gradient — keep text legible */
    linear-gradient(to top,
      rgba(12,10,8,1)    0%,
      rgba(12,10,8,.88) 18%,
      rgba(12,10,8,.55) 42%,
      rgba(12,10,8,.18) 68%,
      rgba(12,10,8,.05) 100%
    ),
    /* Left side fade — text area */
    linear-gradient(to right,
      rgba(12,10,8,.72) 0%,
      rgba(12,10,8,.30) 40%,
      transparent       70%
    ),
    /* Subtle top darkening for header readability */
    linear-gradient(to bottom,
      rgba(12,10,8,.30) 0%,
      transparent 30%
    );
}


/* ── SLIDE PROGRESS LINE ─────────────────────────── */
.hero__slide-progress {
  position:absolute; bottom:0; left:0; right:0; height:2px;
  background:rgba(255,255,255,.08); z-index:10;
}
.hero__slide-progress-fill {
  height:100%;
  background:linear-gradient(to right, var(--gold), var(--gold-2));
  width:0%;
  transition:width linear;
}

/* ── HERO BODY + EXISTING REST ───────────────────── */
.hero__body {
  position:relative; z-index:2;
  padding-bottom:clamp(32px,5vw,56px);
  max-width:1200px;
  transition:opacity .4s var(--ease);
}
.hero__body--fading { opacity:0; }
.hero__eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--mono); font-size:.7rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--gold); margin-bottom:clamp(16px, 2.5vw, 24px);
  opacity:0; animation:fadeUp .8s var(--ease) .2s forwards;
}
.pulse-dot {
  width:7px; height:7px; border-radius:50%; background:var(--gold);
  flex-shrink:0; animation:blink 2.2s ease-in-out infinite;
}
@keyframes blink { 0%,100%{opacity:1} 50%{opacity:.25} }

.hero__h1 {
  font-family:var(--display); font-weight:900;
  font-size:clamp(3.2rem, 8.2vw, 7.6rem); line-height:1;
  letter-spacing:-.02em; text-transform:uppercase;
  margin-bottom:clamp(20px, 3vw, 32px);
  /* No overflow:hidden to allow large fonts to exceed bounds without horizontal slice matching the container */
}
.h1l {
  display:block; opacity:0; transform:translateY(64px);
  animation:slideUp .9s var(--ease) var(--d,0s) forwards;
}
.h1l--gold { color:var(--gold); }
@keyframes slideUp { to { opacity:1; transform:translateY(0); } }
@keyframes fadeUp  { from{opacity:0;transform:translateY(14px)} to{opacity:1;transform:translateY(0)} }

.hero__sub {
  color:var(--text-2); font-size:clamp(.9rem,1.5vw,1.06rem); line-height:1.72;
  margin-bottom:26px; max-width:60ch;
  opacity:0; animation:fadeUp .8s var(--ease) .82s forwards;
  /* Extra text-shadow for sub on photo backgrounds */
  text-shadow:0 1px 12px rgba(0,0,0,.6);
}
.br-d { display:block; }
.hero__badges {
  display:flex; flex-wrap:wrap; gap:10px; margin-bottom:34px;
  opacity:0; animation:fadeUp .8s var(--ease) .95s forwards;
}
.badge {
  display:inline-flex; align-items:center; padding:8px 15px;
  border:1px solid rgba(240,180,41,.3); border-radius:999px;
  background:rgba(240,180,41,.08); color:var(--gold);
  font-size:.76rem; font-weight:600; letter-spacing:.02em;
  backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px);
}
.hero__cta {
  display:flex; flex-wrap:wrap; gap:14px;
  opacity:0; animation:fadeUp .8s var(--ease) 1.08s forwards;
}

/* STATS STRIP */
.hero__stats-strip {
  position:relative; z-index:2;
  display:flex; align-items:center;
  padding:clamp(18px,2.5vw,26px) 0;
  border-top:1px solid rgba(255,243,210,.12);
  opacity:0; animation:fadeUp .8s var(--ease) 1.22s forwards;
  background:linear-gradient(to top, rgba(12,10,8,.85) 0%, rgba(12,10,8,.3) 100%);
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.hstat { 
  flex:1; text-align:center; 
  transition: opacity 1.2s cubic-bezier(0.19, 1, 0.22, 1), transform 1.2s cubic-bezier(0.19, 1, 0.22, 1), filter 1.2s ease;
  will-change: opacity, transform, filter;
}
.hstat__n {
  font-family:var(--display); font-weight:900;
  font-size:clamp(1.8rem,3.5vw,3.2rem); line-height:1;
  color:var(--gold); letter-spacing:-.02em; margin-bottom:5px;
  /* Blur effect for "modern" feel during entry */
  filter: blur(8px);
  opacity: 0;
  transform: translateY(15px);
  transition: filter 1s var(--ease), opacity 1s var(--ease), transform 1s var(--ease);
}
.reveal--stats.visible .hstat__n {
  filter: blur(0);
  opacity: 1;
  transform: translateY(0);
}
/* Staggered transition delays */
.reveal--stats.visible .hstat:nth-child(1) .hstat__n { transition-delay: 0.1s; }
.reveal--stats.visible .hstat:nth-child(3) .hstat__n { transition-delay: 0.25s; filter: blur(0); opacity: 1; transform: translateY(0); }
.reveal--stats.visible .hstat:nth-child(5) .hstat__n { transition-delay: 0.4s; filter: blur(0); opacity: 1; transform: translateY(0); }
.reveal--stats.visible .hstat:nth-child(7) .hstat__n { transition-delay: 0.55s; filter: blur(0); opacity: 1; transform: translateY(0); }

.hstat__l {
  font-size:.68rem; color:var(--muted);
  text-transform:uppercase; letter-spacing:.14em; line-height:1.4;
  font-family:var(--mono);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.8s var(--ease), transform 0.8s var(--ease);
}
.reveal--stats.visible .hstat__l {
  opacity: 1;
  transform: translateY(0);
}
.reveal--stats.visible .hstat:nth-child(1) .hstat__l { transition-delay: 0.3s; }
.reveal--stats.visible .hstat:nth-child(3) .hstat__l { transition-delay: 0.45s; }
.reveal--stats.visible .hstat:nth-child(5) .hstat__l { transition-delay: 0.6s; }
.reveal--stats.visible .hstat:nth-child(7) .hstat__l { transition-delay: 0.75s; }

.hstat__sep { 
  width:1px; height:44px; background:var(--line-s); flex-shrink:0; 
  opacity: 0; transform: scaleY(0); transform-origin: top;
  transition: opacity 1s var(--ease), transform 1s var(--ease);
}
.reveal--stats.visible .hstat__sep {
  opacity: 1; transform: scaleY(1);
}
.reveal--stats.visible .hstat__sep:nth-child(2) { transition-delay: 0.2s; }
.reveal--stats.visible .hstat__sep:nth-child(4) { transition-delay: 0.35s; }
.reveal--stats.visible .hstat__sep:nth-child(6) { transition-delay: 0.5s; }


/* ── TICKER ─────────────────────────────────────── */
.ticker {
  overflow:hidden; border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:linear-gradient(to right, var(--bg-2), var(--panel), var(--bg-2));
}
.ticker__wrap {
  display:flex; align-items:center; gap:28px; padding:13px 0;
  white-space:nowrap; animation:ticker 18s linear infinite; will-change:transform;
  font-family:var(--display); font-size:.8rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.14em; color:var(--text-2);
}
.tk { color:var(--gold); font-size:.56rem; }
@keyframes ticker { from{transform:translateX(0)} to{transform:translateX(-50%)} }

/* ── REVEAL ─────────────────────────────────────── */
.reveal { opacity:0; transform:translateY(28px); transition:opacity .65s var(--ease), transform .65s var(--ease); }
.reveal.visible { opacity:1; transform:none; }
/* stagger delays moved to enhancement layer */

/* ── SERVICES ───────────────────────────────────── */
.svc-grid {
  display:grid; grid-template-columns:1fr;
  gap:24px;
}
.svc-card {
  position:relative; display:grid; grid-template-columns:1fr 1fr;
  border-bottom:1px solid var(--line); overflow:hidden;
  min-height:0; background:transparent;
  transition:background .35s var(--ease);
}
.svc-card:first-child { border-top:1px solid var(--line); }
.svc-card:hover { background:var(--bg-1); }
.svc-wide { grid-column:span 1; }
.svc-card__body {
  padding:clamp(28px,4vw,48px) clamp(22px,3vw,40px);
  display:flex; flex-direction:column; z-index:1;
}
.svc-card__top {
  display:flex; align-items:flex-start; justify-content:space-between;
  gap:16px; margin-bottom:22px;
}
.svc-num {
  font-family:var(--mono); font-size:.68rem; color:var(--muted); letter-spacing:.16em;
  padding-top:10px;
}
.svc-price {
  display:inline-flex; align-items:baseline; gap:6px;
  flex-wrap:wrap; justify-content:flex-end;
  padding:10px 14px 11px;
  border-radius:999px;
  border:1px solid rgba(240,180,41,.22);
  background:rgba(240,180,41,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  font-family:var(--mono); font-size:.82rem; color:var(--text);
  letter-spacing:.08em; line-height:1;
  backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px);
}
.svc-price strong {
  color:var(--gold);
  font-family:var(--display);
  font-size:clamp(1.2rem,1.6vw,1.55rem);
  font-weight:900;
  letter-spacing:-.02em;
  line-height:.9;
}
.svc-card:hover .svc-price {
  border-color:rgba(240,180,41,.38);
  background:rgba(240,180,41,.12);
}
.svc-card h3 {
  font-family:var(--display); font-weight:900;
  font-size:clamp(1.6rem,2.8vw,2.4rem); text-transform:uppercase;
  letter-spacing:-.01em; line-height:1.05; color:var(--text); margin-bottom:14px;
}
.svc-card p { color:var(--text-2); font-size:.9rem; line-height:1.7; flex:1; max-width:50ch; }
.svc-list { margin-top:18px; display:grid; gap:8px; }
.svc-list li { position:relative; padding-left:15px; color:var(--muted); font-size:.84rem; }
.svc-list li::before {
  content:''; position:absolute; left:0; top:8px;
  width:5px; height:5px; border-radius:50%; background:var(--gold); opacity:.7;
}
/* Photo side */
.svc-card__photo {
  position:relative; overflow:hidden; background:var(--panel);
  min-height:220px;
}
.svc-card__photo::before {
  content:''; position:absolute; inset:0;
  background:var(--photo) center/cover no-repeat;
  transition:transform .7s var(--ease);
}
.svc-card:hover .svc-card__photo::before { transform:scale(1.06); }
.svc-wide .svc-card__photo { width:auto; }
.svc-wide .svc-card__photo::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to right, var(--bg) 0%, transparent 30%);
}
.svc-card:not(.svc-wide) .svc-card__photo::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to right, var(--bg) 0%, transparent 30%);
}
/* Removed .svc-accent glue/glitch */

/* No-photo cards — full width text */
.svc-no-photo { grid-template-columns:1fr; }
.svc-no-photo .svc-card__body { max-width:700px; }

/* ── SEGMENTS ───────────────────────────────────── */
.seg-section { 
  background-image: linear-gradient(to bottom, rgba(10, 10, 10, 0.82), rgba(10, 10, 10, 0.95)), url('../assets/optimized/portfolio/parking-b2c-800.webp');
  background-size: cover;
  background-position: center;
  border-top:1px solid var(--line); 
  border-bottom:1px solid var(--line); 
  position:relative; 
  padding-top:clamp(40px, 4vw, 64px); 
}
.seg-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.seg-card {
  padding:clamp(22px,2.5vw,30px); border:1px solid var(--line);
  border-radius:var(--r); background:var(--bg);
  transition:border-color .3s, transform .3s var(--ease);
}
.seg-card:hover { border-color:rgba(240,180,41,.3); transform:translateY(-4px); }
.seg-icon {
  width:52px; height:52px; display:flex; align-items:center; justify-content:center;
  margin-bottom:18px; color:var(--gold); flex-shrink:0;
  background:rgba(240,180,41,.07); border-radius:12px;
  border:1px solid rgba(240,180,41,.16);
  transition:background .3s var(--ease), border-color .3s var(--ease), transform .3s var(--ease);
}
.seg-icon svg { width:26px; height:26px; }
.seg-card:hover .seg-icon {
  background:rgba(240,180,41,.14); border-color:rgba(240,180,41,.32);
  transform:scale(1.06);
}
.seg-card h3 {
  font-family:var(--display); font-weight:900; font-size:1.55rem;
  text-transform:uppercase; letter-spacing:-.01em; line-height:1; margin-bottom:4px;
}
.seg-sub {
  font-size:.72rem; font-weight:700; text-transform:uppercase;
  letter-spacing:.1em; color:var(--gold); margin-bottom:12px; display:block;
}
.seg-card p:not(.seg-sub) { color:var(--text-2); font-size:.86rem; line-height:1.65; }

/* ── PORTFOLIO ──────────────────────────────────── */
.portfolio-section { padding-bottom:0; }
.portfolio-section .container { padding-bottom:clamp(40px,5vw,64px); }
.pgrid {
  display:grid; grid-template-columns:repeat(3,1fr);
  grid-auto-rows:300px; gap:4px;
}
.pcard { position:relative; overflow:hidden; cursor:pointer; background:var(--panel); }
.pcard__over {
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(12,10,8,.88) 0%, rgba(12,10,8,.08) 55%);
  transition:background .4s var(--ease);
}
.pcard__over::after {
  content:''; position:absolute; inset:0;
  border:2px solid rgba(240,180,41,.45);
  opacity:0; transition:opacity .4s var(--ease);
}
.pcard:hover .pcard__over::after { opacity:1; }
.pcard__info {
  position:absolute; bottom:0; left:0; right:0;
  padding:clamp(16px,2vw,26px);
  transform:translateY(6px); transition:transform .3s var(--ease);
}
.pcard:hover .pcard__info { transform:none; }
.pcard__info h3 {
  font-family:var(--display); font-weight:900;
  font-size:clamp(1rem,1.7vw,1.5rem); text-transform:uppercase;
  letter-spacing:-.01em; line-height:1; color:#fff; margin-bottom:5px;
  transition:color .4s var(--ease), text-shadow .4s var(--ease);
  text-shadow:0 1px 6px rgba(0,0,0,.5);
}
.pcard__info p {
  font-size:.72rem; color:rgba(255,255,255,.6); text-transform:uppercase; letter-spacing:.12em;
  transition:color .4s var(--ease);
  text-shadow:0 1px 4px rgba(0,0,0,.4);
}

/* Smart text: light background detected — use dark text */
.pcard--light-bg .pcard__over {
  background:linear-gradient(to top, rgba(255,255,255,.82) 0%, rgba(255,255,255,.05) 55%);
}
.pcard--light-bg .pcard__info h3 {
  color:#0c0a08;
  text-shadow:0 1px 6px rgba(255,255,255,.5);
}
.pcard--light-bg .pcard__info p {
  color:rgba(12,10,8,.6);
  text-shadow:0 1px 4px rgba(255,255,255,.3);
}
.pcard--light-bg .pcard__over::after {
  border-color:rgba(12,10,8,.25);
}

/* Smart text: medium brightness — strengthen dark overlay */
.pcard--mid-bg .pcard__over {
  background:linear-gradient(to top, rgba(12,10,8,.92) 0%, rgba(12,10,8,.15) 55%);
}
.pwide { grid-column:span 2; }

/* ── PROCESS ────────────────────────────────────── */
.process-list { display:grid; gap:0; }
.pstep {
  display:grid; grid-template-columns:80px 1fr;
  gap:24px; padding:clamp(20px,2.5vw,30px) 0;
  border-bottom:1px solid var(--line); align-items:start;
  transition:background .25s, padding .25s;
}
.pstep:first-child { border-top:1px solid var(--line); }
.pstep:hover {
  background:var(--bg-1);
  padding-left:18px; padding-right:18px;
  margin:0 -18px; border-radius:4px;
}
.pstep__n {
  font-family:var(--display); font-weight:900;
  font-size:2.6rem; line-height:1; letter-spacing:-.02em;
  color:rgba(240,180,41,.22); transition:color .3s; padding-top:5px;
}
.pstep:hover .pstep__n { color:var(--gold); }
.pstep__body h3 {
  font-family:var(--display); font-weight:900;
  font-size:clamp(1.3rem,2vw,1.8rem); text-transform:uppercase;
  letter-spacing:-.01em; line-height:1; margin-bottom:9px;
  padding-top:7px;
}
.pstep__body p { color:var(--text-2); font-size:.88rem; line-height:1.7; max-width:60ch; }

/* ── CALC / FORM ────────────────────────────────── */
.calc-section { background:var(--bg-1); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.calc-grid {
  display:grid;
  grid-template-columns:clamp(240px,26%,320px) 1fr;
  gap:clamp(40px,6vw,80px);
  align-items:start;
}
.calc-intro {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  position:sticky;
  top:clamp(80px,10vh,120px);
}
.calc-intro .section-tag { margin-bottom:14px; }
.calc-intro .sh__title { margin:0 0 18px; }
.calc-desc { color:var(--text-2); font-size:.92rem; line-height:1.72; margin-bottom:24px; }
.calc-contacts {
  display:flex;
  flex-direction:column;
  gap:12px;
}
.clink {
  display:inline-flex; align-items:center; gap:12px;
  color:var(--text-2); font-size:.88rem; font-weight:500;
  transition:color .2s;
}
.clink:hover { color:var(--gold); }
.clink__icon {
  width:36px; height:36px; border-radius:8px;
  border:1px solid var(--line-s); display:inline-flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.02); flex-shrink:0;
  transition:border-color .2s, background .2s;
}
.clink:hover .clink__icon { border-color:rgba(240,180,41,.4); background:rgba(240,180,41,.06); }
.clink__icon--wa { color:var(--green); }
.clink--wa:hover .clink__icon--wa { border-color:rgba(37,211,102,.4); background:rgba(37,211,102,.06); }

.calc-form { display:grid; gap:14px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.field { display:grid; gap:8px; }
.field label { font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.15em; color:var(--muted); }
.field__opt { font-family:var(--body); font-size:.72rem; text-transform:none; letter-spacing:0; font-weight:400; color:var(--muted); opacity:.75; }
.field input, .field select {
  height:50px; padding:0 14px; border-radius:12px;
  border:1px solid var(--line-s); background:rgba(255,255,255,.03);
  color:var(--text); outline:none;
  transition:border-color .2s, background .2s; appearance:none; -webkit-appearance:none;
}
.field select {
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7' viewBox='0 0 12 7'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237a6e58' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 14px center;
  padding-right:36px; cursor:pointer;
}
.field input:focus, .field select:focus {
  border-color:rgba(240,180,41,.5); background:rgba(240,180,41,.04);
}
.field input::placeholder { color:var(--muted); }
.estimate-bar {
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 18px; border-radius:12px;
  border:1px solid rgba(240,180,41,.25); background:rgba(240,180,41,.06);
}
.estimate-bar__lbl { font-family:var(--mono); font-size:.68rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold); }
.estimate-bar__val { font-family:var(--display); font-weight:900; font-size:1.55rem; color:var(--gold); letter-spacing:-.02em; }
.form-note { font-size:.68rem; color:var(--muted); line-height:1.5; text-align:center; }
.offer-note {
  margin-top:18px;
  max-width:78ch;
  font-size:.8rem;
  line-height:1.6;
  color:var(--muted);
}
.offer-note--compact {
  margin-top:12px;
  margin-bottom:0;
  font-size:.74rem;
}
.cv2-form-wrap { position:relative; }

.form-ok {
  display:flex; flex-direction:column; align-items:center;
  gap:10px; padding:40px 28px;
  border-radius:var(--r);
  border:1px solid rgba(37,211,102,.25);
  background:linear-gradient(160deg, rgba(37,211,102,.07) 0%, var(--panel) 70%);
  text-align:center;
  animation:formOkIn .5s var(--ease) both;
}
@keyframes formOkIn {
  from { opacity:0; transform:translateY(16px) scale(.97); }
  to   { opacity:1; transform:none; }
}
.form-ok__icon {
  color:var(--green);
  margin-bottom:6px;
}
.form-ok__title {
  font-family:var(--display); font-weight:900; font-size:1.6rem;
  letter-spacing:-.02em; text-transform:uppercase;
  color:var(--text);
}
.form-ok__text {
  font-size:.9rem; color:var(--text-2); line-height:1.65;
  margin-top:2px;
}
.form-ok__phone {
  display:inline-block;
  margin-top:10px;
  font-family:var(--display); font-weight:700; font-size:1.3rem;
  color:var(--gold); letter-spacing:.01em;
  transition:color .2s;
}
.form-ok__phone:hover { color:var(--gold-2); }
.form-ok__hint {
  font-size:.72rem; color:var(--muted);
  font-family:var(--mono); letter-spacing:.1em; text-transform:uppercase;
}
[hidden] { display:none !important; }

/* ── CTA BAR ────────────────────────────────────── */
.cta-bar { background:var(--gold); padding:clamp(44px,6vw,72px) 0; }
.cta-bar__inner {
  display:flex; align-items:center; justify-content:space-between; gap:32px;
}
.cta-bar__text h2 {
  font-family:var(--display); font-weight:900;
  font-size:clamp(2rem,4.5vw,4.2rem); text-transform:uppercase;
  letter-spacing:-.025em; line-height:1; color:var(--bg);
}
.cta-bar__text p { color:rgba(12,10,8,.6); font-size:clamp(.86rem,1.3vw,.96rem); margin-top:10px; max-width:48ch; }
.cta-bar__btns { display:flex; flex-wrap:wrap; gap:12px; flex-shrink:0; }

/* ── CONTACTS ───────────────────────────────────── */
.contacts-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.con-card {
  padding:clamp(22px,2.5vw,30px); border:1px solid var(--line);
  border-radius:var(--r); background:var(--bg-1);
  transition:border-color .3s;
  min-width:0;
}
.con-card:hover { border-color:var(--line-s); }
.con-label { font-family:var(--mono); font-size:.65rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); margin-bottom:10px; display:block; }
.con-val {
  font-family:var(--display); font-weight:900;
  font-size:clamp(1rem,1.8vw,1.4rem); text-transform:uppercase;
  letter-spacing:-.01em; line-height:1.1; color:var(--text);
  margin-bottom:5px; display:block; transition:color .2s;
  overflow-wrap:anywhere; word-break:break-word;
}
a.con-val:hover { color:var(--gold); }
.con-sub {
  font-size:.76rem; color:var(--muted);
  overflow-wrap:anywhere; word-break:break-word;
}

.con-socials { display:flex; align-items:center; gap:12px; margin-top:4px; }
.con-social-link {
  display:flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:10px;
  background:var(--bg); border:1px solid var(--line-s);
  transition:border-color .25s var(--ease), transform .2s var(--ease), background .25s var(--ease);
}
.con-social-link:hover { border-color:rgba(240,180,41,.4); transform:translateY(-2px); background:var(--bg-2); }
.con-social-link img { width:22px; height:22px; object-fit:contain; }

.mini-contact-socials, .footer-socials { display:flex; align-items:center; gap:10px; }
.mini-contact-socials img, .footer-socials img { width:20px; height:20px; object-fit:contain; transition:transform .2s; }
.mini-contact-socials a:hover img, .footer-socials a:hover img { transform:scale(1.1); }
.footer-socials { margin-top:8px; }

/* ── FOOTER ─────────────────────────────────────── */
.site-footer { border-top:1px solid var(--line); padding:32px 0; }
.footer-inner {
  display:flex; align-items:center; justify-content:space-between;
  gap:24px; flex-wrap:wrap;
}
.footer-brand { display:flex; align-items:center; gap:12px; }
.footer-name { font-family:var(--display); font-weight:700; font-size:.88rem; text-transform:uppercase; letter-spacing:.08em; margin-bottom:3px; }
.footer-sub { font-size:.74rem; color:var(--muted); }
.footer-nav { display:flex; gap:22px; }
.footer-nav a { font-size:.74rem; color:var(--muted); text-transform:uppercase; letter-spacing:.1em; transition:color .2s; }
.footer-nav a:hover { color:var(--text); }
.footer-copy { font-size:.7rem; color:var(--muted); }

/* ── RESPONSIVE ─────────────────────────────────── */
@media (max-width:1512px) and (min-width:821px) and (max-height:980px) {
  .hero__body { padding-bottom:clamp(18px,3vh,32px); }
  .hero__eyebrow { margin-bottom:12px; }
  .hero__h1 {
    font-size:clamp(3.5rem,6.8vw,6rem);
    margin-bottom:16px;
  }
  .hero__sub {
    max-width:48ch;
    margin-bottom:20px;
    font-size:clamp(.88rem,1.1vw,.98rem);
    line-height:1.6;
  }
  .hero__badges { gap:8px; margin-bottom:22px; }
  .badge { padding:7px 12px; font-size:.72rem; }
  .hero__cta .btn { min-height:48px; padding:0 22px; }
  .hero__stats-strip { padding:12px 0; }
  .hstat__n { font-size:clamp(1.7rem,3vw,2.7rem); }
}

@media (max-width:1100px) {
  .sh { grid-template-columns:1fr; gap:12px; margin-bottom:clamp(24px,4vw,36px); }
  .seg-grid { grid-template-columns:repeat(2,1fr); }
  .pgrid { grid-template-columns:repeat(2,1fr); grid-auto-rows:260px; }
  .pwide { grid-column:span 2; }
  .contacts-grid { grid-template-columns:repeat(2,1fr); }
  .calc-grid { grid-template-columns:1fr; gap:40px; }
  .calc-intro { align-items:center; text-align:center; position:static; max-width:640px; margin:0 auto; }
  .calc-intro .section-tag { justify-content:center; }
  .calc-desc { max-width:60ch; }
  .calc-contacts { flex-direction:row; justify-content:center; flex-wrap:wrap; gap:clamp(16px,3vw,28px); }
  .cta-bar__inner { flex-direction:column; align-items:flex-start; }
  .seo-cluster-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .offer-note { max-width:100%; }
  .contact-person__photo {
    width:min(100%, 520px);
    margin:0 auto;
  }
  .contact-person__photo img {
    min-height:0;
    max-height:560px;
    aspect-ratio:4 / 4.8;
    object-position:center 12%;
  }
}

@media (max-width:820px) {
  .site-nav, .header-phone { display:none; }
  .header-callback:not(.header-callback--mobile) { display:none; }
  .header-callback--mobile { display:inline-flex; }
  .burger { display:flex; }
  .hero__eyebrow { margin-top:clamp(12px, 4vw, 28px); }
  .hero__stats-strip { flex-wrap:wrap; }
  .hstat { min-width:50%; padding:10px 0; }
  .hstat__sep { display:none; }
  .seg-grid { grid-template-columns:1fr; }
  .svc-card { grid-template-columns:1fr; }
  .svc-card__top { align-items:center; }
  .svc-card__photo { min-height:180px; }
  .svc-card__photo::after,
  .svc-wide .svc-card__photo::after,
  .svc-card:not(.svc-wide) .svc-card__photo::after {
    background:linear-gradient(to bottom, var(--bg) 0%, transparent 40%) !important;
  }
  /* ── HORIZONTAL SWIPE PORTFOLIO CAROUSEL ──── */
  .pgrid {
    display:flex; overflow-x:auto; scroll-snap-type:x mandatory;
    gap:14px; padding:0 0 18px;
    -webkit-overflow-scrolling:touch; scrollbar-width:none;
  }
  .pgrid::-webkit-scrollbar { display:none; }
  .pgrid .pcard,
  .pgrid .pwide {
    flex:0 0 72vw; scroll-snap-align:start;
    height:340px; border-radius:var(--r); grid-column:auto;
  }
  .pgrid .pcard:first-child { margin-left:0; }
  .pgrid .pcard img { border-radius:var(--r); }
  /* ── HORIZONTAL SWIPE PROCESS STEPS ───────── */
  .process-list {
    display:flex; overflow-x:auto; scroll-snap-type:x mandatory;
    gap:12px; padding-bottom:16px; padding-left:4px;
    -webkit-overflow-scrolling:touch; scrollbar-width:none;
  }
  .process-list::-webkit-scrollbar { display:none; }
  .pstep {
    flex:0 0 78vw; scroll-snap-align:start;
    display:flex; flex-direction:column; gap:14px;
    grid-template-columns:unset;
    padding:24px 22px; margin:0;
    border-bottom:none; border-right:none;
    border:1px solid var(--line);
    background:var(--bg-1); border-radius:var(--r);
  }
  .pstep:first-child { border-top:1px solid var(--line); }
  .pstep:last-child { margin-right:4px; }
  .pstep:hover { margin:0; padding-left:22px; padding-right:22px; background:var(--bg-1); }
  .pstep:last-child:hover { margin-right:4px; }
  .pstep__n { font-size:1.8rem; padding-top:0; color:var(--gold); opacity:.5; }
  .form-row { grid-template-columns:1fr; }
  .footer-inner { flex-direction:column; gap:20px; }
  .footer-nav { flex-wrap:wrap; gap:14px; }
  .footer-inner--wide,
  .footer-contacts,
  .footer-nav { width:100%; }
  .seo-cluster-grid { grid-template-columns:1fr; }
  .legal-modal__dialog {
    width:min(100% - 20px, 900px);
    margin:4vh auto 0;
    padding:24px 20px;
    border-radius:20px;
  }
}

@media (max-width:580px) {
  .container { width:calc(100% - 32px); }
  .hero__h1 { font-size:clamp(3rem,13vw,4.8rem); }
  .seg-grid { grid-template-columns:1fr; }
  .pgrid .pcard,
  .pgrid .pwide { flex:0 0 78vw; height:320px; }
  .pwide { grid-column:span 1; }
  .contacts-grid { grid-template-columns:1fr; }
  .con-card { padding:18px 16px; }
  .con-val { font-size:clamp(1rem,8vw,1.35rem); }
  .svc-card__top {
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .svc-num { padding-top:0; }
  .svc-price {
    justify-content:flex-start;
    font-size:.78rem;
  }
  .hero__cta { flex-direction:column; }
  .hero__cta .btn { width:100%; justify-content:center; }
  .contact-person {
    padding:18px;
    gap:18px;
  }
  .contact-person__photo {
    width:100%;
    margin:0;
  }
  .contact-person__photo img {
    min-height:0;
    max-height:none;
    aspect-ratio:4 / 4.9;
    object-position:center 10%;
  }
  .contact-person__actions > * {
    width:100%;
    justify-content:center;
  }
  .footer-nav {
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
  }
  .footer-legal {
    width:100%;
    flex-direction:column;
  }
  .footer-legal__link {
    width:100%;
    justify-content:center;
  }
  .br-d { display:none; }
}

/* ── BLOG SECTION (on landing) ──────────────────── */
.blog-section { background:var(--bg-1); border-top:1px solid var(--line); }
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.blog-card {
  display:flex; flex-direction:column; gap:12px;
  padding:clamp(22px,2.5vw,32px); border:1px solid var(--line);
  border-radius:var(--r); background:var(--bg);
  transition:border-color .3s, transform .3s var(--ease), box-shadow .3s;
  cursor:pointer;
}
.blog-card:hover { border-color:rgba(240,180,41,.35); transform:translateY(-5px); box-shadow:var(--shadow); }
.blog-card__tag {
  font-family:var(--mono); font-size:.64rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--gold);
}
.blog-card h3 {
  font-family:var(--display); font-weight:900;
  font-size:clamp(1.2rem,1.8vw,1.55rem); text-transform:uppercase;
  letter-spacing:-.01em; line-height:1.05; color:var(--text);
}
.blog-card p { color:var(--text-2); font-size:.86rem; line-height:1.65; flex:1; }
.blog-card__cta { font-size:.8rem; font-weight:700; color:var(--gold); letter-spacing:.04em; margin-top:auto; }
.blog-more { text-align:center; margin-top:36px; }

@media (max-width:1100px) { .blog-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:580px) { .blog-grid { grid-template-columns:1fr; } }

/* ── SCROLL PROGRESS BAR ────────────────────────── */
.scroll-progress {
  position:fixed; top:0; left:0; height:3px; width:0%;
  background:linear-gradient(to right, var(--gold), var(--gold-2));
  z-index:9999; pointer-events:none;
  opacity:0;
  box-shadow:none;
  transition:opacity .4s var(--ease), box-shadow .4s var(--ease);
}
.scroll-progress--visible {
  opacity:1;
  box-shadow:0 0 12px rgba(240,180,41,.55);
}

/* ── PORTFOLIO CARD REVEAL ──────────────────────── */
.pcard__reveal {
  position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%) scale(0.75);
  font-family:var(--display); font-weight:900;
  font-size:1rem; text-transform:uppercase; letter-spacing:.18em;
  color:#0c0a08; background:var(--gold);
  padding:10px 24px; border-radius:4px;
  opacity:0;
  transition:opacity .35s var(--ease), transform .35s var(--ease);
  pointer-events:none; white-space:nowrap; z-index:2;
}
.pcard:hover .pcard__reveal {
  opacity:1; transform:translate(-50%,-50%) scale(1);
}

/* ── SERVICE CARD GEOMETRIC PATTERN (no-photo cards) */
.svc-no-photo { overflow:hidden; }
.svc-card__pattern {
  position:absolute; inset:0; pointer-events:none; z-index:0;
  opacity:.035;
  background-image:
    repeating-linear-gradient(
      45deg,
      rgba(240,180,41,1) 0px, rgba(240,180,41,1) 1px,
      transparent 1px, transparent 28px
    ),
    repeating-linear-gradient(
      -45deg,
      rgba(240,180,41,1) 0px, rgba(240,180,41,1) 1px,
      transparent 1px, transparent 28px
    );
  transition:opacity .4s var(--ease);
}
.svc-card:hover .svc-card__pattern { opacity:.08; }

/* ── FAQ SECTION ───────────────────────────────── */
.faq-list { max-width:100%; display:flex; flex-direction:column; gap:0; }
.faq-item {
  border-bottom:1px solid var(--line);
  overflow:hidden;
}
.faq-item:first-child { border-top:1px solid var(--line); }
.faq-q {
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:22px 0; cursor:pointer;
  font-family:var(--body); font-weight:600; font-size:clamp(1rem,1.6vw,1.15rem);
  color:var(--text); list-style:none;
  transition:color .25s var(--ease);
}
.faq-q::-webkit-details-marker { display:none; }
.faq-q::after {
  content:'+'; flex-shrink:0;
  width:32px; height:32px; display:flex; align-items:center; justify-content:center;
  border:1.5px solid var(--line-s); border-radius:50%;
  font-size:1.2rem; font-weight:400; color:var(--gold);
  transition:transform .35s var(--ease), border-color .25s var(--ease);
}
.faq-item[open] .faq-q::after { transform:rotate(45deg); border-color:var(--gold); }
.faq-item[open] .faq-q { color:var(--gold); }
.faq-a {
  padding:0 0 22px;
  font-size:clamp(.88rem,1.3vw,1rem); color:var(--muted); line-height:1.7;
}
.faq-a p { margin:0; }

/* ── ESTIMATE VALUE PULSE ───────────────────────── */
@keyframes estPulse {
  0%   { transform:scale(1); }
  35%  { transform:scale(1.07); color:var(--gold-2); }
  100% { transform:scale(1); }
}
.estimate-bar__val.is-pulsing { animation:estPulse .5s var(--ease); }

/* ── RESPONSIVE: TABLET (≤768px) ───────────────── */
@media (max-width:768px) {
  .seg-grid { grid-template-columns:1fr; gap:12px; }
  .contacts-grid { grid-template-columns:1fr; gap:12px; }
  .calc-grid { gap:28px; }
  .cta-bar__text h2 { font-size:clamp(1.8rem,6vw,3.2rem); }
  .hero__stats-strip { padding:clamp(14px,2vw,20px) 0; }
  .hstat__n { font-size:clamp(1.5rem,4vw,2.2rem); }
}

/* ── MOBILE STICKY CTA BAR ──────────────────────── */
.mob-cta-bar {
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:180;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom, 0px));
  background:rgba(12,10,8,.92); backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-top:1px solid var(--line);
  gap:8px; transform:translateY(100%);
  transition:transform .4s var(--ease);
}
.mob-cta-bar.is-visible { transform:translateY(0); }
.mob-cta-bar__btn {
  flex:1; display:flex; align-items:center; justify-content:center; gap:8px;
  min-height:50px; border-radius:10px;
  font-weight:700; font-size:.82rem; letter-spacing:.03em;
  text-transform:uppercase; white-space:nowrap;
  transition:transform .2s var(--ease);
}
.mob-cta-bar__btn:active { transform:scale(0.96); }
.mob-cta-bar__call {
  background:transparent; border:1.5px solid var(--line-s); color:var(--text);
}
.mob-cta-bar__mail {
  background:transparent; border:1.5px solid rgba(240,180,41,.4); color:var(--gold);
}
.mob-cta-bar__calc {
  background:var(--gold); border:1.5px solid var(--gold); color:#0c0a08;
}
@media (max-width:820px) {
  .mob-cta-bar { display:flex; }
}

/* ── RESPONSIVE: SMALL MOBILE (≤390px) ─────────── */
@media (max-width:390px) {
  .hero__badges { flex-direction:column; }
  .mob-nav__inner a { font-size:clamp(1.7rem, 7.5vw, 2.2rem); padding:12px 0; }

  .legal-modal__close {
    top:12px;
    right:12px;
  }
}

/* ── RESPONSIVE: WIDE (≥1440px) ─────────────────── */
@media (min-width:1440px) {
  .container { width:min(1360px, calc(100% - 80px)); }
  .pgrid { grid-auto-rows:340px; }
  .seg-grid { gap:20px; }
}

/* ── RESPONSIVE: 2K / QHD (≥2560px) ────────────── */
@media (min-width:2560px) {
  :root { --r:22px; }
  .container { width:min(1760px, calc(100% - 120px)); }
  .section { padding:clamp(100px,7vw,160px) 0; }
  .pgrid { grid-auto-rows:420px; }
  .hero__h1 { font-size:min(11.5rem, 7.5vw); }
  .btn { min-height:58px; padding:0 32px; }
  .site-header__inner { min-height:88px; }
}

/* ── RESPONSIVE: 4K (≥3840px) ───────────────────── */
@media (min-width:3840px) {
  .container { width:min(2400px, calc(100% - 160px)); }
  .section { padding:clamp(140px,6vw,200px) 0; }
  .pgrid { grid-template-columns:repeat(3,1fr); grid-auto-rows:520px; }
  .btn { min-height:70px; padding:0 44px; font-size:1.05rem; }
  .site-header__inner { min-height:100px; }
  .brand__logo { height:56px; }
  .brand__mark { width:56px; height:56px; font-size:1.3rem; }
  .hstat__n { font-size:clamp(2.8rem,3vw,4.5rem); }
  .seg-icon { width:68px; height:68px; }
  .seg-icon svg { width:34px; height:34px; }
}

/* ═══════════════════════════════════════════════════
   AWWWARDS ENHANCEMENT LAYER
   Preloader · Magnetic · Spotlight · Motion · Polish
   ═══════════════════════════════════════════════════ */

/* ── PRELOADER ─────────────────────────────────── */
.preloader {
  position:fixed; inset:0; z-index:10000;
  display:grid; place-items:center;
  background:var(--bg);
  transition:opacity .3s cubic-bezier(0.65,0,0.35,1), visibility .3s;
}
.preloader.is-done {
  opacity:0; visibility:hidden; pointer-events:none;
}
.preloader__inner {
  display:flex; flex-direction:column; align-items:center; gap:28px;
}
.preloader__logo {
  width:auto; height:80px;
  opacity:0; transform:scale(0.75) translateY(10px);
  animation:preloaderMark .3s var(--ease) 0s forwards;
}
.preloader__wordmark {
  font-family:var(--display); font-weight:900;
  font-size:clamp(1.6rem,4vw,2.2rem); text-transform:uppercase;
  letter-spacing:.1em; color:var(--text); line-height:1;
  opacity:0; transform:translateY(8px);
  animation:preloaderMark .28s var(--ease) .12s forwards;
}
@keyframes preloaderMark {
  to { opacity:1; transform:scale(1) translateY(0) rotate(0deg); }
}
.preloader__bar {
  width:140px; height:3px; border-radius:2px;
  background:var(--line);
  overflow:hidden;
  opacity:0; animation:fadeUp .22s var(--ease) .22s forwards;
}
.preloader__fill {
  height:100%; width:0%;
  background:linear-gradient(90deg, var(--gold), var(--gold-2));
  border-radius:2px;
  animation:preloaderFill .42s cubic-bezier(0.4,0,0.2,1) .3s forwards;
}
@keyframes preloaderFill {
  to { width:100%; }
}


/* Body locked while loading */
body.is-loading {
  overflow:hidden;
}

/* ── CURSOR GLOW (spotlight) ──────────────────── */
.cursor__glow {
  position:absolute; top:-200px; left:-200px;
  width:400px; height:400px; border-radius:50%;
  background:radial-gradient(circle, rgba(240,180,41,0.045) 0%, transparent 70%);
  pointer-events:none; opacity:0;
  transition:opacity .4s var(--ease);
}
.cursor--spotlight .cursor__glow { opacity:1; }

/* ── MAGNETIC BUTTONS ─────────────────────────── */
[data-magnetic] {
  will-change:transform;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .25s var(--ease), border-color .25s var(--ease);
}
[data-magnetic] .btn__text {
  display:inline-block;
  transition:transform .3s var(--ease);
}

/* ── ENHANCED REVEALS ─────────────────────────── */
.reveal--left  { transform:translateX(-40px); }
.reveal--right { transform:translateX(40px); }
.reveal--scale { opacity:0; transform:scale(0.92); }
.reveal--scale.visible { transform:scale(1); }

/* Blur-in reveal for headings (Awwwards signature) */
.sh__title {
  opacity:0; transform:translateY(24px); filter:blur(6px);
  transition:opacity .8s var(--ease), transform .8s var(--ease), filter .8s var(--ease);
}
.sh.visible .sh__title,
.reveal.visible .sh__title,
.sh__title.visible {
  opacity:1; transform:none; filter:blur(0);
}
.sh__desc {
  opacity:0; transform:translateY(16px);
  transition:opacity .7s var(--ease) .15s, transform .7s var(--ease) .15s;
}
.sh.visible .sh__desc,
.reveal.visible .sh__desc {
  opacity:1; transform:none;
}

/* Stagger children in grid containers */
.seg-grid .reveal:nth-child(1) { transition-delay:0ms; }
.seg-grid .reveal:nth-child(2) { transition-delay:80ms; }
.seg-grid .reveal:nth-child(3) { transition-delay:160ms; }
.seg-grid .reveal:nth-child(4) { transition-delay:240ms; }

/* Service cards are stacked — no stagger needed */

.contacts-grid .reveal:nth-child(1) { transition-delay:0ms; }
.contacts-grid .reveal:nth-child(2) { transition-delay:80ms; }
.contacts-grid .reveal:nth-child(3) { transition-delay:160ms; }
.contacts-grid .reveal:nth-child(4) { transition-delay:240ms; }

.blog-grid .reveal:nth-child(1) { transition-delay:0ms; }
.blog-grid .reveal:nth-child(2) { transition-delay:100ms; }
.blog-grid .reveal:nth-child(3) { transition-delay:200ms; }

/* Process steps stagger */
@media (min-width:821px) {
  .pstep.reveal:nth-child(1) { transition-delay:0ms; }
  .pstep.reveal:nth-child(2) { transition-delay:60ms; }
  .pstep.reveal:nth-child(3) { transition-delay:120ms; }
  .pstep.reveal:nth-child(4) { transition-delay:180ms; }
  .pstep.reveal:nth-child(5) { transition-delay:240ms; }
}

/* ── PORTFOLIO IMG UPDATE ─────────────────────── */
.pcard { position:relative; }
.pcard img {
  position:absolute; inset:0;
  width:100%; height:100%; object-fit:cover;
  transition:transform .7s var(--ease), filter .6s var(--ease);
  will-change:transform;
  z-index:0;
  filter:grayscale(1) brightness(.85);
}
.pcard:hover img { transform:scale(1.07); filter:grayscale(0) brightness(1); }
.pcard .pcard__over { z-index:1; }
.pcard .pcard__info { z-index:2; }

@media (hover:none), (pointer:coarse) {
  .pcard img {
    filter:grayscale(.18) brightness(.96);
    transform:scale(1.02);
  }
  .pcard::after {
    opacity:1;
    background:linear-gradient(180deg, rgba(240,180,41,.04), rgba(240,180,41,.08));
  }
  .pcard .pcard__over {
    background:linear-gradient(to top, rgba(12,10,8,.92) 0%, rgba(12,10,8,.24) 55%);
  }
  .pcard .pcard__over::after {
    opacity:1;
    border-color:rgba(240,180,41,.22);
  }
  .pcard .pcard__info { transform:none; }
  .pcard .pcard__info p { color:rgba(255,255,255,.82); }
}

/* ── TEXT WRAP BALANCE ────────────────────────── */
.sh__title,
.hero__h1,
.cta-bar__text h2,
.footer-headline {
  text-wrap:balance;
}

/* ── SECTION BRIDGES ──────────────────────────── */
.seg-section::before {
  content:''; position:absolute; top:0; left:0; right:0;
  height:1px;
  background:linear-gradient(90deg, transparent, var(--gold) 20%, var(--gold) 80%, transparent);
  opacity:.15;
}
/* portfolio-section::after gradient removed — was causing blur bleed into process section */

/* ── ENHANCED FOOTER ──────────────────────────── */
.footer-big {
  padding:clamp(60px,10vw,120px) 0 clamp(40px,6vw,72px);
  border-bottom:1px solid var(--line);
  margin-bottom:32px;
}
.footer-headline {
  font-family:var(--display); font-weight:900;
  font-size:clamp(3rem,8vw,7.5rem);
  text-transform:uppercase; letter-spacing:-.03em;
  line-height:1; color:var(--text);
  opacity:0; transform:translateY(30px);
  transition:opacity 1s var(--ease), transform 1s var(--ease);
}
.footer-big.visible .footer-headline {
  opacity:.12; transform:none;
}
.footer-headline--gold {
  color:var(--gold);
}

/* ── SCROLL-DRIVEN ANIMATIONS ─────────────────── */
@supports (animation-timeline:scroll()) {
  @keyframes heroParallax {
    from { transform:scale(1); }
    to   { transform:scale(1.12) translateY(-8%); }
  }

  /* Scroll-driven opacity fade on ticker container — does NOT affect the marquee animation on ticker__wrap */
  @keyframes tickerDrift {
    from { opacity:.6; }
    to   { opacity:1; }
  }
  .ticker {
    animation:tickerDrift linear;
    animation-timeline:scroll(root);
    animation-range:cover 10% cover 40%;
  }
  /* Explicitly preserve the marquee animation on the inner wrap regardless of browser */
  .ticker__wrap {
    animation:ticker 18s linear infinite !important;
  }

  .sh__title {
    animation:titleSlide linear;
    animation-timeline:view();
    animation-range:entry 0% cover 35%;
  }
  @keyframes titleSlide {
    from { opacity:0; transform:translateY(30px); filter:blur(4px); }
    to   { opacity:1; transform:translateY(0); filter:blur(0); }
  }
}

/* ── PROCESS ENHANCEMENTS ─────────────────────── */

/* ── FAQ SMOOTH OPEN ──────────────────────────── */
.faq-a {
  display:grid;
  grid-template-rows:0fr;
  transition:grid-template-rows .4s var(--ease), padding .4s var(--ease);
  padding:0;
  overflow:hidden;
}
.faq-item[open] .faq-a {
  grid-template-rows:1fr;
  padding:0 0 22px;
}
.faq-a > p {
  overflow:hidden;
}

/* ── HOVER DEPTH (card lift with shadow) ──────── */
.seg-card:hover {
  box-shadow:0 24px 48px rgba(0,0,0,.35), 0 0 0 1px rgba(240,180,41,.15);
}
/* svc hover handled in main section */
/* blog-card hover handled in main section + enhancement layer */

/* ── HERO LINE MASKS (decorative) ─────────────── */
.hero::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:200px; z-index:0;
  background:linear-gradient(to top, var(--bg) 0%, transparent 100%);
  pointer-events:none;
}

/* ── GOLD DIVIDER LINE ────────────────────────── */
.cta-bar::before {
  content:''; display:block; height:2px;
  background:linear-gradient(90deg, transparent, var(--gold), transparent);
  opacity:.3;
}

/* ── FLEET SECTION ─────────────────────────────── */
.fleet-section {
  background:var(--bg);
  border-top:1px solid var(--line);
}
.fleet-visual {
  position:relative; border-radius:var(--r); overflow:hidden;
  border:1px solid var(--line);
}
.fleet-visual img {
  width:100%; height:auto; display:block;
  min-height:200px; object-fit:cover;
  transform:scale(1.035);
  transform-origin:center;
  filter:blur(2.6px) saturate(.9) brightness(.84);
}
@supports (aspect-ratio: 1) {
  .fleet-visual img {
    min-height:0;
    aspect-ratio:5/1;
  }
}
.fleet-overlay {
  position:absolute; bottom:0; left:0; right:0;
  display:flex; gap:0;
  background:linear-gradient(to top, rgba(12,10,8,.92) 0%, rgba(12,10,8,.6) 60%, transparent 100%);
  padding:clamp(28px,3vw,40px) clamp(24px,4vw,48px) clamp(20px,2vw,32px);
}
.fleet-stat {
  flex:1; text-align:center;
  border-right:1px solid var(--line);
  padding:0 16px;
}
.fleet-stat:last-child { border-right:none; }
.fleet-stat__n {
  font-family:var(--display); font-weight:900;
  font-size:clamp(2rem,4vw,3.5rem); line-height:1;
  color:var(--gold); letter-spacing:-.02em; margin-bottom:6px;
  display:block;
}
.fleet-stat__l {
  font-family:var(--mono); font-size:.62rem;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--muted); line-height:1.5;
}
@media (max-width:820px) {
  .fleet-visual img { aspect-ratio:16/10; }
  .fleet-overlay { flex-wrap:wrap; }
  .fleet-stat { min-width:33%; border-right:none; }
}
@media (max-width:580px) {
  .fleet-visual img { aspect-ratio:4/3; }
  .fleet-overlay {
    padding:clamp(44px,10vw,56px) 18px 18px;
    align-items:flex-end;
    justify-content:center;
  }
  .fleet-stat {
    min-width:0;
    flex:1 1 0;
    padding:0 8px;
  }
  .fleet-stat--primary { flex:1 1 100%; text-align:center; margin-bottom:6px; }
  .fleet-stat__n { font-size:clamp(1.8rem,10vw,2.4rem); }
  .fleet-stat__l {
    font-size:.52rem;
    letter-spacing:.14em;
    line-height:1.35;
  }
  .fleet-stat:not(:last-child) { border-bottom:none; }
}

/* ── CTA BAR WITH BACKGROUND ─────────────────── */
.cta-bar {
  position:relative; overflow:hidden;
}
.cta-bar__bg {
  position:absolute; inset:0; z-index:0;
}
.cta-bar__bg img {
  width:100%; height:100%; object-fit:cover;
  opacity:.18; filter:saturate(0.4);
}
.cta-bar__bg::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg, rgba(240,180,41,.95) 0%, rgba(240,180,41,.85) 100%);
}
.cta-bar__inner {
  position:relative; z-index:1;
}

/* ── NAV LINK HOVER UNDERLINE ────────────────── */
.site-nav a {
  position:relative;
}
.site-nav a::after {
  content:''; position:absolute; bottom:-4px; left:0;
  width:100%; height:1px;
  background:var(--gold);
  transform:scaleX(0); transform-origin:right;
  transition:transform .4s var(--ease);
}
.site-nav a:hover::after {
  transform:scaleX(1); transform-origin:left;
}


/* ── PORTFOLIO HOVER DEPTH ──────────────────── */
.pcard::after {
  content:''; position:absolute; inset:0;
  background:rgba(240,180,41,.06); opacity:0;
  transition:opacity .5s var(--ease);
  pointer-events:none; z-index:1;
}
.pcard:hover::after { opacity:1; }

/* ── BLOG CARD GOLD TOP LINE ────────────────── */
.blog-card {
  border-top:2px solid transparent;
  transition:border-color .3s, border-top-color .3s, transform .3s var(--ease), box-shadow .3s;
}
.blog-card:hover {
  border-top-color:var(--gold);
}

/* ── SECTION TAG ANIMATED DOT ───────────────── */
.section-tag::before {
  content:''; display:inline-block;
  width:6px; height:6px; border-radius:50%;
  background:var(--gold); margin-right:10px;
  vertical-align:middle;
  animation:tagDot 2.5s ease-in-out infinite;
}
@keyframes tagDot {
  0%, 100% { opacity:.5; }
  50% { opacity:1; box-shadow:0 0 8px rgba(240,180,41,.6); }
}

/* ── PROCESS STEP NUMBER SLIDE ──────────────── */
.pstep__n {
  transition:color .3s var(--ease), transform .3s var(--ease);
}
.pstep:hover .pstep__n {
  transform:translateX(6px);
}

/* ── CONTACT CARD LIFT ──────────────────────── */
.con-card {
  transition:border-color .3s, transform .3s var(--ease), box-shadow .3s;
}
.con-card:hover {
  transform:translateY(-4px);
  box-shadow:0 20px 40px rgba(0,0,0,.3);
}

/* ── ARTICLE PAGES ──────────────────────────────── */
.article-hero {
  padding-top:clamp(120px, 15vh, 160px);
  padding-bottom:clamp(40px, 8vw, 80px);
}
.back-link {
  display:inline-flex; align-items:center; gap:8px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  font-size:.78rem; font-weight:700; color:var(--text); text-transform:uppercase;
  letter-spacing:.08em; transition:color .3s, border-color .3s, transform .3s var(--ease), background .3s;
  margin-bottom:26px;
}
.back-link::before {
  content:'←';
  font-size:1rem;
  line-height:1;
}
.back-link:hover {
  color:var(--gold);
  border-color:rgba(240,180,41,.35);
  background:rgba(240,180,41,.06);
  transform:translateX(-2px);
}
.article-hero__tag {
  display:inline-block; font-family:var(--mono); font-size:.7rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--gold); margin-bottom:16px;
}
.article-hero h1 {
  font-family:var(--display); font-weight:900;
  font-size:clamp(2.4rem, 5vw, 4.2rem); line-height:1; letter-spacing:-.02em;
  text-transform:uppercase; color:var(--text); text-wrap:balance; margin:0 0 24px; max-width:24ch;
}
.article-hero__meta { font-size:.86rem; color:var(--muted); }

.article-content {
  max-width:72ch; margin:0 auto; font-size:clamp(1rem, 1.2vw, 1.12rem);
  line-height:1.75; color:var(--text-2); padding-bottom:clamp(60px, 10vw, 100px);
}
.article-content h2 {
  font-family:var(--display); font-weight:900; font-size:clamp(1.8rem, 3vw, 2.4rem);
  line-height:1.05; letter-spacing:-.01em; color:var(--text); text-transform:uppercase;
  margin:2.5em 0 1em;
}
.article-content h3 {
  font-family:var(--display); font-weight:900; font-size:clamp(1.4rem, 2vw, 1.8rem);
  line-height:1.05; color:var(--text); text-transform:uppercase;
  margin:1.8em 0 0.8em;
}
.article-content p { margin-bottom:1.4em; }
.article-content ul, .article-content ol { margin-bottom:1.4em; padding-left:1.5em; }
.article-content li { margin-bottom:.5em; }
.article-content img { border-radius:12px; max-width:100%; height:auto; margin:2em 0; }
.article-figure {
  margin:2.2em 0;
}
.article-figure picture,
.article-figure img {
  display:block;
  width:100%;
}
.article-figure img {
  margin:0;
  border-radius:18px;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.article-figure figcaption {
  margin-top:12px;
  color:var(--muted);
  font-size:.82rem;
  line-height:1.6;
}
.case-photo-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin:2.2em 0;
}
.case-photo-grid .article-figure {
  margin:0;
}
.case-photo-grid .article-figure--wide {
  grid-column:1 / -1;
}
.case-photo-grid img {
  width:100%;
  aspect-ratio:4 / 5;
  object-fit:cover;
}
.case-photo-grid .article-figure--wide img {
  aspect-ratio:16 / 9;
}
@media (max-width:640px) {
  .case-photo-grid { grid-template-columns:1fr; gap:14px; }
  .case-photo-grid .article-figure--wide { grid-column:auto; }
  .case-photo-grid img,
  .case-photo-grid .article-figure--wide img { aspect-ratio:4 / 5; }
}
.article-content blockquote {
  border-left:3px solid var(--gold); padding:20px 24px; margin:2em 0;
  background:rgba(240,180,41,.05); border-radius:0 12px 12px 0;
  font-style:italic; color:var(--text); font-size:1.1em;
}

/* ── MOBILE :ACTIVE STATES (replace hover) ───── */
@media (hover:none) {
  .btn-gold:active { transform:scale(0.95); filter:brightness(1.15); }
  .btn-ghost:active { transform:scale(0.95); border-color:var(--gold); }
  .svc-card:active { transform:scale(0.98); border-color:rgba(240,180,41,.3); }
  .seg-card:active { transform:scale(0.97); border-color:rgba(240,180,41,.3); }
  .blog-card:active { transform:scale(0.97); border-color:rgba(240,180,41,.3); }
  .pcard:active { transform:scale(0.97); }
  .pcard:active .pcard__over::after { opacity:1; }
  .faq-q:active { color:var(--gold); }
  .pstep:active { background:var(--bg-2); }
  .pstep:active .pstep__n { color:var(--gold); }
}

/* ── TOUCH RIPPLE ────────────────────────────── */
.touch-ripple {
  position:absolute; border-radius:50%;
  width:0; height:0; pointer-events:none; z-index:10;
  background:radial-gradient(circle, rgba(240,180,41,.2) 0%, rgba(240,180,41,.05) 70%);
  transform:translate(-50%,-50%);
  animation:rippleExpand .55s cubic-bezier(0,0,0.2,1) forwards;
}
@keyframes rippleExpand {
  to { width:350px; height:350px; opacity:0; }
}

/* ── HERO SLIDE DOTS ──────────────────────────── */
.hero__dots {
  position:absolute; bottom:18px; left:50%; transform:translateX(-50%);
  z-index:10; display:flex; gap:10px; align-items:center;
}
.hero__dot {
  width:8px; height:8px; border-radius:50%;
  background:rgba(255,255,255,.3); border:none; padding:0;
  cursor:pointer; transition:background .3s var(--ease), transform .3s var(--ease);
}
.hero__dot--active {
  background:var(--gold); transform:scale(1.3);
}
.hero__dot:hover { background:rgba(255,255,255,.6); }
.hero__dot--active:hover { background:var(--gold-2); }

/* ── SCROLL TO TOP ───────────────────────────── */
.scroll-top {
  position:fixed; bottom:24px; right:24px; z-index:170;
  width:48px; height:48px; border-radius:50%;
  background:rgba(12,10,8,.85); border:1px solid var(--line-s);
  color:var(--text); display:flex; align-items:center; justify-content:center;
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  opacity:0; visibility:hidden; transform:translateY(12px);
  transition:opacity .3s var(--ease), visibility .3s, transform .3s var(--ease), background .2s, border-color .2s;
  cursor:pointer;
}
.scroll-top.is-visible { opacity:1; visibility:visible; transform:translateY(0); }
.scroll-top:hover { background:var(--gold); border-color:var(--gold); color:#0c0a08; }
@media (max-width:820px) {
  .scroll-top { bottom:calc(80px + env(safe-area-inset-bottom, 0px)); right:16px; width:44px; height:44px; }
}

/* ── FORM VALIDATION ─────────────────────────── */
.field--error input,
.field--error select {
  border-color:rgba(220,60,60,.6);
  background:rgba(220,60,60,.06);
  animation:shakeField .4s var(--ease);
}
.field--error label { color:rgba(220,60,60,.8); }
.consent--error {
  border-color:rgba(220,60,60,.7);
  background:rgba(220,60,60,.08);
  box-shadow:0 0 0 2px rgba(220,60,60,.2);
  animation:shakeField .4s var(--ease);
}
.consent--error p { color:rgba(255,120,120,.9); }
@keyframes shakeField {
  0%, 100% { transform:translateX(0); }
  25% { transform:translateX(-5px); }
  75% { transform:translateX(5px); }
}

/* ── LIGHTBOX SKELETON ───────────────────────── */
.lightbox__img[src=""] {
  background:linear-gradient(110deg, #111 30%, #1a1a1a 50%, #111 70%);
  background-size:200% 100%;
  animation:shimmer 1.5s ease infinite;
}
@keyframes shimmer {
  from { background-position:200% 0; }
  to { background-position:-200% 0; }
}

/* ── PREFERS-REDUCED-MOTION ──────────────────── */
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after {
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
  }
  .reveal { opacity:1; transform:none; }
  .hero__eyebrow, .h1l, .hero__sub, .hero__badges, .hero__cta, .hero__stats-strip {
    opacity:1; transform:none; animation:none;
  }
  .preloader { display:none; }
  .cursor { display:none; }
  .ticker__wrap { animation:none; }
  .grain { display:none; }
  .hero__dots { display:none; }
  .scroll-top { transition-duration:0.01ms; }
}

/* ── LIGHTBOX ───────────────────────────────────── */
.lightbox {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(10, 10, 10, 0.95);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.lightbox.is-active {
  opacity: 1; visibility: visible;
}
.lightbox__container {
  display: flex;
  background: #111;
  border: 1px solid rgba(255,255,255,0.05);
  border-radius: 8px;
  overflow: hidden;
  width: 95%; max-width: 1100px;
  height: 85vh; /* Fixed height for split layout */
  box-shadow: 0 40px 80px rgba(0,0,0,0.8);
  transform: scale(0.94) translateY(20px);
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.4s;
}
.lightbox.is-active .lightbox__container {
  transform: scale(1) translateY(0);
}
.lightbox__media {
  flex: 1.3;
  background: #000;
  display: flex; align-items: center; justify-content: center;
  position: relative;
}
.lightbox__img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
.lb-prev, .lb-next {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: rgba(0,0,0,0.4); color: #fff;
  border: 1px solid rgba(255,255,255,0.1);
  width: 44px; height: 44px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; z-index: 10; transition: background 0.2s, transform 0.2s;
  backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
}
.lb-prev:hover, .lb-next:hover { background: rgba(0,0,0,0.8); transform: translateY(-50%) scale(1.1); }
.lb-prev { left: 16px; }
.lb-next { right: 16px; }
.lb-counter {
  position: absolute; bottom: 16px; left: 50%; transform: translateX(-50%);
  background: rgba(0,0,0,0.5); color: #fff; padding: 4px 12px;
  border-radius: 20px; font-size: 0.85rem; letter-spacing: 0.05em; font-weight: 500;
  z-index: 10; backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px);
}
.lb-hidden { display: none !important; }
.lightbox__info {
  flex: 1;
  padding: 48px;
  display: flex; flex-direction: column;
  overflow-y: auto;
  border-left: 1px solid rgba(255,255,255,0.05);
}
.lightbox__title {
  font-family: var(--display);
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  margin-bottom: 8px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.01em;
  line-height: 1.1;
}
.lightbox__type {
  color: var(--gold);
  font-size: 0.85rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  margin-bottom: 32px;
}
.lightbox__meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
.lightbox__meta .meta-item {
  display: flex;
  flex-direction: column;
}
.lightbox__meta .meta-label {
  color: rgba(255,255,255,0.4);
  font-size: 0.85rem;
  margin-bottom: 8px;
}
.lightbox__meta strong {
  color: #fff;
  font-size: 1.1rem;
  font-weight: 500;
}
.lightbox__desc {
  color: rgba(255,255,255,0.7);
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 40px;
  flex-grow: 1;
}
.lightbox__cta {
  width: 100%;
  justify-content: center;
  margin-top: auto;
}
.lightbox__close {
  position: fixed; top: 24px; right: 24px;
  background: rgba(255,255,255,0.12); border: 1px solid rgba(255,255,255,0.15);
  color: #fff; width: 48px; height: 48px;
  border-radius: 50%; display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: background 0.2s, transform 0.2s;
  z-index: 10001;
}
.lightbox__close:hover {
  background: rgba(255,255,255,0.22);
  transform: scale(1.08);
}
@media (max-width: 900px) {
  .lightbox__container {
    flex-direction: column;
    height: 90vh;
  }
  .lightbox__media { flex: none; height: 35vh; border-bottom: 1px solid rgba(255,255,255,0.05); }
  .lightbox__info  { padding: 24px; }
  .lightbox__meta  { gap: 16px; margin-bottom: 24px; padding-bottom: 24px; }
  .lightbox__title { font-size: 1.6rem; }
  .lightbox__desc  { margin-bottom: 24px; font-size: 0.95rem; }
  .lightbox__close { top: 14px; right: 14px; width: 40px; height: 40px; }
}

/* ── PROCESS BACKGROUND TRANSITION ──────────────── */
.has-bg-transition { position: relative; overflow: hidden; padding-top:100px; padding-bottom:100px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.process-bgs { position: absolute; inset: 0; z-index: 0; background: var(--bg); pointer-events: none; }
.proc-bg { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity 0.8s ease, transform 6s linear; transform: scale(1.05); }
.proc-bg--active { opacity: 1; transform: scale(1); }
.proc-overlay { position: absolute; inset: 0; background: linear-gradient(to right, rgba(14, 12, 10, 0.96) 0%, rgba(14, 12, 10, 0.85) 60%, rgba(14, 12, 10, 0.6) 100%); z-index: 1; transition: background 0.6s ease; }
.has-bg-transition:hover .proc-overlay { background: linear-gradient(to right, rgba(14, 12, 10, 0.94) 0%, rgba(14, 12, 10, 0.75) 60%, rgba(14, 12, 10, 0.4) 100%); }
.relative-z { position: relative; z-index: 2; }
.proc-hover-step { position: relative; transition: transform 0.4s var(--ease), padding-left 0.4s var(--ease); cursor: pointer; }
.proc-hover-step:hover, .proc-hover-step--active { transform: translateX(12px); }
.proc-hover-step::before { content: ''; position: absolute; left: -16px; top: 0; bottom: 0; width: 4px; background: var(--gold); opacity: 0; transition: opacity 0.4s var(--ease); border-radius: 4px; }
.proc-hover-step:hover::before, .proc-hover-step--active::before { opacity: 1; }

/* ── BLOG SECTION BACKGROUND ────────────────────── */
.blog-section { 
  background-image: linear-gradient(to bottom, rgba(14, 12, 10, 0.85), rgba(14, 12, 10, 0.98)), url('../assets/optimized/portfolio/hero-800.webp');
  background-size: cover; 
  background-position: center; 
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  position: relative;
}

/* ── MODERN CONTENT / LEGAL / CONTACTS ──────────── */
.content-hero-media {
  margin:0 auto 32px;
  border-radius:24px;
  overflow:hidden;
  border:1px solid var(--line);
  box-shadow:var(--shadow);
}
.content-hero-media img {
  width:100%;
  min-height:260px;
  object-fit:cover;
}
@supports (aspect-ratio: 1) {
  .content-hero-media img {
    min-height:0;
    aspect-ratio:16/8;
  }
}
.hub-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.hub-card {
  padding:24px;
  border:1px solid var(--line);
  border-radius:20px;
  background:rgba(255,255,255,.02);
  transition:border-color .25s var(--ease), transform .25s var(--ease), box-shadow .25s var(--ease);
}
.hub-card:hover {
  transform:translateY(-4px);
  border-color:rgba(240,180,41,.32);
  box-shadow:var(--shadow);
}
.hub-card__tag {
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--gold);
  display:block;
  margin-bottom:14px;
}
.hub-card h3 {
  font-family:var(--display);
  font-size:clamp(1.2rem,2vw,1.7rem);
  line-height:.95;
  text-transform:uppercase;
  margin-bottom:12px;
}
.hub-card p {
  color:var(--text-2);
  margin-bottom:16px;
}
.hub-card__cta {
  font-size:.82rem;
  font-weight:700;
  color:var(--gold);
}
.breadcrumbs {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  color:var(--muted);
  font-family:var(--mono);
  font-size:.7rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin:0 0 18px;
}
.breadcrumbs a { color:var(--muted); }
.breadcrumbs a:hover { color:var(--gold); }
.breadcrumbs span { color:var(--text-2); }
.inline-cta--article {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) auto;
  gap:24px;
  align-items:end;
  margin:36px 0;
  padding:clamp(24px,3vw,34px);
  border:1px solid var(--line);
  border-radius:24px;
  background:
    radial-gradient(circle at top left, rgba(240,180,41,.08), transparent 42%),
    linear-gradient(135deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  box-shadow:var(--shadow);
}
.inline-cta--article p {
  margin:0;
  max-width:30ch;
  color:var(--text-2);
  font-size:clamp(1rem,1.5vw,1.18rem);
  line-height:1.55;
}
.inline-cta--article strong {
  display:block;
  margin-bottom:10px;
  color:var(--text);
  font-size:clamp(1.4rem,2.4vw,2rem);
  line-height:1.05;
}
.inline-cta__actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.inline-cta__actions .btn {
  min-width:220px;
}
.mini-contact-strip {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:36px 0 10px;
}
.mini-contact-strip__item {
  padding:18px 20px;
  border-radius:18px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
}
.mini-contact-strip__item span {
  display:block;
  margin-bottom:8px;
  color:var(--muted);
  font-size:.68rem;
  font-family:var(--mono);
  letter-spacing:.16em;
  text-transform:uppercase;
}
.mini-contact-strip__item a {
  font-size:1rem;
  font-weight:700;
}
.footer-inner--wide {
  align-items:flex-start;
}
.footer-contacts {
  display:grid;
  gap:8px;
}
.footer-contact,
.footer-contact-link {
  font-size:.86rem;
  color:var(--text-2);
}
.footer-contact:hover,
.footer-contact-link:hover { color:var(--gold); }
.footer-operator {
  max-width:420px;
  margin-top:6px;
  color:var(--muted);
  font-size:.76rem;
  line-height:1.55;
}
.footer-legal {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.footer-legal__link {
  min-height:40px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid var(--line);
  color:var(--text-2);
  background:rgba(255,255,255,.02);
  transition:border-color .25s var(--ease), color .25s var(--ease), background .25s var(--ease);
}
.footer-legal__link:hover {
  color:var(--text);
  border-color:rgba(240,180,41,.32);
  background:rgba(240,180,41,.06);
}
.consent-check {
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 16px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.02);
}
.consent-check input {
  margin-top:3px;
  accent-color:var(--gold);
}
.consent-check p {
  font-size:.76rem;
  color:var(--text-2);
  line-height:1.6;
}
.consent-check button {
  color:var(--gold);
  text-decoration:underline;
  text-underline-offset:3px;
}
.contact-person {
  display:grid;
  grid-template-columns:minmax(180px,240px) 1fr;
  gap:28px;
  padding:24px;
  margin:0 0 22px;
  border-radius:24px;
  border:1px solid var(--line);
  background:linear-gradient(135deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  box-shadow:var(--shadow);
}
.contact-person__photo {
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--line);
}
.contact-person__photo img {
  width:100%;
  height:100%;
  min-height:280px;
  max-height:420px;
  aspect-ratio:4 / 5;
  object-fit:cover;
  object-position:center 10%;
}
.contact-person__role {
  color:var(--gold);
  font-family:var(--mono);
  font-size:.72rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:12px;
}
.contact-person h3 {
  font-family:var(--display);
  font-size:clamp(2rem,3vw,2.8rem);
  line-height:.95;
  text-transform:uppercase;
  margin-bottom:12px;
}
.contact-person p {
  color:var(--text-2);
  margin-bottom:18px;
}
.contact-person__quote {
  margin:1.2em 0 0;
  padding-left:1em;
  border-left:3px solid var(--gold);
  font-style:italic;
  color:var(--text-2);
  font-size:0.95em;
  line-height:1.6;
}
.contact-person__actions {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.copy-chip {
  min-height:44px;
  padding:0 16px;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.03);
  color:var(--text-2);
}
.copy-chip.is-copied {
  border-color:rgba(240,180,41,.4);
  color:var(--gold);
}
.seo-cluster-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.seo-cluster-card {
  padding:22px;
  border-radius:20px;
  border:1px solid var(--line);
  background:rgba(255,255,255,.02);
}
.seo-cluster-card h3 {
  font-family:var(--display);
  font-size:1.45rem;
  text-transform:uppercase;
  margin-bottom:12px;
}
.seo-cluster-card p {
  color:var(--text-2);
  margin-bottom:14px;
}
.seo-cluster-card a {
  display:block;
  margin-bottom:8px;
  color:var(--gold);
}
.legal-modal {
  position:fixed;
  inset:0;
  z-index:10010;
  opacity:0;
  visibility:hidden;
  transition:opacity .25s ease, visibility .25s ease;
}
.legal-modal.is-active {
  opacity:1;
  visibility:visible;
}
.legal-modal__backdrop {
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.62);
  backdrop-filter:blur(10px);
}
.legal-modal__dialog {
  position:relative;
  width:min(960px,calc(100% - 32px));
  max-height:min(86vh,920px);
  margin:7vh auto 0;
  overflow:auto;
  padding:28px;
  border-radius:24px;
  border:1px solid var(--line);
  background:linear-gradient(180deg, rgba(17,16,9,.98), rgba(12,10,8,.98));
  box-shadow:0 24px 90px rgba(0,0,0,.55);
}
.legal-modal__close {
  position:absolute;
  top:16px;
  right:16px;
  width:42px;
  height:42px;
  border-radius:50%;
  border:1px solid var(--line);
  color:var(--text);
  background:rgba(255,255,255,.04);
}
.legal-modal__eyebrow {
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
  margin-bottom:10px;
}
.legal-modal__title {
  font-family:var(--display);
  font-size:clamp(1.8rem,3vw,2.6rem);
  text-transform:uppercase;
  margin-bottom:18px;
}
.legal-modal__body {
  color:var(--text-2);
}
.legal-modal__body .reveal {
  opacity:1;
  transform:none;
}
.legal-modal__body .article-hero,
.legal-modal__body .back-link {
  display:none;
}
.legal-modal__body .article-content {
  max-width:none;
  margin:0;
}
.legal-modal__body h2,
.legal-modal__body h3 {
  color:var(--text);
  font-family:var(--display);
  text-transform:uppercase;
  line-height:1;
  letter-spacing:-.01em;
}
.legal-modal__body h2 {
  margin:28px 0 12px;
  font-size:clamp(1.2rem,2vw,1.7rem);
}
.legal-modal__body h3 {
  margin:22px 0 10px;
  font-size:clamp(1rem,1.5vw,1.25rem);
}
.legal-modal__body p,
.legal-modal__body ul,
.legal-modal__body ol {
  margin:0 0 14px;
}
.legal-modal__body ul,
.legal-modal__body ol {
  padding-left:20px;
}
.legal-modal__body ul { list-style:disc; }
.legal-modal__body ol { list-style:decimal; }
.legal-modal__body li { margin-bottom:8px; }
.legal-modal__body strong { color:var(--text); }
.legal-doc-page .article-content {
  max-width:100%;
}
@media (max-width:1100px) {
  .hub-grid,
  .mini-contact-strip {
    grid-template-columns:1fr;
  }
  .contact-person {
    grid-template-columns:1fr;
  }
  .inline-cta--article {
    grid-template-columns:1fr;
    align-items:start;
  }
  .inline-cta__actions {
    justify-content:flex-start;
  }
}
@media (max-width:820px) {
  .inline-cta__actions .btn {
    min-width:0;
    width:100%;
  }
}

/* ═══════════════════════════════════════════════════
   CALCULATOR V2 — Slider + 3 Packages
   ═══════════════════════════════════════════════════ */

.calc-v2 {
  display:flex;
  flex-direction:column;
  gap:clamp(20px,3vw,28px);
}

.cv2-top-row {
  display:grid;
  grid-template-columns:1.5fr 1fr;
  gap:0;
  background:var(--panel);
  border:1px solid var(--line-s);
  border-radius:var(--r);
  overflow:hidden;
}

/* ── Area block ─────────────────────────────────── */
.cv2-area-block {
  padding:clamp(18px,3vw,24px);
  border-right:1px solid var(--line);
}
.cv2-area-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}
.cv2-label {
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
}
.cv2-area-input-wrap {
  display:flex;
  align-items:center;
  gap:6px;
  background:var(--bg-2);
  border:1px solid var(--line-s);
  border-radius:10px;
  padding:6px 12px;
}
.cv2-area-num {
  background:transparent;
  border:none;
  outline:none;
  color:var(--text);
  font-family:var(--display);
  font-size:clamp(1.1rem,2vw,1.4rem);
  font-weight:900;
  width:6ch;
  text-align:right;
  -moz-appearance:textfield;
}
.cv2-area-num::-webkit-inner-spin-button,
.cv2-area-num::-webkit-outer-spin-button { -webkit-appearance:none; }
.cv2-area-unit {
  color:var(--muted);
  font-size:.85rem;
  font-family:var(--mono);
}

/* Custom slider */
.cv2-slider-wrap { position:relative; }
.cv2-slider {
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:4px;
  background:var(--line-s);
  border-radius:4px;
  outline:none;
  cursor:pointer;
  position:relative;
}
.cv2-slider::-webkit-slider-thumb {
  -webkit-appearance:none;
  appearance:none;
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 0 4px rgba(240,180,41,.18), 0 2px 8px rgba(0,0,0,.4);
  cursor:grab;
  transition:box-shadow .2s var(--ease), transform .2s var(--ease);
}
.cv2-slider::-webkit-slider-thumb:active {
  cursor:grabbing;
  transform:scale(1.15);
  box-shadow:0 0 0 8px rgba(240,180,41,.22);
}
.cv2-slider::-moz-range-thumb {
  width:22px;
  height:22px;
  border-radius:50%;
  background:var(--gold);
  border:none;
  cursor:grab;
  box-shadow:0 0 0 4px rgba(240,180,41,.18);
}
.cv2-slider-marks {
  display:flex;
  justify-content:space-between;
  margin-top:8px;
  font-family:var(--mono);
  font-size:.62rem;
  color:var(--muted);
  letter-spacing:.05em;
}

/* ── Load chips ─────────────────────────────────── */
.cv2-chips-block {
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:clamp(18px,3vw,24px);
  justify-content:center;
}
.cv2-chips {
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.cv2-chip {
  display:flex;
  align-items:center;
  gap:7px;
  padding:9px 16px;
  background:var(--panel);
  border:1px solid var(--line-s);
  border-radius:50px;
  color:var(--text-2);
  cursor:pointer;
  font-family:var(--body);
  font-size:.85rem;
  font-weight:500;
  transition:all .22s var(--ease);
  white-space:nowrap;
}
.cv2-chip:hover {
  border-color:rgba(240,180,41,.35);
  color:var(--text);
}
.cv2-chip--active {
  background:rgba(240,180,41,.12);
  border-color:var(--gold);
  color:var(--gold);
}
.cv2-chip__icon {
  display:flex;
  align-items:center;
  flex-shrink:0;
  color:inherit;
  transition:color .22s var(--ease);
}
.cv2-chip__label { font-size:.82rem; }

/* ── Package cards ──────────────────────────────── */
.cv2-packages {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.cv2-pkg {
  position:relative;
  background:var(--panel);
  border:1px solid var(--line-s);
  border-radius:var(--r);
  padding:clamp(16px,2.5vw,22px);
  display:flex;
  flex-direction:column;
  gap:14px;
  cursor:pointer;
  transition:border-color .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease);
  outline:none;
}
.cv2-pkg:hover {
  border-color:rgba(240,180,41,.3);
  transform:translateY(-2px);
}
.cv2-pkg:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:3px;
}
.cv2-pkg--featured {
  border-color:rgba(240,180,41,.45);
  background:linear-gradient(160deg,rgba(240,180,41,.06) 0%,var(--panel) 60%);
  box-shadow:0 0 0 1px rgba(240,180,41,.12), 0 8px 32px rgba(0,0,0,.25);
}
.cv2-pkg--active {
  border-color:var(--gold);
  background:linear-gradient(160deg,rgba(240,180,41,.13) 0%,var(--panel) 65%);
  box-shadow:0 0 0 2px rgba(240,180,41,.5), 0 12px 40px rgba(0,0,0,.35);
  transform:translateY(-3px);
}
/* галочка в углу выбранного пакета */
.cv2-pkg--active::after {
  content:'✓';
  position:absolute;
  top:10px; right:12px;
  width:20px; height:20px;
  background:var(--gold);
  color:#0c0a08;
  border-radius:50%;
  font-size:.7rem;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.cv2-pkg__popular {
  position:absolute;
  top:-12px;
  left:50%;
  transform:translateX(-50%);
  background:var(--gold);
  color:#111;
  font-family:var(--mono);
  font-size:.6rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  padding:4px 12px;
  border-radius:50px;
  white-space:nowrap;
  font-weight:700;
}
.cv2-pkg__head { display:flex; flex-direction:column; gap:4px; }
.cv2-pkg__badge {
  font-family:var(--mono);
  font-size:.6rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--muted);
  display:inline-block;
}
.cv2-pkg__badge--gold { color:var(--gold); }
.cv2-pkg__name {
  font-family:var(--display);
  font-size:clamp(.9rem,1.5vw,1.05rem);
  font-weight:900;
  color:var(--text);
  text-transform:uppercase;
  letter-spacing:-.01em;
  margin:0;
}
.cv2-pkg__hint {
  font-size:.75rem;
  color:var(--muted);
  line-height:1.4;
  margin:0;
}
.cv2-pkg__price-wrap { display:flex; flex-direction:column; gap:2px; }
.cv2-pkg__price {
  font-family:var(--display);
  font-size:clamp(1.2rem,2.5vw,1.6rem);
  font-weight:900;
  color:var(--text);
  letter-spacing:-.02em;
  line-height:1;
  transition:color .2s;
}
.cv2-pkg--featured .cv2-pkg__price { color:var(--gold); }
.cv2-pkg__ppm {
  font-family:var(--mono);
  font-size:.65rem;
  color:var(--muted);
  letter-spacing:.05em;
}

/* expanding button */
.cv2-pkg__expand {
  display:flex;
  align-items:center;
  gap:6px;
  background:transparent;
  border:none;
  color:var(--muted);
  font-size:.72rem;
  font-family:var(--mono);
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
  padding:0;
  transition:color .2s;
}
.cv2-pkg__expand:hover { color:var(--gold); }
.cv2-pkg__expand svg { transition:transform .25s var(--ease); }
.cv2-pkg__expand[aria-expanded="true"] svg { transform:rotate(180deg); }

/* Breakdown скрыт из UI — данные живут в DOM и уходят в email Павлу */
.cv2-pkg__expand,
.cv2-breakdown { display:none; }

/* breakdown list */
.cv2-breakdown {
  border-top:1px solid var(--line);
  padding-top:12px;
  margin-top:2px;
}
.cv2-breakdown__list {
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.cv2-breakdown__list li {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:8px;
  font-size:.75rem;
  color:var(--text-2);
  line-height:1.4;
}
.cv2-breakdown__list li .bd-name { flex:1; }
.cv2-breakdown__list li .bd-price {
  font-family:var(--mono);
  color:var(--text);
  white-space:nowrap;
  font-size:.72rem;
}
.cv2-breakdown__list li .bd-total {
  font-family:var(--mono);
  color:var(--gold);
  white-space:nowrap;
  font-size:.72rem;
  font-weight:700;
}

/* ── Disclaimer ─────────────────────────────────── */
.cv2-disclaimer {
  font-size:.75rem;
  color:var(--muted);
  text-align:center;
  line-height:1.5;
  padding:0 8px;
}

/* ── Form ───────────────────────────────────────── */
.cv2-form {
  background:var(--bg-2);
  border:1px solid var(--line-s);
  border-radius:var(--r);
  padding:clamp(18px,3vw,28px);
  display:flex;
  flex-direction:column;
  gap:16px;
  width:100%;
}
.cv2-form__heading {
  font-family:var(--display);
  font-size:clamp(1rem,2vw,1.2rem);
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:-.01em;
  color:var(--text);
}
.cv2-form__row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

/* ── Price counter animation ────────────────────── */
@keyframes cv2PriceFlash {
  0%   { opacity:.4; transform:translateY(4px); }
  100% { opacity:1;  transform:translateY(0); }
}
.cv2-pkg__price.is-updating {
  animation:cv2PriceFlash .25s var(--ease) forwards;
}

/* ── Mobile ─────────────────────────────────────── */
@media (max-width:600px) {
  .cv2-top-row { grid-template-columns:1fr; }
  .cv2-area-block { border-right:none; border-bottom:1px solid var(--line); }
  .cv2-packages { grid-template-columns:1fr; gap:10px; }
  .cv2-pkg { gap:12px; }
  .cv2-pkg__price-wrap { align-items:flex-start; }
  .cv2-form__row { grid-template-columns:1fr; }
  .cv2-chips { flex-wrap:wrap; }
  .cv2-chip { justify-content:flex-start; }
  .cv2-area-header { flex-wrap:wrap; gap:8px; }
}

/* ═══════════════════════════════════════════════════
   CALLBACK — всплывающее окно + кнопка в шапке
   ═══════════════════════════════════════════════════ */

/* ── HEADER CALLBACK (desktop pill) ─────────────── */
.header-callback {
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 14px 8px 12px;
  background:transparent;
  color:var(--text-2);
  border:1px solid var(--line-s);
  border-radius:999px;
  font-family:var(--body);
  font-weight:600;
  font-size:.78rem;
  letter-spacing:.02em;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  transition:color .25s var(--ease), border-color .25s var(--ease), background .25s var(--ease);
}
.header-callback::before {
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 18px 50%, rgba(240,180,41,.18), transparent 60%);
  opacity:0;
  transition:opacity .3s var(--ease);
  pointer-events:none;
}
.header-callback:hover,
.header-callback:focus-visible {
  color:var(--text);
  border-color:rgba(240,180,41,.45);
  outline:none;
}
.header-callback:hover::before,
.header-callback:focus-visible::before { opacity:1; }
.header-callback__icon { color:var(--gold); flex-shrink:0; }
.header-callback__label { white-space:nowrap; }

/* Мобильная icon-only кнопка — спрятана до ≤820px */
.header-callback--mobile {
  display:none;
  padding:10px;
  width:42px;
  height:42px;
  justify-content:center;
  color:var(--gold);
  border-color:rgba(240,180,41,.35);
}
.header-callback--mobile:hover,
.header-callback--mobile:focus-visible { color:#0c0a08; background:var(--gold); border-color:var(--gold); }

/* ── MOB-NAV CALLBACK (в выезжающем меню) ───────── */
.mob-nav__callback {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin-top:clamp(12px, 3vw, 20px);
  padding:14px 24px;
  background:transparent;
  color:var(--text) !important;
  border:1px solid var(--line-s);
  border-radius:var(--r);
  font-family:var(--body);
  font-size:1rem;
  font-weight:600;
  letter-spacing:.02em;
  cursor:pointer;
  transition:background .25s var(--ease), color .25s, border-color .25s;
}
.mob-nav__callback svg { color:var(--gold); }
.mob-nav__callback:active {
  background:rgba(240,180,41,.08);
  border-color:rgba(240,180,41,.35);
}

@media (prefers-reduced-motion: reduce) {
  .header-callback, .header-callback::before, .mob-nav__callback { transition:none; }
}

/* ── DIALOG ─────────────────────────────────────── */
.cb-dialog {
  /* native <dialog> reset */
  margin:auto;
  padding:0;
  border:0;
  background:transparent;
  color:var(--text);
  max-width:min(440px, calc(100% - 32px));
  width:100%;
  overflow:visible;
}
.cb-dialog::backdrop {
  background:rgba(12, 10, 8, .72);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  animation:cbBackdropIn .25s var(--ease) both;
}
@keyframes cbBackdropIn {
  from { opacity:0; }
  to   { opacity:1; }
}

.cb-dialog[open] { animation:cbDialogIn .4s var(--ease) both; }
@keyframes cbDialogIn {
  from { opacity:0; transform:translateY(24px) scale(.96); }
  to   { opacity:1; transform:translateY(0) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
  .cb-dialog[open],
  .cb-dialog::backdrop { animation:none; }
}

.cb-dialog__form,
.cb-dialog__ok {
  position:relative;
  background:var(--panel);
  border:1px solid var(--line-s);
  border-radius:var(--r);
  padding:clamp(22px, 4vw, 32px);
  box-shadow:0 30px 80px rgba(0,0,0,.55);
}

.cb-dialog__close {
  position:absolute;
  top:12px; right:12px;
  width:36px; height:36px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:var(--text-2);
  border-radius:50%;
  transition:background .2s var(--ease), color .2s var(--ease);
}
.cb-dialog__close:hover,
.cb-dialog__close:focus-visible {
  background:rgba(255,243,210,.06);
  color:var(--text);
}

.cb-dialog__tag {
  display:inline-block;
  font-family:var(--mono);
  font-size:.68rem;
  letter-spacing:.2em;
  text-transform:uppercase;
  color:var(--gold);
  padding:5px 10px;
  border:1px solid rgba(240,180,41,.32);
  border-radius:4px;
  margin-bottom:16px;
}

.cb-dialog__title {
  font-family:var(--display);
  font-weight:900;
  font-size:clamp(1.4rem, 3.2vw, 1.8rem);
  line-height:1.1;
  letter-spacing:-.01em;
  text-transform:uppercase;
  text-wrap:balance;
  margin-bottom:10px;
}

.cb-dialog__sub {
  font-size:.92rem;
  line-height:1.55;
  color:var(--text-2);
  margin-bottom:22px;
}

.cb-dialog__fields {
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-bottom:14px;
}

.cb-dialog__hp {
  position:absolute;
  left:-9999px;
  width:1px;
  height:1px;
  overflow:hidden;
  opacity:0;
  pointer-events:none;
}

.cb-dialog__consent { margin-bottom:18px; }

.cb-dialog__submit {
  width:100%;
  justify-content:center;
}
.cb-dialog__submit[disabled],
.cb-dialog__submit.is-loading {
  opacity:.7;
  cursor:progress;
}

.cb-dialog__note {
  margin-top:14px;
  text-align:center;
  font-size:.82rem;
  color:var(--muted);
}
.cb-dialog__note a {
  color:var(--gold);
  font-weight:600;
  border-bottom:1px dashed rgba(240,180,41,.35);
}
.cb-dialog__note a:hover { color:var(--gold-2); border-bottom-color:var(--gold-2); }

/* ── SUCCESS STATE ──────────────────────────────── */
.cb-dialog__ok {
  text-align:center;
  padding:40px 28px 36px;
}
.cb-dialog__ok-icon {
  color:var(--gold);
  margin-bottom:16px;
  animation:cbOkPop .5s var(--ease) both;
}
@keyframes cbOkPop {
  from { opacity:0; transform:scale(.6); }
  to   { opacity:1; transform:scale(1); }
}
.cb-dialog__ok-title {
  font-family:var(--display);
  font-size:1.4rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:-.01em;
  margin-bottom:10px;
}
.cb-dialog__ok-text {
  color:var(--text-2);
  line-height:1.6;
}

/* ── MOBILE: bottom sheet ───────────────────────── */
@media (max-width: 640px) {
  .cb-dialog {
    margin:0;
    max-width:100%;
    width:100%;
    position:fixed;
    inset:auto 0 0 0;
  }
  .cb-dialog[open] { animation:cbSheetIn .35s var(--ease) both; }
  @keyframes cbSheetIn {
    from { transform:translateY(100%); }
    to   { transform:translateY(0); }
  }
  .cb-dialog__form,
  .cb-dialog__ok {
    border-radius:20px 20px 0 0;
    border-bottom:0;
    padding:26px 20px calc(24px + env(safe-area-inset-bottom, 0px));
  }
  .cb-dialog__form::before {
    content:'';
    display:block;
    width:40px; height:4px;
    background:var(--line-s);
    border-radius:2px;
    margin:-4px auto 16px;
  }
}

/* ── BLOG HERO BACKGROUND ───────────────────────── */
.blog-hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.blog-hero-bg__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
  filter: blur(6px) brightness(0.35) saturate(0.8);
  transform: scale(1.06); /* prevent blur edge bleed */
  will-change: transform;
}
.blog-hero-bg__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom,
      rgba(12,10,8,0.55)  0%,
      rgba(12,10,8,0.30) 40%,
      rgba(12,10,8,0.72) 100%
    ),
    linear-gradient(to right,
      rgba(12,10,8,0.60) 0%,
      transparent 60%
    );
}
/* Section needs relative positioning for the abs bg */
.section { position: relative; }

/* Source: lead-forms.css */
/* Блок заявки на первом экране платных посадочных (добавлено 07.09.2026) */
/* Первый экран и форма не зависят от JS: .reveal стартует с opacity:0 */
.svc-page .article-hero,.svc-page .svc-lead{opacity:1!important;transform:none!important}
.svc-page .article-hero{padding-top:clamp(24px,4vh,48px);padding-bottom:clamp(16px,3vw,28px)}
.svc-page .article-hero h1{font-size:clamp(1.7rem,6.4vw,4.2rem);overflow-wrap:anywhere;margin-bottom:12px}
.svc-page .article-hero__tag{margin-bottom:8px}
.svc-page .article-hero .back-link{margin:0 0 22px}
.svc-lead{margin:0 0 clamp(32px,6vw,56px)}
.svc-lead__cols{display:grid;gap:32px;padding:32px 0;border-block:1px solid var(--line);grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "form" "contact"}
.svc-lead__intro{grid-area:intro;min-width:0}
.svc-lead__pitch{grid-area:contact;min-width:0}
.svc-lead__title{font-family:var(--body);font-size:clamp(26px,2.4vw,34px);font-weight:700;line-height:1.15;letter-spacing:-.02em;margin:0 0 12px;text-transform:none}
.svc-lead__sub{margin:0;color:var(--text-2);font-size:16px;line-height:1.5;max-width:440px}
.svc-lead__person{display:flex;align-items:center;gap:16px;margin:0}
.svc-lead__person>img{width:88px;height:112px;object-fit:cover;object-position:50% 22%;border-radius:8px;flex-shrink:0}
.svc-lead__contact{min-width:0}
.svc-lead__name{font-size:14px;line-height:1.5;color:var(--text-2);margin:0 0 4px}
.svc-lead__call{display:inline-flex;align-items:center;min-height:44px;color:var(--text);font-size:clamp(20px,2vw,26px);font-weight:600;line-height:1.25;text-decoration:none;white-space:nowrap}
.svc-lead__call:hover{color:var(--gold)}
.svc-lead__alt{display:flex;flex-wrap:wrap;gap:0 20px;margin:0;font-size:14px}
.svc-lead__alt a{display:inline-flex;align-items:center;min-height:44px;color:var(--gold);text-decoration:underline;text-underline-offset:4px}
.svc-lead__bullets{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px 24px;margin:20px 0 0}
.svc-lead__bullets li{font-size:13px;line-height:1.5;color:var(--text-2)}
.svc-lead__form{grid-area:form;display:grid;gap:16px;align-content:start;min-width:0;margin:0;padding:0;border:0;background:none}
.svc-lead__field{display:block;min-width:0;margin:0}
.svc-lead__field>span{display:block;font-size:14px;line-height:1.5;font-weight:600;color:var(--text);margin-bottom:8px;letter-spacing:0;text-transform:none}
.svc-lead__field>span i{font-style:normal;font-weight:400;color:var(--text-2)}
.svc-lead__field input{width:100%;height:54px;box-sizing:border-box;padding:0 16px;font:inherit;font-size:16px;line-height:1.5;color:var(--text);background:rgba(255,255,255,.03);border:1px solid var(--line-s);border-radius:8px;caret-color:var(--gold)}
.svc-lead__field input:focus{outline:2px solid var(--gold);outline-offset:2px;border-color:var(--gold)}
.svc-lead__field.is-error input{border-color:#e5534b}
.svc-lead__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.svc-lead__consent{display:flex;grid-column:1/-1;gap:12px;align-items:flex-start;min-height:44px;box-sizing:border-box;margin:0;padding-block:8px;font-size:13px;line-height:1.6;color:var(--text-2)}
.svc-lead__consent input{margin:2px 0 0;flex:0 0 20px;width:20px;height:20px;accent-color:var(--gold);color-scheme:dark}
.svc-lead__consent a{color:var(--text);text-decoration:underline;text-underline-offset:3px}
.svc-lead__consent.is-error{color:#ffb2ac}
.svc-lead__submit{grid-column:1/-1;width:100%;min-height:54px;padding:14px 24px;border:0;border-radius:8px;background:var(--gold);color:var(--bg);font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.svc-lead__submit[disabled]{opacity:.6;cursor:wait}
.svc-lead__msg{grid-column:1/-1;margin:0;font-size:16px;line-height:1.5}
.svc-lead__msg--ok{color:var(--gold,#f0b429)}
.svc-lead__msg--err{color:#e5534b}

/* A short request is available independently of the asphalt calculator. */
.svc-lead [hidden]{display:none!important}
.svc-lead__sub,.svc-lead__consent,.svc-lead__alt{color:var(--text-2);opacity:1}
.svc-lead__field input::placeholder{color:var(--text-2);opacity:1}
.svc-lead__field input[aria-invalid="true"]{border-color:#ff968e}
.svc-lead__msg--err{color:#ffb2ac}
.svc-lead__submit:hover{background:var(--gold-2)}
.svc-lead__cols>*{min-width:0}
#zayavka,#calc{scroll-margin-top:100px}
.home-lead{padding-block:40px}
.svc-lead__context{font-size:16px;color:var(--text-2);margin:0 0 20px;max-width:65ch}
.lead-mobile-bar{display:none}
.lead-error{color:#ffb2ac;font-size:16px;margin:12px 0}
.calc-help{margin:16px 0;color:var(--text-2);font-size:16px}
.calc-help a{text-decoration:underline;color:var(--gold);text-underline-offset:4px}
@media(max-width:899px){
 .svc-page .article-hero h1{font-size:clamp(1.65rem,6vw,2.8rem)}
 .svc-page .article-hero{padding-top:20px;padding-bottom:16px}
 .lead-mobile-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:90;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--bg-1);border-top:1px solid var(--line-s)}
 .lead-mobile-bar a{flex:1;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;border:1px solid var(--line-s);border-radius:10px}
 .lead-mobile-bar a:last-child{background:var(--gold);color:var(--bg)}
 body:has(.lead-mobile-bar){padding-bottom:calc(76px + env(safe-area-inset-bottom))}
 body:has(input:focus) .lead-mobile-bar,body:has(dialog[open]) .lead-mobile-bar,body:has(.legal-modal.is-active) .lead-mobile-bar{display:none}
}

@media(min-width:900px){
 .svc-lead__cols{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:48px;row-gap:24px;grid-template-areas:"intro form" "contact form";grid-template-rows:auto 1fr;align-items:start}
}
@media(min-width:1100px){
 .svc-lead__form{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:580px){
 .svc-lead__cols{gap:28px;padding-block:28px}
 .svc-lead__person{gap:12px;margin:0}
 .svc-lead__person>img{width:64px;height:88px}
 .svc-lead__call{font-size:20px}
 .svc-lead__alt{gap:0 16px}
 .svc-lead__bullets{display:grid;gap:8px;margin-top:16px}
}

/* Source: classic-polish.css */
/* Conservative refinement of the original KATKOM website, 05 October 2026. */
:root { --muted:#b0a38d; --line:rgba(255,243,210,.12); }
.brand__logo { height:52px; width:76px; object-fit:contain; filter:none; }
.brand__wordmark { font-size:24px; letter-spacing:.045em; }
.site-nav a { font-size:13px; }
.site-nav a:hover,.footer-nav a:hover { text-underline-offset:6px; text-decoration:underline; }
.hero__sub { max-width:570px; }
.hero__h1 { text-wrap:balance; }
.hero__badges .badge { border-radius:5px; }
.hero__cta .btn { min-height:52px; }
.hero__eyebrow,.hero__sub,.hero__badges,.hero__cta,.hero__stats-strip { animation-delay:0s; }
.hero__eyebrow,.hero__sub,.hero__badges,.hero__cta,.hero__stats-strip,.h1l { animation:none; opacity:1; transform:none; }
.hero__stats-strip .hstat,.hero__stats-strip .hstat__n { opacity:1; transform:none; filter:none; }
.hero__stats-strip { visibility:visible; }
.skip-to-content:not(:focus) { transform:translateY(calc(-100% - 24px)); }
.h1l { animation-delay:calc(var(--d, .3s) / 3); }
.hstat__n { filter:none; }
.grain { display:none; }
.section[id],#zayavka,#svcLeadForm,#leadForm { scroll-margin-top:100px; }
.svc-lead__sub { max-width:440px; }
.consent-label,.consent__text { font-size:13px; line-height:1.6; }
.local-notice { margin-top:14px; color:var(--text-2); font-size:12px; line-height:1.6; }
.svc-lead__form .local-notice { grid-column:1/-1; }
.footer-social-link,.mini-contact-socials a { min-width:44px; min-height:44px; }
.article-content { overflow-wrap:break-word; }
.article-content a { text-underline-offset:4px; }
.article-hero__meta { color:var(--text-2); }
.content-hero-media img { width:100%; }
.cv2-package-select { display:block; width:100%; min-height:44px; border:1px solid var(--line-s); border-radius:5px; color:var(--text); font-size:14px; font-weight:600; margin:18px 0 4px; }
.cv2-package-select[aria-pressed=true] { background:var(--gold); border-color:var(--gold); color:#0c0a08; }
.cv2-package-select:hover { border-color:var(--gold); }
.cv2-pkg__price { font-variant-numeric:tabular-nums; font-size:clamp(26px,2.5vw,38px); }
.cv2-pkg__expand { min-height:44px; }
.calc-feedback { display:flex; flex-wrap:wrap; gap:6px 22px; align-items:center; padding:20px 0 0; font-size:13px; color:var(--text-2); }
.calc-feedback p { flex:1 1 260px; }
.calc-feedback button { color:var(--gold); min-height:44px; font-size:13px; text-decoration:underline; text-underline-offset:4px; }
.cv2-form [disabled] { opacity:.55; cursor:wait; }
.classic-cookie { position:fixed; z-index:250; bottom:20px; left:24px; max-width:530px; padding:22px; border:1px solid var(--line-s); border-radius:10px; background:var(--bg-2); box-shadow:0 8px 35px #0008; }
.classic-cookie p { color:var(--text-2); font-size:13px; line-height:1.65; margin:8px 0 16px; }
.classic-cookie>div { display:flex; gap:10px; flex-wrap:wrap; }
.classic-cookie .btn { padding:12px 14px; min-height:44px; }
.cookie-settings { color:var(--text-2); font-size:12px; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.classic-not-found { min-height:65vh; padding-block:150px 80px; }
.classic-not-found h1 { font-family:var(--display); font-size:clamp(38px,6vw,70px); line-height:1.1; }
.classic-not-found p { margin:24px 0; }
dialog { max-height:calc(100dvh - 32px); overflow-y:auto; overscroll-behavior:contain; }
.cb-dialog { overflow-y:auto; }
.cb-dialog>.cb-dialog__close { z-index:2; width:44px; height:44px; top:8px; right:8px; }
/* Keep shared enquiry sections on the same page gutters as their neighbours. */
.svc-lead.container { margin-inline:auto; }

/* Long articles are readable independently of scroll-triggered decoration. */
.article-content.reveal { opacity:1; transform:none; filter:none; transition:none; }
.article-table-scroll { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
.article-table-scroll table { min-width:560px; }
.sh > * { min-width:0; }

/* Preserve source order while filling every portfolio row. */
.pgrid .pcard { grid-column:auto; }
@media(min-width:1101px) {
  .pgrid .pcard:first-child,.pgrid .pcard:last-child { grid-column:span 2; }
}

/* Shared rows align package descriptions, prices and selection controls. */
.cv2-packages { grid-template-columns:repeat(3,minmax(0,1fr)); }
.cv2-pkg { min-width:0; cursor:default; }
.cv2-pkg:hover,.cv2-pkg--active { transform:none; }
.cv2-pkg__price { white-space:nowrap; }
.cv2-package-select { margin-top:auto; margin-bottom:0; }
@supports(grid-template-rows:subgrid) {
  .cv2-pkg { display:grid; grid-template-rows:subgrid; grid-row:span 3; }
}
@supports not (grid-template-rows:subgrid) {
  .cv2-pkg__head { min-height:100px; }
}

.header-actions { flex-shrink:0; }
.header-phone { white-space:nowrap; }
.burger { min-width:44px; min-height:44px; align-items:center; justify-content:center; }
.mob-nav { justify-content:flex-start; overflow-y:auto; overscroll-behavior:contain; padding:100px 20px calc(28px + env(safe-area-inset-bottom)); }
.mob-nav[aria-hidden="true"] { visibility:hidden; }
.mob-nav__inner { width:min(100%,400px); flex-shrink:0; }
.contact-person__actions .max-logo--btn { width:22px; height:22px; object-fit:contain; flex-shrink:0; }
.contact-person__actions .btn:has(.max-logo--btn) { min-width:52px; padding-inline:14px; }
.footer-legal>a { display:inline-flex; align-items:center; min-height:44px; max-width:100%; padding:8px 12px; border:1px solid var(--line); border-radius:6px; color:var(--text-2); font-size:12px; line-height:1.5; }
.footer-legal>a:hover { color:var(--gold); border-color:var(--gold); }
button,a,summary,input { touch-action:manipulation; }
[hidden] { display:none !important; }
@media(max-width:1100px) {
  .site-header__inner { gap:16px; }
  .site-nav { display:none; }
  .burger { display:flex; }
}
@media(max-width:820px) {
  .header-callback--mobile { display:inline-flex; width:44px; height:44px; }
  .header-actions { gap:8px; }
}
@media(max-width:760px) {
  .cv2-packages { grid-template-columns:minmax(0,1fr); gap:22px; }
  .cv2-pkg__head { min-height:0; }
}
@media(max-width:700px) {
  .brand__logo { width:64px; height:46px; }
  .brand__wordmark { font-size:21px; }
  .hero__sub { font-size:15px; }
  .hero__badges { flex-direction:row; gap:8px; }
  .hero__badges .badge { font-size:11px; padding:7px 9px; }
  .hero__overlay { background:linear-gradient(90deg,rgba(12,10,8,.72),rgba(12,10,8,.3)),linear-gradient(0deg,#0c0a08 0%,rgba(12,10,8,.25) 90%); }
  .hero__cta { gap:10px; }
  .hero__cta .btn { white-space:normal; }
  .article-hero { padding-top:32px; }
  .article-hero h1 { overflow-wrap:anywhere; }
  .blog-index-hero h1 { font-size:clamp(24px,7vw,40px); overflow-wrap:normal; }
  .article-content table { font-size:13px; }
  .article-content th,.article-content td { padding:10px 6px; }
  .svc-lead__form input { font-size:16px; }
  .cv2-pkg { min-width:0; }
  .cv2-pkg__price { font-size:clamp(25px,7vw,36px); }
  .classic-cookie { inset:auto 12px 12px; max-height:calc(100dvh - 100px); overflow:auto; }
}
@media(max-width:374px) {
  .sh__title { font-size:clamp(2rem,10vw,2.6rem); }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  *,*::before,*::after { animation-duration:.01ms!important; animation-delay:0ms!important; transition-duration:.01ms!important; }
  .hero__eyebrow,.hero__sub,.hero__badges,.hero__cta,.hero__stats-strip,.h1l,.hstat__n,.reveal { opacity:1!important; transform:none!important; filter:none!important; }
}
