:root {
  --ink: #10231d;
  --ink-2: #18372d;
  --ink-3: #245044;
  --paper: #f1f0e9;
  --paper-2: #f8f7f2;
  --white: #fffef9;
  --accent: #c7ff42;
  --accent-2: #9eea2d;
  --mint: #44d7c6;
  --mint-soft: #d6f5ee;
  --text: #15241f;
  --muted: #66726c;
  --line: #d6dad2;
  --line-dark: rgba(255, 255, 255, .14);
  --shadow: 0 24px 70px rgba(16, 35, 29, .12);
  --shadow-small: 0 14px 34px rgba(16, 35, 29, .09);
  --radius: 28px;
  --radius-small: 18px;
  --font-body: "Golos Text", sans-serif;
  --font-display: "Unbounded", sans-serif;
  --shell: 1240px;
  --ease: cubic-bezier(.2, .8, .2, 1);
}

*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 104px;
  background: var(--paper);
}

body {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  overflow-wrap: anywhere;
  color: var(--text);
  background:
    radial-gradient(circle at 4% 8%, rgba(68, 215, 198, .08), transparent 25rem),
    var(--paper);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body::before {
  position: fixed;
  z-index: 9999;
  inset: 0;
  opacity: .022;
  pointer-events: none;
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");
}

img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
svg { display: block; }
a, button { touch-action: manipulation; -webkit-tap-highlight-color: rgba(68, 215, 198, .2); }

:where(h1, h2, h3)[id] { scroll-margin-top: 112px; }

::selection { color: var(--ink); background: var(--accent); }

:focus-visible {
  outline: 3px solid var(--mint);
  outline-offset: 4px;
}

.shell {
  width: min(calc(100% - 48px), var(--shell));
  margin-inline: auto;
}

.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link {
  position: fixed;
  z-index: 10000;
  top: 12px;
  left: 12px;
  padding: 10px 16px;
  color: var(--ink);
  background: var(--accent);
  border-radius: 10px;
  transform: translateY(-150%);
  transition: transform .2s ease;
}

.skip-link:focus { transform: translateY(0); }

h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { color: var(--ink); }
h1, h2 {
  margin-bottom: 24px;
  font-family: var(--font-display);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -.045em;
  text-wrap: balance;
}

h1 { font-size: clamp(3rem, 5.4vw, 5.45rem); }
h2 { font-size: clamp(2.25rem, 4vw, 4rem); }
h3 { font-size: 1.25rem; line-height: 1.25; }

.eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px;
  color: var(--ink-3);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.eyebrow > span {
  width: 28px;
  height: 2px;
  background: var(--accent-2);
}

.eyebrow--light { color: rgba(255, 255, 255, .68); }
.eyebrow--light > span { background: var(--accent); }

.button {
  display: inline-flex;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 14px 24px;
  border: 1px solid transparent;
  border-radius: 14px;
  font-weight: 700;
  line-height: 1.15;
  cursor: pointer;
  transition: transform .28s var(--ease), box-shadow .28s var(--ease), background .28s ease, color .28s ease, border-color .28s ease;
}

.button svg {
  width: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.button:hover { transform: translateY(-3px); }
.button--small { min-height: 46px; padding: 11px 17px; border-radius: 12px; font-size: .87rem; }
.button--accent { color: var(--ink); background: var(--accent); box-shadow: 0 14px 34px rgba(199, 255, 66, .2); }
.button--accent:hover { background: #d3ff65; box-shadow: 0 18px 42px rgba(199, 255, 66, .27); }
.button--ink { color: #fff; background: var(--ink); }
.button--ink:hover { background: var(--ink-2); box-shadow: var(--shadow-small); }
.button--ghost { color: var(--ink); background: rgba(255, 255, 255, .55); border-color: rgba(16, 35, 29, .22); }
.button--ghost:hover, .button--outline:hover { background: var(--white); border-color: var(--ink); }
.button--light { color: var(--ink); background: var(--white); }
.button--light:hover { background: var(--accent); }
.button--outline { color: var(--ink); background: transparent; border-color: rgba(16, 35, 29, .25); }
.button--telegram { color: #fff; background: #087bab; border-color: #087bab; box-shadow: 0 14px 34px rgba(8, 123, 171, .14); }
.button--telegram:hover { color: #fff; background: #06678f; border-color: #06678f; box-shadow: 0 18px 40px rgba(8, 123, 171, .2); }
.button:disabled { opacity: .6; cursor: not-allowed; transform: none; box-shadow: none; }
.button--block { width: 100%; }

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  border-bottom: 1px solid currentColor;
}

.text-link span { transition: transform .2s ease; }
.text-link:hover span { transform: translate(3px, -3px); }
.text-link--light { color: #fff; }

/* Header */
.site-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  background: rgba(248, 247, 242, .9);
  border-bottom: 1px solid rgba(16, 35, 29, .1);
  backdrop-filter: blur(18px);
}

.header-meta { color: rgba(255, 255, 255, .78); background: var(--ink); font-size: .76rem; }
.header-meta__inner { display: flex; min-height: 34px; align-items: center; justify-content: space-between; gap: 24px; }
.header-meta__inner a { padding-block: 7px; }
.header-meta__inner a:hover { color: var(--accent); }
.header-hours { margin-left: auto; }
.header-order { color: #fff; font-weight: 600; }
.header-main { display: flex; height: 76px; align-items: center; justify-content: space-between; gap: 28px; }

.brand { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 12px; }
/* Approved identity Q within the original 48 × 48 rounded brand tile. */
.brand-mark { display: block; flex: 0 0 auto; width: 44px; height: 44px; object-fit: contain; }
.brand-copy { display: flex; flex-direction: column; line-height: 1; }
.brand-copy strong { font-family: var(--font-display); font-size: 1rem; letter-spacing: -.03em; text-transform: uppercase; }
.brand-copy small { margin-top: 6px; color: var(--muted); font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }

.desktop-nav { display: flex; align-items: center; gap: 5px; }
.desktop-nav a { padding: 9px 11px; color: #44514b; border-radius: 10px; font-size: .87rem; font-weight: 600; transition: color .2s ease, background .2s ease; }
.desktop-nav a:hover { color: var(--ink); background: rgba(16, 35, 29, .06); }
.header-actions { display: flex; align-items: center; gap: 14px; }
.header-phone { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.1; }
.header-phone span { margin-bottom: 5px; color: var(--muted); font-size: .67rem; text-transform: uppercase; }
.header-phone strong { font-size: .87rem; }

.menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  padding: 10px;
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 12px;
  cursor: pointer;
}

.menu-toggle span { display: block; width: 20px; height: 2px; margin: 4px auto; background: var(--ink); transition: transform .2s ease, opacity .2s ease; }
.menu-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.menu-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.mobile-nav {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  padding: 18px 24px 24px;
  background: var(--paper-2);
  border-bottom: 1px solid var(--line);
  box-shadow: var(--shadow-small);
  max-height: calc(100dvh - 170px);
  overflow-y: auto;
  overscroll-behavior: contain;
}

.mobile-nav:not([hidden]) { display: grid; }
.mobile-nav a { padding: 13px 5px; border-bottom: 1px solid var(--line); font-weight: 600; }

/* Hero */
.hero {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  padding: 44px 0 88px;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, .55), rgba(255, 255, 255, .05)),
    var(--paper);
}

.hero::after {
  position: absolute;
  right: -5%;
  bottom: 0;
  width: 50%;
  height: 1px;
  content: "";
  background: rgba(16, 35, 29, .25);
}

.hero-orbit { position: absolute; border: 1px solid rgba(16, 35, 29, .09); border-radius: 50%; pointer-events: none; }
.hero-orbit--one { width: 680px; height: 680px; top: -310px; left: -320px; }
.hero-orbit--two { width: 440px; height: 440px; right: -220px; bottom: -260px; border-color: rgba(199, 255, 66, .34); }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.12fr .88fr; gap: clamp(32px, 4vw, 60px); align-items: center; }
.hero-copy { position: relative; z-index: 2; min-width: 0; }
.hero-copy .eyebrow { margin-bottom: 19px; font-size: .68rem; letter-spacing: .09em; }
.hero-copy h1 { max-width: 780px; margin-bottom: 20px; font-size: clamp(2.5rem, 3.7vw, 3.25rem); line-height: 1.13; text-wrap: initial; }
.hero-copy h1 em { display: block; color: var(--ink-3); font-style: normal; }
.hero-locality { display: block; margin-top: 10px; font-family: var(--font-body); font-size: 1.3rem; font-weight: 500; letter-spacing: 0; line-height: 1.4; }
.hero-promise { margin-bottom: 10px; color: var(--ink-3); font-size: 1.06rem; font-weight: 700; }
.hero-lead { max-width: 600px; margin-bottom: 24px; color: #4e5b55; font-size: 1rem; line-height: 1.6; }
.hero-copy .hero-actions .button { padding-inline: 19px; font-size: .9rem; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-channel-note { display: flex; flex-wrap: wrap; gap: 8px 20px; align-items: center; margin-top: 15px; color: var(--muted); font-size: .78rem; }
.hero-channel-note > a { color: var(--ink); font-weight: 700; border-bottom: 1px solid rgba(16,35,29,.28); }
.hero-channel-note > span a { color: var(--ink-3); font-weight: 700; border-bottom: 1px solid currentColor; }

.hero-points {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  padding: 0;
  margin: 25px 0 0;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  list-style: none;
}

.hero-points li { display: flex; flex-direction: column; gap: 5px; color: #52605a; font-size: .76rem; line-height: 1.45; }
.hero-points li strong { color: var(--ink); font-size: .9rem; }
.hero-points li span { max-width: 175px; }

.hero-visual { position: relative; min-width: 0; width: 100%; padding: 0 22px 26px 0; }
.hero-image-wrap { position: relative; height: 460px; overflow: hidden; background: var(--ink); border-radius: 36px 105px 36px 36px; box-shadow: var(--shadow); }
.hero-image-wrap img { width: 100%; height: 100%; object-fit: cover; object-position: 48% center; }
.hero-image-shade { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 50%, rgba(6, 18, 14, .42)); }

.rating-card, .location-card {
  position: absolute;
  z-index: 3;
  display: flex;
  align-items: center;
  background: rgba(255, 254, 249, .94);
  box-shadow: 0 20px 50px rgba(16, 35, 29, .2);
  backdrop-filter: blur(16px);
}

.rating-card { top: 32px; right: 0; gap: 12px; padding: 14px 16px; border-radius: 17px; transition: transform .25s var(--ease); }
.rating-card:hover { transform: translateY(-4px); }
.rating-card__logo { display: grid; width: 40px; height: 40px; place-items: center; color: #fff; background: #fc3f1d; border-radius: 12px; font-size: 1.25rem; font-weight: 700; }
.rating-card > span:last-child { display: flex; flex-direction: column; }
.rating-card strong { line-height: 1.2; }
.rating-card strong b { color: #f7ad17; font-size: .7rem; letter-spacing: .05em; }
.rating-card small { margin-top: 4px; color: var(--muted); font-size: .72rem; }

.location-card { left: -28px; bottom: 0; gap: 12px; padding: 16px 18px; border-radius: 17px; }
.location-card svg { width: 30px; fill: none; stroke: var(--ink); stroke-width: 1.8; }
.location-card > span { display: flex; flex-direction: column; }
.location-card strong { font-size: .9rem; }
.location-card small { margin-top: 3px; color: var(--muted); font-size: .72rem; }
.location-card:hover { background: #fff; }

/* Quick estimate */
.quick-estimate { position: relative; z-index: 4; margin-top: -62px; }
.quick-card { padding: 26px; background: var(--white); border: 1px solid rgba(16, 35, 29, .09); border-radius: 25px; box-shadow: var(--shadow); }
.quick-card__intro { display: flex; align-items: center; gap: 16px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.quick-card__intro h2 { margin: 0 0 5px; font-family: var(--font-body); font-size: 1.05rem; letter-spacing: 0; }
.quick-card__intro p { margin: 0; color: var(--muted); font-size: .82rem; }
.step-label { display: grid; width: 44px; height: 44px; flex: 0 0 auto; place-items: center; color: var(--ink); background: var(--accent); border-radius: 13px; font-family: var(--font-display); font-size: .72rem; }

.device-choice { display: flex; flex-wrap: wrap; gap: 8px; margin: 20px 0; }
.device-choice label, .contact-methods label { cursor: pointer; }
.device-choice input, .contact-methods input { position: absolute; opacity: 0; pointer-events: none; }
.device-choice span { display: block; padding: 9px 14px; color: #53605a; background: #f1f2ed; border: 1px solid transparent; border-radius: 999px; font-size: .78rem; font-weight: 600; transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
.device-choice input:checked + span { color: #fff; background: var(--ink); border-color: var(--ink); }
.device-choice input:focus-visible + span, .contact-methods input:focus-visible + span { outline: 3px solid var(--mint); outline-offset: 2px; }

.quick-fields { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px; align-items: end; }
.quick-fields--catalog { grid-template-columns: minmax(0, 1fr) auto; }
.field { display: grid; gap: 8px; }
.field > span, .contact-methods legend { font-size: .78rem; font-weight: 700; }
.field input, .field select, .field textarea {
  width: 100%;
  color: var(--ink);
  background: #f3f4ef;
  border: 1px solid transparent;
  border-radius: 13px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.field input, .field select { min-height: 52px; padding: 0 15px; }
.field textarea { min-height: 120px; padding: 14px 15px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus { background: #fff; border-color: var(--ink); box-shadow: 0 0 0 4px rgba(68, 215, 198, .12); }
.field input::placeholder, .field textarea::placeholder { color: #69776f; }
.form-fallback { padding: 16px; color: var(--ink); background: var(--mint-soft); border: 1px solid var(--line); border-radius: 12px; font-size: .9rem; }
.form-fallback a { text-decoration: underline; text-underline-offset: 3px; }
.field input, .field select, .field textarea { scroll-margin-block: 140px 110px; }
.quick-submit { min-width: 210px; }
.quick-result[hidden], .contact-handle[hidden] { display: none; }
.quick-result { display: grid; grid-template-columns: .8fr 1.25fr auto; gap: 18px; align-items: start; padding: 22px; margin-top: 20px; background: linear-gradient(135deg, var(--mint-soft), #f6f7f1 72%); border: 1px solid rgba(36,80,68,.18); border-radius: 18px; }
.quick-result__copy { display: flex; min-width: 0; flex-direction: column; }
.quick-result__copy > span { margin-bottom: 5px; color: var(--ink-3); font-size: .65rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.quick-result__copy > strong { font-family: var(--font-display); font-size: .9rem; line-height: 1.45; }
.quick-result__copy p { margin: 8px 0 0; color: var(--muted); font-size: .72rem; }
.quick-result__list { display: grid; gap: 7px; min-width: 0; }
.quick-result__list:empty { display: none; }
.quick-result__item { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 16px; padding: 11px 13px; background: rgba(255,255,255,.78); border: 1px solid rgba(16,35,29,.09); border-radius: 12px; }
.quick-result__item > span { display: flex; min-width: 0; flex-direction: column; }
.quick-result__item strong { font-size: .75rem; line-height: 1.4; }
.quick-result__item small { color: var(--muted); font-size: .64rem; }
.quick-result__item b { flex: 0 0 auto; font-size: .78rem; white-space: nowrap; }
.quick-result__actions { display: grid; gap: 8px; }
.quick-result__actions .button { min-height: 48px; padding-inline: 16px; white-space: nowrap; }
.quick-result > small { grid-column: 1 / -1; color: var(--muted); font-size: .65rem; }

/* Proof */
.proof { padding: 52px 0 0; }
.proof-panel { display: grid; grid-template-columns: 1.5fr repeat(3, .45fr) .7fr auto; gap: 26px; align-items: center; padding: 25px 28px; color: #fff; background: var(--ink); border-radius: 23px; }
.proof-title { display: flex; align-items: center; gap: 14px; }
.proof-title p { margin: 0 0 4px; color: rgba(255, 255, 255, .6); font-size: .75rem; }
.proof-title h2 { margin: 0; color: #fff; font-family: var(--font-body); font-size: 1.15rem; letter-spacing: 0; }
.proof-ya { display: grid; width: 44px; height: 44px; flex: 0 0 auto; place-items: center; color: #fff; background: #fc3f1d; border-radius: 14px; font-size: 1.35rem; font-weight: 700; }
.proof-stat { display: flex; flex-direction: column; padding-left: 22px; border-left: 1px solid var(--line-dark); }
.proof-stat strong { color: var(--accent); font-family: var(--font-display); font-size: 1.16rem; }
.proof-stat span { color: rgba(255, 255, 255, .58); font-size: .71rem; }
.proof-award { display: grid; grid-template-columns: auto 1fr; gap: 0 8px; align-items: center; padding-left: 22px; border-left: 1px solid var(--line-dark); }
.proof-award > span { grid-row: 1 / span 2; display: grid; width: 32px; height: 32px; place-items: center; color: var(--ink); background: var(--accent); border-radius: 50%; }
.proof-award strong { font-size: .75rem; }
.proof-award small { color: rgba(255, 255, 255, .58); font-size: .68rem; }
.proof-panel .text-link { font-size: .78rem; white-space: nowrap; }

/* Section headings */
.section { padding: 122px 0; }
.section-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: 80px; align-items: end; margin-bottom: 54px; }
.section-heading h2 { max-width: 820px; margin-bottom: 0; }
.section-heading > p, .section-heading > a { align-self: end; }
.section-heading > p { max-width: 520px; margin-bottom: 4px; color: var(--muted); }
.section-heading--narrow { grid-template-columns: 1.1fr .7fr; }

/* Services */
.services-grid { display: grid; grid-template-columns: repeat(12, 1fr); gap: 16px; }
.service-card {
  position: relative;
  grid-column: span 5;
  display: flex;
  min-height: 430px;
  flex-direction: column;
  overflow: hidden;
  padding: 28px;
  background: var(--paper-2);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  transition: transform .35s var(--ease), box-shadow .35s var(--ease), border-color .35s ease;
}

.service-card:hover { z-index: 2; border-color: rgba(16, 35, 29, .28); box-shadow: var(--shadow-small); transform: translateY(-6px); }
.service-card--wide { grid-column: span 7; background: linear-gradient(135deg, var(--mint-soft), #f8f7f2 62%); }
.service-card:nth-child(3), .service-card:nth-child(4), .service-card:nth-child(5) { grid-column: span 4; }
.service-number { position: absolute; top: 24px; right: 26px; color: #a9b0ab; font-family: var(--font-display); font-size: .7rem; }
.service-icon { display: grid; width: 62px; height: 62px; place-items: center; margin-bottom: 42px; color: var(--ink); background: var(--white); border: 1px solid var(--line); border-radius: 18px; }
.service-icon svg { width: 38px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.service-kicker { margin-bottom: 9px; color: var(--ink-3); font-size: .7rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.service-copy h3 { margin-bottom: 14px; font-family: var(--font-display); font-size: 1.28rem; letter-spacing: -.03em; }
.service-copy > p { color: var(--muted); font-size: .9rem; }
.service-copy ul { display: grid; gap: 7px; padding: 0; margin: 20px 0 26px; list-style: none; }
.service-copy li { display: flex; gap: 9px; color: #46534d; font-size: .78rem; }
.service-copy li::before { color: var(--ink-3); content: "•"; }
.service-link { display: flex; align-items: center; justify-content: space-between; padding-top: 18px; margin-top: auto; border-top: 1px solid var(--line); font-size: .82rem; font-weight: 700; }
.service-link span { font-size: 1.2rem; transition: transform .2s ease; }
.service-link:hover span { transform: translateX(4px); }
.service-card--accent { color: var(--ink); background: var(--accent); border-color: var(--accent); }
.service-card--accent .service-kicker, .service-card--accent .service-copy > p { color: rgba(16, 35, 29, .68); }
.service-card--accent .button { margin-top: auto; }

/* Business teaser */
.business-teaser { padding: 0 0 122px; }
.business-teaser__panel {
  position: relative;
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  gap: 70px;
  overflow: hidden;
  padding: 54px;
  color: #fff;
  background: var(--ink-2);
  border-radius: 34px;
  box-shadow: var(--shadow);
}
.business-teaser__panel::after { position: absolute; width: 430px; height: 430px; right: -210px; bottom: -270px; content: ""; background: radial-gradient(circle, rgba(199,255,66,.24), transparent 68%); border: 1px solid rgba(255,255,255,.09); border-radius: 50%; }
.business-teaser__copy { position: relative; z-index: 1; }
.business-teaser__copy h2 { max-width: 760px; color: #fff; font-size: clamp(2.05rem, 3.4vw, 3.55rem); }
.business-teaser__copy > p:not(.eyebrow) { max-width: 720px; margin-bottom: 30px; color: rgba(255,255,255,.66); }
.business-teaser__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.business-teaser__services { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-content: center; }
.business-teaser__services span { display: flex; min-height: 82px; align-items: flex-end; padding: 16px; color: rgba(255,255,255,.78); background: rgba(255,255,255,.065); border: 1px solid rgba(255,255,255,.11); border-radius: 16px; font-size: .77rem; font-weight: 600; }

/* Prices */
.price-section { position: relative; overflow: hidden; padding: 124px 0; color: #fff; background: var(--ink); }
.price-section h2 { color: #fff; }
.price-section::before { position: absolute; inset: 0; opacity: .13; content: ""; background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to right, transparent, #000, transparent); }
.price-glow { position: absolute; width: 600px; height: 600px; right: -260px; top: -260px; background: radial-gradient(circle, rgba(199, 255, 66, .2), transparent 66%); border-radius: 50%; }
.price-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(60px, 8vw, 110px); align-items: center; }
.price-intro > p:not(.eyebrow) { max-width: 520px; color: rgba(255, 255, 255, .63); }
.price-notice { display: flex; gap: 12px; padding: 16px; margin: 30px 0; background: rgba(255, 255, 255, .06); border: 1px solid var(--line-dark); border-radius: 15px; }
.price-notice > span { display: grid; width: 28px; height: 28px; flex: 0 0 auto; place-items: center; color: var(--ink); background: var(--accent); border-radius: 50%; font-weight: 700; }
.price-notice p { margin: 0; color: rgba(255, 255, 255, .7); font-size: .78rem; }

.price-finder { padding: 24px; background: rgba(255, 255, 255, .075); border: 1px solid var(--line-dark); border-radius: 26px; box-shadow: 0 30px 90px rgba(0, 0, 0, .28); backdrop-filter: blur(12px); }
.price-search { display: flex; align-items: center; gap: 12px; padding: 0 16px; color: var(--ink); background: var(--white); border: 2px solid transparent; border-radius: 15px; transition: border-color .2s ease; }
.price-search:focus-within { border-color: var(--accent); }
.price-search svg { width: 22px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.price-search input { width: 100%; min-height: 60px; background: transparent; border: 0; outline: 0; }
.price-search kbd { padding: 5px 8px; color: var(--muted); background: #eceee8; border: 1px solid #d9ddd5; border-radius: 7px; font-size: .66rem; white-space: nowrap; }
.price-filters { display: flex; gap: 8px; padding: 18px 0; overflow-x: auto; scrollbar-width: none; }
.price-filters::-webkit-scrollbar { display: none; }
.price-filters button { flex: 0 0 auto; min-height: 44px; padding: 8px 12px; color: rgba(255, 255, 255, .75); background: transparent; border: 1px solid var(--line-dark); border-radius: 999px; font-size: .8rem; cursor: pointer; transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
.price-filters button:hover, .price-filters button.is-active { color: var(--ink); background: var(--accent); border-color: var(--accent); }
.price-results { display: grid; gap: 8px; }
.price-row { display: flex; min-height: 72px; align-items: center; justify-content: space-between; gap: 20px; padding: 13px 15px; color: var(--ink); background: rgba(255, 255, 255, .95); border-radius: 13px; }
.price-row > span { display: flex; min-width: 0; flex-direction: column; }
.price-row strong { font-size: .86rem; overflow-wrap: anywhere; }
.price-row[href]:hover { background: var(--mint-soft); }
.price-row small { margin-top: 4px; color: var(--muted); font-size: .71rem; }
.price-row b { flex: 0 0 auto; font-size: .85rem; }
.price-row--empty { justify-content: center; color: var(--muted); text-align: center; }
.price-status { min-height: 20px; margin: 13px 3px 0; color: rgba(255, 255, 255, .5); font-size: .7rem; }
.price-next { position: relative; z-index: 1; display: grid; grid-template-columns: 1fr auto auto; gap: 18px; align-items: center; padding: 20px 22px; margin-top: 28px; background: rgba(255,255,255,.07); border: 1px solid var(--line-dark); border-radius: 20px; }
.price-next > div { display: flex; min-width: 0; flex-direction: column; }
.price-next > div span { color: var(--accent); font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.price-next > div strong { color: #fff; font-size: .82rem; }
.price-next .button { min-height: 48px; }

/* Service standards */
.standards-section { background: #e9eee7; }
.standards-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.standard-card { display: flex; min-width: 0; flex-direction: column; padding: 32px; background: var(--paper-2); border: 1px solid rgba(16,35,29,.11); border-radius: 26px; }
.standard-card__head { display: flex; gap: 18px; align-items: flex-start; margin-bottom: 30px; }
.standard-card__head > span { display: grid; width: 42px; height: 42px; flex: 0 0 auto; place-items: center; color: var(--ink); background: var(--accent); border-radius: 13px; font-family: var(--font-display); font-size: .66rem; }
.standard-card__head > div { display: flex; min-width: 0; flex-direction: column; }
.standard-card__head small { color: var(--muted); font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }
.standard-card__head h3 { margin: 5px 0 0; font-family: var(--font-display); font-size: 1.22rem; letter-spacing: -.025em; }
.standard-card > p { margin: auto 0 0; padding-top: 20px; color: var(--muted); border-top: 1px solid var(--line); font-size: .78rem; }
.warranty-levels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-bottom: 26px; }
.warranty-levels > div { display: flex; min-height: 145px; flex-direction: column; justify-content: space-between; padding: 18px; background: #fff; border: 1px solid var(--line); border-radius: 18px; }
.warranty-levels strong { color: var(--ink-3); font-family: var(--font-display); font-size: 2.2rem; line-height: 1; }
.warranty-levels span { display: flex; flex-direction: column; color: var(--muted); font-size: .67rem; line-height: 1.35; }
.warranty-levels b { margin-bottom: 3px; color: var(--ink); font-size: .75rem; }
.timing-list { display: grid; gap: 0; padding: 0; margin: 0 0 26px; list-style: none; }
.timing-list li { display: grid; grid-template-columns: 130px 1fr; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.timing-list li:first-child { padding-top: 0; }
.timing-list b { color: var(--ink-3); font-size: .78rem; }
.timing-list span { color: var(--muted); font-size: .77rem; }
.standard-card--diagnostics { grid-column: 1 / -1; display: grid; grid-template-columns: .72fr 1.28fr; gap: 48px; align-items: center; color: #fff; background: var(--ink); border-color: var(--ink); }
.standard-card--diagnostics .standard-card__head { margin: 0; }
.standard-card--diagnostics .standard-card__head small { color: rgba(255,255,255,.5); }
.standard-card--diagnostics .standard-card__head h3 { color: #fff; }
.standard-card--diagnostics > p { padding: 0; margin: 0; color: rgba(255,255,255,.66); border: 0; font-size: .86rem; }

/* Process */
.process-section { background: var(--paper-2); }
.process-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: stretch; }
.process-photo { position: relative; min-height: 630px; margin: 0; overflow: hidden; background: var(--ink); border-radius: 34px 100px 34px 34px; }
.process-photo img { width: 100%; height: 100%; object-fit: cover; }
.process-photo figcaption { position: absolute; right: 20px; bottom: 20px; left: 20px; display: flex; flex-direction: column; padding: 16px 18px; color: rgba(255, 255, 255, .72); background: rgba(16, 35, 29, .88); border: 1px solid rgba(255, 255, 255, .12); border-radius: 15px; font-size: .75rem; backdrop-filter: blur(8px); }
.process-photo figcaption span { margin-bottom: 3px; color: var(--accent); font-weight: 700; }
.process-list { display: grid; padding: 0; margin: 0; list-style: none; counter-reset: none; }
.process-list li { display: grid; grid-template-columns: 58px 1fr; gap: 22px; align-items: start; padding: 26px 0; border-bottom: 1px solid var(--line); }
.process-list li:first-child { padding-top: 5px; }
.process-list li > span { display: grid; width: 52px; height: 52px; place-items: center; color: var(--ink); background: var(--accent); border-radius: 15px; font-family: var(--font-display); font-size: .7rem; }
.process-list h3 { margin: 3px 0 7px; font-family: var(--font-display); font-size: 1rem; letter-spacing: -.02em; }
.process-list p { max-width: 560px; margin: 0; color: var(--muted); font-size: .85rem; }

/* Cases */
.cases-section { overflow: hidden; }
.cases-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.case-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--radius); transition: transform .35s var(--ease), box-shadow .35s var(--ease); }
.case-card:hover { box-shadow: var(--shadow-small); transform: translateY(-6px); }
.case-image { position: relative; height: 280px; overflow: hidden; background: #d9ddd6; }
.case-image::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, transparent 58%, rgba(16, 35, 29, .52)); }
.case-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease); }
.case-card:nth-child(2) .case-image img { object-position: center 43%; }
.case-card:hover .case-image img { transform: scale(1.04); }
.case-image > span { position: absolute; z-index: 2; left: 18px; bottom: 16px; padding: 7px 10px; color: var(--ink); background: var(--accent); border-radius: 999px; font-size: .66rem; font-weight: 700; }
.case-body { display: flex; flex: 1; flex-direction: column; padding: 24px; }
.case-body h3 { min-height: 62px; margin-bottom: 22px; font-family: var(--font-display); font-size: 1.04rem; letter-spacing: -.02em; }
.case-body dl { display: grid; gap: 14px; margin: 0 0 24px; }
.case-body dl > div { display: grid; grid-template-columns: 74px 1fr; gap: 10px; }
.case-body dt { color: var(--ink-3); font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.case-body dd { margin: 0; color: var(--muted); font-size: .77rem; line-height: 1.55; }
.case-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 17px; margin-top: auto; border-top: 1px solid var(--line); font-size: .7rem; }
.case-meta > span { color: var(--muted); }
.case-meta a { color: var(--ink); font-weight: 700; }

/* Workshop */
.workshop { overflow: hidden; padding: 124px 0; color: #fff; background: var(--ink); }
.workshop-grid { display: grid; grid-template-columns: .72fr 1.28fr; grid-template-rows: minmax(360px, auto) 220px; gap: 16px; }
.workshop-copy { grid-row: 1 / span 2; align-self: center; max-width: 460px; padding-right: 46px; }
.workshop-copy h2 { color: #fff; }
.workshop-copy > p:not(.eyebrow) { color: rgba(255, 255, 255, .62); }
.workshop-copy ul { display: grid; gap: 10px; padding: 0; margin: 35px 0 0; list-style: none; }
.workshop-copy li { display: flex; gap: 12px; color: rgba(255, 255, 255, .8); font-size: .84rem; }
.workshop-copy li span { color: var(--accent); font-family: var(--font-display); font-size: .7rem; }
.workshop-photo { position: relative; min-width: 0; margin: 0; overflow: hidden; border-radius: 24px; }
.workshop-photo--team { height: 100%; min-height: 360px; }
.workshop-photo-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; min-width: 0; }
.workshop-photo-pair .workshop-photo { height: 220px; }
.workshop-photo img { width: 100%; height: 100%; object-fit: cover; }
.workshop-photo figcaption { position: absolute; left: 16px; bottom: 14px; padding: 7px 11px; color: var(--ink); background: var(--accent); border-radius: 999px; font-size: .66rem; font-weight: 700; }

/* Reviews */
.reviews-section { background: var(--paper-2); }
.reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.review-card { display: flex; min-height: 300px; flex-direction: column; padding: 28px; background: var(--white); border: 1px solid var(--line); border-radius: var(--radius); }
.review-stars { margin-bottom: 28px; color: #f0a915; font-size: .83rem; letter-spacing: .16em; }
.review-card blockquote { margin: 0 0 30px; font-size: 1.02rem; line-height: 1.75; }
.review-card footer { display: flex; align-items: end; justify-content: space-between; gap: 12px; padding-top: 18px; margin-top: auto; border-top: 1px solid var(--line); }
.review-card footer span { font-weight: 700; }
.review-card footer small { color: var(--muted); font-size: .7rem; }
.reviews-cta { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; padding: 22px; margin-top: 18px; background: var(--mint-soft); border: 1px solid rgba(36,80,68,.14); border-radius: 20px; }
.reviews-cta > div { display: flex; min-width: 0; flex-direction: column; }
.reviews-cta > div span { color: var(--ink-3); font-size: .68rem; font-weight: 700; text-transform: uppercase; }
.reviews-cta > div strong { font-size: .84rem; }
.reviews-cta .button { min-height: 48px; }

/* Social networks */
.social-section { background: var(--paper); }
.social-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.social-card { --social-color: var(--mint); position: relative; display: flex; min-height: 285px; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 24px; background: var(--paper-2); border: 1px solid var(--line); border-radius: 24px; transition: transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s ease; }
.social-card::before { position: absolute; width: 150px; height: 150px; top: -82px; right: -72px; content: ""; background: color-mix(in srgb, var(--social-color) 20%, transparent); border-radius: 50%; }
.social-card:hover { border-color: var(--social-color); box-shadow: var(--shadow-small); transform: translateY(-5px); }
.social-card__mark { position: relative; display: grid; width: 48px; height: 48px; place-items: center; color: #fff; background: var(--social-color); border-radius: 15px; font-weight: 800; }
.social-card > div { margin-top: auto; }
.social-card small { color: var(--social-color); font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.social-card h3 { margin: 7px 0 9px; font-family: var(--font-display); font-size: 1.02rem; letter-spacing: -.025em; }
.social-card p { margin: 0; color: var(--muted); font-size: .76rem; }
.social-card > b { position: absolute; right: 22px; bottom: 20px; color: var(--social-color); font-size: 1.15rem; }
.social-card--vk { --social-color: #1673d3; }
.social-card--youtube { --social-color: #d63030; }
.social-card--tiktok { --social-color: #111d19; }
.social-card--instagram { --social-color: #b23e85; }

/* FAQ */
.faq-layout { display: grid; grid-template-columns: .65fr 1.35fr; gap: 100px; }
.faq-intro { position: sticky; top: 142px; align-self: start; }
.faq-intro > p:not(.eyebrow) { max-width: 390px; margin-bottom: 30px; color: var(--muted); }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 24px 0; list-style: none; font-family: var(--font-display); font-size: .98rem; font-weight: 600; line-height: 1.4; cursor: pointer; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary span { display: grid; width: 34px; height: 34px; flex: 0 0 auto; place-items: center; background: var(--white); border: 1px solid var(--line); border-radius: 50%; font-family: var(--font-body); font-size: 1.15rem; transition: transform .25s ease, background .25s ease; }
.faq-item[open] summary span { background: var(--accent); transform: rotate(45deg); }
.faq-item p { max-width: 730px; padding: 0 54px 24px 0; margin: 0; color: var(--muted); font-size: .9rem; }

/* Estimate form */
.estimate-section { position: relative; overflow: hidden; padding: 124px 0; color: #fff; background: var(--ink-2); }
.estimate-section::after { position: absolute; width: 600px; height: 600px; top: -380px; left: 8%; content: ""; background: radial-gradient(circle, rgba(68, 215, 198, .24), transparent 68%); border-radius: 50%; }
.estimate-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items: center; }
.estimate-copy h2 { color: #fff; }
.estimate-copy > p:not(.eyebrow) { color: rgba(255, 255, 255, .65); }
.estimate-points { display: grid; gap: 12px; margin-top: 36px; }
.estimate-points span { display: flex; align-items: center; gap: 11px; color: rgba(255, 255, 255, .76); font-size: .82rem; }
.estimate-points b { display: grid; width: 26px; height: 26px; place-items: center; color: var(--ink); background: var(--accent); border-radius: 50%; font-size: .68rem; }
.messenger-directs { display: grid; gap: 9px; max-width: 460px; margin-top: 30px; }
.messenger-direct { display: grid; grid-template-columns: 84px 1fr auto; gap: 13px; align-items: center; padding: 11px 13px; color: #fff; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.14); border-radius: 16px; transition: background .2s ease, transform .2s ease; }
.messenger-direct:hover { background: rgba(255,255,255,.13); transform: translateY(-2px); }
.messenger-direct > strong { display: grid; min-height: 42px; place-items: center; padding-inline: 10px; color: #fff; border-radius: 12px; font-size: .74rem; letter-spacing: -.02em; }
.messenger-direct--telegram > strong { background: #087bab; }
.messenger-direct--max > strong { background: linear-gradient(135deg, #7358ff, #376ef5); }
.messenger-direct > span { min-width: 0; color: rgba(255,255,255,.72); font-size: .72rem; line-height: 1.4; }
.messenger-direct > i { color: var(--accent); font-style: normal; }

.estimate-form { display: grid; gap: 18px; padding: 34px; color: var(--ink); background: var(--paper-2); border-radius: 28px; box-shadow: 0 30px 80px rgba(0, 0, 0, .24); }
.estimate-form-anchor { min-width: 0; scroll-margin-top: 20px; }
.form-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
.form-heading > span { font-family: var(--font-display); font-size: .86rem; font-weight: 600; }
.form-heading > small { color: var(--muted); font-size: .65rem; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.form-options { background: #eff1eb; border: 1px solid var(--line); border-radius: 15px; }
.form-options summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; list-style: none; cursor: pointer; }
.form-options summary::-webkit-details-marker { display: none; }
.form-options summary::after { display: grid; width: 26px; height: 26px; flex: 0 0 auto; place-items: center; margin-left: auto; background: #fff; border: 1px solid var(--line); border-radius: 50%; content: "+"; font-size: 1rem; line-height: 1; transition: transform .2s ease, background-color .2s ease; }
.form-options[open] summary::after { background: var(--accent); transform: rotate(45deg); }
.form-options summary span { font-size: .76rem; font-weight: 700; }
.form-options summary small { color: var(--muted); font-size: .65rem; }
.form-options__body { display: grid; gap: 16px; padding: 2px 16px 16px; border-top: 1px solid var(--line); }
.form-options__body > .form-row { padding-top: 16px; }
.contact-methods { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; border: 0; }
.contact-methods legend { width: 100%; margin-bottom: 6px; }
.contact-methods label { flex: 1 1 105px; }
.contact-methods span { display: block; min-width: 0; min-height: 44px; padding: 10px 12px; text-align: center; background: #e9ebe5; border: 1px solid transparent; border-radius: 12px; font-size: .8rem; font-weight: 700; transition: color .2s ease, background-color .2s ease, border-color .2s ease; }
.contact-methods input:checked + span { color: #fff; background: var(--ink); }
.form-trap { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.consent { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.consent input { width: 17px; height: 17px; flex: 0 0 auto; margin-top: 3px; accent-color: var(--ink); }
.consent span { color: var(--muted); font-size: .69rem; line-height: 1.5; }
.consent a { color: var(--ink); border-bottom: 1px solid; }
.form-note { margin: -5px 0 0; color: var(--muted); text-align: center; font-size: .66rem; }
.form-status { min-height: 0; margin: -4px 0 0; text-align: center; font-size: .72rem; }
.form-status:empty { display: none; }
.form-status.is-loading { color: var(--muted); }
.form-status.is-error { color: #9a2c20; }
.form-status.is-error a { color: var(--ink); border-bottom: 1px solid; font-weight: 700; }
.form-status.is-success { color: #176a43; font-weight: 700; }
.form-status.is-preview { padding: 9px 11px; color: #68551a; background: #fff1b6; border-radius: 10px; }
.estimate-form .button[disabled] { opacity: .68; cursor: wait; transform: none; }
.booking-success { display: grid; grid-template-columns: 48px 1fr auto; gap: 14px; align-items: center; padding: 17px; color: var(--ink); background: var(--mint-soft); border: 1px solid rgba(16,35,29,.12); border-radius: 18px; }
.booking-success[hidden] { display: none; }
.booking-success__icon { display: grid; width: 48px; height: 48px; place-items: center; color: var(--ink); background: var(--accent); border-radius: 50%; font-weight: 800; }
.booking-success > div { display: flex; min-width: 0; flex-direction: column; }
.booking-success small { color: var(--muted); font-size: .63rem; text-transform: uppercase; }
.booking-success strong { margin-top: 2px; font-family: var(--font-display); font-size: .84rem; }
.booking-success p { margin: 4px 0 0; color: var(--muted); font-size: .69rem; line-height: 1.45; }
.booking-success > .booking-success__actions { display: flex; flex-direction: row; gap: 7px; }
.booking-success__actions .button { min-height: 42px; padding-inline: 13px; }

/* Contacts */
.contacts-section { padding: 124px 0; background: var(--paper-2); }
.contacts-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 80px; align-items: stretch; }
.contact-photo { position: relative; min-height: 620px; overflow: hidden; background: var(--ink); border-radius: 34px 100px 34px 34px; }
.contact-photo img { width: 100%; height: 100%; object-fit: cover; }
.contact-photo > span { position: absolute; left: 18px; bottom: 18px; padding: 8px 12px; color: var(--ink); background: var(--accent); border-radius: 999px; font-size: .7rem; font-weight: 700; }
.contact-info { align-self: center; }
.contact-lines { display: grid; margin: 40px 0; border-top: 1px solid var(--line); }
.contact-line { display: grid; grid-template-columns: 42px 1fr; gap: 16px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.contact-line__icon { display: grid; width: 40px; height: 40px; place-items: center; background: var(--mint-soft); border-radius: 12px; font-size: 1rem; }
.contact-line small { display: block; margin-bottom: 2px; color: var(--muted); font-size: .66rem; text-transform: uppercase; }
.contact-line strong { display: block; font-size: .95rem; }
.contact-line p { margin: 3px 0 0; color: var(--muted); font-size: .82rem; }
.contact-buttons { display: flex; flex-wrap: wrap; gap: 9px; }
.schedule-note { max-width: 580px; padding-left: 13px; margin: 24px 0 0; color: var(--muted); border-left: 3px solid var(--accent-2); font-size: .76rem; }

/* Footer */
.site-footer { padding: 70px 0 22px; color: rgba(255, 255, 255, .72); background: #0b1814; }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, .65fr); gap: 60px; padding-bottom: 54px; }
.brand--footer { color: #fff; }
.brand--footer .brand-copy small { color: rgba(255, 255, 255, .48); }
.footer-brand p { max-width: 360px; margin: 25px 0 0; color: rgba(255, 255, 255, .48); font-size: .8rem; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }
.footer-column strong { margin-bottom: 9px; color: #fff; font-size: .78rem; }
.footer-column a { color: rgba(255, 255, 255, .56); font-size: .76rem; transition: color .2s ease; }
.footer-column a:hover { color: var(--accent); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; padding-top: 20px; color: rgba(255, 255, 255, .36); border-top: 1px solid rgba(255, 255, 255, .09); font-size: .69rem; }

.mobile-actions { display: none; }
.toast { position: fixed; z-index: 5000; right: 24px; bottom: 24px; max-width: 380px; padding: 14px 17px; color: #fff; background: var(--ink); border: 1px solid rgba(255,255,255,.14); border-radius: 13px; box-shadow: var(--shadow); font-size: .8rem; }

/* Price page */
.price-page { background: var(--paper-2); }
.price-page-hero { padding: 48px 0 32px; background: var(--ink); }
.price-page-hero h1 { max-width: 1000px; color: #fff; font-size: clamp(2rem, 3.8vw, 3.8rem); }
.price-page-hero > .shell > p:not(.eyebrow) { max-width: 700px; color: rgba(255,255,255,.62); }
.price-page-main { padding: 48px 0 110px; }
.price-page-search { position: sticky; z-index: 20; top: 110px; padding: 18px; margin-bottom: 28px; background: rgba(248,247,242,.93); border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow-small); backdrop-filter: blur(16px); }
.price-page-search .price-search { border-color: var(--line); box-shadow: none; }
.price-page-search .price-filters { padding-bottom: 0; }
.price-page-search .price-filters button { color: var(--muted); border-color: var(--line); }
.price-page-search .price-filters button:hover, .price-page-search .price-filters button.is-active { color: var(--ink); border-color: var(--ink); }
.price-page-meta { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 30px 4px 18px; }
.price-page-meta h2 { margin: 0; font-family: var(--font-body); font-size: 1.15rem; letter-spacing: 0; }
.price-page-meta span { color: var(--muted); font-size: .78rem; }
.price-table-list { display: grid; gap: 10px; }
.price-list-row { display: grid; grid-template-columns: minmax(170px, 1fr) minmax(210px, 1.2fr) minmax(125px, .65fr) minmax(130px, .75fr) auto; gap: 18px; align-items: center; padding: 18px 20px; background: #fff; border: 1px solid var(--line); border-radius: 16px; }
.price-list-row:not(.price-list-row--head) { content-visibility: auto; contain-intrinsic-size: auto 78px; }
.price-list-row strong { font-size: .86rem; }
.price-list-row > span { color: var(--muted); font-size: .78rem; }
.price-list-row b { color: var(--ink); text-align: right; font-size: .84rem; }
.price-list-row small { color: var(--muted); text-align: right; font-size: .68rem; }
.price-list-action { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; gap: 6px; padding: 7px 11px; color: var(--ink); background: var(--accent); border-radius: 10px; font-size: .78rem; font-weight: 700; white-space: nowrap; }
.price-list-action:hover { background: var(--accent-2); }
.price-list-action span { font-size: .85rem; }
.price-list-row--head { color: var(--muted); background: #eaede7; font-size: .68rem; text-transform: uppercase; }
.price-list-row--empty { grid-template-columns: 1fr; padding: 60px 20px; color: var(--muted); text-align: center; }
.price-page-note { padding: 24px; margin-top: 32px; color: var(--muted); background: var(--mint-soft); border-radius: 18px; font-size: .82rem; }
.price-page-cta { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding: 34px; margin-top: 18px; color: #fff; background: var(--ink); border-radius: 24px; }
.price-page-cta h2 { margin: 0 0 8px; color: #fff; font-family: var(--font-body); font-size: 1.3rem; letter-spacing: 0; }
.price-page-cta p { margin: 0; color: rgba(255,255,255,.6); font-size: .8rem; }

/* Device protection: code-native diagram and a model-first material selector. */
.film-landing .service-hero h1 { font-size: clamp(2.3rem, 3.7vw, 3.7rem); line-height: 1.2; }
.film-landing .service-hero__grid { gap: 56px; }
.film-jump-links { display: flex; flex-wrap: wrap; gap: 6px 24px; margin-top: 22px; }
.film-jump-links a { display: inline-flex; min-height: 44px; align-items: center; color: #d5e4da; font-size: .78rem; text-underline-offset: 5px; }
.film-jump-links a:hover { color: var(--accent); text-decoration: underline; }
.film-visual { position: relative; min-width: 0; padding: 28px; margin: 0; overflow: hidden; color: var(--ink); background: #e4eee3; border: 1px solid #b7cbb9; border-radius: 28px 80px 28px 28px; }
.film-visual__top { display: flex; justify-content: space-between; gap: 16px; color: #3b5a4b; font-size: .73rem; }
.film-visual__scene { position: relative; height: 360px; margin: 18px -12px 12px; background-image: linear-gradient(#68897112 1px, transparent 1px), linear-gradient(90deg, #68897112 1px, transparent 1px); background-size: 32px 32px; }
.film-phone { position: absolute; top: 35px; left: calc(50% - 99px); width: 198px; height: 300px; padding: 7px; background: #203a2f; border: 2px solid #536a5c; border-radius: 35px; box-shadow: 12px 22px 28px #193c2420; transform: rotate(-8deg); }
.film-phone__screen { display: grid; height: 100%; place-items: center; background: linear-gradient(135deg, #214b3d, #132a21 70%); border-radius: 27px; }
.film-phone__screen::before { position: absolute; top: 17px; left: calc(50% - 23px); width: 46px; height: 8px; content: ''; background: #0b1b15; border-radius: 10px; }
.film-phone__screen img { width: 56px; height: 56px; }
.film-sheet { position: absolute; top: 10px; left: calc(50% - 70px); width: 190px; height: 293px; padding: 18px; border: 2px solid #749547; border-radius: 29px; background: linear-gradient(140deg, #f4ffe267, #d6f6bf17 45%, #f4ffe26b); box-shadow: 4px 6px 0 #fff8 inset; transform: rotate(6deg); }
.film-sheet span { position: absolute; right: 15px; bottom: 24px; left: 15px; padding: 8px 4px; color: #10231d; background: #d7f8a7; border-radius: 6px; font-size: .68rem; text-align: center; }
.film-visual figcaption strong { display: block; font-family: var(--font-display); font-size: clamp(1.3rem, 2vw, 1.85rem); line-height: 1.4; letter-spacing: -.04em; }
.film-visual figcaption > span { display: block; margin-top: 12px; color: #486150; font-size: .65rem; }
.film-options__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.film-option { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; padding: 28px; background: #fffef9; border: 1px solid var(--line); border-radius: 22px; }
.film-option__tag { margin-bottom: 24px; color: var(--ink-3); font-size: .68rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.film-option h3 { margin: 0 0 12px; font-family: var(--font-display); font-size: 1.1rem; line-height: 1.4; letter-spacing: -.03em; }
.film-option p { color: var(--muted); font-size: .83rem; }
.film-option .film-option__task { margin-bottom: 10px; color: var(--ink-3); font-size: .76rem; font-weight: 600; }
.film-option .text-link { min-height: 44px; margin-top: auto; padding-top: 12px; font-size: .78rem; }
.film-options__note { max-width: 900px; margin: 24px 0 0; color: var(--muted); font-size: .8rem; }
.film-limits { display: flex; align-items: flex-start; gap: 24px; margin-top: 40px; padding: 28px 32px; background: var(--mint-soft); border-left: 3px solid var(--ink-3); border-radius: 0 22px 22px 0; }
.film-limits > span { color: var(--ink-3); font-size: 2rem; line-height: 1.1; }
.film-limits h3 { margin: 0 0 10px; font-size: 1.05rem; }
.film-limits p { max-width: 970px; margin: 0; color: #415d4f; font-size: .85rem; }
.film-devices { background: #eeefe8; }
.film-devices__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 48px; border-top: 1px solid var(--line); }
.film-devices__grid article { padding: 32px 0; border-bottom: 1px solid var(--line); }
.film-devices__grid article > span { color: var(--ink-3); font-size: .7rem; font-weight: 650; }
.film-devices__grid h3 { margin: 12px 0; font-size: 1.2rem; }
.film-devices__grid p { max-width: 510px; margin: 0; color: var(--muted); font-size: .88rem; }
.film-model-help { display: flex; align-items: center; justify-content: space-between; gap: 40px; margin-top: 36px; }
.film-model-help p { max-width: 750px; margin: 0; color: var(--muted); font-size: .86rem; }
.film-model-help strong { color: var(--ink); }
.film-model-help .button { flex: 0 0 auto; }
.film-landing .service-price-row small { white-space: normal; overflow: visible; font-size: .82rem; }
.film-landing .service-price-row strong { font-size: .86rem; }
.film-landing .service-price-row b { font-size: .9rem; }
.film-landing .service-price-card__head { flex-wrap: wrap; }
@media (max-width: 1000px) {
  .film-options__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .film-visual { width: 100%; max-width: 640px; margin-inline: auto; }
  .film-model-help { align-items: flex-start; flex-direction: column; gap: 22px; }
}
@media (max-width: 520px) {
  .film-landing .service-hero h1 { font-size: clamp(1.75rem, 7.5vw, 2.45rem); overflow-wrap: normal; }
  .film-landing .service-hero__grid { gap: 36px; }
  .film-visual { padding: 22px; border-radius: 24px 60px 24px 24px; }
  .film-visual__scene { height: 290px; }
  .film-phone { top: 30px; left: calc(50% - 80px); width: 155px; height: 245px; border-radius: 29px; }
  .film-phone__screen { border-radius: 21px; }
  .film-sheet { left: calc(50% - 65px); width: 152px; height: 240px; border-radius: 24px; }
  .film-options__grid, .film-devices__grid { grid-template-columns: 1fr; }
  .film-option { padding: 24px; }
  .film-limits { gap: 12px; padding: 24px 18px; }
  .film-limits > span { font-size: 1.4rem; }
  .film-model-help .button { width: 100%; }
}

/* SEO service and information pages */
.content-page { background: var(--paper-2); }
.breadcrumb { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; padding-top: 30px; color: rgba(255,255,255,.52); font-size: .69rem; }
.breadcrumb a:hover { color: var(--accent); }
.breadcrumb b { color: rgba(255,255,255,.85); font-weight: 600; }
.service-hero { position: relative; overflow: hidden; padding-bottom: 76px; color: #fff; background: var(--ink); }
.service-hero::before { position: absolute; width: 640px; height: 640px; right: -260px; bottom: -430px; content: ""; background: radial-gradient(circle, rgba(199,255,66,.18), transparent 68%); border: 1px solid rgba(255,255,255,.08); border-radius: 50%; }
.service-hero__grid { position: relative; display: grid; grid-template-columns: 1.05fr .95fr; gap: 80px; align-items: center; padding-top: 54px; }
.service-hero__copy { min-width: 0; }
.service-hero h1 { max-width: 800px; margin-bottom: 26px; color: #fff; font-size: clamp(2.8rem, 5.2vw, 5.2rem); }
.service-hero__copy > p:not(.eyebrow) { max-width: 680px; margin-bottom: 32px; color: rgba(255,255,255,.68); font-size: 1.05rem; }
.button--service-light { color: #fff; background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.22); }
.button--service-light:hover { color: var(--ink); background: #fff; }
.service-facts { display: flex; flex-wrap: wrap; gap: 9px; padding: 0; margin: 34px 0 0; list-style: none; }
.service-facts li { padding: 8px 11px; color: rgba(255,255,255,.7); border: 1px solid rgba(255,255,255,.14); border-radius: 999px; font-size: .7rem; }
.service-hero__image { position: relative; height: 560px; margin: 0; overflow: hidden; background: #08130f; border-radius: 34px 110px 34px 34px; }
.service-hero__image img { width: 100%; height: 100%; object-fit: cover; }
.service-hero__image::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, transparent 60%, rgba(5,15,11,.54)); }
.service-hero__image figcaption { position: absolute; z-index: 2; right: 18px; bottom: 18px; left: 18px; color: rgba(255,255,255,.78); font-size: .7rem; }

.service-detail__grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 90px; align-items: start; }
.service-detail__intro { position: sticky; top: 135px; }
.service-detail__intro h2 { font-size: clamp(2.2rem, 3.8vw, 3.8rem); }
.service-detail__intro > p:last-child { color: var(--muted); }
.symptom-list { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 0; margin: 0; list-style: none; }
.symptom-list li { display: grid; min-height: 145px; grid-template-rows: auto 1fr; gap: 22px; padding: 22px; color: #34433d; background: #fff; border: 1px solid var(--line); border-radius: 20px; font-weight: 600; line-height: 1.45; }
.symptom-list li span { color: var(--ink-3); font-family: var(--font-display); font-size: .68rem; }

.service-work-section { padding: 104px 0; background: #e8eae4; }
.service-work-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 18px; align-items: stretch; }
.service-work-card, .service-price-card { padding: 34px; background: var(--paper-2); border: 1px solid var(--line); border-radius: 28px; }
.service-work-card { background: linear-gradient(145deg, var(--mint-soft), #f8f7f2 68%); }
.service-work-card h2, .service-price-card h2 { margin-bottom: 24px; font-size: clamp(1.8rem, 3vw, 3rem); }
.check-list { display: grid; gap: 0; padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line); }
.check-list li { display: flex; gap: 11px; padding: 14px 0; color: #44524c; border-bottom: 1px solid var(--line); font-size: .83rem; }
.check-list li::before { display: grid; width: 20px; height: 20px; flex: 0 0 auto; place-items: center; color: var(--ink); background: var(--accent); border-radius: 50%; content: "✓"; font-size: .62rem; font-weight: 800; }
.service-price-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; }
.service-price-card__head small { color: var(--muted); font-size: .65rem; text-transform: uppercase; }
.service-price-card__head h2 { margin: 5px 0 20px; }
.service-price-card__head a { flex: 0 0 auto; padding-bottom: 2px; border-bottom: 1px solid; font-size: .72rem; font-weight: 700; }
.service-price-rows { display: grid; border-top: 1px solid var(--line); }
.service-price-row { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.service-price-row > span { display: flex; min-width: 0; flex-direction: column; }
.service-price-row strong { font-size: .78rem; }
.service-price-row small { overflow: hidden; color: var(--muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.service-price-row em { margin-top: 3px; color: var(--ink-3); font-size: .62rem; font-style: normal; }
.service-price-row b { flex: 0 0 auto; font-size: .78rem; text-align: right; }
.service-price-card > p { margin: 20px 0 0; color: var(--muted); font-size: .7rem; }
.compact-process { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; padding: 0; margin: 0; list-style: none; }
.compact-process li { min-height: 230px; padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 22px; }
.compact-process li > span { display: block; margin-bottom: 55px; color: var(--ink-3); font-family: var(--font-display); font-size: .68rem; }
.compact-process strong { display: block; margin-bottom: 9px; font-family: var(--font-display); font-size: .85rem; }
.compact-process p { margin: 0; color: var(--muted); font-size: .76rem; }
.service-faq-section { background: #f0f0ea; }
.service-bottom-cta { padding: 84px 0; color: #fff; background: var(--ink-2); }
.service-bottom-cta > .shell { display: flex; align-items: flex-end; justify-content: space-between; gap: 60px; }
.service-bottom-cta h2 { max-width: 760px; margin-bottom: 14px; color: #fff; font-size: clamp(2rem, 4vw, 4rem); }
.service-bottom-cta p:not(.eyebrow) { max-width: 680px; margin-bottom: 0; color: rgba(255,255,255,.62); }
.service-bottom-cta .hero-actions { flex: 0 0 auto; }

.info-hero { padding-bottom: 74px; color: #fff; background: var(--ink); }
.info-hero--compact { padding-bottom: 56px; }
.info-hero__copy { max-width: 960px; padding-top: 52px; }
.info-hero__copy h1 { color: #fff; font-size: clamp(2.8rem, 5.5vw, 5.5rem); }
.info-hero__copy > p:not(.eyebrow) { max-width: 760px; color: rgba(255,255,255,.65); font-size: 1.03rem; }
.info-hero__copy > .button { margin-top: 18px; }
.content-contacts { padding-top: 88px; }
.review-proof { margin-bottom: 36px; }
.info-reviews { margin-top: 0; }
.source-note { max-width: 820px; margin: 30px 0 0; color: var(--muted); font-size: .7rem; }

/* Business page */
.business-hero { position: relative; overflow: hidden; padding-bottom: 82px; color: #fff; background: var(--ink); }
.business-hero::after { position: absolute; width: 700px; height: 700px; right: -340px; bottom: -460px; content: ""; background: radial-gradient(circle, rgba(68,215,198,.18), transparent 68%); border: 1px solid rgba(255,255,255,.08); border-radius: 50%; }
.business-hero__grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.08fr .92fr; gap: 76px; align-items: center; padding-top: 50px; }
.business-hero__copy h1 { max-width: 840px; color: #fff; font-size: clamp(2.85rem, 5vw, 5.2rem); }
.business-hero__copy > p:not(.eyebrow) { max-width: 760px; margin-bottom: 30px; color: rgba(255,255,255,.67); font-size: 1.02rem; }
.business-hero__image { position: relative; height: 560px; margin: 0; overflow: hidden; background: #08130f; border-radius: 34px 110px 34px 34px; }
.business-hero__image img { width: 100%; height: 100%; object-fit: cover; }
.business-hero__image::after { position: absolute; inset: 0; content: ""; background: linear-gradient(180deg, transparent 60%, rgba(5,15,11,.62)); }
.business-hero__image figcaption { position: absolute; z-index: 1; right: 18px; bottom: 18px; left: 18px; color: rgba(255,255,255,.82); font-size: .72rem; }
.business-offers { background: var(--paper-2); }
.business-offers__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.business-offer-card { display: flex; min-height: 280px; flex-direction: column; padding: 26px; background: #fff; border: 1px solid var(--line); border-radius: 23px; }
.business-offer-card > span { color: var(--ink-3); font-family: var(--font-display); font-size: .68rem; }
.business-offer-card h3 { margin: auto 0 12px; font-family: var(--font-display); font-size: 1.02rem; letter-spacing: -.025em; }
.business-offer-card p { margin: 0; color: var(--muted); font-size: .77rem; }
.business-scope-note { display: flex; align-items: center; justify-content: space-between; gap: 35px; padding: 24px 28px; margin-top: 16px; color: #fff; background: var(--ink-2); border-radius: 20px; }
.business-scope-note strong { flex: 0 0 auto; color: var(--accent); font-size: .78rem; text-transform: uppercase; }
.business-scope-note p { max-width: 860px; margin: 0; color: rgba(255,255,255,.68); font-size: .8rem; }
.ai-section { position: relative; overflow: hidden; padding: 124px 0; color: #fff; background: #0b1814; }
.ai-section::before { position: absolute; inset: 0; opacity: .12; content: ""; background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); background-size: 64px 64px; mask-image: linear-gradient(to right, transparent, #000, transparent); }
.ai-section__heading { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: end; margin-bottom: 54px; }
.ai-section__heading h2 { max-width: 850px; margin: 0; color: #fff; }
.ai-section__heading > p { max-width: 580px; margin: 0 0 4px; color: rgba(255,255,255,.62); }
.ai-grid { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ai-card { min-height: 290px; padding: 26px; background: rgba(255,255,255,.065); border: 1px solid rgba(255,255,255,.12); border-radius: 23px; }
.ai-card > span { color: var(--accent); font-family: var(--font-display); font-size: .68rem; }
.ai-card h3 { margin: 84px 0 12px; color: #fff; font-family: var(--font-display); font-size: 1.02rem; letter-spacing: -.025em; }
.ai-card p { margin: 0; color: rgba(255,255,255,.6); font-size: .77rem; }
.business-terms { background: #e9eee7; }
.business-terms__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.business-terms__grid article { min-height: 340px; padding: 32px; background: #fff; border: 1px solid var(--line); border-radius: 26px; }
.business-terms__grid article > span { color: var(--ink-3); font-size: .68rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.business-terms__grid h3 { margin: 95px 0 14px; font-family: var(--font-display); font-size: 1.38rem; letter-spacing: -.03em; }
.business-terms__grid p, .business-terms__grid li { color: var(--muted); font-size: .82rem; }
.business-terms__grid ul { display: grid; gap: 9px; padding: 0; margin: 0; list-style: none; }
.business-terms__grid li { padding-bottom: 9px; border-bottom: 1px solid var(--line); }
.business-process { background: var(--paper-2); }
.business-faq { background: var(--paper); }
.business-contact-cta { padding: 94px 0; color: #fff; background: var(--ink-2); }
.business-contact-cta > .shell { display: grid; grid-template-columns: 1fr auto; gap: 70px; align-items: end; }
.business-contact-cta h2 { max-width: 800px; color: #fff; }
.business-contact-cta p:not(.eyebrow) { max-width: 760px; margin-bottom: 0; color: rgba(255,255,255,.62); }
.business-contact-cta__actions { display: grid; gap: 9px; min-width: 260px; }

.shop-hero { padding-bottom: 86px; color: #fff; background: var(--ink); }
.shop-hero__grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 80px; align-items: center; padding-top: 45px; }
.shop-hero h1 { max-width: 780px; color: #fff; font-size: clamp(2.8rem, 5.2vw, 5.2rem); }
.shop-hero__grid > div > p:not(.eyebrow) { max-width: 690px; color: rgba(255,255,255,.65); }
.shop-hero figure { height: 500px; margin: 0; overflow: hidden; border-radius: 32px 100px 32px 32px; }
.shop-hero figure img { width: 100%; height: 100%; object-fit: cover; }
.shop-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.shop-category { position: relative; min-height: 230px; padding: 28px; background: #fff; border: 1px solid var(--line); border-radius: 24px; }
.shop-category > span { position: absolute; top: 24px; right: 24px; color: var(--ink-3); }
.shop-category h2 { margin: 70px 0 10px; font-family: var(--font-display); font-size: 1.35rem; }
.shop-category p { margin: 0; color: var(--muted); }

.utility-page { min-height: 680px; display: grid; place-items: center; padding: 80px 0; background: radial-gradient(circle at 50% 20%, rgba(68,215,198,.16), transparent 36rem), var(--paper); }
.utility-card { max-width: 760px; padding: 48px; text-align: center; background: #fff; border: 1px solid var(--line); border-radius: 32px; box-shadow: var(--shadow); }
.utility-card .eyebrow { justify-content: center; }
.utility-card h1 { font-size: clamp(2.7rem, 6vw, 5rem); }
.utility-card > p:not(.eyebrow) { color: var(--muted); }
.utility-icon { display: grid; width: 70px; height: 70px; place-items: center; margin: 0 auto 24px; color: var(--ink); background: var(--accent); border-radius: 22px; font-family: var(--font-display); font-weight: 700; }
.utility-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin: 30px 0; }
.utility-card > small { color: var(--muted); }

/* The official order-status form stays inside its own cross-origin frame. */
.order-status-section { padding: 76px 0 90px; background: radial-gradient(circle at 15% 5%, #d8eee377, transparent 40rem), var(--paper-2); }
.order-heading { margin-bottom: 42px; }
.order-heading h1 { margin-bottom: 20px; font-size: clamp(2.5rem, 5vw, 4.6rem); }
.order-heading > p:last-child { max-width: 740px; margin-bottom: 0; color: var(--muted); font-size: 1rem; }
.order-status-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 24px; align-items: start; }
.order-widget-card { min-width: 0; padding: 32px; background: #fff; border: 1px solid var(--line); border-radius: 26px; box-shadow: var(--shadow-small); }
.order-widget-card__head { display: flex; justify-content: space-between; gap: 20px; }
.order-widget-label { display: block; margin-bottom: 12px; color: var(--ink-3); font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.order-widget-card h2, .order-help h2 { margin: 0 0 14px; font-family: var(--font-display); font-size: clamp(1.3rem, 2.3vw, 1.9rem); line-height: 1.4; }
.order-widget-mark { display: grid; width: 38px; height: 38px; flex: 0 0 auto; place-items: center; color: var(--ink); background: var(--accent); border-radius: 50%; }
.order-widget-intro { margin-bottom: 22px; color: var(--muted); font-size: .88rem; }
#livesklad-widget { width: 100%; min-height: 250px; }
#livesklad-widget iframe { display: block; width: 100%; max-width: 100%; height: 250px; border: 0; background: #fff; }
.order-widget-privacy { margin: 16px 0 0; color: var(--muted); font-size: .76rem; }
.order-widget-privacy a { color: var(--ink-3); text-decoration: underline; text-underline-offset: 3px; }
.order-help { padding: 32px; background: #e8ede4; border-radius: 26px; }
.order-help > p { color: #526158; font-size: .88rem; }
.order-help__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin: 22px 0; }
.order-help__actions .button { width: 100%; }
.order-help__actions .text-link { display: inline-flex; min-height: 44px; align-items: center; font-size: .86rem; }
.order-help > small { display: block; color: #526158; font-size: .76rem; }
.order-status-note { max-width: 900px; margin: 24px 0 0; color: var(--muted); font-size: .82rem; }
@media (max-width: 760px) {
  .order-status-section { padding: 42px 0 64px; }
  .order-heading { margin-bottom: 28px; }
  .order-status-grid { grid-template-columns: 1fr; }
  .order-widget-card, .order-help { padding: 24px 20px; border-radius: 22px; }
  .order-widget-mark { display: none; }
}
@media (max-width: 360px) {
  .order-widget-card { padding-inline: 14px; }
}

.legal-page { display: grid; max-width: 900px; gap: 0; padding-top: 70px; padding-bottom: 110px; }
.legal-page section { padding: 28px 0; border-bottom: 1px solid var(--line); }
.legal-page h2 { margin-bottom: 12px; font-family: var(--font-body); font-size: 1.15rem; letter-spacing: 0; }
.legal-page p { margin: 0; color: var(--muted); font-size: .9rem; }
.legal-page aside { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 24px; margin-top: 28px; background: var(--mint-soft); border-radius: 18px; }
.legal-page aside a { border-bottom: 1px solid rgba(16,35,29,.35); }

/* Animation */
.reveal-ready .reveal { opacity: 0; transform: translateY(26px); transition: opacity .7s var(--ease), transform .7s var(--ease); }
.reveal-ready .reveal--delay { transition-delay: .12s; }
.reveal-ready .reveal.is-visible { opacity: 1; transform: translateY(0); }
:is(.hero, .price-page-hero, .service-hero, .info-hero, .business-hero, .shop-hero) .reveal { opacity: 1; transform: none; }

@media (max-width: 1120px) {
  .desktop-nav { display: none; }
  .menu-toggle { display: block; }
  .hero-grid { gap: 46px; }
  .hero-image-wrap { height: 460px; }
  .proof-panel { grid-template-columns: 1.4fr repeat(3, .45fr) auto; }
  .proof-award { display: none; }
  .service-card:nth-child(3), .service-card:nth-child(4) { grid-column: span 6; }
  .service-card:nth-child(5) { grid-column: span 12; min-height: 300px; }
  .business-teaser__panel { gap: 40px; padding: 44px; }
  .social-grid { grid-template-columns: 1fr 1fr; }
  .cases-grid { grid-template-columns: 1fr 1fr; }
  .case-card:last-child { grid-column: span 2; display: grid; grid-template-columns: .9fr 1.1fr; }
  .case-card:last-child .case-image { height: 100%; min-height: 350px; }
  .service-hero__grid { gap: 46px; }
  .service-hero__image { height: 510px; }
  .business-hero__grid { gap: 46px; }
  .business-hero__image { height: 510px; }
  .service-bottom-cta > .shell { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 900px) {
  .shell { width: min(calc(100% - 32px), var(--shell)); }
  .header-hours, .header-phone { display: none; }
  .hero { padding-top: 36px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-copy { max-width: 760px; }
  .hero-visual { max-width: 700px; margin-inline: auto; }
  .hero-image-wrap { height: 420px; }
  .quick-estimate { margin-top: -38px; }
  .quick-fields { grid-template-columns: 1fr 1fr; }
  .quick-submit { grid-column: span 2; }
  .quick-result { grid-template-columns: .85fr 1.15fr; }
  .quick-result__actions { grid-column: 1 / -1; grid-template-columns: 1fr 1fr; }
  .proof-panel { grid-template-columns: 1.3fr repeat(3, .5fr); }
  .proof-panel .text-link { display: none; }
  .section-heading { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .section-heading > * { min-width: 0; }
  .service-card, .service-card--wide { grid-column: span 6; }
  .service-card:nth-child(3), .service-card:nth-child(4) { grid-column: span 6; }
  .business-teaser__panel { grid-template-columns: 1fr; }
  .business-teaser__services { grid-template-columns: repeat(3, 1fr); }
  .standards-grid { grid-template-columns: 1fr; }
  .standard-card--diagnostics { grid-column: auto; grid-template-columns: 1fr; gap: 18px; }
  .price-grid, .process-layout, .estimate-grid, .contacts-grid { grid-template-columns: 1fr; }
  .price-grid { gap: 55px; }
  .process-photo { min-height: 500px; }
  .process-list li:first-child { padding-top: 24px; }
  .workshop-grid { grid-template-columns: 1fr; grid-template-rows: auto; }
  .workshop-copy { grid-row: auto; max-width: 680px; padding-right: 0; margin-bottom: 28px; }
  .workshop-photo--team { height: 460px; }
  .workshop-photo-pair .workshop-photo { height: 280px; }
  .faq-layout { grid-template-columns: 1fr; gap: 55px; }
  .faq-intro { position: static; }
  .contacts-grid { gap: 52px; }
  .contact-photo { min-height: 520px; }
  .footer-grid { grid-template-columns: 1.2fr repeat(2, 1fr); }
  .footer-column:last-child { grid-column: 2; }
  .price-list-row { grid-template-columns: minmax(130px, 1fr) minmax(190px, 1.2fr) minmax(110px, .7fr) auto; gap: 10px 14px; }
  .price-list-row:not(.price-list-row--head) > strong { grid-column: 1; grid-row: 1 / span 2; }
  .price-list-row:not(.price-list-row--head) > span { grid-column: 2; grid-row: 1; }
  .price-list-row:not(.price-list-row--head) > b { grid-column: 3; grid-row: 1 / span 2; }
  .price-list-row:not(.price-list-row--head) > small { grid-column: 2; grid-row: 2; text-align: left; }
  .price-list-row:not(.price-list-row--head) > .price-list-action { grid-column: 4; grid-row: 1 / span 2; }
  .price-list-row--head span:nth-child(4) { display: none; }
  .price-list-row--head { top: 245px; }
  .service-hero__grid, .service-detail__grid, .service-work-grid, .shop-hero__grid, .business-hero__grid { grid-template-columns: 1fr; }
  .service-hero__image { max-width: 760px; width: 100%; }
  .business-hero__image { max-width: 760px; width: 100%; }
  .service-detail__intro { position: static; }
  .compact-process { grid-template-columns: 1fr 1fr; }
  .service-work-grid { gap: 16px; }
  .shop-hero figure { max-width: 720px; }
  .business-offers__grid, .ai-grid { grid-template-columns: 1fr 1fr; }
  .ai-section__heading { grid-template-columns: 1fr; gap: 24px; }
  .business-contact-cta > .shell { grid-template-columns: 1fr; gap: 36px; align-items: start; }
  .business-contact-cta__actions { width: min(100%, 520px); }
}

@media (max-width: 680px) {
  body { font-size: 15px; }
  .shell { width: min(calc(100% - 24px), var(--shell)); }
  html { scroll-padding-top: 90px; }
  .header-meta { display: none; }
  .header-main { height: 70px; }
  .header-actions > .button { display: none; }
  .brand-mark { width: 40px; height: 40px; }
  .brand-copy strong { font-size: .9rem; }
  .site-header { top: 0; }
  .hero { min-height: auto; padding: 30px 0 64px; }
  .hero-grid { gap: 30px; }
  .hero-copy h1 { font-size: clamp(1.85rem, 8.1vw, 3rem); margin-bottom: 19px; }
  .hero-copy .eyebrow { font-size: .6rem; gap: 8px; letter-spacing: .06em; }
  .hero-copy .eyebrow > span { width: 16px; flex: 0 0 auto; }
  .hero-locality { font-size: 1.05rem; }
  .hero-promise { font-size: .95rem; }
  .hero-lead { font-size: .94rem; }
  .hero-actions { display: grid; }
  .hero-actions .button { width: 100%; }
  .hero-channel-note { display: grid; gap: 9px; }
  .hero-points { grid-template-columns: 1fr; gap: 12px; margin-top: 22px; padding-top: 18px; }
  .hero-points li { flex-direction: row; gap: 14px; align-items: baseline; font-size: .78rem; }
  .hero-points li strong { width: 112px; flex: 0 0 auto; font-size: .83rem; }
  .hero-points li span { max-width: none; }
  .hero-visual { padding: 0 12px 32px 0; }
  .hero-image-wrap { height: 310px; border-radius: 26px 80px 26px 26px; }
  .rating-card { top: 18px; right: 0; padding: 10px 11px; }
  .rating-card__logo { width: 34px; height: 34px; }
  .rating-card small { font-size: .62rem; }
  .rating-card strong { font-size: .78rem; }
  .location-card { left: -4px; padding: 12px 14px; }
  .location-card svg { width: 24px; }
  .quick-estimate { margin-top: -28px; }
  .quick-card { padding: 18px; border-radius: 20px; }
  .quick-card__intro { align-items: flex-start; }
  .device-choice { display: grid; grid-template-columns: repeat(3, 1fr); }
  .device-choice span { padding-inline: 9px; text-align: center; }
  .quick-fields { grid-template-columns: 1fr; }
  .quick-submit { grid-column: auto; width: 100%; }
  .quick-result { grid-template-columns: 1fr; padding: 17px; }
  .quick-result__actions { grid-column: auto; grid-template-columns: 1fr; }
  .quick-result__actions .button { width: 100%; white-space: normal; }
  .quick-result > small { grid-column: auto; }
  .proof { padding-top: 28px; }
  .proof-panel { grid-template-columns: 1fr 1fr 1fr; gap: 20px 8px; padding: 22px 18px; }
  .proof-title { grid-column: span 3; }
  .proof-stat { padding-left: 10px; }
  .proof-stat:nth-of-type(2) { border-left: 0; }
  .section, .workshop, .price-section, .estimate-section, .contacts-section, .ai-section { padding: 84px 0; }
  .section-heading { grid-template-columns: minmax(0, 1fr); margin-bottom: 38px; }
  .section-heading h2 { overflow-wrap: anywhere; }
  .section-heading h2, .workshop-copy h2, .estimate-copy h2, .contact-info h2, .faq-intro h2, .price-intro h2 { font-size: clamp(2rem, 10vw, 3.1rem); }
  .services-grid { grid-template-columns: 1fr; }
  .service-card, .service-card--wide, .service-card:nth-child(3), .service-card:nth-child(4), .service-card:nth-child(5) { grid-column: auto; min-height: 390px; }
  .service-card--accent { min-height: 300px !important; }
  .business-teaser { padding-bottom: 84px; }
  .business-teaser__panel { gap: 32px; padding: 28px 22px; border-radius: 24px; }
  .business-teaser__copy h2 { font-size: clamp(2rem, 10vw, 3.1rem); }
  .business-teaser__actions { display: grid; }
  .business-teaser__actions .button { width: 100%; }
  .business-teaser__services { grid-template-columns: 1fr 1fr; }
  .business-teaser__services span { min-height: 72px; padding: 13px; }
  .standard-card { padding: 22px; border-radius: 22px; }
  .warranty-levels { grid-template-columns: 1fr; }
  .warranty-levels > div { min-height: 102px; }
  .timing-list li { grid-template-columns: 1fr; gap: 4px; }
  .price-finder { padding: 15px; border-radius: 20px; }
  .price-search { padding-inline: 13px; }
  .price-search kbd { display: none; }
  .price-row { align-items: flex-start; }
  .price-row b { max-width: 42%; text-align: right; }
  .process-layout { gap: 28px; }
  .process-photo { min-height: 420px; border-radius: 26px 70px 26px 26px; }
  .process-list li { grid-template-columns: 48px 1fr; gap: 15px; }
  .process-list li > span { width: 44px; height: 44px; }
  .cases-grid { grid-template-columns: 1fr; }
  .case-card:last-child { grid-column: auto; display: flex; }
  .case-card:last-child .case-image { min-height: 0; height: 280px; }
  .case-body h3 { min-height: 0; }
  .case-meta { align-items: flex-start; flex-direction: column; }
  .workshop-photo--team { height: 360px; min-height: 0; }
  .workshop-photo-pair { grid-template-columns: 1fr; }
  .workshop-photo-pair .workshop-photo { height: 240px; }
  .reviews-grid { grid-template-columns: 1fr; }
  .review-card { min-height: 260px; }
  .social-grid { grid-template-columns: 1fr; }
  .social-card { min-height: 250px; }
  .price-next, .reviews-cta { grid-template-columns: 1fr; align-items: stretch; }
  .price-next .button, .reviews-cta .button { width: 100%; }
  .estimate-grid { gap: 52px; }
  .estimate-form { padding: 22px; }
  .form-row { grid-template-columns: 1fr; }
  .form-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
  .contact-methods label { flex: 1 1 42%; }
  .contact-methods span { min-width: 0; }
  .booking-success { grid-template-columns: 44px 1fr; }
  .booking-success__icon { width: 44px; height: 44px; }
  .booking-success > .booking-success__actions { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
  .booking-success .button { width: 100%; }
  .contact-photo { min-height: 460px; border-radius: 26px 70px 26px 26px; }
  .contact-buttons { display: grid; grid-template-columns: 1fr 1fr; }
  .contact-buttons .button:first-child { grid-column: span 2; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 36px 28px; }
  .footer-brand { grid-column: span 2; }
  .footer-column:last-child { grid-column: auto; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 5px; padding-bottom: calc(74px + env(safe-area-inset-bottom)); }
  .mobile-actions { position: fixed; z-index: 1200; right: 8px; bottom: calc(8px + env(safe-area-inset-bottom)); left: 8px; display: grid; grid-template-columns: 1fr 1.3fr 1fr; padding: 7px; background: rgba(255,254,249,.95); border: 1px solid var(--line); border-radius: 16px; box-shadow: 0 18px 50px rgba(16,35,29,.22); backdrop-filter: blur(15px); }
  .mobile-actions a { display: flex; min-height: 48px; align-items: center; justify-content: center; gap: 5px; color: var(--muted); border-radius: 11px; font-size: .65rem; font-weight: 700; }
  .mobile-actions a span { font-size: .85rem; }
  .mobile-actions__primary { color: var(--ink) !important; background: var(--accent); }
  .toast { right: 12px; bottom: 82px; left: 12px; max-width: none; }

  .price-page-hero { padding: 32px 0 20px; }
  .price-page-hero h1 { font-size: clamp(1.8rem, 7.5vw, 2.6rem); line-height: 1.2; }
  .price-page-main { padding-top: 24px; }
  .price-page-search { top: 80px; padding: 12px; border-radius: 17px; }
  .price-page-search .price-filters { margin-right: -12px; }
  .price-list-row, .price-list-row--head { grid-template-columns: 1fr auto; gap: 8px 14px; }
  .price-list-row--head { top: 224px; }
  .price-list-row--head span:nth-child(2), .price-list-row--head span:nth-child(4), .price-list-row--head span:nth-child(5) { display: none; }
  .price-list-row--head span:nth-child(1) { grid-column: 1; }
  .price-list-row--head span:nth-child(3) { grid-column: 2; text-align: right; }
  .price-list-row:not(.price-list-row--head) > strong { grid-column: 1; grid-row: 1; }
  .price-list-row:not(.price-list-row--head) > b { grid-column: 2; grid-row: 1; }
  .price-list-row:not(.price-list-row--head) > span { grid-column: 1 / -1; grid-row: 2; }
  .price-list-row:not(.price-list-row--head) > small { grid-column: 1; grid-row: 3; text-align: left; }
  .price-list-row:not(.price-list-row--head) > .price-list-action { grid-column: 2; grid-row: 3; justify-self: end; }
  .price-page-cta { align-items: stretch; flex-direction: column; }
  .price-page-cta .button { width: 100%; }
  .breadcrumb { padding-top: 22px; }
  .service-hero { padding-bottom: 54px; }
  .service-hero__grid { padding-top: 38px; }
  .service-hero h1, .info-hero__copy h1, .shop-hero h1, .business-hero h1 { font-size: clamp(1.9rem, 8.6vw, 3rem); overflow-wrap: anywhere; }
  .business-hero h1 { font-size: clamp(2.15rem, 9.5vw, 2.8rem); overflow-wrap: normal; word-break: normal; hyphens: none; }
  .service-hero__image { height: 410px; border-radius: 26px 70px 26px 26px; }
  .business-hero { padding-bottom: 54px; }
  .business-hero__grid { padding-top: 38px; }
  .business-hero__image { height: 390px; border-radius: 26px 70px 26px 26px; }
  .service-facts { display: grid; grid-template-columns: 1fr; }
  .symptom-list { grid-template-columns: 1fr; }
  .symptom-list li { min-height: 120px; }
  .service-work-section { padding: 78px 0; }
  .service-work-card, .service-price-card { padding: 22px; border-radius: 22px; }
  .service-price-card__head { flex-direction: column; gap: 0; }
  .compact-process { grid-template-columns: 1fr; }
  .compact-process li { min-height: 190px; }
  .compact-process li > span { margin-bottom: 38px; }
  .service-bottom-cta { padding: 70px 0; }
  .service-bottom-cta .hero-actions, .service-bottom-cta .button { width: 100%; }
  .service-bottom-cta .hero-actions { display: grid; }
  .info-hero__copy { padding-top: 38px; }
  .review-proof { display: grid; grid-template-columns: 1fr 1fr; }
  .review-proof .proof-title { grid-column: span 2; }
  .review-proof .text-link { display: inline-flex; }
  .shop-hero__grid { padding-top: 38px; }
  .shop-hero figure { height: 390px; }
  .shop-grid { grid-template-columns: 1fr; }
  .business-offers__grid, .ai-grid, .business-terms__grid { grid-template-columns: 1fr; }
  .business-offer-card, .ai-card { min-height: 245px; }
  .ai-card h3 { margin-top: 65px; }
  .business-scope-note { align-items: flex-start; flex-direction: column; gap: 8px; }
  .business-terms__grid article { min-height: 300px; padding: 24px; }
  .business-terms__grid h3 { margin-top: 70px; }
  .business-contact-cta { padding: 72px 0; }
  .business-contact-cta__actions { min-width: 0; width: 100%; }
  .business-contact-cta__actions .button { width: 100%; }
  .utility-card { padding: 32px 20px; }
  .utility-actions { display: grid; }
  .utility-actions .button { width: 100%; }
  .legal-page { padding-top: 46px; padding-bottom: 84px; }
}

/* Dedicated PC assembly and gaming service sections. */
.services-grid--separated > .service-card { grid-column: span 4; min-height: 430px; }
.service-card--consoles { background: var(--mint-soft); }
#pc-build, #consoles { scroll-margin-top: 0; }
.pc-build-section { padding-block: 84px; background: var(--white); }
.pc-build-intro { display: grid; grid-template-columns: 1.15fr .85fr; gap: 76px; align-items: start; }
.pc-build-intro > *, .console-layout > * { min-width: 0; }
.pc-build-intro h2 { font-size: clamp(2.4rem, 4.1vw, 3.65rem); }
.pc-build-intro h2 em { color: var(--ink-3); font-style: normal; }
.pc-build-lead { max-width: 600px; color: var(--muted); font-size: 1.06rem; }
.pc-build-tags, .console-brands { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 26px; }
.pc-build-tags span { padding: 7px 13px; border: 1px solid var(--line); border-radius: 30px; font-size: .77rem; }
.pc-build-price { padding: 36px; color: #fff; background: var(--ink); border-radius: 28px; }
.pc-build-price__label { display: block; color: #c4d3cc; font-size: .82rem; }
.pc-build-price__amount { margin: 20px 0 18px; color: var(--accent); font-family: var(--font-display); font-size: clamp(1.8rem, 2.6vw, 2.6rem); line-height: 1.2; overflow-wrap: anywhere; letter-spacing: -.05em; }
.pc-build-price__amount small { font-size: .43em; letter-spacing: -.03em; }
.pc-build-price > p:not(.pc-build-price__amount) { color: #c4d3cc; font-size: .85rem; }
.pc-build-price dl { margin: 24px 0; font-size: .84rem; }
.pc-build-price dl > div { display: flex; justify-content: space-between; gap: 20px; padding: 12px 0; border-top: 1px solid var(--line-dark); }
.pc-build-price dt { color: #c4d3cc; }
.pc-build-price dd { max-width: 205px; margin: 0; text-align: right; font-weight: 600; }
.pc-build-price .button { width: 100%; }
.pc-build-price__note { display: block; margin-top: 15px; color: #c4d3cc; font-size: .74rem; line-height: 1.5; }
.pc-build-included { display: grid; grid-template-columns: .8fr 1.7fr; gap: 56px; padding: 38px 0; margin-top: 48px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.pc-build-included__heading .eyebrow { margin-bottom: 16px; }
.pc-build-included h3 { font-size: 1.3rem; line-height: 1.35; letter-spacing: -.025em; }
.pc-build-checklist { display: grid; grid-template-columns: 1fr 1fr; gap: 28px 32px; padding: 0; margin: 0; list-style: none; }
.pc-build-checklist li { display: flex; gap: 14px; }
.pc-build-checklist li > span { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; background: var(--mint-soft); border-radius: 50%; font-size: .65rem; font-weight: 700; }
.pc-build-checklist strong { display: block; font-size: .92rem; line-height: 1.3; }
.pc-build-checklist p { margin: 7px 0 0; color: var(--muted); font-size: .84rem; line-height: 1.5; }
.pc-build-paths { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 30px; }
.pc-build-paths article { display: flex; flex-direction: column; padding: 28px; background: var(--paper-2); border: 1px solid var(--line); border-radius: 20px; }
.pc-build-paths__label { margin-bottom: 12px; color: var(--ink-3); font-size: .68rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.pc-build-paths h3 { margin-bottom: 12px; }
.pc-build-paths p { color: var(--muted); font-size: .9rem; }
.pc-build-paths__actions { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 20px; margin-top: auto; }
.pc-build-paths .text-link { min-height: 44px; margin-top: auto; font-size: .84rem; }
.pc-build-terms { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; margin-top: 28px; }
.pc-build-terms p { margin-bottom: 0; color: var(--muted); font-size: .82rem; line-height: 1.6; }
.pc-build-terms strong { display: block; margin-bottom: 3px; color: var(--ink); }
.pc-build-repair { margin: 30px 0 0; padding-top: 22px; border-top: 1px solid var(--line); color: var(--muted); font-size: .84rem; }
.pc-build-repair a { display: inline-block; padding: 8px 0; color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.console-section { padding: 100px 0; color: #fff; background: var(--ink-2); }
.console-layout { display: grid; grid-template-columns: 1.25fr .85fr; gap: 64px; align-items: stretch; }
.console-copy h2 { color: #fff; font-size: clamp(2.4rem, 4vw, 3.5rem); }
.console-copy h2 em { color: var(--accent); font-style: normal; }
.console-lead { max-width: 660px; margin-bottom: 0; color: #d1dfd7; font-size: 1rem; }
.console-brands { margin: 24px 0 25px; }
.console-brands span { padding: 6px 12px; border: 1px solid rgba(255,255,255,.25); border-radius: 30px; color: #e1eae5; font-size: .73rem; }
.console-services article { display: flex; gap: 18px; padding: 20px 0; border-top: 1px solid var(--line-dark); }
.console-services article > span { padding-top: 3px; color: var(--accent); font-family: var(--font-display); font-size: .66rem; }
.console-services h3 { margin-bottom: 8px; color: #fff; font-size: 1.08rem; }
.console-services p { margin-bottom: 0; color: #c6d7cd; font-size: .88rem; line-height: 1.6; }
.console-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 22px; margin-top: 20px; }
.console-actions > span { max-width: 205px; color: #c6d7cd; font-size: .76rem; }
.console-photo { position: relative; min-height: 550px; margin: 0; overflow: hidden; border-radius: 30px 90px 30px 30px; background: var(--ink); }
.console-photo img { width: 100%; height: 100%; object-fit: cover; }
.console-photo::after { position: absolute; inset: 45% 0 0; content: ""; background: linear-gradient(transparent,rgba(5,20,13,.8)); pointer-events: none; }
.console-photo figcaption { position: absolute; z-index: 1; right: 26px; bottom: 30px; left: 26px; font-size: .85rem; line-height: 1.5; }
.console-photo figcaption span { display: block; margin-bottom: 7px; color: var(--accent); font-size: .7rem; }
@media (max-width: 1000px) {
  .services-grid--separated > .service-card { grid-column: span 6; }
  .pc-build-intro { gap: 36px; }
  .pc-build-price { padding: 28px; }
  .pc-build-included { grid-template-columns: 1fr; gap: 16px; }
  .console-layout { grid-template-columns: 1.2fr .8fr; gap: 30px; }
}
@media (max-width: 760px) {
  .pc-build-intro, .pc-build-paths, .pc-build-terms, .console-layout { grid-template-columns: 1fr; }
  .pc-build-intro { gap: 28px; }
  .pc-build-included { margin-top: 32px; padding: 30px 0; }
  .pc-build-terms { gap: 20px; }
  .console-section { padding: 70px 0; }
  .console-photo { min-height: 0; height: 380px; border-radius: 24px 64px 24px 24px; }
  .console-photo img { object-position: center 40%; }
}
@media (max-width: 620px) {
  .services-grid--separated { grid-template-columns: 1fr; }
  .services-grid--separated > .service-card { grid-column: auto; min-height: 350px; }
  .pc-build-intro h2, .console-copy h2 { font-size: clamp(2rem, 8.5vw, 2.7rem); }
  .pc-build-price { padding: 26px 22px; }
  .pc-build-price__amount { font-size: clamp(1.65rem, 6.7vw, 2.4rem); }
  .pc-build-checklist { grid-template-columns: 1fr; gap: 22px; }
  .pc-build-paths article { padding: 24px; }
  .console-actions .button, .console-actions > span { max-width: none; width: 100%; }
  .console-photo { height: 330px; }
}

/* Unmodified manufacturer photos, composed responsively in the page. */
.accessory-collage { min-width: 0; margin: 0; padding: 18px; border: 1px solid #dce2d4; border-radius: 28px 72px 28px 28px; background: #e8eddf; }
.accessory-collage__grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 216px 216px; gap: 12px; }
.accessory-collage__item { display: flex; flex-direction: column; min-width: 0; min-height: 0; padding: 17px; border-radius: 18px; background: #fff; overflow: hidden; }
.accessory-collage__item > span { position: relative; z-index: 1; color: var(--ink-3); font-size: .66rem; font-weight: 700; letter-spacing: .1em; }
.accessory-collage__item img { flex: 1; min-height: 0; width: 100%; height: 100%; margin: 6px 0; object-fit: contain; }
.accessory-collage__item small { color: #546259; font-size: .64rem; line-height: 1.4; }
.accessory-collage__item--power { grid-row: 1 / 3; }
.accessory-collage__item--charger { border-top-right-radius: 54px; }
.accessory-collage__item--charger img { max-height: 145px; }
.accessory-collage > figcaption { padding: 12px 4px 0; color: #586752; font-size: .66rem; line-height: 1.4; }
.accessory-collage--compact { display: flex; flex-direction: column; padding: 10px; border: 0; border-radius: 0; }
.accessory-collage--compact .accessory-collage__grid { flex: 1; grid-template-columns: 1fr; grid-template-rows: repeat(3, minmax(110px, 1fr)); gap: 8px; }
.accessory-collage--compact .accessory-collage__item { position: relative; padding: 12px; border-radius: 12px; }
.accessory-collage--compact .accessory-collage__item--power { grid-row: auto; }
.accessory-collage--compact .accessory-collage__item img { max-height: 90px; margin: 0; }
.accessory-collage--compact .accessory-collage__item small { display: none; }
.accessory-collage--compact > figcaption { padding: 7px 2px 1px; font-size: .56rem; }
.retail-brands { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin-top: 42px; padding: 34px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.retail-brands > div + div { padding-left: 48px; border-left: 1px solid var(--line); }
.retail-brands h3 { margin: 12px 0 22px; font-size: 1.3rem; }
.retail-brand-list { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 20px; padding: 0; list-style: none; }
.retail-brand-list li { padding: 8px 13px; border: 1px solid #c5d3c9; border-radius: 8px; color: var(--ink); background: #e9efe6; font-size: .84rem; font-weight: 700; }
.retail-brands p { margin: 0; color: var(--muted); font-size: .86rem; }
.retail-promo-note { margin: 14px 0 0; max-width: 760px; color: var(--muted); font-size: .74rem; }

/* Retail: separate purchase flow, shared Quantum colours and typography. */
.retail-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.retail-actions .button { min-height: 48px; font-size: .83rem; }
.retail-tier-label { display: block; color: var(--ink-3); font-size: .7rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.retail-teaser { background: var(--paper-2); }
.retail-teaser .section-heading { grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: flex-end; }
.retail-teaser .section-heading h2 { font-size: clamp(2rem, 3.4vw, 3rem); }
.retail-teaser .section-heading > .text-link { justify-self: end; margin-bottom: 5px; white-space: nowrap; }
.retail-teaser__grid { display: grid; grid-template-columns: 1.1fr 1fr; gap: 20px; }
.retail-teaser__grid > article { min-width: 0; overflow: hidden; border-radius: 24px; }
.retail-teaser__accessories { display: grid; grid-template-columns: 1fr .58fr; border: 1px solid var(--line); background: var(--white); }
.retail-teaser__copy { display: flex; flex-direction: column; padding: 32px; }
.retail-teaser__copy h3, .retail-teaser__devices h3 { margin: 22px 0 16px; font-family: var(--font-display); font-size: clamp(1.25rem, 1.75vw, 1.55rem); font-weight: 600; line-height: 1.45; }
.retail-teaser__copy > p { color: var(--muted); font-size: .9rem; }
.retail-teaser__copy .retail-teaser__warranty { color: var(--ink-3); font-size: .79rem; line-height: 1.6; }
.retail-teaser__copy > .text-link { margin-top: auto; font-size: .85rem; }
.retail-teaser__accessories > img { width: 100%; height: 100%; min-height: 420px; object-fit: cover; object-position: 49% 40%; }
.retail-teaser__devices { display: flex; flex-direction: column; padding: 32px; color: var(--white); background: var(--ink); }
.retail-teaser__devices .retail-tier-label { color: var(--mint); }
.retail-teaser__devices h3 { color: var(--white); }
.retail-teaser__devices h3 em { color: var(--accent); font-style: normal; }
.retail-teaser__devices > p { color: #c3cec7; font-size: .9rem; max-width: 430px; }
.retail-teaser__devices .retail-actions { margin-top: auto; }
.retail-teaser__devices .text-link { font-size: .8rem; }
.retail-teaser__more { display: flex; gap: 10px; align-items: center; min-height: 44px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line-dark); color: #c3cec7; font-size: .78rem; }
.retail-teaser__more:hover { color: var(--accent); }
.retail-hero { padding-bottom: 64px; background: var(--paper-2); border-bottom: 1px solid var(--line); }
.retail-hero .breadcrumb { color: var(--muted); }
.retail-hero .breadcrumb b { color: var(--ink); }
.retail-hero__grid { display: grid; grid-template-columns: 1.38fr 1fr; gap: 64px; align-items: center; padding-top: 26px; }
.retail-hero h1 { font-size: clamp(2.2rem, 3.6vw, 3.5rem); line-height: 1.28; letter-spacing: -.055em; }
.retail-hero h1 em { color: var(--ink-3); font-style: normal; }
.retail-hero__copy > p:not(.eyebrow) { max-width: 610px; color: var(--muted); font-size: 1.02rem; }
.retail-hero__copy .retail-actions { margin-top: 28px; }
.retail-hero__facts { display: flex; flex-wrap: wrap; gap: 10px 20px; margin-top: 30px; }
.retail-hero__facts span { font-size: .73rem; color: var(--ink-3); }
.retail-hero__facts span::before { content: '✓'; margin-right: 7px; font-weight: 700; }
.retail-hero__photo { position: relative; margin: 0; height: 470px; overflow: hidden; border-radius: 28px 80px 28px 28px; background: #e6e8da; }
.retail-hero__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 34%; }
.retail-hero__photo figcaption { position: absolute; inset: auto 16px 16px; display: flex; align-items: center; gap: 9px; width: fit-content; max-width: calc(100% - 32px); padding: 12px 15px; border-radius: 12px; background: var(--ink); color: var(--white); font-size: .76rem; }
.retail-photo-dot { flex: 0 0 7px; height: 7px; border-radius: 50%; background: var(--accent); }
.retail-icon { width: 62px; height: 62px; margin-bottom: 22px; }
.retail-categories { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: 20px; overflow: hidden; background: var(--white); }
.retail-categories article { padding: 28px 32px; }
.retail-categories article + article { border-left: 1px solid var(--line); }
.retail-categories h3 { margin-bottom: 9px; font-size: 1.22rem; }
.retail-categories p { margin: 0; color: var(--muted); font-size: .9rem; }
.retail-tiers-heading { margin: 52px 0 20px; }
.retail-tiers-heading h3 { margin-bottom: 5px; font-size: 1.3rem; }
.retail-tiers-heading p { margin: 0; color: var(--muted); font-size: .88rem; }
.retail-tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.retail-tiers article { display: flex; flex-direction: column; padding: 28px; background: #e7e9e1; border: 1px solid var(--line); border-radius: 20px; }
.retail-tiers article:nth-child(2) { background: var(--mint-soft); border-color: #b9ded2; }
.retail-tiers article:nth-child(3) { background: var(--ink); color: var(--white); border-color: var(--ink); }
.retail-tiers article:nth-child(3) :is(h3, .retail-tier-label) { color: var(--white); }
.retail-tiers article:nth-child(3) p { color: #c3cec7; }
.retail-tiers article:nth-child(3) .retail-warranty { color: var(--accent); border-color: var(--line-dark); }
.retail-tiers h3 { margin: 20px 0 12px; font-size: 1.18rem; line-height: 1.4; }
.retail-tiers p { color: #526059; font-size: .86rem; }
.retail-warranty { display: flex; align-items: center; gap: 14px; margin-top: auto; padding-top: 20px; border-top: 1px solid #b7c6bb; }
.retail-warranty b { font-family: var(--font-display); font-size: 2.8rem; font-weight: 500; line-height: 1; }
.retail-warranty > span { font-size: .8rem; font-weight: 500; line-height: 1.4; }
.retail-visit { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin-top: 36px; padding-top: 36px; border-top: 1px solid var(--line); }
.retail-visit h3 { margin: 12px 0; font-size: 1.3rem; }
.retail-visit p { color: var(--muted); font-size: .9rem; }
.retail-visit .text-link { font-size: .9rem; }
.retail-devices { padding: 86px 0; color: var(--white); background: var(--ink); }
.retail-devices h2 { color: var(--white); }
.retail-devices h2 em { color: var(--accent); }
.retail-devices .section-heading > p { color: #c3cec7; }
.retail-device-types { display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px; padding: 30px 0; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.retail-device-types > div { position: relative; padding-left: 80px; }
.retail-device-types .retail-icon { position: absolute; top: 0; left: 0; color: var(--mint); }
.retail-device-types h3 { color: var(--white); margin-bottom: 8px; font-size: 1.2rem; }
.retail-device-types p { margin: 0; color: #c3cec7; font-size: .82rem; }
.retail-device-bottom { display: grid; grid-template-columns: 1.2fr 1fr; gap: 80px; margin-top: 40px; }
.retail-device-offer h3 { color: var(--white); margin-bottom: 12px; font-size: 1.3rem; }
.retail-device-offer > p { color: #c3cec7; font-size: .9rem; }
.retail-device-offer .retail-actions { margin-top: 22px; }
.retail-device-offer .button--outline { color: var(--white); border-color: #70877b; }
.retail-device-offer .button--outline:hover { background: #294538; }
.retail-device-offer .retail-bot-hint { margin: 14px 0 0; font-size: .77rem; }
.retail-order-facts { margin: 0; }
.retail-order-facts > div { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 17px 0; border-bottom: 1px solid var(--line-dark); }
.retail-order-facts > div:first-child { padding-top: 0; }
.retail-order-facts dt { color: #c3cec7; font-size: .82rem; }
.retail-order-facts dd { max-width: 215px; margin: 0; text-align: right; font-size: 1rem; font-weight: 600; }
.retail-order-facts > div:first-child dd { color: var(--accent); font-family: var(--font-display); font-size: 1.65rem; }
.retail-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; margin: 0; padding: 0; list-style: none; }
.retail-steps li { padding-top: 22px; border-top: 1px solid var(--line); }
.retail-steps li > span { display: block; margin-bottom: 20px; color: var(--ink-3); font-family: var(--font-display); font-size: .86rem; }
.retail-steps h3 { font-size: 1.2rem; margin-bottom: 12px; }
.retail-steps p { color: var(--muted); font-size: .88rem; }
.retail-gallery { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 45px; }
.retail-gallery figure { position: relative; margin: 0; height: 310px; border-radius: 20px; overflow: hidden; }
.retail-gallery img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 38%; }
.retail-gallery figcaption { position: absolute; left: 16px; bottom: 16px; max-width: calc(100% - 32px); padding: 8px 12px; color: var(--white); background: var(--ink); border-radius: 8px; font-size: .76rem; }
.retail-photo-note { max-width: 760px; margin: 16px 0 0; color: var(--muted); font-size: .76rem; }
@media (min-width: 1121px) and (max-width: 1270px) {
  .desktop-nav a { padding-inline: 7px; font-size: .8rem; }
  .header-main { gap: 16px; }
  .header-actions { gap: 10px; }
}
@media (max-width: 1000px) {
  .retail-teaser__grid { grid-template-columns: 1fr 1fr; }
  .retail-teaser__accessories { grid-template-columns: 1fr; }
  .accessory-collage__grid { grid-template-rows: 190px 190px; }
  .accessory-collage__item { padding: 13px; }
  .accessory-collage--compact .accessory-collage__grid { grid-template-columns: repeat(3, 1fr); grid-template-rows: 145px; }
  .accessory-collage--compact .accessory-collage__item img { max-height: 105px; }
  .retail-teaser__accessories > img { height: 210px; min-height: 0; }
  .retail-hero__grid { gap: 30px; grid-template-columns: 1.2fr 1fr; }
  .retail-hero h1 { font-size: 2.5rem; }
  .retail-hero__photo { height: 450px; }
  .retail-categories article, .retail-tiers article { padding: 24px; }
  .retail-device-bottom, .retail-visit { gap: 32px; }
  .retail-device-types > div { padding-left: 0; }
  .retail-device-types .retail-icon { position: static; }
}
@media (max-width: 760px) {
  .retail-teaser .section-heading { grid-template-columns: 1fr; gap: 22px; }
  .retail-teaser .section-heading > .text-link { justify-self: start; }
  .retail-brands { grid-template-columns: 1fr; gap: 28px; }
  .retail-brands > div + div { padding: 28px 0 0; border-left: 0; border-top: 1px solid var(--line); }
  .accessory-collage { max-width: 570px; width: 100%; justify-self: center; }
  .accessory-collage__grid { grid-template-rows: 200px 200px; }
  .accessory-collage--compact { width: auto; max-width: none; justify-self: stretch; }
  .accessory-collage--compact .accessory-collage__grid { grid-template-columns: 1fr; grid-template-rows: repeat(3, minmax(110px, 1fr)); }
  .retail-teaser__grid, .retail-hero__grid, .retail-visit, .retail-device-bottom { grid-template-columns: 1fr; }
  .retail-teaser__accessories { grid-template-columns: 1fr .6fr; }
  .retail-teaser__accessories > img { height: 100%; min-height: 320px; }
  .retail-teaser__devices h3, .retail-teaser__copy h3 { font-size: 1.5rem; }
  .retail-hero h1 { max-width: 610px; font-size: clamp(2rem, 5.7vw, 2.9rem); }
  .retail-hero__photo { height: 360px; }
  .retail-hero__grid { gap: 32px; }
  .retail-hero { padding-bottom: 40px; }
  .retail-categories article { padding: 20px; }
  .retail-categories h3 { font-size: 1.06rem; }
  .retail-tiers { grid-template-columns: 1fr; }
  .retail-tiers article { display: grid; grid-template-columns: 1fr auto; column-gap: 20px; }
  .retail-tiers .retail-tier-label, .retail-tiers h3, .retail-tiers p { grid-column: 1; }
  .retail-tiers h3 { margin: 12px 0 8px; }
  .retail-tiers p { margin-bottom: 0; }
  .retail-warranty { grid-column: 2; grid-row: 1 / 4; align-self: center; flex-direction: column; align-items: flex-start; margin: 0; padding: 0 0 0 20px; border-top: 0; border-left: 1px solid #b7c6bb; }
  .retail-visit { gap: 24px; }
  .retail-devices { padding: 56px 0; }
  .retail-order-facts dd { max-width: 230px; }
  .retail-steps { grid-template-columns: 1fr; gap: 16px; }
  .retail-steps li { display: grid; grid-template-columns: 36px 1fr; gap: 0 14px; }
  .retail-steps li > span { grid-row: 1 / 3; margin-top: 4px; }
  .retail-steps p { grid-column: 2; }
}
@media (max-width: 520px) {
  .retail-teaser__accessories { grid-template-columns: 1fr; }
  .accessory-collage { padding: 12px; border-radius: 24px 48px 24px 24px; }
  .accessory-collage__grid { grid-template-rows: 165px 165px; gap: 10px; }
  .accessory-collage__item { padding: 12px; border-radius: 14px; }
  .accessory-collage__item--charger { border-top-right-radius: 34px; }
  .accessory-collage__item--charger img { max-height: 106px; }
  .accessory-collage__item small { font-size: .6rem; }
  .accessory-collage--compact { padding: 10px; border-radius: 0; }
  .accessory-collage--compact .accessory-collage__grid { grid-template-columns: repeat(3, 1fr); grid-template-rows: 140px; }
  .accessory-collage--compact .accessory-collage__item { padding: 9px; }
  .accessory-collage--compact .accessory-collage__item > span { font-size: .55rem; }
  .accessory-collage--compact .accessory-collage__item img { max-height: 100px; }
  .retail-teaser__accessories > img { height: 230px; min-height: 0; object-position: 50% 32%; }
  .retail-teaser__copy, .retail-teaser__devices { padding: 24px; }
  .retail-actions > .button { width: 100%; }
  .retail-teaser__devices .retail-actions > .text-link { width: 100%; justify-content: center; }
  .retail-hero__photo { height: 310px; border-radius: 24px 56px 24px 24px; }
  .retail-hero__facts { gap: 8px 14px; margin-top: 22px; }
  .retail-categories { grid-template-columns: 1fr; }
  .retail-categories article { position: relative; padding: 22px 20px 22px 90px; }
  .retail-categories .retail-icon { position: absolute; top: 22px; left: 18px; width: 52px; height: 52px; }
  .retail-categories article + article { border-left: 0; border-top: 1px solid var(--line); }
  .retail-categories h3 { font-size: 1.12rem; }
  .retail-categories p { font-size: .84rem; }
  .retail-tiers article { padding: 22px 20px; column-gap: 12px; }
  .retail-tiers h3 { font-size: 1.08rem; }
  .retail-tiers p { font-size: .82rem; }
  .retail-warranty { gap: 8px; padding-left: 12px; }
  .retail-warranty b { font-size: 2.1rem; }
  .retail-warranty > span { font-size: .7rem; }
  .retail-device-types { grid-template-columns: 1fr; gap: 24px; }
  .retail-device-types > div { padding-left: 80px; min-height: 60px; }
  .retail-device-types .retail-icon { position: absolute; margin: 0; }
  .retail-order-facts > div { gap: 15px; }
  .retail-order-facts dd { max-width: 165px; font-size: .92rem; }
  .retail-gallery { gap: 12px; }
  .retail-gallery figure { height: 270px; border-radius: 14px; }
  .retail-gallery figcaption { left: 8px; bottom: 8px; max-width: calc(100% - 16px); padding: 6px 8px; font-size: .65rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal-ready .reveal { opacity: 1; transform: none; }
}

/* Text editor: long words wrap inside the existing layout. */
.film-landing .service-hero h1, .business-hero h1 { overflow-wrap: anywhere; }
.proof-panel .text-link, .retail-teaser .section-heading > .text-link { white-space: normal; min-width: 0; }
.button { max-width: 100%; min-width: 0; }
.button > svg { flex-shrink: 0; }

/* ==========================================================================
   UI 2026-10 «Приёмный лист». Согласованный 06.10.2026 прототип перенесён
   на рабочую разметку. Слой идёт последним: общие компоненты меняются для
   всех страниц, блоки главной ограничены классами .ui-home и home-*.
   ========================================================================== */
:root {
  --paper: #f6f5ef;
  --paper-2: #fffefa;
  --white: #fffefa;
  --tint: #ecefe6;
  --ink: #10231d;
  --ink-2: #18372d;
  --ink-3: #245044;
  --text: #10231d;
  --muted: #44524b;
  --muted-2: #66726c;
  --line: #d6dbd0;
  --line-strong: #b9c1b4;
  --control: #7d8980;
  --on-green: #dbe7df;
  --accent: #c7ff42;
  --accent-2: #b2ee22;
  --mint: #245044;
  --mint-soft: #ecefe6;
  --danger: #a3261b;
  --danger-bg: #fbecea;
  --shadow: none;
  --shadow-small: none;
  --radius: 16px;
  --radius-small: 10px;
  --r-control: 10px;
  --r-card: 16px;
  --shell: 1200px;
  --section: clamp(56px, 7vw, 96px);
}

html { scroll-padding-top: 88px; background: var(--paper); }
body { background: var(--paper); color: var(--text); font-size: 16px; line-height: 1.55; font-variant-numeric: tabular-nums; }
body::before { content: none; display: none; }
img { height: auto; }
::selection { color: var(--ink); background: var(--accent); }
:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; box-shadow: 0 0 0 5px var(--accent); border-radius: 6px; }
a, button { -webkit-tap-highlight-color: rgba(16, 35, 29, .12); }
.shell { width: min(calc(100% - 48px), var(--shell)); }

h1, h2 { letter-spacing: -.02em; text-wrap: balance; }
h1 { font-size: clamp(1.75rem, 1.05rem + 3vw, 3.15rem); line-height: 1.08; }
h2 { font-size: clamp(1.375rem, 1.05rem + 1.4vw, 2.05rem); line-height: 1.15; margin-bottom: 0; }
h3 { font-size: 1.125rem; line-height: 1.3; }

.eyebrow { gap: 10px; margin-bottom: 12px; color: var(--ink-3); font-size: .8125rem; letter-spacing: .08em; }
.eyebrow > span { width: 12px; height: 2px; background: currentColor; }
.eyebrow--light { color: var(--accent); }

/* Кнопки: два радиуса, рамки вместо теней, без прыжков при наведении. */
.button { min-height: 48px; gap: 10px; padding: 12px 20px; border: 1.5px solid transparent; border-radius: var(--r-control); font-size: 1rem; line-height: 1.2; text-align: center; box-shadow: none; transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
.button:hover { transform: none; box-shadow: none; }
.button svg { width: 18px; height: 18px; }
.button--small { min-height: 44px; padding: 10px 16px; border-radius: var(--r-control); font-size: .9375rem; }
.button--accent { color: var(--ink); background: var(--accent); border-color: var(--accent); box-shadow: none; }
.button--accent:hover { background: var(--accent-2); border-color: var(--accent-2); box-shadow: none; }
.button--ink { color: #fff; background: var(--ink); border-color: var(--ink); }
.button--ink:hover { background: var(--ink-3); border-color: var(--ink-3); box-shadow: none; }
.button--outline, .button--ghost { color: var(--ink); background: transparent; border-color: var(--ink); }
.button--outline:hover, .button--ghost:hover { color: #fff; background: var(--ink); border-color: var(--ink); }
.button--telegram, .button--light, .button--service-light { color: var(--ink); background: transparent; border-color: var(--ink); box-shadow: none; }
.button--telegram:hover, .button--light:hover, .button--service-light:hover { color: #fff; background: var(--ink); border-color: var(--ink); box-shadow: none; }
:is(.service-bottom-cta, .business-contact-cta, .price-page-cta) :is(.button--telegram, .button--light, .button--service-light, .button--outline) { color: #fff; background: transparent; border-color: rgba(255, 255, 255, .6); }
:is(.service-bottom-cta, .business-contact-cta, .price-page-cta) :is(.button--telegram, .button--light, .button--service-light, .button--outline):hover { color: var(--ink); background: #fff; border-color: #fff; }
.button[aria-busy="true"] { cursor: progress; }
.button[aria-busy="true"]::before { content: ""; width: 16px; height: 16px; flex: none; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: q-spin .7s linear infinite; }
@keyframes q-spin { to { transform: rotate(360deg); } }

.text-link { gap: 8px; border-bottom: 0; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; min-height: 44px; }
.text-link:hover { text-decoration-thickness: 2px; }
.text-link:hover span { transform: none; }

/* Шапка: верхняя строка уезжает, основная остаётся. */
.site-header { top: -37px; background: var(--paper); border-bottom: 1px solid var(--line); backdrop-filter: none; }
.header-meta { color: var(--muted); background: transparent; border-bottom: 1px solid var(--line); font-size: .8125rem; }
.header-meta__inner { min-height: 36px; gap: 20px; }
.header-meta__inner a { padding-block: 6px; }
.header-meta__inner a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.header-hours { margin-left: 0; }
.header-meta__nav { display: flex; gap: 20px; margin-left: auto; white-space: nowrap; }
.header-meta__nav a[aria-current="page"] { color: var(--ink); font-weight: 700; }
.header-order { color: var(--ink); font-weight: 600; white-space: nowrap; }
.header-main { height: 68px; gap: 24px; }
.brand-copy strong { font-size: 1rem; letter-spacing: .02em; }
.brand-copy small { margin-top: 3px; color: var(--muted); font-size: .8125rem; letter-spacing: 0; text-transform: none; }
.desktop-nav { gap: 2px; margin-right: auto; }
.desktop-nav a { padding: 10px 12px; color: var(--ink); border-radius: 8px; font-size: .9375rem; font-weight: 600; }
.desktop-nav a:hover { background: var(--tint); }
.desktop-nav a[aria-current="page"] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
.header-actions { gap: 16px; }
.header-phone { justify-content: center; min-height: 44px; }
.header-phone span { margin-bottom: 2px; color: var(--muted); font-size: .8125rem; text-transform: none; }
.header-phone strong { font-size: .9375rem; white-space: nowrap; }
.menu-toggle { width: 48px; height: 48px; padding: 12px; border: 1.5px solid var(--control); border-radius: var(--r-control); background: var(--white); }
.mobile-nav { padding: 0; background: var(--white); border-top: 1px solid var(--line); box-shadow: none; }
.mobile-nav a { display: flex; align-items: center; min-height: 52px; padding: 12px 24px; border-bottom: 1px solid var(--line); font-weight: 600; }
.mobile-nav a::after { content: "→"; margin-left: auto; color: var(--muted-2); }
.mobile-nav .mobile-nav__secondary { color: var(--muted); font-weight: 400; }
.mobile-nav .mobile-nav__secondary::after { content: none; }

/* Подвал */
.site-footer { padding: 56px 0 24px; color: #c9d5cd; background: #0b1814; font-size: .9375rem; }
.footer-grid { gap: 32px; padding-bottom: 32px; }
.footer-brand p { margin-top: 16px; color: #c9d5cd; font-size: .9375rem; }
.brand--footer .brand-copy small { color: #c9d5cd; }
.footer-column { gap: 0; }
.footer-column strong { margin-bottom: 6px; color: #fff; font-size: .9375rem; }
.footer-column a { display: inline-flex; align-items: center; min-height: 36px; color: #c9d5cd; font-size: .9375rem; white-space: nowrap; }
.footer-column a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.footer-column a[href^="tel:"] { white-space: nowrap; }
.footer-bottom { color: #a9b8ae; border-top: 1px solid rgba(255, 255, 255, .18); font-size: .875rem; }

/* Нижняя панель на телефоне */
.mobile-actions a svg { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Поля и формы */
.field { gap: 6px; align-content: start; }
.field > span, .contact-methods legend { color: var(--ink); font-size: .9375rem; font-weight: 600; }
.field input, .field select, .field textarea { min-height: 48px; color: var(--ink); background: #fff; border: 1.5px solid var(--control); border-radius: var(--r-control); font-size: 1rem; }
.field input, .field select { padding: 0 14px; }
.field textarea { min-height: 104px; padding: 11px 14px; }
.field input:hover, .field select:hover, .field textarea:hover { border-color: var(--ink); }
.field input:focus, .field select:focus, .field textarea:focus { border-color: var(--ink); box-shadow: none; }
.field input::placeholder, .field textarea::placeholder { color: #5f6b65; }
.field :user-invalid { border-color: var(--danger); background: var(--danger-bg); }

/* Секции и заголовки разделов */
.section { padding: var(--section) 0; }
.section-heading { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 48px; margin-bottom: clamp(24px, 3vw, 40px); }
.section-heading > p { max-width: 60ch; margin-bottom: 0; color: var(--muted); font-size: 1.0625rem; }
.section-heading--single { grid-template-columns: minmax(0, 1fr); }

/* Мягкое появление блоков на внутренних страницах */
.reveal-ready .reveal { transform: translateY(10px); transition: opacity .45s ease, transform .45s ease; }

/* ---------- Главная: первый экран ---------- */
.ui-home .home-hero { min-height: 0; overflow: visible; padding: clamp(28px, 4vw, 56px) 0 clamp(32px, 4vw, 56px); background: var(--paper); }
.ui-home .home-hero::after { content: none; }
.home-hero__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.ui-home .home-hero .eyebrow { margin-bottom: 12px; font-size: .8125rem; letter-spacing: .08em; }
.ui-home .home-hero h1 { max-width: 15ch; margin: 0; font-size: clamp(1.75rem, 1.05rem + 3vw, 3.15rem); line-height: 1.08; text-wrap: balance; }
.ui-home .home-hero h1 em { display: inline; color: var(--ink-3); font-style: normal; }
.ui-home .home-hero .hero-locality { display: block; margin-top: 12px; color: var(--muted); font-family: var(--font-body); font-size: clamp(1.0625rem, .9rem + .6vw, 1.375rem); font-weight: 500; letter-spacing: 0; line-height: 1.35; }
.ui-home .home-hero .hero-promise { margin: 20px 0 0; color: var(--ink); font-size: 1.125rem; font-weight: 700; }
.ui-home .home-hero .hero-lead { max-width: 60ch; margin: 8px 0 0; color: var(--muted); font-size: 1.0625rem; }
.ui-home .home-hero .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.ui-home .home-hero .hero-actions .button { padding-inline: 20px; font-size: 1rem; }
.ui-home .home-hero .hero-channel-note { display: block; margin-top: 12px; color: var(--muted); font-size: .9375rem; }
.ui-home .home-hero .hero-channel-note a { display: inline; color: var(--ink); font-weight: 700; border: 0; text-decoration: underline; text-underline-offset: 3px; }
.ui-home .home-hero .hero-channel-note > a { margin-right: 6px; }
.ui-home .home-hero .hero-channel-note > span::before { content: "· "; }
.ui-home .home-hero .hero-points { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 28px 0 0; padding: 0; border-top: 1px solid var(--line-strong); }
.ui-home .home-hero .hero-points li { display: block; padding: 14px 16px 0 0; color: var(--muted); font-size: .875rem; line-height: 1.4; }
.ui-home .home-hero .hero-points li + li { padding-left: 16px; border-left: 1px solid var(--line); }
.ui-home .home-hero .hero-points strong { display: block; width: auto; margin-bottom: 2px; color: var(--ink); font-size: 1.0625rem; white-space: nowrap; }
.ui-home .home-hero .hero-points span { display: block; max-width: none; }
.home-hero__photo { margin: 0; }
.home-hero__photo img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 48% center; border-radius: var(--r-card); background: var(--tint); }
.home-hero__cards { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ui-home .rating-card, .ui-home .location-card { position: static; display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; min-height: 44px; padding: 10px 14px; color: var(--ink); background: var(--white); border: 1px solid var(--line); border-radius: var(--r-control); box-shadow: none; backdrop-filter: none; font-size: .875rem; line-height: 1.3; }
.ui-home .rating-card:hover, .ui-home .location-card:hover { transform: none; border-color: var(--ink); background: var(--white); }
.ui-home .rating-card strong, .ui-home .location-card strong { font-size: 1rem; }
.ui-home .rating-card small, .ui-home .location-card small { margin: 0; color: var(--muted); font-size: .875rem; }
.rating-card__stars, .proof-score__stars { color: #8a5f00; letter-spacing: 1px; }

/* ---------- Главная: направления ---------- */
.direction-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: hidden; background: var(--white); border: 1px solid var(--line-strong); border-radius: var(--r-card); }
.direction { display: flex; min-width: 0; flex-direction: column; gap: 8px; padding: 20px; }
.direction + .direction { border-left: 1px solid var(--line); }
.direction__kicker { margin: 0; color: var(--ink-3); font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.direction h3 { margin: 0; }
.direction > p:not(.direction__kicker) { margin: 0; color: var(--muted); font-size: .9375rem; }
.direction ul { display: grid; gap: 4px; padding: 0; margin: 0; color: var(--muted); font-size: .875rem; list-style: none; }
.direction li { padding-left: 14px; text-indent: -14px; }
.direction li::before { content: "- "; }
.direction__link { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding-top: 8px; margin-top: auto; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.direction__link:hover { color: var(--ink-3); }
.hard-case { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; padding: 16px 20px; margin-top: 16px; border: 1px dashed var(--line-strong); border-radius: var(--r-card); }
.hard-case h3 { margin: 4px 0 2px; }
.hard-case p:not(.direction__kicker) { margin: 0; color: var(--muted); font-size: .9375rem; }

/* Плёнки: заметный вход сразу после карточек услуг. */
.home-film { display: grid; grid-template-columns: 104px minmax(0, 1fr) auto; align-items: center; gap: 28px; margin-top: 28px; padding: 28px 32px; color: var(--ink); background: var(--tint); border: 1px solid var(--line-strong); border-radius: var(--r-card); }
.home-film__visual svg { display: block; width: 104px; height: auto; }
.home-film__copy { min-width: 0; }
.home-film__copy .eyebrow { margin: 0 0 8px; }
.home-film__copy h2 { font-size: clamp(1.375rem, 1rem + 1.2vw, 1.75rem); }
.home-film__copy > p:not(.eyebrow) { margin: 12px 0 0; color: var(--muted); }
.home-film__copy .home-film__types { font-size: .875rem; }
.home-film__action { display: grid; justify-items: start; gap: 12px; }
.home-film__action p { margin: 0; font-size: .9375rem; font-weight: 600; }
.home-film__action .button { white-space: nowrap; }
@media (max-width: 1120px) {
  .home-film { grid-template-columns: 88px minmax(0, 1fr); gap: 20px 24px; }
  .home-film__visual { grid-row: span 2; align-self: start; }
  .home-film__visual svg { width: 88px; }
  .home-film__action { grid-column: 2; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
}
@media (max-width: 680px) {
  .home-film { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 24px; }
  .home-film__visual { grid-row: auto; }
  .home-film__visual svg { width: 64px; }
  .home-film__action { grid-column: 1; display: grid; justify-items: stretch; }
  .home-film__action .button { white-space: normal; }
}

/* ---------- Главная: условия, процесс, «квитанционные» строки ---------- */
.home-terms, .home-process, .home-more { border-top: 1px solid var(--line); }
.terms-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 2px solid var(--ink); }
.term { min-width: 0; padding: 20px 24px 0 0; }
.term + .term { padding-left: 24px; border-left: 1px solid var(--line-strong); }
.term__label { margin: 0; color: var(--ink-3); font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.term h3 { margin: 6px 0 12px; }
.term__note { margin: 12px 0 0; color: var(--muted); font-size: .875rem; }
.term__text { margin: 0; color: var(--muted); }
.ledger { display: grid; margin: 0; }
.ledger > div { display: grid; grid-template-columns: 7.5em minmax(0, 1fr); gap: 12px; padding: 8px 0; border-top: 1px solid var(--line-strong); font-size: .9375rem; }
.ledger dt { font-weight: 700; }
.ledger dd { min-width: 0; margin: 0; color: var(--muted); }
.step-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); padding: 0; margin: 0; list-style: none; counter-reset: q-step; }
.step-list li { position: relative; padding: 16px 16px 0 0; border-top: 2px solid var(--ink); counter-increment: q-step; }
.step-list li::before { content: "0" counter(q-step); display: block; margin-bottom: 8px; color: var(--ink-3); font-family: var(--font-display); font-size: .8125rem; font-weight: 600; }
.step-list h3 { margin: 0; font-size: 1rem; }
.step-list p { margin: 6px 0 0; color: var(--muted); font-size: .875rem; }

/* ---------- Главная: работы ---------- */
.home-cases { background: var(--tint); }
.case-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.case-sheet { display: flex; min-width: 0; flex-direction: column; overflow: hidden; background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); }
.case-sheet__photo { position: relative; margin: 0; }
.case-sheet__photo img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.case-sheet__photo figcaption, .home-team__photo figcaption, .contact-photo figcaption { position: absolute; left: 12px; bottom: 12px; padding: 4px 10px; color: var(--ink); background: var(--white); border-radius: 6px; font-size: .8125rem; font-weight: 700; }
.case-sheet__body { display: flex; min-width: 0; flex: 1; flex-direction: column; gap: 12px; padding: 18px 20px 20px; }
.case-sheet__body h3 { margin: 0; }
.ledger--case > div { grid-template-columns: 6em minmax(0, 1fr); font-size: .875rem; }
.case-sheet__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 12px; margin-top: auto; color: var(--muted); font-size: .875rem; }
.case-sheet__foot a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--ink); font-size: .9375rem; font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }

/* ---------- Главная: команда ---------- */
.ui-home .home-team { padding: var(--section) 0; background: var(--ink-2); }
.home-team__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.ui-home .home-team .workshop-copy { max-width: none; padding: 0; }
.ui-home .home-team .workshop-copy h2 { color: #fff; }
.ui-home .home-team .workshop-copy > p:not(.eyebrow) { margin: 14px 0 0; color: var(--on-green); font-size: 1.0625rem; }
.home-team__skills { display: block !important; margin: 20px 0 0 !important; border-top: 1px solid rgba(255, 255, 255, .25); }
.ui-home .home-team__skills li { display: block; padding: 12px 0; color: #fff; border-bottom: 1px solid rgba(255, 255, 255, .25); font-size: 1rem; }
.home-team__photos { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.home-team__photo { position: relative; min-width: 0; margin: 0; }
.home-team__photo img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--r-control); }
.home-team__photo--wide { grid-column: 1 / -1; }
.home-team__photo--wide img { aspect-ratio: 16 / 9; object-position: 50% 30%; }

/* ---------- Главная: отзывы ---------- */
.review-proof-line { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; padding: 16px 20px; margin-bottom: 20px; background: var(--white); border: 1px solid var(--line-strong); border-radius: var(--r-card); }
.proof-score { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 10px; margin-right: auto; }
.proof-score strong { font-family: var(--font-display); font-size: 2rem; font-weight: 600; line-height: 1; }
.proof-score small { color: var(--muted); font-size: .9375rem; }
.ui-home .review-proof-line .proof-stat { display: flex; align-items: baseline; gap: 6px; padding: 0; border: 0; }
.ui-home .review-proof-line .proof-stat strong { font-size: 1.125rem; }
.ui-home .review-proof-line .proof-stat span { color: var(--muted); font-size: .9375rem; }
.ui-home .review-proof-line .proof-award { display: inline-flex; align-items: baseline; gap: 6px; padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--r-control); font-size: .875rem; }
.ui-home .review-proof-line .proof-award strong, .ui-home .review-proof-line .proof-award small { color: var(--ink); font-size: .875rem; }
.quote-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.ui-home .review-card { min-height: 0; gap: 14px; padding: 20px; background: var(--white); border: 0; border-left: 3px solid var(--ink); border-radius: 0 var(--r-control) var(--r-control) 0; }
.ui-home .review-card blockquote { margin: 0; font-size: 1.0625rem; line-height: 1.5; }
.ui-home .review-card footer { display: block; padding: 0; border: 0; color: var(--muted); font-size: .875rem; }
.ui-home .review-card footer span { display: block; color: var(--ink); font-size: .9375rem; }
.ui-home .review-card footer small { font-size: .875rem; }

/* ---------- Главная: другие направления ---------- */
.more-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line-strong); }
.more-item { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; padding: 18px 16px 18px 0; border-bottom: 1px solid var(--line-strong); }
.more-item:nth-child(even) { padding-left: 24px; border-left: 1px solid var(--line-strong); }
.more-item::after { content: "→"; grid-column: 2; grid-row: 1 / span 2; align-self: center; font-weight: 700; transition: transform .15s ease; }
.more-item:hover::after { transform: translateX(3px); }
.more-item h3 { grid-column: 1; margin: 0; }
.more-item h3 a { text-decoration: none; }
.more-item h3 a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.more-item:hover h3 a { text-decoration: underline; text-underline-offset: 4px; }
.more-item h3 a:focus-visible { box-shadow: none; outline: 0; }
.more-item:has(h3 a:focus-visible) { outline: 2px solid var(--ink); outline-offset: 2px; box-shadow: 0 0 0 5px var(--accent); }
.more-item > p { grid-column: 1; margin: 0; color: var(--muted); font-size: .9375rem; }
.more-item .ledger { grid-column: 1; margin-top: 8px; }
.ledger--compact > div { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 8px; padding: 6px 0; border-top-style: dotted; font-size: .875rem; }
.ledger--compact dd { color: var(--ink); font-weight: 700; }
.ledger--compact dd p, .ledger--compact .pc-build-price__amount { margin: 0; color: var(--ink); font-family: var(--font-body); font-size: inherit; font-weight: 700; line-height: inherit; letter-spacing: 0; }
.brand { min-height: 44px; }

/* ---------- FAQ ---------- */
.faq-section { background: var(--tint); }
.faq-layout { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(24px, 4vw, 56px); }
.faq-intro { top: 100px; }
.faq-intro h2 { margin-bottom: 12px; }
.faq-intro > p:not(.eyebrow) { margin: 0 0 20px; color: var(--muted); font-size: 1.0625rem; }
.faq-list { border-top: 1px solid var(--line-strong); }
.faq-item { border-bottom: 1px solid var(--line-strong); }
.faq-item summary { gap: 16px; min-height: 56px; padding: 16px 4px; font-family: var(--font-body); font-size: 1rem; font-weight: 700; }
.faq-item summary:hover { background: rgba(255, 255, 255, .5); }
.faq-item summary span { width: 28px; height: 28px; background: transparent; border-color: var(--line-strong); font-size: 1.125rem; }
.faq-item[open] summary span { background: transparent; }
.ui-home .faq-item summary::after { content: "+"; flex: none; font-size: 1.375rem; font-weight: 400; line-height: 1; }
.ui-home .faq-item[open] summary::after { content: "-"; }
.faq-item p { max-width: 70ch; padding: 0 4px 18px; margin: 0; color: var(--muted); }

/* ---------- Запись ---------- */
.estimate-section { padding: var(--section) 0; background: var(--ink-2); }
.estimate-section::after { content: none; }
.estimate-grid { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(24px, 4vw, 56px); align-items: start; }
.estimate-copy h2 { color: #fff; }
.estimate-copy > p:not(.eyebrow) { margin: 14px 0 0; color: var(--on-green); font-size: 1.0625rem; }
.estimate-points { display: block; padding: 0; margin: 24px 0 0; border-top: 1px solid rgba(255, 255, 255, .25); list-style: none; counter-reset: q-point; }
.estimate-points li { display: flex; gap: 12px; padding: 12px 0; color: #fff; border-bottom: 1px solid rgba(255, 255, 255, .25); counter-increment: q-point; }
.estimate-points li::before { content: counter(q-point); color: var(--accent); font-family: var(--font-display); font-weight: 600; }
.messenger-directs { gap: 10px; max-width: none; margin-top: 24px; }
.messenger-direct { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; min-height: 52px; padding: 12px 16px; background: transparent; border: 1px solid rgba(255, 255, 255, .4); border-radius: var(--r-control); }
.messenger-direct:hover { background: rgba(255, 255, 255, .08); border-color: #fff; transform: none; }
.messenger-direct > strong { display: inline; min-height: 0; padding: 0; background: none !important; font-size: 1rem; }
.messenger-direct > span { color: var(--on-green); font-size: .9375rem; }
.messenger-direct > i { margin-left: auto; color: var(--accent); }
.estimate-form { gap: 16px; padding: clamp(18px, 2.5vw, 28px); background: var(--white); border-radius: var(--r-card); box-shadow: none; }
.form-heading { padding-bottom: 12px; border-bottom: 1px dashed var(--line-strong); }
.form-heading > span { font-family: var(--font-body); font-size: 1rem; font-weight: 700; }
.form-heading > small { color: var(--muted); font-size: .875rem; }
.form-row { gap: 16px; }
.contact-methods { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.contact-methods legend { margin-bottom: 8px; }
.contact-methods label { position: relative; }
.contact-methods input { position: absolute; inset: 0; opacity: 0; }
.contact-methods span { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 8px; background: #fff; border: 1.5px solid var(--control); border-radius: var(--r-control); font-size: .9375rem; font-weight: 600; }
.contact-methods input:checked + span { color: #fff; background: var(--ink); border-color: var(--ink); }
.contact-methods input:focus-visible + span { outline: 2px solid var(--ink); outline-offset: 2px; box-shadow: 0 0 0 5px var(--accent); }
.form-options { background: transparent; border: 1px solid var(--line-strong); border-radius: var(--r-control); }
.form-options summary { min-height: 48px; padding: 12px 14px; }
.form-options summary span { font-size: .9375rem; font-weight: 600; }
.form-options summary { flex-wrap: wrap; row-gap: 2px; }
.form-options summary small { flex: none; color: var(--muted); font-size: .875rem; white-space: nowrap; }
.form-options summary::after { width: auto; height: auto; background: none; border: 0; font-size: 1.25rem; }
.form-options[open] summary::after { background: none; content: "-"; transform: none; }
.form-options__body { padding: 0 14px 14px; border-top: 0; }
.consent { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; min-height: 44px; }
.consent input { width: 22px; height: 22px; margin: 1px 0 0; }
.consent span { color: var(--muted); font-size: .9375rem; line-height: 1.45; }
.consent a { border: 0; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.form-note { margin: 0; color: var(--muted); text-align: left; font-size: .875rem; }
.form-status { margin: 0; text-align: left; font-size: .9375rem; font-weight: 600; }
.form-status.is-error { color: var(--danger); }
.form-status.is-preview { color: #5b4300; background: #fff3c4; }
.booking-success { grid-template-columns: minmax(0, 1fr); gap: 10px; padding: 18px; background: transparent; border: 1.5px solid var(--ink); border-radius: var(--r-control); }
.booking-success__icon { display: none; }
.booking-success small { color: var(--ink-3); font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.booking-success strong { font-size: 1.5rem; }
.booking-success p { color: var(--muted); font-size: .9375rem; }
.booking-success > .booking-success__actions { flex-wrap: wrap; gap: 10px; }

/* ---------- Контакты ---------- */
.contacts-section { padding: var(--section) 0; background: var(--paper); }
.contacts-grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(24px, 4vw, 56px); align-items: center; }
.ui-home .contact-photo { min-height: 0; margin: 0; background: none; border-radius: var(--r-card); }
.ui-home .contact-photo img { width: 100%; height: auto; max-height: 520px; aspect-ratio: 4 / 5; border-radius: var(--r-card); }
.ui-home .contact-lines { margin: 20px 0 0; border-top: 0; border-bottom: 1px solid var(--line-strong); }
.ui-home .contact-line { grid-template-columns: 6.5em minmax(0, 1fr); gap: 12px; padding: 12px 0; border-top: 1px solid var(--line-strong); border-bottom: 0; }
.ui-home .contact-line > small { margin: 0; color: var(--ink); font-size: .9375rem; font-weight: 700; text-transform: none; }
.ui-home .contact-line strong { font-size: 1.0625rem; }
.ui-home .contact-line p { margin: 2px 0 0; color: var(--muted); font-size: .9375rem; }
.contact-phone { display: flex; align-items: center; min-height: 44px; font-size: 1.0625rem; font-weight: 700; white-space: nowrap; }
.contact-phone--second { color: var(--muted); font-size: 1rem; font-weight: 600; }
.contact-phone:hover { text-decoration: underline; text-underline-offset: 3px; }
.contact-buttons { gap: 10px; margin-top: 20px; }
.schedule-note { padding-left: 0; margin-top: 14px; color: var(--muted); border-left: 0; font-size: .875rem; }
.social-line { margin: 16px 0 0; color: var(--muted); font-size: .9375rem; }
.social-line a { display: inline-flex; align-items: center; min-height: 44px; margin-right: 14px; color: var(--ink); font-weight: 600; }
.social-line a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* ---------- Адаптив ---------- */
@media (max-width: 1120px) {
  .direction-list { grid-template-columns: 1fr 1fr; }
  .direction:nth-child(3) { border-left: 0; }
  .direction:nth-child(n+3) { border-top: 1px solid var(--line); }
  .step-list { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 24px; }
  .case-list { grid-template-columns: 1fr; gap: 16px; }
  .case-sheet { flex-direction: row; }
  .case-sheet__photo { width: 36%; flex: none; }
  .case-sheet__photo img { height: 100%; aspect-ratio: auto; }
  .quote-list { grid-template-columns: 1fr; gap: 12px; }
  .terms-grid { grid-template-columns: 1fr; border-top: 0; }
  .term, .term + .term { padding: 20px 0 0; margin-top: 20px; border-left: 0; border-top: 2px solid var(--ink); }
  .term:first-child { margin-top: 0; }
}
@media (max-width: 900px) {
  .shell { width: min(calc(100% - 48px), var(--shell)); }
  .header-phone { display: flex; }
  .section-heading { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .home-hero__grid { grid-template-columns: minmax(0, 1fr); }
  .home-hero__visual { max-width: 680px; }
  .home-hero__photo img { aspect-ratio: 16 / 9; }
  .home-team__grid, .faq-layout, .estimate-grid, .contacts-grid { grid-template-columns: minmax(0, 1fr); }
  .faq-intro { position: static; }
  .ui-home .contact-photo img { aspect-ratio: 16 / 10; max-height: 420px; }
}
@media (max-width: 760px) {
  .ui-home .home-hero .hero-actions .button { flex: 1 1 100%; }
  .ui-home .home-hero .hero-points { grid-template-columns: 1fr; }
  .ui-home .home-hero .hero-points li, .ui-home .home-hero .hero-points li + li { display: grid; grid-template-columns: 8.5em minmax(0, 1fr); align-items: baseline; gap: 12px; padding: 10px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .direction-list { grid-template-columns: 1fr; }
  .direction + .direction { border-left: 0; border-top: 1px solid var(--line); }
  .direction ul { display: none; }
  .step-list { grid-template-columns: 1fr; row-gap: 0; }
  .step-list li { display: grid; grid-template-columns: 2.25em minmax(0, 1fr); padding: 14px 0; border-top: 1px solid var(--line-strong); }
  .step-list li::before { grid-row: 1 / span 2; margin: 3px 0 0; }
  .step-list p { grid-column: 2; }
  .case-sheet { flex-direction: column; }
  .case-sheet__photo { width: 100%; }
  .case-sheet__photo img { aspect-ratio: 3 / 2; }
  .more-list { grid-template-columns: 1fr; }
  .more-item:nth-child(even) { padding-left: 0; border-left: 0; }
  .contact-methods { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 680px) {
  body { font-size: 16px; padding-bottom: 0; }
  .shell { width: min(calc(100% - 32px), var(--shell)); }
  html { scroll-padding-top: 76px; }
  .site-header { top: 0; }
  .header-main { height: 64px; gap: 12px; }
  .header-actions { gap: 10px; }
  .header-phone span { display: none; }
  .mobile-nav { max-height: calc(100dvh - 144px - env(safe-area-inset-bottom)); }
  .mobile-nav a { padding-inline: 16px; }
  .section, .estimate-section, .contacts-section, .ui-home .home-team { padding: 56px 0; }
  .section-heading h2, .estimate-copy h2, .contact-info h2, .faq-intro h2, .workshop-copy h2 { font-size: clamp(1.375rem, 1.05rem + 1.4vw, 2.05rem); }
  .ui-home .home-hero { padding: 24px 0 40px; }
  .ui-home .home-hero h1 { font-size: clamp(1.75rem, 1.05rem + 3vw, 3.15rem); margin: 0; }
  .ui-home .home-hero .eyebrow { font-size: .8125rem; letter-spacing: .06em; }
  .ui-home .home-hero .hero-locality { font-size: 1.0625rem; }
  .ui-home .home-hero .hero-promise { font-size: 1.0625rem; }
  .ui-home .home-hero .hero-lead { font-size: 1rem; }
  .ui-home .home-hero .hero-actions { display: flex; }
  .ui-home .home-hero .hero-channel-note { display: block; }
  .home-hero__photo img { aspect-ratio: 16 / 9; }
  .home-hero__cards { display: none; }
  .home-team__photos { grid-template-columns: 1fr; }
  .estimate-form { padding: 18px; }
  .form-heading { flex-direction: column; align-items: flex-start; gap: 2px; }
  .ui-home .contact-line { grid-template-columns: 1fr; gap: 2px; }
  .contact-buttons { display: grid; grid-template-columns: 1fr 1fr; }
  .contact-buttons .button:first-child { grid-column: 1 / -1; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 24px 16px; }
  .footer-column a { min-height: 44px; white-space: normal; }
  .footer-bottom { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
  .mobile-actions { right: 0; bottom: 0; left: 0; grid-template-columns: 1fr 1.5fr 1fr; gap: 8px; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: var(--paper); border: 0; border-top: 1px solid var(--line-strong); border-radius: 0; box-shadow: none; backdrop-filter: none; }
  .mobile-actions a { min-height: 48px; gap: 6px; color: var(--ink); background: var(--white); border: 1.5px solid var(--ink); border-radius: var(--r-control); font-size: .9375rem; font-weight: 700; }
  .mobile-actions a span { font-size: inherit; }
  .mobile-actions__primary { color: var(--ink) !important; background: var(--accent) !important; border-color: var(--accent) !important; }
  .toast { bottom: 84px; }
}
@media (max-width: 400px) {
  .mobile-actions { grid-template-columns: 52px 1fr 52px; }
  .mobile-actions a:not(.mobile-actions__primary) span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
}
@media (max-width: 360px) {
  .ledger > div, .ledger--case > div, .ui-home .home-hero .hero-points li, .ui-home .home-hero .hero-points li + li { grid-template-columns: 1fr; gap: 0; }
  .ledger--compact > div { grid-template-columns: 1fr; gap: 0; }
  .footer-grid { grid-template-columns: minmax(0, 1fr); }
  .footer-brand, .footer-column:last-child { grid-column: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .button[aria-busy="true"]::before { animation-duration: 2s; }
  .more-item::after { transition: none; }
}
@media (max-width: 480px) {
  .header-phone { display: none; }
}

/* ==========================================================================
   UI 2026-10, часть 2: внутренние страницы. Те же токены и правила, что на
   главной: светлые первые экраны, рамки вместо теней, строки с отточием,
   тёмным остаётся только блок записи внизу страницы. Разметка не менялась.
   ========================================================================== */
.content-page, .price-page { background: var(--paper); }

/* Хлебные крошки */
.breadcrumb { gap: 4px 8px; padding-top: 12px; color: var(--muted); font-size: .875rem; }
.breadcrumb a { display: inline-flex; align-items: center; min-height: 44px; color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.breadcrumb a:hover { color: var(--ink-3); }
.breadcrumb > span { color: var(--muted-2); }
.breadcrumb b { color: var(--ink); font-weight: 600; }

/* Светлые первые экраны */
.service-hero, .info-hero, .business-hero, .retail-hero { overflow: visible; padding-bottom: clamp(32px, 5vw, 64px); color: var(--ink); background: var(--paper); border-bottom: 1px solid var(--line); }
.service-hero::before, .business-hero::after { content: none; }
.service-hero__grid, .business-hero__grid, .retail-hero__grid { gap: clamp(24px, 4vw, 56px); padding-top: 16px; }
.service-hero__grid, .business-hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); }
.service-hero h1, .info-hero__copy h1, .business-hero__copy h1, .retail-hero h1, .order-heading h1, .utility-card h1,
.film-landing .service-hero h1, .business-hero .business-hero__copy h1 { max-width: 18ch; margin: 0 0 16px; color: var(--ink); font-size: clamp(1.75rem, 1.05rem + 3vw, 3.15rem); line-height: 1.08; letter-spacing: -.02em; overflow-wrap: break-word; word-break: normal; }
.retail-hero h1 em { color: var(--ink-3); }
.service-hero__copy > p:not(.eyebrow), .info-hero__copy > p:not(.eyebrow), .business-hero__copy > p:not(.eyebrow), .retail-hero__copy > p:not(.eyebrow) { max-width: 62ch; margin-bottom: 0; color: var(--muted); font-size: 1.0625rem; }
.service-hero .eyebrow--light, .info-hero .eyebrow--light, .business-hero .eyebrow--light { color: var(--ink-3); }
.service-hero .hero-actions, .business-hero .hero-actions, .info-hero .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.service-hero .text-link--light, .info-hero .text-link--light, .business-hero .text-link--light { color: var(--ink); }
.service-hero__copy > p:has(.text-link) { margin-top: 8px; }
.info-hero__copy { max-width: none; padding-top: 16px; }
.info-hero__copy > .button { margin-top: 24px; }
.info-hero, .info-hero--compact { padding-bottom: clamp(32px, 5vw, 56px); }

/* Факты под первым экраном: строка с разделителями вместо «таблеток» */
.service-facts { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; max-width: 62ch; margin: 28px 0 0; border-top: 1px solid var(--line-strong); }
.service-facts li { padding: 10px 0; color: var(--ink); border: 0; border-bottom: 1px solid var(--line); border-radius: 0; font-size: .9375rem; font-weight: 600; line-height: 1.4; }
.film-jump-links { gap: 4px 20px; margin-top: 16px; }
.film-jump-links a { color: var(--ink); font-size: .9375rem; font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.film-jump-links a:hover { color: var(--ink-3); }
.retail-hero__facts span { color: var(--ink); font-size: .9375rem; font-weight: 600; }
.retail-hero__facts span::before { content: ""; display: inline-block; width: 10px; height: 2px; margin: 0 8px 0 0; vertical-align: middle; background: var(--ink-3); }

/* Фото первого экрана */
.service-hero__image, .business-hero__image, .retail-hero__photo { height: auto; margin: 0; overflow: hidden; background: var(--tint); border-radius: var(--r-card); }
.service-hero__image img, .business-hero__image img, .retail-hero__photo img { height: auto; aspect-ratio: 4 / 3; }
.service-hero__image::after, .business-hero__image::after { content: none; }
.service-hero__image figcaption, .business-hero__image figcaption, .retail-hero__photo figcaption, .retail-gallery figcaption, .contact-photo > span { position: absolute; top: auto; right: auto; bottom: 12px; left: 12px; display: inline-flex; width: auto; max-width: calc(100% - 24px); padding: 4px 10px; color: var(--ink); background: var(--white); border-radius: 6px; font-size: .8125rem; font-weight: 700; line-height: 1.35; }
.retail-photo-dot { display: none; }

/* Схема плёнки: плоская, без градиентов и теней */
.film-visual { padding: 20px; background: var(--tint); border: 1px solid var(--line-strong); border-radius: var(--r-card); }
.film-visual__top, .film-visual figcaption > span { color: var(--muted); font-size: .8125rem; }
.film-visual figcaption strong { font-size: clamp(1.25rem, 1rem + 1vw, 1.625rem); line-height: 1.25; letter-spacing: -.01em; }
.film-phone { box-shadow: none; }
.film-phone__screen { background: var(--ink-2); }
.film-sheet { background: rgba(199, 255, 66, .14); box-shadow: none; }
.film-sheet span { font-size: .8125rem; }

/* Разделы */
.service-detail__grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(24px, 4vw, 56px); }
.service-detail__intro { top: 100px; }
.service-detail__intro h2, .service-bottom-cta h2, .business-contact-cta h2, .ai-section__heading h2, .retail-devices h2 { font-size: clamp(1.375rem, 1.05rem + 1.4vw, 2.05rem); line-height: 1.15; }
.service-detail__intro > p:last-child { margin-top: 12px; font-size: 1.0625rem; }
.symptom-list { grid-template-columns: 1fr 1fr; gap: 0 32px; border-top: 1px solid var(--line-strong); }
.symptom-list li { display: grid; grid-template-columns: 2.25em minmax(0, 1fr); grid-template-rows: auto; gap: 8px; min-height: 0; padding: 14px 0; color: var(--ink); background: none; border: 0; border-bottom: 1px solid var(--line-strong); border-radius: 0; font-size: 1rem; }
.symptom-list li span { padding-top: 3px; font-size: .8125rem; }

.service-work-section { padding: var(--section) 0; background: var(--tint); }
.service-work-grid { gap: 20px; }
.service-work-card, .service-price-card { padding: clamp(20px, 2.5vw, 28px); background: var(--white); border: 1px solid var(--line-strong); border-radius: var(--r-card); }
.service-work-card h2, .service-price-card h2 { margin: 4px 0 16px; font-size: clamp(1.25rem, 1rem + .9vw, 1.625rem); line-height: 1.2; }
.check-list { border-top: 1px solid var(--line-strong); }
.check-list li { gap: 12px; padding: 12px 0; color: var(--ink); border-bottom: 1px solid var(--line); font-size: .9375rem; }
.check-list li::before { content: ""; width: 12px; height: 2px; margin-top: .72em; background: var(--ink-3); border-radius: 0; }
.service-price-card__head { gap: 8px 20px; flex-wrap: wrap; }
.service-price-card__head small { color: var(--ink-3); font-size: .8125rem; font-weight: 700; letter-spacing: .08em; }
.service-price-card__head h2 { margin: 4px 0 16px; }
.service-price-card__head a { display: inline-flex; align-items: center; min-height: 44px; padding: 0; border: 0; font-size: .9375rem; text-decoration: underline; text-underline-offset: 4px; }
.service-price-rows { border-top: 1px solid var(--line-strong); }
.service-price-row { display: grid; grid-template-columns: fit-content(66%) minmax(16px, 1fr) auto; align-items: start; gap: 0 8px; padding: 12px 0; border-bottom: 1px solid var(--line); }
.service-price-row::after { content: ""; grid-row: 1; grid-column: 2; height: 1.05rem; border-bottom: 2px dotted var(--line-strong); }
.service-price-row > span { grid-column: 1; grid-row: 1; }
.service-price-row strong, .film-landing .service-price-row strong { font-size: .9375rem; }
.service-price-row small, .film-landing .service-price-row small { overflow: visible; color: var(--muted); font-size: .875rem; white-space: normal; }
.service-price-row em { color: var(--ink-3); font-size: .8125rem; }
.service-price-row b, .film-landing .service-price-row b { grid-column: 3; grid-row: 1; font-size: 1rem; white-space: nowrap; }
.service-price-card > p, .catalog-service-link p { margin-top: 16px; color: var(--muted); font-size: .875rem; }
.catalog-service-link .button { margin-top: 12px; }

/* Процесс: как на главной */
.compact-process { gap: 0 20px; }
.compact-process li { min-height: 0; padding: 16px 0 0; background: none; border: 0; border-top: 2px solid var(--ink); border-radius: 0; }
.compact-process li > span { margin-bottom: 8px; font-size: .8125rem; }
.compact-process strong { margin-bottom: 6px; font-family: var(--font-body); font-size: 1rem; }
.compact-process p { color: var(--muted); font-size: .875rem; }

/* FAQ и блок записи внизу */
.service-faq-section, .business-faq { background: var(--tint); }
.faq-item summary span { width: auto; height: auto; color: var(--ink); background: none; border: 0; font-size: 1.375rem; font-weight: 400; }
.faq-item[open] summary span { background: none; }
.service-bottom-cta, .business-contact-cta { padding: var(--section) 0; background: var(--ink-2); }
.service-bottom-cta > .shell { gap: 24px 48px; }
.service-bottom-cta h2, .business-contact-cta h2 { margin-bottom: 12px; }
.service-bottom-cta p:not(.eyebrow), .business-contact-cta p:not(.eyebrow) { color: var(--on-green); font-size: 1.0625rem; }
.service-bottom-cta .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* Плёнки */
.film-options__grid { gap: 12px; }
.film-option { padding: 20px; background: var(--white); border-color: var(--line); border-radius: var(--r-card); }
.film-option__tag { margin-bottom: 12px; font-size: .8125rem; }
.film-option h3 { margin: 0 0 8px; font-family: var(--font-body); font-size: 1.125rem; line-height: 1.3; letter-spacing: 0; }
.film-option p { font-size: .9375rem; }
.film-option .film-option__task { font-size: .875rem; }
.film-option .text-link, .film-option .text-link:last-child { font-size: .9375rem; }
.film-options__note, .film-model-help p { font-size: .9375rem; }
.film-limits { gap: 16px; margin-top: 32px; padding: 20px 24px; background: var(--tint); border-left: 3px solid var(--ink); border-radius: 0 var(--r-control) var(--r-control) 0; }
.film-limits > span { font-size: 1.5rem; }
.film-limits h3 { font-size: 1.125rem; }
.film-limits p { color: var(--muted); font-size: .9375rem; }
.film-devices { background: var(--tint); }
.film-devices__grid { border-color: var(--line-strong); }
.film-devices__grid article { padding: 20px 0; border-color: var(--line-strong); }
.film-devices__grid article > span { font-size: .8125rem; font-weight: 700; }
.film-devices__grid h3 { margin: 8px 0; font-size: 1.125rem; }
.film-devices__grid p { font-size: .9375rem; }

/* Контакты, отзывы, документы */
.content-contacts { padding: var(--section) 0; }
.contact-photo { min-height: 0; margin: 0; background: var(--tint); border-radius: var(--r-card); }
.contact-photo img { height: auto; max-height: 560px; aspect-ratio: 4 / 5; }
.contact-line__icon { display: none; }
.contact-line { grid-template-columns: minmax(0, 1fr); gap: 0; padding: 12px 0; border-color: var(--line-strong); }
.contact-lines { margin: 20px 0; border-color: var(--line-strong); }
.contact-line small { margin-bottom: 2px; color: var(--ink); font-size: .9375rem; font-weight: 700; text-transform: none; }
.contact-line strong { font-size: 1.0625rem; }
.contact-line p { margin-top: 2px; color: var(--muted); font-size: .9375rem; }
.contact-line a { display: inline-flex; align-items: center; min-height: 44px; }
.contact-line a:hover { text-decoration: underline; text-underline-offset: 3px; }
.proof-panel { gap: 12px 28px; padding: 16px 20px; color: var(--ink); background: var(--white); border: 1px solid var(--line-strong); border-radius: var(--r-card); }
.review-proof { grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, .45fr)) minmax(0, .7fr) auto; margin-bottom: 20px; }
.proof-ya, .proof-award > span { display: none; }
.proof-title p { margin: 0 0 2px; color: var(--muted); font-size: .875rem; }
.proof-title h2 { margin: 0; color: var(--ink); font-size: 1.125rem; }
.proof-stat { padding-left: 20px; border-left: 1px solid var(--line); }
.proof-stat strong { color: var(--ink); font-size: 1.125rem; }
.proof-stat span { color: var(--muted); font-size: .875rem; }
.proof-award { display: flex; flex-direction: column; padding-left: 20px; border-left: 1px solid var(--line); }
.proof-award strong { color: var(--ink); font-size: .9375rem; }
.proof-award small { color: var(--muted); font-size: .875rem; }
.proof-panel .text-link, .proof-panel .text-link--light { color: var(--ink); font-size: .9375rem; }
.reviews-grid { gap: 20px; }
.review-card { min-height: 0; gap: 12px; padding: 20px; background: var(--white); border: 0; border-left: 3px solid var(--ink); border-radius: 0 var(--r-control) var(--r-control) 0; }
.review-stars { margin-bottom: 0; color: #8a5f00; font-size: .9375rem; letter-spacing: 1px; }
.review-card blockquote { margin: 0; font-size: 1.0625rem; line-height: 1.5; }
.review-card footer { display: block; padding-top: 0; border-top: 0; color: var(--muted); font-size: .875rem; }
.review-card footer span { display: block; color: var(--ink); font-size: .9375rem; }
.review-card footer small { font-size: .875rem; }
.source-note { color: var(--muted); font-size: .875rem; }
.legal-page { padding-top: clamp(32px, 5vw, 56px); padding-bottom: var(--section); }
.legal-page section { padding: 20px 0; border-color: var(--line-strong); }
.legal-page h2 { font-size: 1.125rem; }
.legal-page p { font-size: .9375rem; }
.legal-page aside { padding: 20px; background: var(--tint); border-radius: var(--r-control); }
.legal-page aside a { display: inline-flex; align-items: center; min-height: 44px; border: 0; text-decoration: underline; text-underline-offset: 3px; }

/* Услуги бизнесу */
.business-offers__grid, .ai-grid { gap: 12px; }
.business-offer-card, .ai-card { min-height: 0; padding: 20px; color: var(--ink); background: var(--white); border: 1px solid var(--line); border-radius: var(--r-card); }
.business-offer-card > span, .ai-card > span { color: var(--ink-3); font-size: .8125rem; }
.business-offer-card h3, .ai-card h3 { margin: 16px 0 8px; color: var(--ink); font-family: var(--font-body); font-size: 1.125rem; letter-spacing: 0; }
.business-offer-card p, .ai-card p { color: var(--muted); font-size: .9375rem; }
.business-scope-note { gap: 8px 24px; padding: 16px 20px; color: var(--ink); background: var(--tint); border-left: 3px solid var(--ink); border-radius: 0 var(--r-control) var(--r-control) 0; }
.business-scope-note strong { color: var(--ink-3); font-size: .8125rem; letter-spacing: .08em; }
.business-scope-note p { color: var(--muted); font-size: .9375rem; }
.ai-section { padding: var(--section) 0; color: var(--ink); background: var(--paper); border-top: 1px solid var(--line); }
.ai-section::before { content: none; }
.ai-section__heading { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px 48px; margin-bottom: clamp(24px, 3vw, 40px); }
.ai-section__heading h2 { color: var(--ink); }
.ai-section__heading > p { color: var(--muted); font-size: 1.0625rem; }
.ai-section .eyebrow--light { color: var(--ink-3); }
.business-terms { background: var(--tint); }
.business-terms__grid { gap: 20px; }
.business-terms__grid article { min-height: 0; padding: clamp(20px, 2.5vw, 28px); border-color: var(--line-strong); border-radius: var(--r-card); }
.business-terms__grid article > span { font-size: .8125rem; }
.business-terms__grid h3 { margin: 12px 0 10px; font-family: var(--font-body); font-size: 1.25rem; letter-spacing: 0; }
.business-terms__grid p, .business-terms__grid li { font-size: .9375rem; }
.business-contact-cta__actions { gap: 10px; }

/* Магазин */
.accessory-collage { padding: 12px; background: var(--tint); border-color: var(--line-strong); border-radius: var(--r-card); }
.accessory-collage__item { border-radius: var(--r-control); }
.accessory-collage__item--charger { border-top-right-radius: var(--r-control); }
.accessory-collage__item > span, .accessory-collage__item small, .accessory-collage > figcaption { font-size: .8125rem; }
.retail-tier-label { color: var(--ink-3); font-size: .8125rem; }
.retail-categories { border-color: var(--line-strong); border-radius: var(--r-card); }
.retail-categories h3, .retail-tiers-heading h3 { font-size: 1.125rem; }
.retail-categories p, .retail-tiers-heading p, .retail-brands p, .retail-visit p, .retail-steps p { font-size: .9375rem; }
.retail-brand-list li { background: var(--white); border-color: var(--line-strong); border-radius: 6px; font-size: .875rem; }
.retail-promo-note, .retail-photo-note { font-size: .875rem; }
.retail-tiers { gap: 12px; }
.retail-tiers article, .retail-tiers article:nth-child(2) { padding: 20px; color: var(--ink); background: var(--white); border: 1px solid var(--line-strong); border-radius: var(--r-card); }
.retail-tiers article:nth-child(3) { color: var(--ink); background: var(--white); border: 2px solid var(--ink); }
.retail-tiers article:nth-child(3) :is(h3, .retail-tier-label) { color: var(--ink); }
.retail-tiers article:nth-child(3) p { color: var(--muted); }
.retail-tiers article:nth-child(3) .retail-warranty { color: var(--ink); border-color: var(--line-strong); }
.retail-tiers h3 { margin: 12px 0 8px; font-size: 1.125rem; }
.retail-tiers p { color: var(--muted); font-size: .9375rem; }
.retail-warranty { border-color: var(--line-strong); }
.retail-warranty b { font-size: 2.25rem; }
.retail-warranty > span { font-size: .875rem; }
.retail-devices { padding: var(--section) 0; color: var(--ink); background: var(--tint); }
.retail-devices h2, .retail-device-types h3, .retail-device-offer h3 { color: var(--ink); }
.retail-devices h2 em { color: var(--ink-3); }
.retail-devices .eyebrow--light { color: var(--ink-3); }
.retail-devices .section-heading > p, .retail-device-types p, .retail-device-offer > p, .retail-order-facts dt, .retail-device-offer .retail-bot-hint { color: var(--muted); }
.retail-device-types p, .retail-device-offer > p, .retail-order-facts dt { font-size: .9375rem; }
.retail-device-offer .retail-bot-hint { font-size: .875rem; }
.retail-device-types { border-color: var(--line-strong); }
.retail-device-types .retail-icon { color: var(--ink-3); }
.retail-order-facts > div { border-color: var(--line-strong); }
.retail-order-facts > div:first-child dd { color: var(--ink); }
.retail-device-offer .button--outline { color: var(--ink); border-color: var(--ink); }
.retail-device-offer .button--outline:hover { color: #fff; background: var(--ink); }
.retail-steps li { border-color: var(--ink); border-top-width: 2px; }
.retail-steps li > span { margin-bottom: 8px; font-size: .8125rem; }
.retail-steps h3 { font-size: 1.125rem; }
.retail-gallery figure { height: auto; border-radius: var(--r-card); }
.retail-gallery img { height: auto; aspect-ratio: 4 / 3; }

/* Прайс */
.price-page-main { padding: var(--section) 0; }
.price-page-search { top: 80px; padding: 12px; background: var(--paper); border: 1px solid var(--line-strong); border-radius: var(--r-card); box-shadow: none; backdrop-filter: none; }
.price-search { gap: 10px; padding: 0 14px; background: #fff; border: 1.5px solid var(--control); border-radius: var(--r-control); }
.price-search:hover { border-color: var(--ink); }
.price-search:focus-within { border-color: var(--ink); outline: 2px solid var(--ink); outline-offset: 2px; box-shadow: 0 0 0 5px var(--accent); }
.price-search input { min-height: 48px; font-size: 1rem; }
.price-page-meta { margin: 24px 0 12px; }
.price-page-meta h2, .price-page-meta h3 { font-size: 1.125rem; }
.price-page-meta span { color: var(--muted); font-size: .875rem; }
.price-table-list { gap: 0; border-top: 1px solid var(--line-strong); }
.price-list-row { gap: 16px; padding: 14px 4px; background: transparent; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
.price-list-row strong { font-size: .9375rem; }
.price-list-row > span { color: var(--muted); font-size: .9375rem; }
.price-list-row > span small { font-size: .875rem; }
.price-list-row b { font-size: 1rem; }
.price-list-row small { color: var(--muted); font-size: .875rem; }
.price-list-action { padding: 8px 14px; border-radius: var(--r-control); font-size: .9375rem; }
.price-list-row--head { color: var(--muted); background: var(--paper); border-bottom: 2px solid var(--ink); font-size: .8125rem; font-weight: 700; letter-spacing: .06em; }
.price-page-note { margin-top: 24px; padding: 16px 20px; color: var(--muted); background: var(--tint); border-left: 3px solid var(--ink); border-radius: 0 var(--r-control) var(--r-control) 0; font-size: .9375rem; }
.price-page-note strong { color: var(--ink); }
.price-page-cta { gap: 16px 32px; padding: clamp(20px, 3vw, 32px); background: var(--ink-2); border-radius: var(--r-card); }
.price-page-cta h2 { font-size: 1.25rem; }
.price-page-cta p { color: var(--on-green); font-size: .9375rem; }

/* Мой заказ, 404, 410 */
.order-status-section { padding: clamp(24px, 4vw, 48px) 0 var(--section); background: var(--paper); }
.order-heading { margin-bottom: 32px; }
.order-heading > p:last-child { font-size: 1.0625rem; }
.order-widget-card { padding: clamp(20px, 2.5vw, 28px); border-color: var(--line-strong); border-radius: var(--r-card); box-shadow: none; }
.order-widget-label { font-size: .8125rem; }
.order-widget-card h2, .order-help h2 { font-size: clamp(1.25rem, 1rem + .9vw, 1.625rem); line-height: 1.2; }
.order-widget-intro, .order-help > p { color: var(--muted); font-size: .9375rem; }
.order-widget-privacy, .order-help > small, .order-status-note { font-size: .875rem; }
.order-help { padding: clamp(20px, 2.5vw, 28px); background: var(--tint); border-radius: var(--r-card); }
.utility-page { background: var(--paper); }
.utility-card { padding: clamp(24px, 4vw, 48px); border-color: var(--line-strong); border-radius: var(--r-card); box-shadow: none; }
.utility-card h1 { margin-inline: auto; }
.utility-icon { border-radius: var(--r-control); }

@media (max-width: 900px) {
  .service-hero__grid, .business-hero__grid, .service-detail__grid { grid-template-columns: minmax(0, 1fr); }
  .service-detail__intro { position: static; }
  .service-hero__image, .business-hero__image { max-width: 680px; }
  .service-hero__image img, .business-hero__image img { aspect-ratio: 16 / 9; }
  .ai-section__heading { grid-template-columns: minmax(0, 1fr); }
  .compact-process { grid-template-columns: 1fr 1fr; row-gap: 20px; }
  .review-proof { grid-template-columns: 1fr 1fr; }
  .review-proof .proof-title { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  .service-hero .hero-actions, .business-hero .hero-actions, .service-bottom-cta .hero-actions { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .service-hero .hero-actions .button, .business-hero .hero-actions .button, .service-bottom-cta .hero-actions .button { width: 100%; }
  .service-hero .hero-actions .button:first-child, .business-hero .hero-actions .button:first-child, .service-bottom-cta .hero-actions .button:first-child { grid-column: 1 / -1; }
  .symptom-list { grid-template-columns: 1fr; }
  .symptom-list li { min-height: 0; }
  .compact-process { grid-template-columns: 1fr; row-gap: 0; }
  .compact-process li { display: grid; grid-template-columns: 2.25em minmax(0, 1fr); min-height: 0; padding: 14px 0; border-top: 1px solid var(--line-strong); }
  .compact-process li > span { grid-row: 1 / span 2; margin: 3px 0 0; }
  .compact-process p { grid-column: 2; }
  .service-price-row { grid-template-columns: minmax(0, 1fr) auto; gap: 0 12px; }
  .service-price-row::after { content: none; }
  .service-price-row b, .film-landing .service-price-row b { grid-column: 2; }
  .service-work-card, .service-price-card { padding: 20px 16px; }
  .business-offer-card, .ai-card { min-height: 0; }
  .ai-card h3, .business-terms__grid h3 { margin-top: 12px; }
  .business-terms__grid article { min-height: 0; padding: 20px 16px; }
  .info-hero__copy { padding-top: 8px; }
  .price-page-search { top: 72px; }
  .contact-photo { min-height: 0; }
  .contact-photo img { aspect-ratio: 16 / 10; max-height: 420px; }
  .retail-gallery figure { height: auto; }
  .review-proof { display: grid; }
}

/* ==========================================================================
   Правки владельца 06.10.2026: карточки услуг и блок соцсетей на главной в
   прежнем виде (мятные и лаймовая карточки, иконки, номера, скругление 28 px),
   подписи не мельче 13 px. Старые правила этих блоков работают на прежних
   значениях токенов, поэтому токены возвращены только внутри блоков.
   ========================================================================== */
.ui-home .services-grid, .ui-home .social-section { --mint: #44d7c6; --mint-soft: #d6f5ee; --paper-2: #f8f7f2; --radius: 28px; --radius-small: 18px; --shadow-small: 0 14px 34px rgba(16, 35, 29, .09); }
.ui-home .service-number, .ui-home .service-kicker { font-size: .8125rem; }
.ui-home .service-copy > p { font-size: .9375rem; }
.ui-home .service-copy li { color: var(--muted); font-size: .875rem; }
.ui-home .service-link { min-height: 44px; font-size: .9375rem; }
.ui-home .service-card--accent .service-kicker, .ui-home .service-card--accent .service-copy > p { color: rgba(16, 35, 29, .78); }
.ui-home .social-section { background: var(--paper); }
.ui-home .social-card small { font-size: .8125rem; }
.ui-home .social-card p { font-size: .875rem; }
.social-card__mark svg { display: block; width: 26px; height: 26px; }
@media (prefers-reduced-motion: reduce) {
  .ui-home .service-card:hover, .ui-home .social-card:hover { transform: none; }
}

/* Брендовые значки мессенджеров и соцсетей: контуры Simple Icons (CC0) и официального значка MAX
   (max.ru/favicon.svg). Добавляются стилями по адресу ссылки, разметка страниц не меняется. */
:is(.button, .messenger-direct, .mobile-actions a)[href*="t.me/"] { --brand-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11.4' fill='%23fff'/%3E%3Cpath fill='%2326A5E4' d='M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z'/%3E%3C/svg%3E"); }
:is(.button, .messenger-direct, .mobile-actions a)[href*="max.ru/"] { --brand-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='m' x1='8' y1='92' x2='92' y2='8' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2300C4FF'/%3E%3Cstop offset='.45' stop-color='%232D3BFF'/%3E%3Cstop offset='1' stop-color='%238221FF'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23m)' fill-rule='evenodd' d='M50.7571 0.261719C78.2929 0.261719 99.8857 22.5974 99.8857 50.1474C99.8857 77.6974 77.6071 99.4903 51.0214 99.4903C41.5857 99.4903 37.0143 98.1617 29.65 92.9474C29.1429 92.5903 28.45 92.6831 28.0214 93.1403C22.3571 99.1831 7.85 103.426 7.18571 95.176C7.18571 80.7903 0 71.4474 0 49.876C0 21.5546 23.2214 0.261719 50.7571 0.261719ZM51.5286 24.8117C38.4643 24.126 28.2643 33.1974 26.0143 47.3831C24.15 59.1332 27.45 73.4546 30.2786 74.176C31.4786 74.4832 34.3571 72.276 36.4571 70.2974C36.85 69.926 37.45 69.8617 37.9071 70.1474C41.1786 72.1474 44.8786 73.6474 48.9571 73.8617C62.3714 74.5617 74.2571 64.0617 74.9643 50.6474C75.6643 37.2331 64.9429 25.5046 51.5286 24.8046V24.8117Z'/%3E%3C/svg%3E"); }
:is(.button, .messenger-direct, .mobile-actions a)[href*="wa.me/"] { --brand-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='10.6' fill='%23fff'/%3E%3Cpath fill='%2325D366' d='M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893a11.821 11.821 0 00-3.48-8.413Z'/%3E%3C/svg%3E"); }
:is(.button, .messenger-direct, .mobile-actions a):is([href*="t.me/"], [href*="max.ru/"], [href*="wa.me/"])::before { content: ""; flex: none; width: 20px; height: 20px; background: var(--brand-icon) center / contain no-repeat; }
.mobile-actions a:is([href*="t.me/"], [href*="max.ru/"], [href*="wa.me/"]) > svg { display: none; }
.footer-column a[href*="t.me/"] { --brand-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='11.4' fill='%23fff'/%3E%3Cpath fill='%2326A5E4' d='M11.944 0A12 12 0 0 0 0 12a12 12 0 0 0 12 12 12 12 0 0 0 12-12A12 12 0 0 0 12 0a12 12 0 0 0-.056 0zm4.962 7.224c.1-.002.321.023.465.14a.506.506 0 0 1 .171.325c.016.093.036.306.02.472-.18 1.898-.962 6.502-1.36 8.627-.168.9-.499 1.201-.82 1.23-.696.065-1.225-.46-1.9-.902-1.056-.693-1.653-1.124-2.678-1.8-1.185-.78-.417-1.21.258-1.91.177-.184 3.247-2.977 3.307-3.23.007-.032.014-.15-.056-.212s-.174-.041-.249-.024c-.106.024-1.793 1.14-5.061 3.345-.48.33-.913.49-1.302.48-.428-.008-1.252-.241-1.865-.44-.752-.245-1.349-.374-1.297-.789.027-.216.325-.437.893-.663 3.498-1.524 5.83-2.529 6.998-3.014 3.332-1.386 4.025-1.627 4.476-1.635z'/%3E%3C/svg%3E"); }
.footer-column a[href*="max.ru/"] { --brand-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3ClinearGradient id='m' x1='8' y1='92' x2='92' y2='8' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%2300C4FF'/%3E%3Cstop offset='.45' stop-color='%232D3BFF'/%3E%3Cstop offset='1' stop-color='%238221FF'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23m)' fill-rule='evenodd' d='M50.7571 0.261719C78.2929 0.261719 99.8857 22.5974 99.8857 50.1474C99.8857 77.6974 77.6071 99.4903 51.0214 99.4903C41.5857 99.4903 37.0143 98.1617 29.65 92.9474C29.1429 92.5903 28.45 92.6831 28.0214 93.1403C22.3571 99.1831 7.85 103.426 7.18571 95.176C7.18571 80.7903 0 71.4474 0 49.876C0 21.5546 23.2214 0.261719 50.7571 0.261719ZM51.5286 24.8117C38.4643 24.126 28.2643 33.1974 26.0143 47.3831C24.15 59.1332 27.45 73.4546 30.2786 74.176C31.4786 74.4832 34.3571 72.276 36.4571 70.2974C36.85 69.926 37.45 69.8617 37.9071 70.1474C41.1786 72.1474 44.8786 73.6474 48.9571 73.8617C62.3714 74.5617 74.2571 64.0617 74.9643 50.6474C75.6643 37.2331 64.9429 25.5046 51.5286 24.8046V24.8117Z'/%3E%3C/svg%3E"); }
.footer-column a[href*="vk.ru/"] { --brand-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='1.5' y='1.5' width='21' height='21' rx='6' fill='%23fff'/%3E%3Cpath fill='%230077FF' d='m9.489.004.729-.003h3.564l.73.003.914.01.433.007.418.011.403.014.388.016.374.021.36.025.345.03.333.033c1.74.196 2.933.616 3.833 1.516.9.9 1.32 2.092 1.516 3.833l.034.333.029.346.025.36.02.373.025.588.012.41.013.644.009.915.004.98-.001 3.313-.003.73-.01.914-.007.433-.011.418-.014.403-.016.388-.021.374-.025.36-.03.345-.033.333c-.196 1.74-.616 2.933-1.516 3.833-.9.9-2.092 1.32-3.833 1.516l-.333.034-.346.029-.36.025-.373.02-.588.025-.41.012-.644.013-.915.009-.98.004-3.313-.001-.73-.003-.914-.01-.433-.007-.418-.011-.403-.014-.388-.016-.374-.021-.36-.025-.345-.03-.333-.033c-1.74-.196-2.933-.616-3.833-1.516-.9-.9-1.32-2.092-1.516-3.833l-.034-.333-.029-.346-.025-.36-.02-.373-.025-.588-.012-.41-.013-.644-.009-.915-.004-.98.001-3.313.003-.73.01-.914.007-.433.011-.418.014-.403.016-.388.021-.374.025-.36.03-.345.033-.333c.196-1.74.616-2.933 1.516-3.833.9-.9 2.092-1.32 3.833-1.516l.333-.034.346-.029.36-.025.373-.02.588-.025.41-.012.644-.013.915-.009ZM6.79 7.3H4.05c.13 6.24 3.25 9.99 8.72 9.99h.31v-3.57c2.01.2 3.53 1.67 4.14 3.57h2.84c-.78-2.84-2.83-4.41-4.11-5.01 1.28-.74 3.08-2.54 3.51-4.98h-2.58c-.56 1.98-2.22 3.78-3.8 3.95V7.3H10.5v6.92c-1.6-.4-3.62-2.34-3.71-6.92Z'/%3E%3C/svg%3E"); }
.footer-column a[href*="youtube.com/"] { --brand-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='7' y='7.5' width='10' height='9' fill='%23fff'/%3E%3Cpath fill='%23FF0000' d='M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E"); }
.footer-column a[href*="tiktok.com/"] { --brand-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%2325F4EE' transform='translate(-.7 -.6)' d='M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z'/%3E%3Cpath fill='%23FE2C55' transform='translate(.7 .6)' d='M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z'/%3E%3Cpath fill='%23fff' d='M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z'/%3E%3C/svg%3E"); }
.footer-column a[href*="instagram.com/"] { --brand-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cdefs%3E%3ClinearGradient id='i' x1='2' y1='22' x2='22' y2='2' gradientUnits='userSpaceOnUse'%3E%3Cstop stop-color='%23FEDA75'/%3E%3Cstop offset='.3' stop-color='%23FA7E1E'/%3E%3Cstop offset='.55' stop-color='%23D62976'/%3E%3Cstop offset='.8' stop-color='%23962FBF'/%3E%3Cstop offset='1' stop-color='%234F5BD5'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath fill='url(%23i)' d='M7.0301.084c-1.2768.0602-2.1487.264-2.911.5634-.7888.3075-1.4575.72-2.1228 1.3877-.6652.6677-1.075 1.3368-1.3802 2.127-.2954.7638-.4956 1.6365-.552 2.914-.0564 1.2775-.0689 1.6882-.0626 4.947.0062 3.2586.0206 3.6671.0825 4.9473.061 1.2765.264 2.1482.5635 2.9107.308.7889.72 1.4573 1.388 2.1228.6679.6655 1.3365 1.0743 2.1285 1.38.7632.295 1.6361.4961 2.9134.552 1.2773.056 1.6884.069 4.9462.0627 3.2578-.0062 3.668-.0207 4.9478-.0814 1.28-.0607 2.147-.2652 2.9098-.5633.7889-.3086 1.4578-.72 2.1228-1.3881.665-.6682 1.0745-1.3378 1.3795-2.1284.2957-.7632.4966-1.636.552-2.9124.056-1.2809.0692-1.6898.063-4.948-.0063-3.2583-.021-3.6668-.0817-4.9465-.0607-1.2797-.264-2.1487-.5633-2.9117-.3084-.7889-.72-1.4568-1.3876-2.1228C21.2982 1.33 20.628.9208 19.8378.6165 19.074.321 18.2017.1197 16.9244.0645 15.6471.0093 15.236-.005 11.977.0014 8.718.0076 8.31.0215 7.0301.0839m.1402 21.6932c-1.17-.0509-1.8053-.2453-2.2287-.408-.5606-.216-.96-.4771-1.3819-.895-.422-.4178-.6811-.8186-.9-1.378-.1644-.4234-.3624-1.058-.4171-2.228-.0595-1.2645-.072-1.6442-.079-4.848-.007-3.2037.0053-3.583.0607-4.848.05-1.169.2456-1.805.408-2.2282.216-.5613.4762-.96.895-1.3816.4188-.4217.8184-.6814 1.3783-.9003.423-.1651 1.0575-.3614 2.227-.4171 1.2655-.06 1.6447-.072 4.848-.079 3.2033-.007 3.5835.005 4.8495.0608 1.169.0508 1.8053.2445 2.228.408.5608.216.96.4754 1.3816.895.4217.4194.6816.8176.9005 1.3787.1653.4217.3617 1.056.4169 2.2263.0602 1.2655.0739 1.645.0796 4.848.0058 3.203-.0055 3.5834-.061 4.848-.051 1.17-.245 1.8055-.408 2.2294-.216.5604-.4763.96-.8954 1.3814-.419.4215-.8181.6811-1.3783.9-.4224.1649-1.0577.3617-2.2262.4174-1.2656.0595-1.6448.072-4.8493.079-3.2045.007-3.5825-.006-4.848-.0608M16.953 5.5864A1.44 1.44 0 1 0 18.39 4.144a1.44 1.44 0 0 0-1.437 1.4424M5.8385 12.012c.0067 3.4032 2.7706 6.1557 6.173 6.1493 3.4026-.0065 6.157-2.7701 6.1506-6.1733-.0065-3.4032-2.771-6.1565-6.174-6.1498-3.403.0067-6.156 2.771-6.1496 6.1738M8 12.0077a4 4 0 1 1 4.008 3.9921A3.9996 3.9996 0 0 1 8 12.0077'/%3E%3C/svg%3E"); }
.footer-column a:is([href*="t.me/"], [href*="max.ru/"], [href*="vk.ru/"], [href*="youtube.com/"], [href*="tiktok.com/"], [href*="instagram.com/"]) { gap: 8px; }
.footer-column a:is([href*="t.me/"], [href*="max.ru/"], [href*="vk.ru/"], [href*="youtube.com/"], [href*="tiktok.com/"], [href*="instagram.com/"])::before { content: ""; flex: none; width: 18px; height: 18px; background: var(--brand-icon) center / contain no-repeat; }
@media (max-width: 400px) {
  :is(.contact-buttons, .hero-actions, .booking-success__actions, .retail-actions, .business-contact-cta__actions) .button { padding-inline: 10px; gap: 8px; }
}
@media (max-width: 680px) {
  .ui-home .services-grid .service-card, .ui-home .services-grid .service-card--accent { min-height: 0 !important; }
  .ui-home .services-grid .service-icon { margin-bottom: 24px; }
  .ui-home .services-grid .service-card--accent .button { margin-top: 16px; }
  .ui-home .social-card { min-height: 0; gap: 28px; }
}

/* Protection photo and manufacturer showcase. */
.film-visual--photo { position: relative; padding: 0; overflow: hidden; background: #f3f2ec; border-radius: 24px; min-height: 540px; }
.film-visual--photo .film-visual__photo { display: block; width: 100%; height: 540px; object-fit: contain; object-position: center; background: #f6f5ef; }
.film-visual--photo figcaption { position: relative; padding: 24px 30px 28px; background: var(--ink); color: var(--paper); gap: 12px; }
.film-visual--photo figcaption strong { font-size: clamp(25px, 2.5vw, 36px); letter-spacing: -.04em; line-height: 1.1; }
.film-visual--photo figcaption > span { color: #c6d2c8; font-size: 12px; }
.film-visual--photo .film-visual__label { color: var(--accent); }
.review-platforms { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 24px 0 32px; }
.review-platforms a { display: flex; align-items: center; gap: 14px; padding: 22px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); color: var(--ink); transition: border-color .2s, transform .2s; }
.review-platforms a:hover { border-color: var(--ink); transform: translateY(-3px); }
.review-platforms a > span:last-child { margin-left: auto; font-size: 22px; }
.review-platforms strong, .review-platforms small { display: block; }
.review-platforms strong { font-size: 17px; }
.review-platforms small { color: var(--muted); font-size: 12px; margin-top: 5px; }
.review-platforms__icon { width: 38px; height: 38px; display: grid; place-items: center; flex-shrink: 0; border-radius: 10px; font-size: 25px; font-weight: 700; }
.review-platforms__icon--yandex { background: #ffebe7; color: #e63426; }
.review-platforms__icon--2gis { background: #e5f5d6; color: #408c21; }
.review-platforms__icon--google { background: #eaf0ff; color: #4285f4; }
.flagship-showcase { display: grid; grid-template-columns: 1.08fr 1fr 1fr 1.08fr; gap: 16px; margin: 38px 0 24px; align-items: start; }
.flagship-card { position: relative; min-width: 0; overflow: hidden; border-radius: 18px; background: #eeeae3; color: var(--ink); margin: 0; }
.flagship-card:nth-child(even) { margin-top: 34px; }
.flagship-card img { display: block; width: 100%; height: 320px; object-fit: cover; }
.flagship-card--oneplus img { object-fit: cover; }
.flagship-card figcaption { display: flex; justify-content: space-between; align-items: center; padding: 17px 20px; gap: 8px; border-top: 1px solid rgba(25,50,38,.12); }
.flagship-card figcaption strong { font-size: 18px; letter-spacing: -.04em; }
.flagship-card figcaption span { font-size: 11px; color: #546259; }
.flagship-showcase-note { margin: 0 0 32px; font-size: 12px; color: var(--muted); }
@media (min-width: 1101px) { .desktop-nav a { padding-inline: 8px; font-size: 14px; } }
@media (max-width: 900px) {
  .flagship-showcase { grid-template-columns: repeat(2, 1fr); }
  .flagship-card:nth-child(even) { margin-top: 20px; }
  .flagship-card img { height: 300px; }
  .review-platforms a { padding: 16px; gap: 9px; }
}
@media (max-width: 680px) {
  .film-visual--photo { min-height: 0; border-radius: 18px; }
  .film-visual--photo .film-visual__photo { height: 390px; }
  .film-visual--photo figcaption { padding: 22px; }
  .review-platforms { grid-template-columns: 1fr; gap: 8px; }
  .review-platforms a { padding: 18px; }
  .flagship-showcase { gap: 10px; margin-top: 26px; }
  .flagship-card { border-radius: 12px; }
  .flagship-card img { height: 210px; }
  .flagship-card figcaption { padding: 13px 12px; flex-wrap: wrap; }
  .flagship-card figcaption strong { font-size: 17px; }
  .flagship-card figcaption span { width: 100%; }
}
