
:root, [data-theme="dark"] {
  --bg: #111213;
  --bg-2: #1e2326;
  --shell: #191b1d;
  --shell-2: #212428;
  --surface: rgba(25, 27, 29, .92);
  --surface-2: #161919;
  --screen: #0b1f1c;
  --mint: #37e6b0;
  --mint-ink: #07130f;
  --mint-dim: #1c7a63;
  --mint-soft: rgba(55, 230, 176, .10);
  --mint-line: #2b4a41;
  --amber: #ffcc66;
  --pink: #ff7a9c;
  --text: #eaf3f1;
  --text-strong: #ffffff;
  --muted: #8fa3a0;
  --line: #2f3235;
  --line-soft: #292d32;
  --shadow: 0 18px 40px rgba(0, 0, 0, .45);
  --shadow-soft: 0 8px 24px rgba(0, 0, 0, .3);
  --glow: radial-gradient(1200px 600px at 50% -10%, var(--bg-2) 0%, var(--bg) 60%);
  --logo-wall: #2c3e38;
  --logo-screen: #0e1a17;
  --logo-tag: #93a29c;
  --star: #ffcc66;
  color-scheme: dark;
}

[data-theme="light"] {
  --bg: #f0f2ea;
  --bg-2: #e5e9dd;
  --shell: #ffffff;
  --shell-2: #f3f4ec;
  --surface: rgba(255, 255, 255, .94);
  --surface-2: #e8ebe0;
  --screen: #e5f6f0;
  --mint: #0d8a5f;
  --mint-ink: #ffffff;
  --mint-dim: #cdeee1;
  --mint-soft: rgba(13, 138, 95, .10);
  --mint-line: #9fd3c0;
  --amber: #c98f0a;
  --pink: #d0405f;
  --text: #14201c;
  --text-strong: #0a1411;
  --muted: #465650;
  --line: #cbd1c1;
  --line-soft: #dde2d3;
  --shadow: 0 18px 40px rgba(20, 40, 34, .12);
  --shadow-soft: 0 8px 24px rgba(20, 40, 34, .08);
  --glow: radial-gradient(1200px 600px at 50% -10%, #ffffff 0%, var(--bg) 60%);
  --logo-wall: #9aa8a2;
  --logo-screen: #0e1a17;
  --logo-tag: #4e5c57;
  --star: #e0a400;
  color-scheme: only light;
}

* { box-sizing: border-box; -webkit-tap-highlight-color: transparent; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
html, body { margin: 0; }
body {
  background: var(--glow), var(--bg);
  color: var(--text);
  font: 16px/1.75 "Sora", "Sora Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  visibility: visible; animation: none;
  padding-left: env(safe-area-inset-left, 0px); padding-right: env(safe-area-inset-right, 0px);
}
a { color: inherit; }
img, video { max-width: 100%; display: block; }
button, input, textarea, select { font: inherit; color: inherit; }
h1, h2, h3, h4 { color: var(--text-strong); line-height: 1.15; margin: 0 0 .5em; letter-spacing: -.01em; }
h1 { font-size: clamp(2rem, 4.6vw, 3.4rem); font-weight: 700; }
h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 700; }
h1, h2 { letter-spacing: -.015em; }
h3 { font-size: 1.2rem; font-weight: 700; }
p { margin: 0 0 1em; }
.muted { color: var(--muted); }
.mint { color: var(--mint); }

.wrap { width: min(1180px, 100% - 32px); margin: 0 auto; }
.section { padding: clamp(48px, 7vw, 96px) 0; }
.hero-wall ~ .section { content-visibility: auto; contain-intrinsic-size: 0 700px; contain-intrinsic-size: auto 700px; }
.section-head { max-width: 720px; margin: 0 auto 40px; text-align: center; }
.section-head p { color: var(--muted); font-size: 1.05rem; }

.only-phone { display: none !important; }
@media (max-width: 640px) {
  .hide-phone { display: none !important; }
  .only-phone { display: revert !important; }
  .section-head h2:has(+ .hide-phone:last-child) { margin-bottom: 0; }
}
.eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
  color: var(--mint); background: var(--mint-soft); border: 1px solid var(--mint-line);
  border-radius: 999px; padding: 6px 12px; margin-bottom: 14px;
}

.card {
  background: linear-gradient(180deg, var(--shell) 0%, var(--shell-2) 100%);
  border: 1px solid var(--line-soft);
  border-radius: 22px;
  box-shadow: var(--shadow-soft);
  padding: 24px;
  position: relative;
  overflow: hidden;
}
.card::before {
  content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  background: linear-gradient(180deg, rgba(255,255,255,.05), transparent 30%);
}
[data-theme="light"] .card::before { background: none; }
.card > * { position: relative; }
.card h3 { margin-top: 0; }
.card-link { text-decoration: none; transition: transform .18s, border-color .18s; display: block; }
.card-link:hover { transform: translateY(-3px); border-color: var(--mint-line); }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border-radius: 14px; padding: 13px 22px; font-weight: 800; font-size: 15px;
  text-decoration: none; border: 1px solid transparent; cursor: pointer;
  transition: transform .12s, box-shadow .18s, background .18s, border-color .18s;
  white-space: nowrap;
}
.btn:active { transform: translateY(1px); }
.btn-primary { background: var(--mint); color: var(--mint-ink); box-shadow: 0 10px 24px rgba(55, 230, 176, .22); }
.btn-primary:hover { box-shadow: 0 14px 30px rgba(55, 230, 176, .32); }
[data-theme="light"] .btn-primary { box-shadow: 0 10px 24px rgba(13, 138, 95, .25); }
.btn-ghost { background: transparent; border-color: var(--line); color: var(--text-strong); }
.btn-ghost:hover { border-color: var(--mint); color: var(--mint); }
.btn-soft { background: var(--mint-soft); border-color: var(--mint-line); color: var(--mint); }
.btn-soft:hover { background: var(--mint); color: var(--mint-ink); }
.btn-lg { padding: 16px 28px; font-size: 16px; border-radius: 16px; }
.btn-sm { padding: 9px 14px; font-size: 13px; border-radius: 11px; }
.btn svg { width: 18px; height: 18px; }

.topbar {
  font-size: 13px; color: var(--muted); border-bottom: 1px solid var(--line-soft);
  background: var(--surface-2);
}
.topbar .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 36px; }
.topbar .left { display: flex; gap: 18px; align-items: center; }
.topbar a { color: var(--text); text-decoration: none; font-weight: 600; }
.topbar .mail { color: inherit; font-weight: inherit; }
.topbar a:hover { color: var(--mint); }
.dot::before { content: "•"; margin-right: 8px; color: var(--mint); }

.header { position: sticky; top: 0; z-index: 50; backdrop-filter: blur(14px); background: color-mix(in srgb, var(--bg) 82%, transparent); border-bottom: 1px solid var(--line-soft); }
[data-theme="light"] .header { background: color-mix(in srgb, #f4f5ef 82%, transparent); }
@media (max-width: 640px) {
  .header { -webkit-backdrop-filter: none; backdrop-filter: none; background: color-mix(in srgb, var(--bg) 96%, transparent); }
  [data-theme="light"] .header { background: color-mix(in srgb, #f4f5ef 96%, transparent); }
}
.header .wrap { display: flex; align-items: center; gap: 18px; min-height: 68px; }
.logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.logo svg { width: 76px; height: 30px; display: none; }
.logo .micro-dark { display: block; }
[data-theme="light"] .logo .micro-dark { display: none; }
[data-theme="light"] .logo .micro-light { display: block; }
.wordmark { font-weight: 800; letter-spacing: .06em; font-size: 15px; color: var(--text-strong); white-space: nowrap; }
.wordmark b { color: var(--mint); }
.nav { display: flex; align-items: center; gap: 4px; margin-left: 8px; }
.nav > a, .nav .menu > button {
  background: none; border: none; color: var(--text); text-decoration: none; font-weight: 600; font-size: 13px;
  padding: 8px 5px; border-radius: 10px; cursor: pointer; display: inline-flex; align-items: center; gap: 4px;
  white-space: nowrap;
}
.nav > a:hover, .nav .menu > button:hover, .nav > a.active { color: var(--mint); background: var(--mint-soft); }
.nav .menu { position: relative; }
.nav .menu-list {
  position: absolute; top: calc(100% + 6px); left: 0; min-width: 240px;
  background: var(--shell); border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow);
  padding: 8px; z-index: 60;
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateY(-6px) scale(.985);
  transform-origin: top left;
  transition: opacity .15s ease, transform .15s cubic-bezier(.3, .9, .3, 1),
              visibility 0s linear .15s;
}
.nav .menu-list::before { content: ""; position: absolute; left: 0; right: 0; top: -8px; height: 8px; }
.nav .menu.snap .menu-list { transition: none; }
.nav .menu.open .menu-list, .nav .menu.hover .menu-list, .nav .menu:focus-within .menu-list {
  opacity: 1; visibility: visible; pointer-events: auto; transform: none;
  transition: opacity .19s ease, transform .22s cubic-bezier(.22, 1.12, .36, 1),
              visibility 0s;
}
.nav .menu.open > button, .nav .menu.hover > button { color: var(--mint); background: var(--mint-soft); }
.nav .menu-list a { display: block; padding: 9px 12px; border-radius: 10px; text-decoration: none; font-size: 14px; }
.nav .menu-list a:hover { background: var(--mint-soft); color: var(--mint); }
.header .tools { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.lang { width: 36px; height: 36px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 999px;
  background: var(--surface-2); cursor: pointer; user-select: none; text-decoration: none; transition: border-color .15s ease; }
.lang:hover { border-color: var(--mint-line); }
.lang .lang-opt { flex-direction: column; gap: 1px; padding: 0; line-height: 1; font-size: 8px; font-weight: 800; letter-spacing: .02em;
  color: var(--text); pointer-events: none; display: inline-flex; align-items: center; }
.lang .lang-opt.on { display: none; }
.lang .flag { width: 14px; height: 10px; border-radius: 2px; box-shadow: 0 0 0 .5px rgba(0,0,0,.4); flex: 0 0 auto; }
.lang:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
.lang-offer {
  position: fixed; left: 16px; bottom: 16px; z-index: 60;
  display: flex; align-items: center; gap: 10px; max-width: calc(100vw - 32px);
  padding: 10px 10px 10px 14px; border-radius: 14px;
  background: var(--shell); border: 1px solid var(--line); color: var(--text);
  box-shadow: 0 10px 30px -12px rgba(0, 0, 0, .35); font-size: 14px;
}
.lang-offer[hidden] { display: none; }
.lang-offer a { color: var(--mint); font-weight: 700; text-decoration: none; white-space: nowrap; }
.lang-offer a:hover { text-decoration: underline; }
.lang-offer button {
  width: 28px; height: 28px; flex: 0 0 auto; border-radius: 999px; cursor: pointer;
  border: 1px solid var(--line); background: var(--surface-2); color: var(--muted);
  font-size: 16px; line-height: 1; padding: 0;
}
@media (max-width: 640px) {
  .lang-offer { right: 16px; top: 72px; bottom: auto; font-size: 13px; flex-wrap: wrap; row-gap: 4px; }
}
.theme-toggle {
  width: 36px; height: 36px; border-radius: 999px; border: 1px solid var(--line); background: var(--surface-2);
  display: inline-flex; align-items: center; justify-content: center; cursor: pointer; color: var(--text);
}
.theme-toggle svg { width: 18px; height: 18px; }
.theme-toggle .moon { display: none; }
.theme-toggle .sun { display: block; }
[data-theme="light"] .theme-toggle .moon { display: block; }
[data-theme="light"] .theme-toggle .sun { display: none; }
.call-pill {
  display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--mint-line); border-radius: 999px;
  background: var(--mint-soft); color: var(--mint); text-decoration: none; font-size: 13px; font-weight: 800; padding: 7px 12px; white-space: nowrap;
}
.call-pill .act-lbl, .hdr-text { display: none; }
.hdr-book {
  display: inline-flex; align-items: center; gap: 6px; flex: 0 0 auto; border: 1px solid var(--mint); border-radius: 999px;
  background: var(--mint); color: var(--mint-ink); font: inherit; font-size: 13px; font-weight: 800; padding: 7px 12px;
  white-space: nowrap; cursor: pointer; -webkit-tap-highlight-color: transparent;
  box-shadow: 0 6px 16px color-mix(in srgb, var(--mint) 24%, transparent); transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.hdr-book:hover { transform: translateY(-1px); filter: brightness(1.05); }
.hdr-book:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
.hdr-book svg { width: 14px; height: 14px; flex: 0 0 auto; }
.hdr-book[aria-expanded="true"] { box-shadow: 0 0 0 3px var(--mint-soft), 0 6px 16px color-mix(in srgb, var(--mint) 24%, transparent); }
@media (min-width: 641px) and (max-width: 699px), (min-width: 1241px) and (max-width: 1499px) {
  html[lang="es"] .hdr-book { width: 36px; height: 36px; padding: 0; justify-content: center; }
  html[lang="es"] .hdr-book .act-lbl { display: none; }
  html[lang="es"] .hdr-book svg { width: 17px; height: 17px; }
}
@media (min-width: 1241px) and (max-width: 1499px) {
  html[lang="es"] .header .wrap { gap: 14px; }
  html[lang="es"] .nav > a, html[lang="es"] .nav .menu > button { font-size: 12.5px; padding-inline: 4px; }
}
.burger { display: none; width: 40px; height: 40px; border-radius: 12px; border: 0; background: none; padding: 0; color: var(--text); cursor: pointer; -webkit-tap-highlight-color: transparent; }
.burger span { display: block; width: 18px; height: 2px; background: var(--text); margin: 4px auto; border-radius: 2px;
  transition: transform .28s cubic-bezier(.22, .61, .36, 1), opacity .16s ease; }
.burger.open span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.burger.open span:nth-child(2) { opacity: 0; transform: scaleX(.3); }
.burger.open span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.nav-scrim { position: fixed; inset: 0; z-index: 45; background: rgba(8, 12, 11, .42);
  opacity: 0; pointer-events: none; transition: opacity .26s ease;
  overscroll-behavior: contain; }
html.nav-open .nav-scrim { opacity: 1; pointer-events: auto; touch-action: none; }
.nav .chev { font-style: normal; font-size: 11px; line-height: 1; margin-top: 1px; opacity: .7; transition: transform .2s ease; }
.nav .menu.open > button .chev, .nav .menu.hover > button .chev { transform: rotate(180deg); opacity: 1; }

:root, [data-theme="dark"] {
  --wood-hi: #e3c697; --wood: #c79d66; --wood-lo: #94693a;
  --wall-vig-top: rgba(0,0,0,.06); --wall-vig-bot: rgba(0,0,0,.08);
  --wall-sun: rgba(255,243,224,.34); --wall-dim: rgba(0,0,0,.07); --wall-sheen: rgba(255,249,238,.065);
  --felt: #0b0c0d; --felt-rgb: 11, 12, 13;
  --wall-gap: rgba(0,0,0,.486); --wall-gap-far: rgba(0,0,0,.219);
  --wall-tone: repeating-linear-gradient(90deg, rgba(40,20,6,0.047) 0px 16px, rgba(0,0,0,0) 16px 26px, rgba(40,20,6,0.083) 26px 42px, rgba(0,0,0,0) 42px 52px, rgba(255,247,232,0.056) 52px 68px, rgba(0,0,0,0) 68px 78px, rgba(255,247,232,0.018) 78px 94px, rgba(0,0,0,0) 94px 104px, rgba(255,247,232,0.018) 104px 120px, rgba(0,0,0,0) 120px 130px, rgba(255,247,232,0.033) 130px 146px, rgba(0,0,0,0) 146px 156px, rgba(40,20,6,0.147) 156px 172px, rgba(0,0,0,0) 172px 182px);
}
[data-theme="light"] {
  --felt: #e5e8dd; --felt-rgb: 229, 232, 221;
  --wall-gap: rgba(0,0,0,.194); --wall-gap-far: rgba(0,0,0,.087);
  --wall-tone: none;
}
.slats { position: relative; }
.slats > .wall { --wall-base: 1000px; position: absolute; left: 0; top: 0; width: 100%; height: var(--wall-base); transform-origin: 0 0; transform: scaleY(var(--wall-k, 1.6)); will-change: transform; pointer-events: none;
  background-color: var(--felt); background-position: 0 0; background-repeat: repeat;
  background-image:
    repeating-linear-gradient(90deg, rgba(0,0,0,0) 0 16px, var(--wall-gap) 16px, rgba(0,0,0,0) 22px, rgba(0,0,0,0) 22.4px, var(--wall-gap-far) 26px),
    repeating-linear-gradient(90deg,
      var(--wood-hi) 0px, var(--wood-hi) 1.5px,
      var(--wood) 1.5px, var(--wood) 13px,
      var(--wood-lo) 13px, var(--wood-lo) 16px,
      var(--felt) 16px, var(--felt) 26px);
}
.slats > .wall > .wall-tex { position: absolute; inset: 0; z-index: 0; overflow: hidden; overflow: clip; pointer-events: none; opacity: 0; transition: opacity .6s ease; }
.slats > .wall.textured > .wall-tex { opacity: 1; }
.wall-tex > i { position: absolute; left: 0; top: 0; }
.wall-tex > .fibers { width: 100%; width: calc(round(up, 100% - 130px, 260px) + 130px); height: 1536px;
  border-image: url(/static/img/wall/fibers.webp?v=42d7950e4a) 2 0 0 2 fill / 1px 0 0 1px / 1px 0 0 1px repeat; }
.wall-tex > .figure { width: 100%; width: calc(round(up, 100% - 182px, 364px) + 182px); height: 1000px;
  border-image: url(/static/img/wall/figure.webp?v=847f96ab1e) 1 0 0 1 fill / 1px 0 0 1px / 1px 0 0 1px repeat; }
.slats > .wall::after {
  content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background-position: 0 0; background-repeat: repeat;
  background-image:
    linear-gradient(180deg, var(--wall-vig-top), rgba(0,0,0,0) 26%, rgba(0,0,0,0) 74%, var(--wall-vig-bot)),
    radial-gradient(70% 75% at 92% -6%, var(--wall-sun), rgba(255,243,224,0) 74%),
    linear-gradient(90deg, rgba(0,0,0,0) 45%, var(--wall-dim) 100%),
    repeating-linear-gradient(90deg, rgba(0,0,0,0) 0 9.84px, var(--wall-sheen) 14px, rgba(0,0,0,0) 16px 26px),
    var(--wall-tone);
}
@media (prefers-reduced-motion: reduce) { .slats > .wall > .wall-tex { transition: none; } }

.hero-wall { overflow: hidden; }
[data-theme="dark"] .hero-wall {
  --text: #eef3f1; --text-strong: #ffffff; --muted: #c3cec8;
  --mint: #37e6b0; --mint-ink: #07130f; --mint-soft: rgba(55, 230, 176, .12); --mint-line: #2f6f5a;
  --star: #ffcc66; --line: rgba(255, 255, 255, .18);
}
.wall-shade { position: absolute; inset: 0; z-index: 1; pointer-events: none; transition: opacity .45s ease; }
.wall-shade.wide { opacity: 0; background: linear-gradient(90deg,
  rgba(var(--felt-rgb), var(--shade-max, 1)) 0%,
  rgba(var(--felt-rgb), var(--shade-max, 1)) var(--shade-from, 35%),
  rgba(var(--felt-rgb), calc(.86 * var(--shade-max, 1))) calc(var(--shade-from, 35%) + (var(--shade-to, 100%) - var(--shade-from, 35%)) * .169231),
  rgba(var(--felt-rgb), calc(.55 * var(--shade-max, 1))) calc(var(--shade-from, 35%) + (var(--shade-to, 100%) - var(--shade-from, 35%)) * .384615),
  rgba(var(--felt-rgb), calc(.2 * var(--shade-max, 1))) calc(var(--shade-from, 35%) + (var(--shade-to, 100%) - var(--shade-from, 35%)) * .630769),
  rgba(var(--felt-rgb), 0) var(--shade-to, 100%)); }
.wall-shade.narrow { opacity: 1; background:
  linear-gradient(90deg, rgb(var(--felt-rgb)) 0, rgb(var(--felt-rgb)) calc(50% - 500px), rgba(var(--felt-rgb), .6) calc(50% - 400px), rgba(var(--felt-rgb), 0) calc(50% - 290px), rgba(var(--felt-rgb), 0) calc(50% + 290px), rgba(var(--felt-rgb), .6) calc(50% + 400px), rgb(var(--felt-rgb)) calc(50% + 500px), rgb(var(--felt-rgb)) 100%),
  linear-gradient(180deg, rgba(var(--felt-rgb), .7) 0%, rgba(var(--felt-rgb), .4) 45%, rgba(var(--felt-rgb), .18) 100%); }
.wall-fade { position: absolute; left: 0; right: 0; bottom: 0; height: 68px; pointer-events: none; will-change: transform; background: linear-gradient(180deg, rgba(0,0,0,0), var(--bg)); }
@media (min-width: 1100px) {
  [data-theme="light"] .hero-wall > .wall-fade { height: 124px; background: linear-gradient(180deg,
      color-mix(in srgb, var(--bg) 0%, transparent) 0%,
      color-mix(in srgb, var(--bg) 2.1%, transparent) 6.25%,
      color-mix(in srgb, var(--bg) 5.9%, transparent) 12.5%,
      color-mix(in srgb, var(--bg) 11.1%, transparent) 18.75%,
      color-mix(in srgb, var(--bg) 17.4%, transparent) 25%,
      color-mix(in srgb, var(--bg) 24.6%, transparent) 31.25%,
      color-mix(in srgb, var(--bg) 32.6%, transparent) 37.5%,
      color-mix(in srgb, var(--bg) 41.2%, transparent) 43.75%,
      color-mix(in srgb, var(--bg) 50%, transparent) 50%,
      color-mix(in srgb, var(--bg) 58.8%, transparent) 56.25%,
      color-mix(in srgb, var(--bg) 67.4%, transparent) 62.5%,
      color-mix(in srgb, var(--bg) 75.4%, transparent) 68.75%,
      color-mix(in srgb, var(--bg) 82.6%, transparent) 75%,
      color-mix(in srgb, var(--bg) 88.9%, transparent) 81.25%,
      color-mix(in srgb, var(--bg) 94.1%, transparent) 87.5%,
      color-mix(in srgb, var(--bg) 97.9%, transparent) 93.75%,
      var(--bg) 100%); }
}
.hero-grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr); gap: 46px 48px; align-items: start; padding: clamp(36px, 5vw, 64px) 0 56px; }
.hero { }
.hero h1 { margin-bottom: 14px; }
.home .hero h1 .mint { font-family: "Newsreader Hero", "Newsreader", "Newsreader Hero Fallback", "Newsreader Hero Noto", Georgia, serif; font-style: italic; font-weight: 700; font-size: 1.08em; line-height: 1; line-height: 1lh; }
@media (max-width: 1099px) {
  .home .hero-copy h1 { text-align: center; text-wrap: balance; }
  .home .hero-copy > .eyebrow { display: flex; justify-content: center; width: fit-content; margin-inline: auto; text-align: center; }
  .home .hero-copy > .lead, .home .hero-copy > .lead-short { margin-inline: auto; text-align: center; text-wrap: balance; }
}
.hero .lead, .hero .lead-short { font-size: 1.12rem; color: var(--muted); max-width: 560px; }
.hero .cta { display: flex; flex-wrap: wrap; gap: 12px; margin: 22px 0 18px; }
.hero .trust { display: flex; flex-wrap: wrap; gap: 14px 22px; color: var(--muted); font-size: 14px; }
.hero .trust b { color: var(--text-strong); }
.hero-wall .btn-ghost { background: #ffffff; border-color: #ffffff; color: #0a1411; }
.hero-wall .btn-ghost:hover { border-color: var(--mint); color: #0a1411; box-shadow: 0 8px 20px rgba(0, 0, 0, .16); }
[data-theme="dark"] .hero-wall .btn-primary { box-shadow: 0 10px 24px rgba(55, 230, 176, .22); }
.hero-copy { position: relative; z-index: 1; }
.hero-copy::before {
  content: ""; position: absolute; z-index: -1; left: -50vw; right: -50vw; top: -600px; bottom: -64px;
  background: linear-gradient(180deg,
    var(--bg) 0,
    var(--bg) calc(100% - 150px),
    color-mix(in srgb, var(--bg) 86%, transparent) calc(100% - 96px),
    color-mix(in srgb, var(--bg) 45%, transparent) calc(100% - 44px),
    transparent 100%);
  pointer-events: none; transition: opacity .45s ease;
}
.hero-calc { z-index: 2; }
.stars { color: var(--star); letter-spacing: 1px; }
.hero-copy, .hero-calc { will-change: transform; }
.hero-copy.flip, .hero-calc.flip { transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.hero-wall.flip { transition: height .5s cubic-bezier(.2, .7, .2, 1); }
@media (prefers-reduced-motion: reduce) { .wall-shade, .hero-copy::before, .hero-copy.flip, .hero-calc.flip, .hero-wall.flip { transition: none; } }

.hero-calc { position: relative; justify-self: center; width: min(530px, 100%); }
.hero-calc::before { content: ""; position: absolute; left: 50%; top: 46%; width: 620px; height: 520px; transform: translate(-50%, -50%); background: radial-gradient(closest-side, rgba(55, 230, 176, .26), rgba(55, 230, 176, 0)); pointer-events: none; }
[data-theme="light"] .hero-calc::before { background: radial-gradient(closest-side, rgba(13, 138, 95, .16), rgba(13, 138, 95, 0)); }
.hero-calc::before { will-change: transform; }
.calc-frame { position: relative; max-width: 530px; margin: -34px auto 0; }
.calc-frame::after { content: ""; position: absolute; top: 40px; bottom: 76px; left: max(0px, calc(50% - 215px)); right: max(0px, calc(50% - 215px)); border-radius: 34px; pointer-events: none; }
.hero-calc.pulse .calc-frame::after { animation: calcPulse 1.3s ease-out 3; }
.hero-calc.pulse::before { animation: calcGlow 1.3s ease-in-out 3; }
:root, [data-theme="dark"] { --pulse-rgb: 55, 230, 176; }
[data-theme="light"] { --pulse-rgb: 13, 138, 95; }
@keyframes calcPulse {
  0% { box-shadow: 0 0 0 0 rgba(var(--pulse-rgb), .6); }
  75% { box-shadow: 0 0 0 22px rgba(var(--pulse-rgb), 0); }
  100% { box-shadow: 0 0 0 0 rgba(var(--pulse-rgb), 0); }
}
@keyframes calcGlow {
  0%, 100% { transform: translate(-50%, -50%) scale(1); }
  50% { transform: translate(-50%, -50%) scale(1.22); }
}
@media (prefers-reduced-motion: reduce) { .hero-calc.pulse .calc-frame::after, .hero-calc.pulse::before { animation: none; } }
.calc-frame iframe { display: block; width: 100%; height: 687px; border: 0; background: transparent; transition: height .25s ease; }
@media (max-width: 480px) { .calc-frame iframe { height: 640px; } }
@media (min-width: 1100px) {
  .hero-grid { grid-template-columns: minmax(0, 1fr) 530px; padding-bottom: 72px; transition: grid-template-columns .5s cubic-bezier(.2, .7, .2, 1); }
  .hero-copy { padding-top: 64px; }
  .hero-calc { transition: width .5s cubic-bezier(.2, .7, .2, 1); }
  .calc-frame { transition: max-width .5s cubic-bezier(.2, .7, .2, 1); }
  .wall-shade.wide { opacity: 1; }
  .wall-shade.narrow { opacity: 0; }
  .hero-copy::before { opacity: 0; }
}
@media (min-width: 1500px) {
  .topbar .wrap, .header .wrap, .hero-grid { width: min(1360px, 100% - 32px); }
  .hero-grid { grid-template-columns: minmax(0, 1fr) 660px; }
  .hero-calc { width: min(660px, 100%); }
  .hero-calc::before { width: 760px; height: 560px; }
  .calc-frame { max-width: 660px; }
  .calc-frame::after { left: max(0px, calc(50% - 280px)); right: max(0px, calc(50% - 280px)); }
}
@media (prefers-reduced-motion: reduce) { .hero-grid, .hero-calc, .calc-frame { transition: none; } }
.hero-form .contact-card { max-width: 470px; margin: 6px auto 0; }
@media (min-width: 1500px) { .hero-form .contact-card { max-width: 560px; } }

.lamp-fx, .lf-tail, .lamp-hang, .lf-glare, .lamp-spill, .lamp-cs, .lamp-rim { display: none; }
html.lamp-on .lamp-fx, html.lamp-on .lf-tail, html.lamp-on .lamp-hang, html.lamp-on .lf-glare,
html.lamp-on .lamp-spill, html.lamp-on .lamp-cs, html.lamp-on .lamp-rim { display: block; }
.lamp-fx { position: absolute; left: 0; top: 0; width: 100%; height: 1400px; pointer-events: none; }
.lamp-fx > div { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
.lamp-fx .lf-map, .lamp-fx .lf-cone, .lamp-fx .lf-bars, .lamp-fx .lf-flick, .lf-tail { mix-blend-mode: multiply; }
.lamp-fx .lf-bloom, .lf-glare, .lamp-spill { mix-blend-mode: screen; }
.lamp-fx .lf-flick, .lamp-fx .lf-bloom, .lf-glare, .lamp-spill { will-change: opacity; }
.lf-tail { position: absolute; left: 0; right: 0; top: 1400px; bottom: 0; pointer-events: none; }
.lamp-hang { position: absolute; left: 0; top: 0; width: 0; height: 0; z-index: 3; pointer-events: none; transform-origin: 0 0; }
.lamp-hang svg { position: absolute; overflow: visible; }
.lf-glare { position: absolute; z-index: 4; pointer-events: none; }
.lamp-spill { position: absolute; left: 0; top: 0; width: 100%; z-index: 51; pointer-events: none; }
html.lamp-on, html.led-on, html.light-pre { --wall-sun: rgba(255,243,224,calc(.34 * var(--light-wall, 0))); --wall-dim: rgba(0,0,0,calc(.07 * var(--light-wall, 0))); --wall-sheen: rgba(255,249,238,calc(.065 * var(--light-wall, 0))); }
html.light-pre .hero-wall { --light-card-x: calc(50% + min(1180px, 100% - 32px) / 2 - 480px); }
@media (min-width: 1500px) { html.light-pre .hero-wall { --light-card-x: calc(50% + min(1360px, 100% - 32px) / 2 - 610px); } }
html.light-pre .hero-wall::after { content: ""; position: absolute; inset: 0; mix-blend-mode: multiply; pointer-events: none;
  background: linear-gradient(90deg, var(--light-night-l, var(--light-night, rgb(45, 47, 51))) min(var(--shade-from, 35%), var(--light-card-x) - 60px), var(--light-night, rgb(45, 47, 51)) var(--light-card-x)); }
html.lamp-on .slats > .wall, html.light-neutral .slats > .wall {
  background-image:
    repeating-linear-gradient(90deg, rgba(0,0,0,0) 0 16px, rgba(0,0,0,.30) 16px, rgba(0,0,0,0) 19.5px, rgba(0,0,0,0) 22.5px, rgba(0,0,0,.30) 26px),
    repeating-linear-gradient(90deg, var(--wood-lo) 0px, var(--wood) 1.2px, var(--wood) 14.8px, var(--wood-lo) 16px, var(--felt) 16px, var(--felt) 26px);
}
html.lamp-on .hero-calc::before, html.led-on .hero-calc::before, html.light-pre .hero-calc::before { opacity: var(--light-led, .35); transition: opacity .6s ease; }
.lamp-cs, .lamp-rim { position: absolute; top: 40px; bottom: 76px; left: calc(50% - 280px); right: calc(50% - 280px); border-radius: 34px; pointer-events: none; }
.lamp-rim { mix-blend-mode: screen; }

.led-fx { display: none; position: absolute; left: 0; top: 0; width: 100%; height: 100%; pointer-events: none; }
html.led-on .led-fx { display: block; }
.led-fx canvas { position: absolute; top: 0; height: 100%; z-index: 2; }
.led-fx .led-map { left: 0; width: 100%; mix-blend-mode: multiply; }
.led-fx .led-emit { mix-blend-mode: screen; }

.section.over-wall { position: relative; z-index: 1; padding-top: 0; margin-top: calc(-1 * var(--over-wall, 18px)); }

.contact-card { max-width: 760px; margin: 0 auto; }
.contact-card::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; }
.contact-card.pulse::after { animation: calcPulse 1.3s ease-out 3; }
@media (prefers-reduced-motion: reduce) { .contact-card.pulse::after { animation: none; } }

.home > .section { --gd: 140; --gm: 96; --room-t: 24px; --room-b: 40px; padding-bottom: var(--room-b); }
.home > .section:not(.over-wall) {
  --gap: clamp(calc(min(var(--gd), var(--gm)) * 1px), calc(var(--gm) * 1px + (var(--gd) - var(--gm)) * (100vw - 390px) / 890), calc(max(var(--gd), var(--gm)) * 1px));
  padding-top: var(--room-t);
  margin-top: calc(var(--gap) - var(--room-t) - var(--room-b));
}
.home > .section:last-child { padding-bottom: clamp(48px, 7vw, 96px); }
.home > .over-wall { --over-wall: clamp(7px, calc(7px + 11 * (100vw - 390px) / 890), 18px);
  padding-top: var(--room-t); margin-top: calc(-1 * var(--over-wall) - var(--room-t)); }
@media (max-width: 640px) {
  .home { --calc-tail: 76px; }
  .home > .over-wall { z-index: 3; pointer-events: none; }
  .home > .over-wall .wrap > * { pointer-events: auto; }
}
.home > #contact { --gd: 94; --gm: 75; }
.home > #gallery { --gd: 89.6; --gm: 77; }
.home > #promise { --gd: 100; --gm: 76; }
.home > #services { --gd: 140; --gm: 96; }
.home > #prices { --gd: 120; --gm: 80; }
.home > #mounts { --gd: 116; --gm: 84; }
.home > #reviews { --gd: 106; --gm: 94; }
@media (max-width: 640px) { .home > #reviews { --gm: 65; } }
@media (max-width: 640px) { .home > #promise { --gm: 70; } .home > #services { --gm: 70; } }
.home > #faq { --gd: 107; --gm: 96; }
.home > #final { --gd: 120; --gm: 80; }
.home > #about { --gd: 120; --gm: 80; }
.home .section-head { --hd: 40; --hm: 40; margin-bottom: clamp(calc(min(var(--hd), var(--hm)) * 1px), calc(var(--hm) * 1px + (var(--hd) - var(--hm)) * (100vw - 390px) / 890), calc(max(var(--hd), var(--hm)) * 1px)); }
.home .section-head > :last-child { margin-bottom: 0; }
.home #gallery .section-head { --hd: 36; --hm: 19; }
.home #promise .section-head { --hd: 28; --hm: 16; }
@media (max-width: 640px) { .home #promise .section-head { --hm: 24; } }
.home #services .section-head { --hd: 29; --hm: 25; }
.home #mounts .section-head { --hd: 40; --hm: 27; }
.home #prices .section-head { --hd: 30; --hm: 18; }
.home #reviews .section-head { --hd: 30; --hm: 18; }
@media (min-width: 641px) { .home #gallery .section-head h2, .home #promise .section-head h2 { margin-bottom: 8px; } }
.home .contact-card h3 { margin-bottom: clamp(6.2px, calc(6.2px + .8 * (100vw - 390px) / 890), 7px); }
.home .contact-card > .muted { margin-bottom: clamp(14.5px, calc(14.5px + 5.5 * (100vw - 390px) / 890), 20px); }
.home > .section:is(.hr-above, .hr-desk, .hr-phone) { position: relative; --hr-on: 1; --hr-w: .6; --room-t: max(24px, calc((var(--gap) * (1 - var(--hr-pos, .5)) + 2px) * var(--hr-on))); }
.home > .section:is(.hr-above, .hr-desk, .hr-phone)::before {
  content: ""; position: absolute; left: 50%; top: calc(var(--room-t) - var(--gap) * (1 - var(--hr-pos, .5)));
  width: calc(min(1180px, 100% - 32px) * var(--hr-w)); height: 1px; transform: translate(-50%, -50%);
  background: linear-gradient(90deg, transparent, var(--line) 24%, var(--line) 76%, transparent);
  pointer-events: none; opacity: var(--hr-on);
}
@media (max-width: 1099px) { .home > .section:is(.hr-above, .hr-desk, .hr-phone) { --hr-w: .7; } }
@media (max-width: 640px) { .home > .section:is(.hr-above, .hr-desk, .hr-phone) { --hr-w: .8; } .home > .section.hr-desk { --hr-on: 0; } }
@media (min-width: 641px) { .home > .section.hr-phone { --hr-on: 0; } }

.gallery-grid .item.more[hidden] { display: none; }

.vid-strip { --vid-gap: 16px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--vid-gap); width: min(100%, 980px); margin: 0 auto; }
.vid { position: relative; margin: 0; aspect-ratio: 9 / 16; border-radius: 18px; overflow: hidden; background: var(--poster, none) center / cover no-repeat var(--surface-2); box-shadow: var(--shadow-soft); isolation: isolate; }
.vid video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.vid-btn { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; background: transparent; color: #fff; cursor: pointer; display: grid; place-items: center; -webkit-tap-highlight-color: transparent; }
.vid-btn:focus-visible { outline: 2px solid var(--mint); outline-offset: -4px; border-radius: inherit; }
.vid-play { width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; transition: opacity .22s ease, transform .22s ease;
  background: rgba(255, 255, 255, .22); box-shadow: inset 0 0 0 .5px rgba(255, 255, 255, .35), 0 4px 14px rgba(0, 0, 0, .18);
  -webkit-backdrop-filter: blur(12px) saturate(1.8); backdrop-filter: blur(12px) saturate(1.8); }
.vid-play svg { width: 28px; height: 28px; }
.vid-btn:hover .vid-play { transform: scale(1.06); }
.vid.playing .vid-play { opacity: 0; transform: scale(.82); }
.vid-full, .vid-sound { position: absolute; z-index: 1; width: 30px; height: 30px; margin: 0; padding: 0; border: 0; border-radius: 50%; display: grid; place-items: center; color: #fff; cursor: pointer; transition: opacity .22s ease, background-color .15s ease; -webkit-tap-highlight-color: transparent;
  background: rgba(255, 255, 255, .22); box-shadow: inset 0 0 0 .5px rgba(255, 255, 255, .3);
  -webkit-backdrop-filter: blur(12px) saturate(1.8); backdrop-filter: blur(12px) saturate(1.8); }
.vid-full::after, .vid-sound::after { content: ""; position: absolute; inset: -7px; }
.vid-full { top: 10px; right: 10px; }
.vid-sound { right: 10px; bottom: 12px; opacity: 0; pointer-events: none; }
.vid.playing .vid-sound { opacity: 1; pointer-events: auto; }
.vid-full svg { width: 16px; height: 16px; }
.vid-sound svg { width: 18px; height: 18px; }
@media (hover: hover) { .vid-full:hover, .vid-sound:hover { background: rgba(255, 255, 255, .34); } }
.vid-full:focus-visible, .vid-sound:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
.vid .snd-off, .vp .snd-off { display: none; }
.vid.muted .snd-on, .vp.muted .snd-on { display: none; }
.vid.muted .snd-off, .vp.muted .snd-off { display: block; }
.vid-bar { position: absolute; left: 10px; right: 48px; bottom: 25px; height: 4px; border-radius: 999px; background: rgba(255, 255, 255, .3); overflow: hidden; opacity: 0; transition: opacity .22s ease; pointer-events: none; }
.vid-bar i { display: block; height: 100%; background: #ffffff; transform-origin: left center; transform: scaleX(0); transition: transform .26s linear; }
.vid.playing:not(.preview) .vid-bar { opacity: 1; }
@media (max-width: 640px) {
  .vid-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); --vid-gap: 8px; }
  .vid:nth-child(n+4) { display: none; }
  .vid { border-radius: 12px; }
  .vid-play { width: 42px; height: 42px; }
  .vid-play svg { width: 20px; height: 20px; }
  .vid-full { top: 6px; right: 6px; width: 26px; height: 26px; }
  .vid-sound { right: 6px; bottom: 8px; width: 26px; height: 26px; }
  .vid-bar { right: 40px; bottom: 19px; }
  .vid-full svg { width: 14px; height: 14px; }
  .vid-sound svg { width: 15px; height: 15px; }
}
@media (prefers-reduced-motion: reduce) { .vid-play, .vid-full, .vid-sound, .vid-bar, .vid-bar i { transition: none; } }

.card.benefits { list-style: none; margin: 0 auto; padding: 0; width: min(100%, 980px); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: auto auto; row-gap: 0; border-radius: 18px; }
.benefits + .vid-strip { margin-top: 28px; }
.ben { display: grid; grid-row: span 2; grid-template-rows: subgrid; row-gap: 0; padding: 18px 18px 17px; min-width: 0; }
.ben + .ben { border-left: 1px solid var(--line-soft); }
.ben-head { display: flex; align-items: center; gap: 12px; min-width: 0; }
.ben-ico { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--mint-soft); border: 1px solid var(--mint-line); color: var(--mint); }
.ben-ico svg { width: 21px; height: 21px; }
.ben-head strong { min-width: 0; color: var(--text-strong); font-size: 15px; line-height: 1.25; font-weight: 700; text-wrap: balance; }
.ben-p { margin-top: 10px; color: var(--muted); font-size: 13px; line-height: 1.45; text-wrap: pretty; }
@media (max-width: 999px) {
  .ben { padding: 14px 12px 13px; }
  .ben-head { gap: 9px; }
  .ben-ico { width: 34px; height: 34px; border-radius: 10px; }
  .ben-ico svg { width: 18px; height: 18px; }
  .ben-head strong { font-size: 14px; }
  .ben-p { margin-top: 8px; font-size: 12.5px; }
}
@media (max-width: 760px) {
  .ben { padding: 13px 10px 12px; }
  .ben-p { font-size: 12px; line-height: 1.4; }
}
@media (max-width: 640px) {
  .benefits + .vid-strip { margin-top: 14px; }
  .card.benefits { border-radius: 14px; }
  .ben { padding: 12px 4px; }
  .ben-head { flex-direction: column; justify-content: flex-start; gap: 7px; text-align: center; }
  .ben-ico { width: 32px; height: 32px; }
  .ben-ico svg { width: 17px; height: 17px; }
  .ben-head strong { margin-block: auto; font-size: 12px; }
  .ben-p { display: none; }
}

html.vp-lock { overflow: hidden; }
.vp { position: fixed; inset: 0; z-index: 95; display: flex; align-items: center; justify-content: center; padding: 16px; touch-action: none; overscroll-behavior: contain; }
.vp[hidden] { display: none; }
.vp::before { content: ""; position: absolute; inset: 0; background: rgba(4, 8, 7, .96); opacity: 0; transition: opacity .28s ease; }
.vp.open::before { opacity: 1; }
.vp-box { --vp-ar: .5625; position: relative; aspect-ratio: var(--vp-ar); width: min(calc(100vw - 32px), calc((100vh - 48px) * var(--vp-ar))); width: min(calc(100vw - 32px), calc((100dvh - 48px) * var(--vp-ar))); border-radius: 16px; overflow: hidden; background: #000; box-shadow: 0 24px 70px rgba(0, 0, 0, .55); transform-origin: 0 0; }
.vp-slot { position: absolute; inset: 0; }
.vp-slot video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; display: block; background: #000; }
.vp-hit { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; background: transparent; color: #fff; cursor: pointer; display: grid; place-items: center; -webkit-tap-highlight-color: transparent; }
.vp-big { width: 72px; height: 72px; border-radius: 50%; display: grid; place-items: center; background: rgba(8, 14, 12, .5); box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .55); transition: opacity .2s ease, transform .2s ease; }
.vp-big svg { width: 34px; height: 34px; }
.vp.playing .vp-big { opacity: 0; transform: scale(.8); }
.vp-controls { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: center; gap: 10px; padding: 40px 12px 12px; background: linear-gradient(to top, rgba(0, 0, 0, .74), rgba(0, 0, 0, 0)); color: #fff; opacity: 0; transition: opacity .25s ease; }
.vp.open .vp-controls { opacity: 1; }
.vp-btn { flex: 0 0 auto; width: 38px; height: 38px; margin: 0; padding: 0; border: 0; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .14); color: #fff; cursor: pointer; transition: background-color .15s ease; }
.vp-btn:hover { background: rgba(255, 255, 255, .26); }
.vp-btn svg { width: 20px; height: 20px; }
.vp .i-pause, .vp.playing .i-play { display: none; }
.vp.playing .i-pause { display: block; }
.vp-time { flex: 0 0 auto; min-width: 76px; font-size: 12.5px; font-variant-numeric: tabular-nums; white-space: nowrap; opacity: .92; }
.vp-seek { flex: 1 1 auto; min-width: 0; height: 34px; display: flex; align-items: center; cursor: pointer; touch-action: none; outline: none; }
.vp-rail { position: relative; flex: 1; height: 4px; border-radius: 2px; background: rgba(255, 255, 255, .28); }
.vp-fill { position: absolute; left: 0; top: 0; bottom: 0; width: calc(var(--p, 0) * 100%); border-radius: inherit; background: #37e6b0; }
.vp-knob { position: absolute; top: 50%; left: calc(var(--p, 0) * 100%); width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: #fff; box-shadow: 0 1px 5px rgba(0, 0, 0, .45); transition: transform .15s ease; }
.vp-seek:hover .vp-knob, .vp-seek.drag .vp-knob { transform: scale(1.25); }
.vp-seek:focus-visible .vp-rail { box-shadow: 0 0 0 2px #37e6b0; }
.vp-btn:focus-visible, .vp-close:focus-visible { outline: 2px solid #37e6b0; outline-offset: 2px; }
.vp-close { position: absolute; z-index: 2; top: calc(12px + env(safe-area-inset-top, 0px)); right: 12px; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .14); color: #fff; cursor: pointer; opacity: 0; transition: opacity .25s ease, background-color .15s ease; }
.vp.open .vp-close { opacity: 1; }
.vp-close:hover { background: rgba(255, 255, 255, .26); }
.vp-close svg { width: 18px; height: 18px; }
@media (max-height: 500px) { .vp-time { display: none; } }
@media (prefers-reduced-motion: reduce) { .vp::before, .vp-controls, .vp-close, .vp-big, .vp-knob { transition: none; } }

.review-strip {
  --rev-lines: 4; --rev-h: 120px; --rev-max: 896px; --rev-inset: 48px; --rev-gap: 52px;
  --rev-min: 140px; --rev-move: .44s cubic-bezier(.34,.07,.24,1);
  display: flex; align-items: stretch; gap: var(--rev-gap);
  width: min(100% - var(--rev-inset), var(--rev-max)); margin: 0 auto;
}
.review-strip .card {
  padding: 16px 18px; font-size: 14px; min-height: var(--rev-h);
  display: flex; flex-direction: column;
  flex: 1 1 0px; min-width: var(--rev-min);
  transition: flex-basis var(--rev-move), flex-grow var(--rev-move), border-color .25s ease;
}
.rev-clip { overflow: hidden; flex: 0 0 auto; display: flex; }
.review-strip .rev { -webkit-user-select: none; user-select: none; }
.rev-text {
  margin: 6px 0 0; overflow: hidden; flex: 0 0 auto; min-width: 0;
  display: -webkit-box; -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--rev-lines); line-clamp: var(--rev-lines);
}
.rev-clip > .rev-text { flex: 0 0 auto; width: 100%; }
.review-strip .stars { flex: 0 0 auto; }
.review-strip .who { color: var(--muted); margin-top: auto; padding-top: 6px; font-size: 13px; display: flex; align-items: center; gap: 8px; flex: 0 0 auto; }
.rev-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.rev-logo { flex: 0 0 auto; margin-left: auto; height: 15px; width: 15px; display: block; }
.rev-logo-word { width: auto; height: 17px; }
.rev.clamped, .rev.open, .rev.fade-l, .rev.fade-r { cursor: pointer; }
.rev.clamped:hover, .rev.open:hover, .rev.fade-l:hover, .rev.fade-r:hover { border-color: var(--mint-line); }
.rev:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
.review-strip.expanded .rev.open { flex-grow: 0; flex-basis: var(--rev-open-w, 60%); border-color: var(--mint-line); }
.rev.fade-r .rev-clip {
  justify-content: flex-start;
  -webkit-mask-image: linear-gradient(90deg, #000 calc(100% - var(--rev-fade, 24px)), transparent 100%);
  mask-image: linear-gradient(90deg, #000 calc(100% - var(--rev-fade, 24px)), transparent 100%);
}
.rev.fade-l .rev-clip {
  justify-content: flex-end;
  -webkit-mask-image: linear-gradient(270deg, #000 calc(100% - var(--rev-fade, 24px)), transparent 100%);
  mask-image: linear-gradient(270deg, #000 calc(100% - var(--rev-fade, 24px)), transparent 100%);
}
@media (prefers-reduced-motion: reduce) {
  .review-strip .card { transition: none; }
}
.review-strip.wide { width: 100%; }
.review-strip + .review-strip { margin-top: var(--rev-gap); }
.review-strip.wide .rev-text { min-height: calc(var(--rev-lines) * 1.55em); }

.rv-panel { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; grid-template-areas: "head prev next" "rule rule rule" "view view view" "dots dots dots"; column-gap: 8px;
  padding: 26px 28px 22px; border-radius: 18px; border: 1px solid var(--line-soft); background: linear-gradient(180deg, var(--shell) 0%, var(--shell-2) 100%); box-shadow: var(--shadow-soft); }
.rv-head { grid-area: head; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-width: 0; margin-right: 12px; }
.rv-title { display: flex; align-items: center; gap: 10px; margin: 0; color: var(--text-strong); font-weight: 700; line-height: 1.15; letter-spacing: -.015em; }
.rv-score { font-size: 30px; font-weight: 800; line-height: 1; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.rv-title-side { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.rv-title .stars { font-size: 14px; line-height: 1; letter-spacing: 1.5px; }
.rv-title-text { font-size: 12px; font-weight: 700; line-height: 1.15; letter-spacing: -.005em; }
.rv-rule { grid-area: rule; height: 1px; margin: 14px 0 26px; background: var(--line-soft); }
.rv-carousel { --rv-per: 3; --rv-ci: 24px; position: relative; }
.rv-viewport { grid-area: view; margin: 0 calc(-1 * var(--rv-ci)) 0 calc(-1 * var(--rv-ci) - 1px); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; clip-path: inset(0 0 0 1px); }
.rv-viewport::-webkit-scrollbar { display: none; }
.rv-carousel.is-live .rv-viewport { overflow: hidden; overflow: clip; scroll-snap-type: none; touch-action: pan-y; cursor: grab; }
.rv-carousel.is-live.dragging .rv-viewport { cursor: grabbing; }
.rv-track { display: flex; will-change: transform; }
.rv-track.moving { transition: transform .55s cubic-bezier(.22, .7, .2, 1); }
.rv-card { flex: 0 0 calc(100% / var(--rv-per)); min-width: 0; display: flex; flex-direction: column; gap: 9px; padding: 4px var(--rv-ci); margin: 0; border-left: 1px solid var(--line-soft); scroll-snap-align: start; -webkit-user-select: none; user-select: none; }
.rv-card .stars { font-size: 13px; line-height: 1.2; letter-spacing: 1px; }
.rv-text { margin: 0; color: var(--text); font-size: 15px; line-height: 1.55; text-wrap: pretty; }
.rv-who { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--muted); font-size: 13.5px; font-weight: 600; }
.rv-who .rev-logo { height: 17px; width: 17px; }
.rv-who .rev-logo-word { width: auto; height: 19px; }
.rv-controls { display: contents; }
.rv-controls [data-rv-prev] { grid-area: prev; align-self: start; }
.rv-controls [data-rv-next] { grid-area: next; align-self: start; }
.rv-arrow { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); background: transparent; color: var(--text-strong); display: grid; place-items: center; padding: 0; cursor: pointer; transition: border-color .15s ease, color .15s ease, transform .15s ease; -webkit-tap-highlight-color: transparent; }
.rv-arrow svg { width: 16px; height: 16px; }
.rv-arrow:hover { border-color: var(--mint-line); color: var(--mint); }
.rv-arrow:active { transform: scale(.94); }
.rv-arrow:focus-visible, .rv-dots button:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
.rv-carousel:not(.is-live):not(.is-swipe) .rv-controls { display: none; }
.rv-dots { grid-area: dots; justify-self: center; display: flex; align-items: center; gap: 7px; margin-top: 16px; }
.rv-dots button { position: relative; width: 7px; height: 7px; padding: 0; border: 0; border-radius: 999px; background: var(--line); cursor: pointer; transition: width .25s ease, background-color .25s ease; }
.rv-dots button::after { content: ""; position: absolute; inset: -8px -4px; }
.rv-dots button.on { width: 20px; background: var(--mint); }
@media (max-width: 999px) { .rv-carousel { --rv-per: 2; } }
.rv-ph-hd, .rv-ph-rows { display: none; }
@media (max-width: 640px) {
  .rv-carousel { --rv-per: 1; }
  .rv-panel { display: block; padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
  .rv-head, .rv-rule, .rv-arrow { display: none; }
  .rv-viewport {
    position: relative; display: flex; gap: 12px; margin: -12px -16px -26px; padding: 12px 16px 34px; clip-path: none;
    overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none;
  }
  .rv-track { display: contents; }
  .rv-card {
    flex: 0 0 84%; gap: 12px; padding: 18px 18px 14px; border: 1px solid var(--line-soft); border-radius: 18px; scroll-snap-align: center;
    background: linear-gradient(180deg, var(--shell) 0%, var(--shell-2) 100%); box-shadow: var(--shadow-soft);
    min-height: var(--rv-fit, 0px); justify-content: space-between;
  }
  .rv-text { font-size: 14px; line-height: 1.5; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
  .rv-card > .stars, .rv-who { display: none; }
  .rv-ph-hd { display: block; }
  .rv-ph-name { margin: 0 0 2px; font-size: 1rem; line-height: 1.3; font-weight: 700; letter-spacing: -.01em; color: var(--text-strong); }
  .rv-ph-star { color: var(--mint); }
  .rv-ph-rows { display: block; list-style: none; margin: 0; padding: 0; }
  .rv-ph-rows li { display: flex; align-items: baseline; gap: 10px; padding: 7px 0; font-size: 14px; line-height: 1.35; color: var(--text); border-top: 1px dashed var(--line-soft); }
  .rv-ph-rows i { flex: 1 1 auto; min-width: 8px; border-bottom: 0; }
  .rv-ph-rows b { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; color: var(--mint); font-weight: 800; white-space: nowrap; font-variant-numeric: tabular-nums; }
  .rv-ph-rows b small { font-size: 12px; font-weight: 500; color: var(--muted); }
  .rv-ph-rows .rev-logo { margin: 0; width: 15px; height: 15px; align-self: center; }
  .rv-ph-rows .rev-logo-word { display: block; width: auto; height: 17px; overflow: visible; }
  .rv-ph-rows .rev-logo-tt { color: var(--text-strong); }
  .rv-ph-rows li:last-child { align-items: center; }
  .rv-controls { display: flex; justify-content: center; margin-top: 6px; }
  .rv-dots { gap: 6px; margin-top: 0; }
  .rv-dots button { width: 6px; height: 6px; border-radius: 3px; transition: width .2s ease, background-color .2s ease; }
  .rv-dots button.on { width: 18px; }
}
.rv-count { display: none; }
@media (min-width: 1000px) {
  .rv-panel { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "rule" "view" "ctrl";
    padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; }
  .rv-head { margin-right: 0; }
  .rv-score { font-size: 28px; }
  .rv-count { display: inline; }
  .rv-rule { margin: 13px 0 25px; }
  .rv-card { border-left-color: transparent; }
  .rv-card .stars { display: none; }
  .rv-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
  .rv-who { justify-content: flex-start; gap: 8px; }
  .rv-who .rev-logo { margin-left: 0; }
  .rv-who .rev-name::before { content: "— "; }
  .rv-controls { display: flex; grid-area: ctrl; align-items: center; justify-content: center; gap: 14px; margin-top: 16px; }
  .rv-dots { margin-top: 0; }
  .rv-arrow { width: 32px; height: 32px; border-color: transparent; color: var(--muted); }
  .rv-arrow svg { width: 18px; height: 18px; }
  .rv-arrow:hover { border-color: transparent; color: var(--mint); }
}
@media (prefers-reduced-motion: reduce) { .rv-track.moving { transition-duration: .01s; } .rv-arrow, .rv-dots button { transition: none; } }

.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 18px; }
.stats:first-child { margin-top: 0; }
.stat { text-align: center; padding: 18px 12px; }
.stat b { display: block; font-size: 2rem; color: var(--mint); font-weight: 800; letter-spacing: -.02em; }
.stat span { color: var(--muted); font-size: 13px; }

.promise-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.promise { display: grid; grid-row: span 2; grid-template-rows: subgrid; row-gap: 10px; padding: 18px 20px 19px; }
.promise-head { display: flex; align-items: center; gap: 12px; min-width: 0; }
.promise-head .icon-badge { flex: 0 0 auto; width: 40px; height: 40px; border-radius: 12px; margin: 0; }
.promise-head .icon-badge svg { width: 21px; height: 21px; }
.promise-head h3 { min-width: 0; margin: 0; font-size: 16.5px; line-height: 1.3; text-wrap: balance; }
@media (max-width: 640px) {
  .promise-head h3[data-short] > .ph-full { display: none; }
  .promise-head h3[data-short]::after { content: attr(data-short); }
}
.promise-txt { display: contents; }
.promise-txt > p { margin: 0; font-size: 14px; line-height: 1.5; text-wrap: pretty; }
@media (max-width: 1060px) { .promise-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ptv, .ptv-wire { display: none; }
@media (max-width: 640px) {
  .promise-grid { position: relative; display: block; margin-inline: 15px; padding-bottom: 74px;
    --ant: #3b403d; --ptv-drop: rgba(20, 34, 28, .30); --wire-sh: rgba(0, 0, 0, .13);
    --o-plate: #f6f4ec; --o-line: #cfcabb; --o-slot: #5d584c; --o-plug: #262a28;
    --k1: #fbf8ef; --k2: #b5af9f; --trim: rgba(0, 0, 0, .20);
    --g1: #fbfcf8; --g2: #e6ede0; --g3: #cdd8c6; --ph: #3d4a44; --ph-glow: none; --ph-drop: none; --refl: .5; --scan: .09; }
  [data-theme="dark"] .promise-grid { --ant: #8d9490; --ptv-drop: rgba(0, 0, 0, .65); --wire-sh: rgba(0, 0, 0, .5);
    --o-plate: #2a2e2c; --o-line: #3c423f; --o-slot: #0c0d0d; --o-plug: #4a514d;
    --k1: #8a918d; --k2: #3a403d; --trim: #5d6461;
    --g1: #123a30; --g2: #0a221d; --g3: #04100c; --ph: #9cf3d4; --ph-glow: 0 0 7px rgba(110, 240, 200, .55);
    --ph-drop: drop-shadow(0 0 6px rgba(110, 240, 200, .55)); --refl: .13; --scan: .338; }
  .promise-grid > .promise { position: relative; z-index: 1; display: grid; grid-template-columns: calc(40% * var(--k, 1)) minmax(0, 1fr);
    grid-template-rows: auto; column-gap: 15px; align-items: center; padding: 0; background: none; border: 0;
    border-radius: 0; box-shadow: none; overflow: visible; translate: var(--dx, 0px) 0; }
  .promise-grid > .promise::before { display: none; }
  .promise-grid > .promise + .promise { margin-top: 54px; }
  .promise-grid > .promise.tv-r { grid-template-columns: minmax(0, 1fr) calc(40% * var(--k, 1)); text-align: right; }
  .promise-grid > .promise > .promise-txt { display: block; grid-row: 1; grid-column: 2; min-width: 0; }
  .promise-grid > .promise.tv-r > .promise-txt { grid-column: 1; }
  .promise-grid > .promise .promise-head { display: block; }
  .promise-grid > .promise .icon-badge { display: none; }
  .promise-grid > .promise h3 { margin: 0; font-size: 16px; font-weight: 800; line-height: 1.25; letter-spacing: -.01em; }
  .promise-grid > .promise .promise-txt > p { margin: 5px 0 0; font-size: 13.5px; line-height: 1.45; }

  .ptv { display: block; grid-row: 1; grid-column: 1; container-type: inline-size; transform: rotate(var(--rot, 0deg));
    --c1: var(--c1-light); --c2: var(--c2-light); }
  [data-theme="dark"] .ptv { --c1: var(--c1-dark); --c2: var(--c2-dark); }
  .tv-r > .ptv { grid-column: 2; }
  .ptv-crt60 { --cr: 8.5cqw; --cp: clamp(5px, 4.6cqw, 13px); --sr: clamp(5px, 7.2cqw, 26px); }
  .ptv-cube90 { --cr: 3.5cqw; --cp: clamp(5px, 3.4cqw, 13px); --sr: clamp(5px, 3cqw, 26px); }
  .ptv-wood70 { --cr: 3.5cqw; --cp: clamp(5px, 5cqw, 13px); --sr: clamp(5px, 4.2cqw, 26px); }
  .ptv-cab { position: relative; display: flex; isolation: isolate; gap: max(5px, calc(var(--cp) * .9)); padding: var(--cp); border-radius: var(--cr);
    background: linear-gradient(172deg, var(--c1) 0%, var(--c2) 100%);
    box-shadow: inset 0 1.5px 0 rgba(255, 255, 255, .42), inset 0 -3px 0 rgba(0, 0, 0, .14), inset 0 0 0 1px rgba(0, 0, 0, .10),
      0 16px 22px -14px var(--ptv-drop), 0 4px 7px -3px var(--ptv-drop); }
  .ptv-crt60 .ptv-cab { margin-top: calc(22.08cqw - 5px); }
  [data-theme="light"] .ptv-wood70 { --trim: #cdc8bd; }
  [data-theme="light"] .ptv-wood70 .ptv-cab { background: repeating-linear-gradient(91deg, rgba(0, 0, 0, .07) 0 2px, transparent 2px 6px, rgba(255, 255, 255, .05) 6px 7px, transparent 7px 13px),
    linear-gradient(172deg, var(--c1) 0%, var(--c2) 100%); }
  [data-theme="light"] .ptv-wood70 .ptv-grille { width: 74%; background: repeating-linear-gradient(90deg, rgba(0, 0, 0, .45) 0 2px, rgba(255, 255, 255, .05) 2px 3px, transparent 3px 5px); }
  .ptv-cube90 .ptv-cab::after { content: ""; position: absolute; z-index: -1; top: 7px; bottom: 3px; right: -8px; width: 12px; border-radius: 0 7px 7px 0;
    background: linear-gradient(90deg, var(--c2), rgba(0, 0, 0, .55)); transform: skewY(-14deg); transform-origin: 0 0; }
  .ptv-scr { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; border-radius: var(--sr); background: #070908; padding: 3px;
    box-shadow: 0 0 0 2px var(--trim), 0 0 0 3.5px rgba(0, 0, 0, .16), inset 0 2px 5px rgba(0, 0, 0, .7); }
  .ptv-gl { position: relative; overflow: hidden; display: grid; place-items: center; flex: 1 0 auto; aspect-ratio: 4 / 3; border-radius: calc(var(--sr) - 3px);
    color: var(--ph); text-shadow: var(--ph-glow);
    background: radial-gradient(ellipse 125% 100% at 50% 38%, var(--g1) 0%, var(--g2) 60%, var(--g3) 100%); box-shadow: inset 0 0 26.8px rgba(0, 0, 0, .58); }
  .ptv-gl::before { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background: linear-gradient(158deg, rgba(255, 255, 255, var(--refl)) 0%, rgba(255, 255, 255, 0) 42%); }
  .ptv-gl::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background: repeating-linear-gradient(180deg, rgba(0, 0, 0, var(--scan)) 0 1px, transparent 1px 3px); }
  .ptv-gl > svg { position: relative; z-index: 1; width: 42%; height: auto; filter: var(--ph-drop); }
  .ptv-ch { position: absolute; top: min(5px, 3.8cqw); right: min(7px, 5.3cqw); z-index: 2; font: min(14px, 10.7cqw)/1 "VT323", ui-monospace, monospace; letter-spacing: .05em; opacity: .9; }
  .ptv-pan { flex: 0 0 auto; width: 19cqw; display: flex; flex-direction: column; align-items: center; gap: min(8px, 5.5cqw); padding: min(4px, 3.2cqw) 0 min(3px, 2.4cqw); }
  .ptv-knob { position: relative; width: 58%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 34% 30%, var(--k1) 0%, var(--k2) 75%);
    box-shadow: 0 2px 3px rgba(0, 0, 0, .35), inset 0 -2px 2px rgba(0, 0, 0, .22); }
  .ptv-knob::after { content: ""; position: absolute; left: 50%; top: 9%; width: 2px; height: 38%; border-radius: 2px; background: rgba(0, 0, 0, .5);
    transform-origin: 50% 100%; transform: translateX(-50%) rotate(var(--kr, 0deg)); }
  .ptv-grille { width: 66%; flex: 1 1 auto; min-height: min(12px, 8cqw); border-radius: 3px; background: repeating-linear-gradient(180deg, rgba(0, 0, 0, .30) 0 2px, transparent 2px 5px); }
  .ptv-ant { position: absolute; z-index: -1; left: 50%; bottom: calc(100% - 5px); width: 48cqw; height: auto; transform: translateX(-50%); overflow: visible; pointer-events: none; }
  .ptv-ant path { fill: none; stroke: var(--ant); stroke-width: 2.4; stroke-linecap: round; }
  .ptv-ant circle { fill: var(--ant); }
  .ptv-ant :is(.rod-e, .rod-h, .tip-e, .tip-h) { display: none; }
  .ptv-ant .dome { fill: var(--c2); stroke: rgba(0, 0, 0, .25); stroke-width: 1; }
  .ptv-legs { display: block; width: 74cqw; height: 13px; margin: -2px auto 0; overflow: visible; }
  .ptv-legs path { fill: none; stroke: var(--ant); stroke-width: 3.2; stroke-linecap: round; vector-effect: non-scaling-stroke; }
  .ptv-legs .ft { stroke-width: 2.4; }
  .ptv-legs :is(.leg-e, .leg-h, .ft-e, .ft-h) { display: none; }
  .ptv-foot { display: block; height: 6px; margin: 0 30%; border-radius: 0 0 5px 5px; background: linear-gradient(180deg, rgba(0, 0, 0, .55), rgba(0, 0, 0, .3)); }
  .ptv-plinth { display: block; height: 9px; margin: 0 7%; border-radius: 0 0 6px 6px; background: linear-gradient(180deg, var(--c2), rgba(30, 18, 8, .95)); }

  .ptv-wire { display: block; position: absolute; left: 0; top: 0; z-index: 0; overflow: visible; pointer-events: none; }
  .ptv-wire .w-sh { stroke: var(--wire-sh); }
  .ptv-wire .w { stroke: var(--mint); }
  .ptv-wire .w-hl { stroke: rgba(255, 255, 255, .26); }
  .ptv-wire .o-plate { fill: var(--o-plate); stroke: var(--o-line); }
  .ptv-wire .o-in { fill: none; stroke: var(--o-line); }
  .ptv-wire .o-slot { fill: var(--o-slot); }
  .ptv-wire .o-plug { fill: var(--o-plug); }

  .promise-grid.ptv-armed .ptv-gl:not(.pw) { transform: scale(.02, .004); filter: brightness(4); }
  .ptv-gl.pw { animation: ptv-on .78s cubic-bezier(.25, .8, .25, 1) both; animation-delay: var(--d, 0s); }
  .promise-grid.ptv-live .ptv-scr { will-change: opacity; }
  .promise-grid.ptv-live.ptv-fl .ptv-scr { animation: ptv-flick .35s linear; }
}
@keyframes ptv-on { 0% { transform: scale(.02, .004); filter: brightness(4); } 28% { transform: scale(1, .004); filter: brightness(4); }
  62% { transform: scale(1, 1.03); filter: brightness(1.5); } 100% { transform: none; filter: none; } }
@keyframes ptv-flick { 0%, 28.5714%, 100% { opacity: 1; } 14.2857% { opacity: .88; } 57.1429% { opacity: .93; } }
@media (max-width: 640px) and (prefers-reduced-motion: reduce) {
  .ptv-gl.pw, .promise-grid.ptv-live.ptv-fl .ptv-scr { animation: none; }
  .promise-grid.ptv-armed .ptv-gl:not(.pw) { transform: none; filter: none; }
}

.service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; max-width: 980px; margin-inline: auto; }
.svc { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 14px 14px 16px; border-radius: 18px;
  overflow: hidden; isolation: isolate; border: 1px solid var(--line-soft); box-shadow: var(--shadow-soft);
  background: linear-gradient(180deg, var(--shell) 0%, var(--shell-2) 100%); color: var(--text); text-decoration: none; }
.svc:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; }
.svc-ph { display: block; aspect-ratio: 3 / 2; overflow: hidden; border-radius: 12px; background: var(--surface-2); }
.svc-ph img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 37.5%; transform-origin: 50% 0; transition: transform .45s ease; }
.svc-ph picture { display: contents; }
.svc:hover .svc-ph img { transform: scale(1.05); }
.svc-ph .svc-img-dark { display: none; }
[data-theme="dark"] .svc-ph .svc-img-dark { display: block; }
[data-theme="dark"] .svc-ph .svc-img-light { display: none; }
.svc-cap { display: block; padding: 12px 2px 0; }
.svc-name { margin: 0; min-width: 0; color: var(--text-strong); font-size: 16.5px; font-weight: 700; line-height: 1.3; letter-spacing: -.005em;
  text-wrap: balance; transition: color .2s ease; }
.svc:hover .svc-name { color: var(--mint); }
.svc-desc { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;
  margin: 4px 0 0; color: var(--muted); font-size: 13.5px; line-height: 1.45; }
@media (prefers-reduced-motion: reduce) { .svc-ph img, .svc-name { transition: none; } .svc:hover .svc-ph img { transform: none; } }
@media (max-width: 719px) { .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .svc { padding: 10px 10px 12px; }
  .svc-cap { padding: 10px 2px 0; }
  .svc-name { font-size: 15px; }
  .svc-desc { margin-top: 3px; font-size: 12.5px; line-height: 1.4; }
  .svc-title-tail { text-transform: capitalize; }
}

.grid-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.icon-badge {
  width: 46px; height: 46px; border-radius: 14px; display: inline-flex; align-items: center; justify-content: center;
  background: var(--mint-soft); border: 1px solid var(--mint-line); color: var(--mint); margin-bottom: 14px;
}
.icon-badge svg { width: 24px; height: 24px; }
.arrow-link { color: var(--mint); font-weight: 700; text-decoration: none; display: inline-flex; gap: 6px; align-items: center; }
.arrow-link:hover { text-decoration: underline; }

.estimate-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.steps-bar { height: 6px; background: var(--surface-2); border-radius: 999px; overflow: hidden; margin: 6px 0 18px; }
.steps-bar i { display: block; height: 100%; width: 17%; background: var(--mint); border-radius: 999px; }
.choice-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.choice {
  border: 1px solid var(--line); background: var(--surface-2); border-radius: 12px; padding: 12px; text-align: center;
  font-weight: 700; cursor: pointer; text-decoration: none; color: var(--text); transition: .15s;
}
.choice:hover, .choice.on { border-color: var(--mint); background: var(--mint-soft); color: var(--mint); }

.form { display: grid; gap: 12px; }
.form .row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.form .f-pair { display: grid; gap: 12px; }
.field label { display: block; font-size: 13px; font-weight: 700; margin-bottom: 6px; color: var(--muted); }
.field input, .field textarea, .field select {
  width: 100%; border: 1px solid var(--line); background: var(--surface-2); border-radius: 12px; padding: 12px 14px;
  outline: none; transition: border-color .15s, box-shadow .15s;
}
.field input:focus, .field textarea:focus { border-color: var(--mint); box-shadow: 0 0 0 3px var(--mint-soft); }
.field textarea { min-height: 110px; resize: vertical; }
.field .hint { font-size: 12px; color: var(--muted); margin-top: 4px; }
.field .tvq-phone {
  display: flex; align-items: center; width: 100%;
  border: 1px solid var(--line); background: var(--surface-2); border-radius: 12px; padding: 0 14px;
  transition: border-color .15s, box-shadow .15s;
}
.field .tvq-phone:focus-within { border-color: var(--mint); box-shadow: 0 0 0 3px var(--mint-soft); }
.field .tvq-phone input, .field .tvq-phone input:focus {
  border: 0; background: none; border-radius: 0; box-shadow: none; padding: 12px 0; width: 100%;
}
.tvq-phone-pre {
  display: flex; align-items: center; gap: 6px; padding-right: 10px; margin-right: 10px;
  border-right: 1px solid var(--line); font-weight: 600; user-select: none; white-space: nowrap;
}
.tvq-phone-flag { width: 19px; height: 13px; border-radius: 2px; flex: 0 0 auto; box-shadow: 0 0 0 1px rgba(0, 0, 0, .08); }
.tvq-phone-wrap { position: relative; display: block; flex: 1; min-width: 0; }
.tvq-phone-wrap input { position: relative; z-index: 1; background: none; display: block; }
.tvq-phone-ghost {
  position: absolute; inset: 0; display: flex; align-items: center; pointer-events: none;
  color: var(--muted); opacity: .55; white-space: pre; overflow: hidden;
}
.tvq-phone-ghost b { color: transparent; font-weight: inherit; }
.tvq-phone-tick {
  width: 20px; height: 20px; border-radius: 50%; flex: 0 0 auto; display: grid; place-items: center;
  background: var(--mint); color: var(--mint-ink); opacity: 0; transform: scale(.6); transition: opacity .2s, transform .2s;
}
.tvq-phone.done .tvq-phone-tick { opacity: 1; transform: none; }
.tvq-phone-tick svg { width: 11px; height: 11px; }
.form-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.form-actions > button[type=submit] { order: 1; }
.form-actions > .photo-btn { order: 2; }
.form-actions > .photo-count { order: 3; }
.form-actions > .form-status { order: 4; }
.form-actions > .photo-list { order: 5; flex-basis: 100%; }
.form-actions > .photo-hint { order: 6; flex-basis: 100%; margin-top: -2px; font-size: 12px; color: var(--muted); }
.pref { display: flex; flex-wrap: wrap; gap: 10px; }
.pref-opt {
  position: relative; display: inline-flex; align-items: center; gap: 8px;
  border: 1px solid var(--line); background: var(--surface-2); border-radius: 999px;
  padding: 10px 16px; font-size: 14px; font-weight: 700; color: var(--text); cursor: pointer;
  transition: border-color .15s, background .15s, color .15s;
}
.field .pref-opt { display: inline-flex; margin-bottom: 0; font-size: 14px; color: var(--text); }
.pref-opt input { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: pointer; }
.pref-opt svg { width: 16px; height: 16px; flex: 0 0 auto; }
.pref-opt:hover { border-color: var(--mint-line); }
.pref-opt:has(input:checked) { border-color: var(--mint); background: var(--mint-soft); color: var(--mint); }
.pref-opt.on { border-color: var(--mint); background: var(--mint-soft); color: var(--mint); }
.pref-opt:has(input:focus-visible) { outline: 2px solid var(--mint); outline-offset: 2px; }
.photo-btn { padding: 12px 16px; font-size: 14px; }
.photo-btn svg { width: 17px; height: 17px; flex: 0 0 auto; }
.photo-count { font-size: 13px; font-weight: 700; color: var(--mint); }
.photo-count[hidden] { display: none; }
.file-hidden { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.photo-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.photo-list:empty { display: none; }
.photo-thumb { position: relative; width: 74px; height: 74px; border-radius: 12px; overflow: hidden; border: 1px solid var(--line); background: var(--surface-2); }
.photo-thumb img { width: 100%; height: 100%; object-fit: cover; }
.photo-kill {
  position: absolute; top: 3px; right: 3px; width: 22px; height: 22px; padding: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border: 0; border-radius: 50%; background: rgba(8, 12, 11, .72); color: #fff; cursor: pointer;
}
.photo-kill svg { width: 11px; height: 11px; }
.photo-kill:hover { background: var(--pink); }
@media (hover: hover) and (pointer: fine) { .photo-cam { display: none; } }
.form-status:empty { display: none; }
.form-status { font-size: 14px; font-weight: 700; min-height: 20px; }
.form-status.ok { color: var(--mint); }
.form-status.err { color: var(--pink); }
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.metro-card { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 20px; text-decoration: none; }
.metro-card b { display: block; color: var(--text-strong); font-size: 17px; }
.metro-card span { color: var(--muted); font-size: 13px; }
.metro-card .go { color: var(--mint); font-size: 22px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { border: 1px solid var(--line); background: var(--surface-2); border-radius: 999px; padding: 7px 12px; font-size: 13px; text-decoration: none; color: var(--text); font-weight: 600; }
.chip:hover { border-color: var(--mint); color: var(--mint); }


.photo-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.photo-grid .photo { display: block; aspect-ratio: 1 / 1; border-radius: 14px; overflow: hidden; background: var(--surface-2); border: 1px solid var(--line-soft); cursor: zoom-in; }
.photo-grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.photo-grid .photo:hover img { transform: scale(1.04); }
.photo-grid .photo:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
.photo-grid.has-caps .photo { position: relative; }
.photo-grid .photo-cap { position: absolute; inset: auto 0 0; padding: 22px 10px 8px; font-size: 12.5px; line-height: 1.3; font-weight: 600; color: #fff; background: linear-gradient(to top, rgba(8, 14, 12, .78), rgba(8, 14, 12, 0)); pointer-events: none; }
@media (max-width: 640px) { .photo-grid .photo-cap { display: none; } }
.photo-view { position: fixed; inset: 0; z-index: 90; background: rgba(6, 12, 10, .92); display: flex; align-items: center; justify-content: center; cursor: zoom-out; }
.photo-view[hidden] { display: none; }
.photo-view img { width: 94vw; height: 92vh; object-fit: contain; }
.photo-view button { position: absolute; width: 44px; height: 44px; border-radius: 50%; border: 1px solid rgba(255, 255, 255, .35); background: rgba(0, 0, 0, .45); color: #fff; font: 700 22px/1 "Sora", sans-serif; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.photo-view .photo-close { top: 16px; right: 16px; font-size: 18px; }
.photo-view .photo-nav { top: 50%; transform: translateY(-50%); font-size: 30px; }
.photo-view .prev { left: 14px; } .photo-view .next { right: 14px; }
html.photo-lock { overflow: hidden; }
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.gallery-grid a, .gallery-grid .item { display: block; aspect-ratio: 1 / 1; border-radius: 14px; overflow: hidden; background: var(--surface-2); border: 1px solid var(--line-soft); }
.gallery-grid .item { appearance: none; padding: 0; width: 100%; cursor: zoom-in; color: inherit; font: inherit; }
.gallery-grid .item:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
.gallery-grid img, .gallery-grid video { width: 100%; height: 100%; object-fit: cover; transition: transform .3s; -webkit-user-drag: none; user-select: none; }
.gallery-grid a:hover img, .gallery-grid .item:hover img, .gallery-grid .item:hover video { transform: scale(1.04); }

html.gview-lock { overflow: hidden; }
.gview { position: fixed; inset: 0; z-index: 90; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(6, 10, 9, .6); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility 0s linear .25s; touch-action: none; }
.gview.on { opacity: 1; visibility: visible; transition: opacity .25s ease; }
.gview-card { position: relative; width: min(1100px, 100%); height: min(88vh, 100%); display: flex; flex-direction: column; background: var(--shell); border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 24px 60px rgba(0, 0, 0, .45); overflow: hidden; transform: scale(.96); transition: transform .3s cubic-bezier(.22, .9, .28, 1); }
.gview.on .gview-card { transform: none; }
.gview-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 14px; flex: 0 0 auto; user-select: none; }
.gview-count { font-size: 13px; font-weight: 600; color: var(--muted); letter-spacing: .02em; }
.gview-x { appearance: none; border: 1px solid var(--line); background: var(--surface-2); color: var(--muted); width: 40px; height: 40px; border-radius: 50%; cursor: pointer; padding: 0; display: flex; align-items: center; justify-content: center; transition: .18s; flex: 0 0 auto; }
.gview-x:hover { color: var(--text); border-color: var(--mint); }
.gview-x svg { width: 18px; height: 18px; display: block; }
.gview-body { position: relative; flex: 1 1 auto; min-height: 0; cursor: zoom-out; }
.gview-crop { position: absolute; top: 0; left: 12px; right: 12px; bottom: 12px; display: flex; align-items: center; justify-content: center; border-radius: 12px; }
.gview-body.zoomed .gview-crop, .gview-crop.sliding { overflow: hidden; }
.gview-crop.sliding .gview-pan { position: absolute; inset: 0; }
.gview-pan { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; transform-origin: 50% 50%; will-change: transform; }
.gview-pan.slide { transition: transform .28s cubic-bezier(.22, .61, .36, 1); }
.gview-crop img, .gview-crop video { width: 100%; height: 100%; object-fit: contain; display: block; border-radius: 12px; -webkit-user-drag: none; user-select: none; }
.gview-crop.loading::before { content: ""; position: absolute; left: 50%; top: 50%; width: 36px; height: 36px; margin: -18px 0 0 -18px; border-radius: 50%; border: 3px solid var(--line); border-top-color: var(--mint); animation: gviewSpin .8s linear infinite; z-index: 1; }
@keyframes gviewSpin { to { transform: rotate(360deg); } }
.gview-crop .grow { transition: transform .3s cubic-bezier(.16, 1, .3, 1), opacity .2s ease; }
.gview-body.zoomed { cursor: grab; }
.gview-body.zoomed.grabbing { cursor: grabbing; }
.gview-mag { position: absolute; top: 10px; left: 22px; z-index: 3; pointer-events: none; padding: 4px 9px; border-radius: 999px; font-size: 11.5px; font-weight: 700; color: #fff; background: rgba(6, 12, 11, .62); backdrop-filter: blur(4px); border: 1px solid rgba(255, 255, 255, .18); opacity: 0; transition: opacity .25s ease; }
.gview-mag.on { opacity: 1; }
.gview-nav { position: absolute; top: 50%; transform: translateY(-50%); z-index: 2; appearance: none; border: 1px solid rgba(255, 255, 255, .18); color: #fff; background: rgba(6, 12, 11, .6); backdrop-filter: blur(4px); width: 40px; height: 56px; border-radius: 14px; font-size: 26px; line-height: 1; cursor: pointer; transition: .18s; display: flex; align-items: center; justify-content: center; padding: 0; }
.gview-nav:hover { border-color: var(--mint); color: var(--mint); }
.gview-nav.prev { left: 8px; }
.gview-nav.next { right: 8px; }
.gview.alone .gview-nav { display: none; }
.gview-seek::before { content: ""; position: absolute; left: -16px; right: -16px; top: -26px; bottom: -16px; background: linear-gradient(to top, rgba(3, 7, 6, .78), rgba(3, 7, 6, 0)); pointer-events: none; }
.gview-seek { position: absolute; left: 16px; right: 16px; bottom: 8px; display: flex; align-items: center; gap: 9px; cursor: default; padding: 11px 0; touch-action: none; z-index: 2; }
.gview-seek-line { position: relative; z-index: 1; flex: 1 1 auto; height: 4px; border-radius: 2px; background: rgba(255, 255, 255, .22); cursor: pointer; }
.gview-seek-fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0; border-radius: 2px; background: var(--mint); }
.gview-seek-knob { position: absolute; top: 50%; width: 13px; height: 13px; margin: -6.5px 0 0 -6.5px; border-radius: 50%; background: var(--mint); box-shadow: 0 1px 5px rgba(0, 0, 0, .5); transition: transform .12s; }
.gview-seek.drag .gview-seek-knob { transform: scale(1.25); }
.gview-seek-time { position: relative; z-index: 1; font-size: 11px; font-weight: 700; color: #d9e2dd; font-variant-numeric: tabular-nums; white-space: nowrap; user-select: none; }
@media (prefers-reduced-motion: reduce) { .gview, .gview-card, .gview-pan.slide, .gview-crop .grow { transition: none; } .gview-crop.loading::before { animation: none; } }
.gallery-toggle .chev { width: 16px; height: 16px; transition: transform .25s ease; }
.gallery-toggle[aria-expanded="true"] .chev { transform: rotate(180deg); }
.gallery-grid .item.more.reveal { animation: galReveal .35s ease both; }
@keyframes galReveal { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .gallery-grid .item.more.reveal { animation: none; } .gallery-toggle .chev { transition: none; } }

.faq details { border-bottom: 1px solid var(--line-soft); padding: 14px 0; }
.faq summary { cursor: pointer; font-weight: 700; color: var(--text-strong); list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--mint); font-size: 22px; font-weight: 400; }
.faq details[open] summary::after { content: "–"; }
.faq .a { color: var(--muted); padding-top: 8px; }
.faq-open { border-top: 1px solid var(--line-soft); }
.home #faq .section-head p { font-size: 16px; }
.ph-a { color: var(--mint); font-weight: 700; white-space: nowrap; text-decoration: none; }
.ph-a:hover { text-decoration: underline; }
@media (min-width: 1100px) {
  .home #faq .faq-side { display: grid; grid-template-columns: 360px minmax(0, 1fr); column-gap: 64px; align-items: center; }
  .home #faq .faq-side > .section-head { max-width: none; margin: 0; text-align: left; }
}

.cta-band { background: linear-gradient(135deg, var(--mint-dim), var(--screen)); border: 1px solid var(--mint-line); border-radius: 28px; padding: clamp(28px, 5vw, 56px); text-align: center; }
[data-theme="light"] .cta-band { background: linear-gradient(135deg, var(--mint-dim), #ffffff); }
.cta-band h2 { margin-bottom: 8px; }
.cta-band p { color: var(--muted); }
.cta-band .cta { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-top: 18px; }
.home #final .cta-band {
  max-width: 880px; margin-inline: auto;
  padding: clamp(24px, calc(24px + 16 * (100vw - 390px) / 890), 40px) clamp(22px, calc(22px + 26 * (100vw - 390px) / 890), 48px);
}
.home #final .cta-band h2 { font-size: clamp(24px, calc(24px + 8 * (100vw - 390px) / 890), 32px); }
.tvp-body {
  column-count: 2; column-gap: 44px; column-rule: 1px solid var(--line-soft);
  padding: 26px 30px 12px; border: 1px solid var(--line-soft); border-radius: 18px;
  background: linear-gradient(180deg, var(--shell) 0%, var(--shell-2) 100%); box-shadow: var(--shadow-soft); text-align: left;
}
.tvp-grp { break-inside: avoid; padding-bottom: 18px; }
.tvp-grp h3 { margin: 0 0 2px; font-size: 1rem; line-height: 1.3; color: var(--text-strong); }
.tvp-note { margin: 2px 0 10px; color: var(--muted); font-size: 12.5px; line-height: 1.4; }
.tvp-grp ul { list-style: none; margin: 0; padding: 0; }
.tvp-grp li { display: flex; align-items: baseline; gap: 10px; padding: 5px 0; font-size: 14px; line-height: 1.35; color: var(--text); }
.tvp-ld { flex: 1 1 auto; min-width: 8px; border-bottom: 2px dotted var(--line); transform: translateY(-4px); }
.tvp-grp li b { flex: 0 0 auto; color: var(--mint); font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tvp-grp li b small { font-size: 12px; font-weight: 500; color: var(--muted); }
@media (max-width: 640px) {
  .tvp-body {
    position: relative; display: flex; gap: 12px; column-count: auto; column-rule: none;
    margin: -12px -16px -26px; padding: 12px 16px 34px; overflow-x: auto; scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain; scrollbar-width: none; border: 0; border-radius: 0; background: none; box-shadow: none;
  }
  .tvp-body::-webkit-scrollbar { display: none; }
  .tvp-grp {
    flex: 0 0 84%; scroll-snap-align: center; padding: 16px 16px 12px; border: 1px solid var(--line-soft); border-radius: 18px;
    background: linear-gradient(180deg, var(--shell) 0%, var(--shell-2) 100%); box-shadow: var(--shadow-soft);
  }
  .tvp-grp li { padding: 7px 0; border-top: 1px dashed var(--line-soft); }
  .tvp-grp li:first-child { border-top: 0; }
  .tvp-ld { border-bottom: 0; }
  .rev-dots.tvp-dots { gap: 6px; margin-top: 6px; }
  .rev-dots.tvp-dots i { width: 6px; height: 6px; border-radius: 3px; background: var(--line); opacity: 1; transition: width .2s, background-color .2s; }
  .rev-dots.tvp-dots i.on { width: 18px; background: var(--mint); }
}
.home > #prices .tvm, .home > #prices .tvm-link { display: none; }
@media (min-width: 960px) {
  .home > #prices .tvm { display: block; }
  .home > #prices .tvp-body, .home > #prices .tvp-dots { display: none; }
  .home > #prices > .wrap > .section-head {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
    clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
  }
  .home > #prices.section { --gap: 72px; --hr-on: 0; --room-t: 50px; }
  .home > #prices > .wrap { position: relative; }
  .home > #prices .tvm-link {
    display: block; position: absolute; left: 50%; top: -36px; width: 42px; height: 6px; transform: translate(-50%, -50%);
    background: radial-gradient(circle, var(--line) 2px, transparent 2.5px) center / 14px 6px repeat-x; pointer-events: none;
  }
}
#prices .tvm {
  --tm-ink: var(--text-strong); --tm-text: var(--text); --tm-mute: var(--muted); --tm-line: var(--line);
  position: relative; width: min(1120px, 100%); margin: 0 auto; border-radius: 28px; text-align: left; color: var(--tm-text);
}
#prices .tvm .tvm-page {
  position: relative; isolation: isolate; border-radius: 28px; padding: 38px 50px;
  background: var(--shell-2);
  box-shadow: 0 0 0 1px var(--line-soft);
}
#prices .tvm .tvm-cols { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 51px; }
#prices .tvm .tvm-col { min-width: 0; }
#prices .tvm .tvm-grp { padding: 0 0 28px; }
#prices .tvm .tvm-grp:last-of-type { padding-bottom: 0; }
#prices .tvm .tvm-ic { display: grid; place-items: center; width: 34px; height: 34px; margin: 0 auto 8px; color: var(--mint); }
#prices .tvm .tvm-ic svg { width: 28px; height: 28px; }
#prices .tvm .tvm-gt {
  display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0 0 6px; color: var(--tm-ink);
  font-family: "Sora", "Sora Fallback", system-ui, sans-serif; font-size: 12.5px; font-weight: 700; line-height: 1.25;
  letter-spacing: .14em; text-transform: uppercase; text-align: center;
}
#prices .tvm .tvm-gt::before, #prices .tvm .tvm-gt::after { content: ""; flex: 1 1 18px; height: 1px; background: var(--tm-line); }
#prices .tvm .tvm-gt span { flex: 0 1 auto; }
#prices .tvm .tvm-gd {
  margin: 0 0 10px; color: var(--tm-mute); text-align: center;
  font-family: "Newsreader Quote", "Newsreader", Georgia, serif; font-style: italic; font-weight: 400; font-size: 14.5px; line-height: 1.35;
}
#prices .tvm ul { list-style: none; margin: 0; padding: 0; }
#prices .tvm li {
  display: flex; align-items: baseline; gap: 8px; padding: 6px 0; color: var(--tm-text);
  font-family: "Newsreader", Georgia, serif; font-weight: 400; font-size: 16px; line-height: 1.35;
}
#prices .tvm .tvm-it { flex: 0 1 auto; min-width: 0; }
#prices .tvm .tvm-ld {
  position: relative; top: -.06em; flex: 1 1 auto; align-self: baseline; min-width: 14px; height: 4px;
  background: radial-gradient(circle, var(--tm-line) 1.1px, transparent 1.5px) left bottom / 7px 4px repeat-x;
}
#prices .tvm .tvm-pr {
  flex: 0 0 auto; white-space: nowrap; color: var(--mint); font-family: "Sora", "Sora Fallback", system-ui, sans-serif;
  font-weight: 800; font-variant-numeric: tabular-nums lining-nums;
}
#prices .tvm .tvm-pr small {
  color: var(--tm-mute); font-family: "Newsreader Quote", "Newsreader", Georgia, serif; font-style: italic; font-weight: 400; font-size: .95em;
}
#prices .tvm .tvm-col.has-end { display: flex; flex-direction: column; gap: 28px; }
#prices .tvm .tvm-end { margin-top: auto; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; text-align: right; }
#prices .tvm .tvm-ft {
  position: relative; z-index: 1; margin: 0; color: var(--tm-mute);
  font-family: "Newsreader Quote", "Newsreader", Georgia, serif; font-style: italic; font-weight: 400; font-size: 16px;
}
#prices .tvm .tvm-btn {
  border: 1.5px solid var(--mint); border-radius: 999px; padding: 12px 24px; background: var(--mint); color: var(--mint-ink);
  font-family: "Sora", "Sora Fallback", system-ui, sans-serif; font-size: 15px; font-weight: 700; letter-spacing: .02em; box-shadow: none;
}
#prices .tvm .tvm-btn:hover { filter: brightness(1.06); }
#prices .tvm .tvm-btn:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; }
.home > #faq > .wrap { max-width: 820px; }
@media (min-width: 1100px) {
  .home > #promise > .wrap, .home > #services > .wrap, .home > #prices > .wrap,
  .home > #mounts > .wrap, .home > #reviews > .wrap, .home > #about > .wrap, .home > #faq > .wrap,
  .home > #final > .wrap { width: min(1120px, 100% - 32px); max-width: none; }
  .home #services .service-grid { max-width: none; }
  .home #final .cta-band {
    max-width: none; display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 40px; align-items: center; text-align: left;
  }
  .home #final .cta-band > h2 { grid-column: 1; margin-bottom: 6px; }
  .home #final .cta-band > p { grid-column: 1; max-width: 62ch; }
  .home #final .cta-band > .cta { grid-column: 2; grid-row: 1 / span 2; margin: 0; justify-content: flex-end; flex-wrap: nowrap; }
  .home #about .ab-quote { max-width: none; }
  .home #about .ab-quote blockquote { font-size: 27px; }
}
.ab-quote { position: relative; max-width: 880px; margin: 0 auto; padding: 36px 48px; border-radius: 24px; background: var(--surface-2); text-align: left; }
.ab-mark { position: absolute; top: 6.8px; left: 8.4px; display: block; width: 40px; height: calc(40px * 34 / 44); margin: 0;
  color: var(--text-strong); opacity: .14; pointer-events: none; }
.ab-quote blockquote {
  position: relative; margin: 0; font-family: "Newsreader Quote", "Newsreader", Georgia, "Times New Roman", serif; font-style: italic; font-weight: 400;
  font-size: 25px; line-height: 1.42; color: var(--text-strong); text-wrap: pretty;
}
.ab-quote figcaption { position: relative; display: flex; align-items: center; justify-content: flex-start; gap: 10px; margin-top: 18px; color: var(--muted); font-size: 15px; text-align: left; }
.ab-quote figcaption b { color: var(--text-strong); }
.ab-ava {
  width: 38px; height: 38px; border-radius: 50%; flex: 0 0 auto; display: grid; place-items: center; overflow: hidden;
  background: var(--mint-soft); border: 1px solid var(--mint-line); color: var(--mint);
}
.ab-photo { background: linear-gradient(135deg, #2a3330, #1d2422); border-color: var(--line-soft); color: #4c5f58; object-fit: cover; }
[data-theme="light"] .ab-photo { background: linear-gradient(135deg, #dfe6da, #b9c9b5); color: #8ea88c; }
.ab-photo svg { display: block; width: 100%; height: 100%; }
.ab-lk { color: var(--mint); font-weight: 700; text-decoration: none; white-space: nowrap; }
.ab-lk:hover { text-decoration: underline; }
@media (max-width: 640px) {
  .ab-quote { padding: 16px 18px; text-align: center; }
  .ab-mark { top: .8px; left: 50%; width: 35px; height: calc(35px * 34 / 44); transform: translateX(-50%); }
  .ab-quote blockquote { font-size: 20px; text-wrap: balance; }
  .ab-quote figcaption { justify-content: center; margin-top: 20px; font-size: 14px; }
  .ab-quote .ab-ava { width: 41px; height: 41px; }
  .ab-lkw { display: block; }
  .ab-dot { display: none; }
  .ab-quote figcaption > span:last-child { text-align: left; }
}
.quote-duo { display: grid; grid-template-columns: minmax(0, 1fr); }
.quote-calc .calc-frame { max-width: 660px; }
.quote-contact { padding-bottom: 64px; }
.quote-contact .contact-card { max-width: 560px; }
.quote-contact .contact-card h3 { font-size: 1.1rem; margin-bottom: .35em; }
.quote-contact .contact-card > .muted { font-size: 14.5px; line-height: 1.5; }
.quote-contact .field textarea { min-height: 76px; }
.quote-or { display: flex; align-items: center; gap: 14px; width: min(560px, 100%); margin: -34px auto 26px; }
.quote-or::before, .quote-or::after { content: ""; flex: 1 1 auto; height: 1px; }
.quote-or::before { background: linear-gradient(90deg, transparent, var(--line)); }
.quote-or::after { background: linear-gradient(90deg, var(--line), transparent); }
.quote-or span {
  flex: 0 0 auto; font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; line-height: 1;
  color: var(--muted); background: var(--bg); border: 1px solid var(--line); border-radius: 999px; padding: 7px 11px;
}
@media (min-width: 1100px) {
  .quote-duo { grid-template-columns: 560px minmax(80px, 1fr) minmax(0, 460px); align-items: start; }
  .quote-calc .calc-frame { max-width: none; margin: -34px -50px 0; }
  .quote-contact { padding-top: 6px; }
  .quote-contact .contact-card { max-width: none; margin: 0; }
  .quote-or { align-self: stretch; flex-direction: column; width: auto; margin: 0; padding: 6px 0 64px; }
  .quote-or::before, .quote-or::after { width: 1px; height: auto; }
  .quote-or::before { background: linear-gradient(180deg, transparent, var(--line)); }
  .quote-or::after { background: linear-gradient(180deg, var(--line), transparent); }
}

.price-list { margin-top: clamp(4px, 2vw, 20px); text-align: center; }
.price-list h2 { margin-bottom: 8px; }
.price-list > .muted { max-width: 720px; margin: 0 auto; }
.price-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; margin: 26px 0 0; text-align: left; }
.price-card { padding: 18px 18px 14px; border-radius: 18px; }
.price-card h3 { font-size: 1rem; margin-bottom: 2px; color: var(--text-strong); }
.price-card .price-note { color: var(--muted); font-size: 12.5px; margin: 0 0 10px; line-height: 1.4; min-height: 2.8em; }
.price-card ul { list-style: none; margin: 0; padding: 0; }
.price-card li { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 7px 0; border-top: 1px dashed var(--line-soft); font-size: 14px; color: var(--text); }
.price-card li:first-child { border-top: 0; }
.price-card li b { flex: 0 0 auto; color: var(--mint); font-weight: 800; font-variant-numeric: tabular-nums; white-space: nowrap; }
.price-card li b i { font-style: normal; font-weight: 500; font-size: 12px; color: var(--muted); }
.price-foot { color: var(--muted); font-size: 13px; margin: 14px 0 0; }

.footer {
  position: relative; isolation: isolate; color-scheme: dark;
  --bg: #1e2429; --fld: #2f3439; --surface-2: var(--fld); --shell: var(--fld); --shell-2: var(--fld); --ios-fill: var(--fld);
  --text: #e9f1ee; --text-strong: #ffffff; --muted: rgba(233, 241, 238, .74);
  --line: rgba(255, 255, 255, .14); --line-soft: rgba(255, 255, 255, .09);
  --mint: #37e6b0; --mint-ink: #07130f; --mint-soft: rgba(55, 230, 176, .12); --mint-line: rgba(55, 230, 176, .38);
  color: var(--muted); font-size: 14px;
}
[data-theme="dark"] .footer { --bg: #090b0c; --fld: #1b1d1e; }
.footer > .ft-in { position: relative; isolation: isolate; padding: 70px 0 34px; background: var(--bg); }
.footer::after {
  content: ""; position: absolute; inset: 0; z-index: 2; pointer-events: none;
  box-shadow: inset 0 18px 36px -18px rgba(0, 0, 0, .6);
}
.ft-in > .ft-tex {
  position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .55; mix-blend-mode: luminosity;
  background: 0 0 / 512px auto repeat;
}
.footer.ft-tex-on > .ft-in > .ft-tex { background-image: url("/static/img/footer/texture.webp?v=f27807130d"); }
.ft-in > .ft-glow {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background: radial-gradient(ellipse 55% 95% at 0% 0%, rgba(55, 230, 176, .11) 0%, transparent 72%);
}
.footer.ft-reveal { height: var(--ft-h); clip-path: inset(0); }
.footer.ft-reveal > .ft-in { position: fixed; bottom: 0; left: env(safe-area-inset-left, 0px); right: env(safe-area-inset-right, 0px); }
@media (prefers-reduced-motion: no-preference) {
  @supports ((animation-timeline: view()) and (animation-range: entry)) {
    .footer.ft-reveal { view-timeline: --ft-open block; }
    .footer.ft-reveal::before {
      content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: #000;
      animation: ft-dim auto linear both; animation-timeline: --ft-open; animation-range: entry 0% entry 100%;
    }
    .footer.ft-reveal > .ft-in > .wrap {
      animation: ft-rise auto linear both; animation-timeline: --ft-open; animation-range: entry 0% entry 100%;
    }
  }
}
@keyframes ft-dim { from { opacity: .5; } to { opacity: 0; } }
@keyframes ft-rise { from { translate: 0 56px; scale: .97; opacity: .35; } }
.footer .field :is(input, textarea) { color: var(--text); }
.footer .field input::placeholder { color: rgba(233, 241, 238, .42); }
[data-theme] .footer .logo .micro-light, [data-theme] .footer .logo .micro-q-light { display: none; }
[data-theme] .footer .logo .micro-dark { display: block; }
@media (max-width: 640px) {
  [data-theme] .footer .logo .micro-dark { display: none; }
  [data-theme] .footer .logo .micro-q-dark { display: block; }
}
.footer-grid { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1.5fr; gap: 28px; }
.footer h4 { color: var(--text-strong); font-size: 13px; letter-spacing: .1em; text-transform: uppercase; margin-bottom: 12px; }
.footer a { text-decoration: none; display: block; padding: 3px 0; }
.footer a:hover { color: var(--mint); }
.footer .bottom { border-top: 1px solid var(--line-soft); margin-top: 28px; padding-top: 18px; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 13px; }
.footer .bottom .legal-link { display: inline; margin-left: 14px; }

.page-faq { max-width: 820px; margin: clamp(40px, 6vw, 64px) auto 0; }
.page-faq h2 { font-size: clamp(1.4rem, 2.5vw, 1.8rem); margin: 0 0 16px; text-align: center; }

.legal-date { color: var(--muted); font-size: 14px; margin-top: 10px; }
.legal { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: clamp(24px, 4vw, 48px); align-items: start; }
.legal-toc { position: sticky; top: 96px; padding: 18px 20px; font-size: 14px; }
.legal-toc ol { margin: 10px 0 0; padding-left: 20px; }
.legal-toc li { margin: 5px 0; }
.legal-toc a { color: var(--muted); text-decoration: none; }
.legal-toc a:hover { color: var(--mint); }
.legal-body { max-width: 760px; }
.legal-body h2 { font-size: 1.3rem; margin: 32px 0 10px; scroll-margin-top: 96px; }
.legal-body h2:first-child { margin-top: 0; }
.legal-body ul { padding-left: 22px; }
.legal-body li { margin: 6px 0; }
.legal-contact { list-style: none; padding: 16px 0 0 !important; margin-top: 28px; border-top: 1px solid var(--line-soft); }
@media (max-width: 900px) {
  .legal { grid-template-columns: 1fr; }
  .legal-toc { position: static; }
}

.e404-head .cta { margin-top: 22px; }
.e404-sub { font-size: clamp(1.3rem, 2.4vw, 1.6rem); margin: 0 0 16px; }
.e404-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.e404-grid .card { padding: 20px 22px; }
.e404-grid h3 { margin: 0 0 10px; font-size: 1.05rem; }
.e404-grid a { display: block; padding: 4px 0; text-decoration: none; }
.e404-grid a:hover { color: var(--mint); }

.float {
  position: fixed; right: calc(18px + env(safe-area-inset-right, 0px)); bottom: calc(18px + env(safe-area-inset-bottom, 0px)); z-index: 40; width: 250px;
  background: var(--shell); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); padding: 14px;
  transform-origin: 100% 100%;
  transition: opacity .26s ease, transform .52s cubic-bezier(.2, 1.3, .36, 1), visibility 0s;
}
.float.hidden {
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translate(8px, 18px) scale(.9);
  transition: opacity .2s ease-in, transform .24s cubic-bezier(.5, 0, .75, .3), visibility 0s .24s;
}
.float > * { transition: opacity .3s ease, transform .42s cubic-bezier(.22, .61, .36, 1); }
.float > :nth-child(2) { transition-delay: .07s; }
.float > :nth-child(3) { transition-delay: .11s; }
.float > :nth-child(4) { transition-delay: .15s; }
.float > :nth-child(5) { transition-delay: .19s; }
.float.hidden > * { opacity: 0; transform: translateY(6px); transition: opacity .12s ease-in, transform .2s ease-in; }
.float.morphed { opacity: 0; pointer-events: none; transition: opacity .1s ease; }
.float.snap, .float.snap > * { transition: none !important; }
.float.float-cover { position: absolute; z-index: 3; left: -1px; top: -1px; right: auto; bottom: auto; margin: 0;
  transform: none; visibility: visible; opacity: 1; pointer-events: none; transition: opacity .16s ease; }
.float.float-cover > * { transition: none; opacity: 1; transform: none; }
.float-grip { display: none; }
.float b { display: block; color: var(--text-strong); }
.float small { color: var(--muted); display: block; margin-bottom: 10px; white-space: nowrap; }
.float .btn { width: 100%; margin-top: 6px; }
.float .close { position: absolute; top: 8px; right: 10px; background: none; border: none; color: var(--muted); cursor: pointer; font-size: 18px; }
@media (prefers-reduced-motion: reduce) {
  :root .float, :root .float.hidden, :root .float > *, :root .float.hidden > * { transition: none; }
}

.page-head { padding: clamp(36px, 6vw, 64px) 0 12px; }
.breadcrumbs { font-size: 13px; color: var(--muted); margin-bottom: 12px; }
.breadcrumbs a { text-decoration: none; }
.breadcrumbs a:hover { color: var(--mint); }
.prose { max-width: 760px; font-size: 1.05rem; }
.prose p { color: var(--text); }
.skeleton-note { border: 1px dashed var(--line); border-radius: 14px; padding: 14px 16px; color: var(--muted); font-size: 14px; }

.region-trust { display: flex; flex-wrap: wrap; gap: 10px 22px; color: var(--muted); font-size: 14px; }
.region-trust b { color: var(--text-strong); }
.region-trust .stars { color: var(--star); letter-spacing: 1px; }

p.price-sum {
  max-width: 560px; margin: 2px 0 20px; padding: 11px 15px 12px;
  font-size: 14.5px; line-height: 1.6; color: var(--text);
  background: color-mix(in srgb, var(--surface-2) 72%, transparent);
  border: 1px solid var(--line-soft); border-left: 3px solid var(--mint); border-radius: 12px;
  text-wrap: pretty;
}
h1 + p.price-sum { margin: 6px 0 16px; }
p.price-sum b, p.price-sum strong { color: var(--text-strong); font-weight: 700; }
@media (max-width: 640px) { p.price-sum { font-size: 14px; padding: 10px 13px 11px; margin-bottom: 18px; } }

.region-facts { position: sticky; top: 88px; }
.region-facts h3 { margin-bottom: 12px; }
.fact-list { display: grid; grid-template-columns: auto 1fr; gap: 8px 14px; margin: 0 0 18px; font-size: 14px; }
.fact-list dt { color: var(--muted); font-weight: 600; }
.fact-list dd { margin: 0; color: var(--text-strong); }


.county-list { list-style: none; margin: 0; padding: 0; }
.county-list li { padding: 8px 0 8px 22px; position: relative; border-top: 1px dashed var(--line-soft); font-size: 14.5px; }
.county-list li:first-child { border-top: 0; }
.county-list li::before { content: ""; position: absolute; left: 4px; top: 50%; width: 7px; height: 7px; margin-top: -3.5px; border-radius: 50%; background: var(--mint); }

.hoa-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.hoa-list li { display: flex; gap: 12px; align-items: flex-start; font-size: 14.5px; color: var(--text); }
.hoa-list svg { width: 20px; height: 20px; flex: 0 0 auto; color: var(--mint); margin-top: 1px; }

.loc-rev { display: flex; flex-direction: column; gap: 10px; }
.loc-rev-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.loc-rev-head .stars { color: var(--star); letter-spacing: 1px; }
.loc-rev-text { margin: 0; font-size: 15px; line-height: 1.6; }
.loc-rev-meta { display: grid; gap: 3px; margin-top: auto; padding-top: 10px; border-top: 1px dashed var(--line-soft); font-size: 13px; color: var(--muted); }
.loc-rev-who b { color: var(--text-strong); font-size: 14px; }
.loc-rev-city { font-weight: 700; color: var(--mint); }
.loc-rev-foot { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 14px; }
.loc-rev-price { font-weight: 800; color: var(--text-strong); font-variant-numeric: tabular-nums; }

.region-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 28px; justify-content: center; font-size: 14px; }
.chip-lg { padding: 10px 16px; font-size: 14.5px; font-weight: 700; }

@media (max-width: 1060px) {
  .region-facts { position: static; }
}
@media (max-width: 640px) {
  .region-trust { gap: 8px 16px; font-size: 13px; }
  .fact-list { grid-template-columns: 1fr; gap: 2px; }
  .fact-list dt { margin-top: 8px; }
  .fact-list dd { margin-bottom: 2px; }
}

.mt { display: grid; grid-template-columns: 300px min(580px, calc(100% - 318px));
  grid-template-areas: "pick stage" ". info"; justify-content: center; gap: 18px; align-items: start; }
.mt-pick { grid-area: pick; align-self: stretch; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.mt-stage { --mt-r: 20px; grid-area: stage; align-self: stretch; position: relative; aspect-ratio: 16 / 11; border: 1px solid var(--line-soft); border-radius: var(--mt-r); overflow: hidden;
  background: var(--surface-2); box-shadow: var(--shadow-soft); isolation: isolate; touch-action: pan-y; }
.mt-info { grid-area: info; min-width: 0; display: grid; gap: 10px; padding: 4px 4px 0; }
.mt-info[hidden] { display: none; }
.mt-opt { appearance: none; flex: 1 1 0; display: flex; align-items: center; gap: 10px; padding: 11px 13px; border: 1px solid var(--line-soft); border-radius: 16px;
  background: var(--shell); color: var(--text); text-align: left; cursor: pointer; font: inherit; transition: border-color .2s, box-shadow .2s; }
.mt-opt:hover { border-color: var(--mint-line); }
.mt-opt.on { border-color: var(--mint); box-shadow: 0 0 0 1px var(--mint) inset, var(--shadow-soft); }
.mt-opt:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
.mt-opt .ico { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: var(--mint-soft); color: var(--mint); transition: background .2s, color .2s; }
.mt-opt .ico svg { width: 26px; height: 26px; }
.mt-opt.on .ico { background: var(--mint); color: var(--shell); }
.mt-opt .tx { display: flex; flex-direction: column; min-width: 0; gap: 1px; }
.mt-opt b { font-size: 15px; font-weight: 700; color: var(--text-strong); line-height: 1.25; }
.mt-opt small { font-size: 12.5px; color: var(--muted); line-height: 1.3; }
.mt-opt .pr { margin-left: auto; font-size: 13px; font-weight: 700; color: var(--mint); white-space: nowrap; }
.mt-opt .pr.q { white-space: normal; max-width: 4.9em; text-align: right; line-height: 1.2; text-wrap: balance; }
.mt-opt .tab { display: none; }
.mt-stage canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; cursor: grab;
  border-radius: calc(var(--mt-r) - 1px); clip-path: inset(0 round calc(var(--mt-r) - 1px)); }
.mt-stage canvas:active { cursor: grabbing; }
.mt-stage:not(.ready)::after { content: ""; position: absolute; left: 50%; top: 50%; width: 30px; height: 30px; margin: -15px 0 0 -15px; border-radius: 50%;
  border: 2.5px solid var(--line-soft); border-top-color: var(--mint); animation: mt-spin .9s linear infinite; }
.mt-stage.no3d::after { display: none; }
@keyframes mt-spin { to { transform: rotate(360deg); } }
.mt-nogl { position: absolute; inset: 0; display: grid; place-items: center; margin: 0; padding: 20px; text-align: center; color: var(--muted); font-size: 14px; }
.mt-hud { position: absolute; left: 14px; top: 14px; z-index: 1; display: flex; flex-wrap: wrap; gap: 6px; max-width: calc(100% - 28px); pointer-events: none; }
.mt-chip { display: inline-flex; align-items: baseline; gap: 6px; padding: 6px 10px; border-radius: 999px; background: color-mix(in srgb, var(--shell) 92%, transparent);
  border: 1px solid var(--line-soft); font-size: 12.5px; line-height: 1; color: var(--text-strong); font-weight: 700; font-variant-numeric: tabular-nums; box-shadow: 0 2px 8px rgba(0, 0, 0, .08); }
.mt-chip i { font-style: normal; font-weight: 500; color: var(--muted); }
.mt-chip b { display: inline-block; font-weight: inherit; text-align: right; }
.mt-chip-probe { position: absolute; left: 0; top: 0; visibility: hidden; pointer-events: none; }
.mt-tip { position: absolute; right: 14px; top: 14px; z-index: 1; padding: 5px 10px; border-radius: 999px; background: color-mix(in srgb, var(--shell) 85%, transparent);
  font-size: 11.5px; color: var(--muted); pointer-events: none; opacity: 0; transition: opacity .4s; }
.mt-stage.ready .mt-tip { opacity: 1; }
.mt-views { position: absolute; right: 12px; bottom: 12px; z-index: 1; display: inline-flex; gap: 2px; padding: 3px; border-radius: 999px;
  background: color-mix(in srgb, var(--shell) 92%, transparent); border: 1px solid var(--line-soft); box-shadow: 0 2px 8px rgba(0, 0, 0, .08);
  opacity: 0; visibility: hidden; transition: opacity .4s, visibility .4s; }
.mt-stage.ready:not(.no3d) .mt-views { opacity: 1; visibility: visible; }
.mt-views button { border: 0; background: none; padding: 6px 11px; border-radius: 999px; font: inherit; font-size: 12px; font-weight: 600; line-height: 1.2; color: var(--muted); cursor: pointer; }
.mt-views button:hover { color: var(--text-strong); }
.mt-views button.on { background: var(--mint-soft); color: var(--mint); }
.mt-views button:focus-visible { outline: 2px solid var(--mint); outline-offset: 1px; }
.mt-info-head { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
.mt-info h3 { margin: 0; font-size: 1.3rem; }
.mt-price { font-size: 13px; color: var(--muted); white-space: nowrap; }
.mt-price b { margin-left: 4px; font-size: 1.15rem; font-weight: 800; color: var(--mint); }
.mt-price b:only-child { margin-left: 0; }
.mt-specs { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.mt-specs li { display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border-radius: 999px; background: var(--surface-2); border: 1px solid var(--line-soft);
  font-size: 13px; font-weight: 600; color: var(--text-strong); }
.mt-specs svg { width: 14px; height: 14px; flex: 0 0 auto; color: var(--mint); }
.mt-info .btn { justify-self: start; margin-top: 4px; }
.mt-live { display: none; grid-area: live; margin-top: 14px; padding: 9px 12px 4px; border-radius: 12px; background: var(--surface-2); }
.mt-livecap { display: flex; align-items: center; gap: 7px; margin-bottom: 3px; font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; color: var(--muted); }
.mt-livecap i { position: relative; width: 7px; height: 7px; border-radius: 50%; background: var(--mint); }
.mt-livecap i::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: color-mix(in srgb, var(--mint) 50%, transparent); opacity: 0; animation: mt-live 2s ease-in-out infinite; }
@keyframes mt-live { 0%, 100% { transform: none; opacity: 1; } 60% { transform: scale(2.7142857); opacity: 0; } }
.mt-live .mt-hud { position: static; display: grid; gap: 0; max-width: none; }
.mt-live .mt-chip { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 7px 0; border: 0; border-top: 1px solid var(--line-soft);
  border-radius: 0; background: none; box-shadow: none; font-size: 13.5px; }
.mt-live .mt-chip:first-child { border-top: 0; }
@media (max-width: 1000px) {
  .mt { grid-template-columns: minmax(0, 1fr); grid-template-areas: "pick" "stage" "info"; justify-content: stretch; }
  .mt-stage { aspect-ratio: 16 / 10; }
  .mt-pick { display: grid; grid-template-columns: repeat(var(--mt-n, 5), minmax(0, 1fr)); }
  .mt-opt { flex-direction: column; gap: 8px; padding: 12px 8px; text-align: center; }
  .mt-opt .tx { align-items: center; }
  .mt-opt small { display: none; }
  .mt-opt .pr { margin: 0; padding: 0; }
  .mt-opt .pr.q { max-width: none; text-align: center; }
}
@media (max-width: 640px) {
  .mt { gap: 14px; }
  .mt-stage { --mt-r: 18px; aspect-ratio: 16 / 13; }
  .mt-pick { position: relative; display: grid; grid-template-columns: repeat(var(--mt-n, 5), minmax(0, 1fr)); gap: 2px; padding: 3px;
    background: var(--surface-2); border: 1px solid var(--line-soft); border-radius: 17px; }
  .mt-pick::before { content: ""; position: absolute; top: 3px; bottom: 3px; left: 3px;
    width: calc((100% - 6px - (var(--mt-n, 5) - 1) * 2px) / var(--mt-n, 5));
    transform: translateX(calc(var(--mt-i, 0) * (100% + 2px)));
    border-radius: 14px; background: var(--mint-soft); box-shadow: inset 0 0 0 1.5px var(--mint);
    transition: transform .34s cubic-bezier(.3, .7, .25, 1); pointer-events: none; }
  .mt-opt { position: relative; z-index: 1; flex-direction: column; justify-content: center; gap: 3px; height: 50px; min-width: 0; padding: 0 1px;
    border: 0; border-radius: 14px; background: none; color: var(--muted); text-align: center; -webkit-tap-highlight-color: transparent; transition: color .22s; }
  .mt-opt.on { box-shadow: none; color: var(--text-strong); }
  .mt-opt:focus-visible { outline-offset: -1px; }
  .mt-opt .ico, .mt-opt.on .ico { width: auto; height: auto; border-radius: 0; background: none; color: inherit; }
  .mt-opt.on .ico { color: var(--mint); }
  .mt-opt .ico svg { width: 20px; height: 20px; }
  .mt-opt .tab { display: block; max-width: 100%; font-size: 10.5px; font-weight: 700; line-height: 1.15; letter-spacing: -.005em;
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .mt-opt .tx, .mt-opt .pr { display: block; position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .mt-hud { left: 10px; top: 10px; }
  .mt-chip { padding: 5px 8px; font-size: 11.5px; }
  .mt-tip { display: none; }
  .mt-views { right: 10px; bottom: 10px; }
  .mt-views button { padding: 5px 9px; font-size: 11px; }
  .mt { grid-template-areas: "pick" "stage"; }
  .mt-info, .mt-info[hidden] { display: none; }
}
@media (max-width: 359px) { .mt-opt .tab { font-size: 9.5px; letter-spacing: -.02em; } }
@media (min-width: 1001px) {
  .mt { --mt-gap: 18px; --mt-rad: 22px; grid-template-columns: calc(204 / 1120 * 100%) minmax(0, 1fr) calc(260 / 1120 * 100%);
    grid-template-areas: "pick stage side"; gap: var(--mt-gap); justify-content: stretch; align-items: stretch; }
  .mt-pick { --tp: 4px; --tg: 2px; position: relative; display: grid; grid-template-columns: minmax(0, 1fr);
    grid-template-rows: repeat(var(--mt-n, 5), minmax(0, 1fr)); gap: var(--tg); padding: var(--tp); background: var(--surface-2); border-radius: var(--mt-rad);
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), inset 0 0 0 1px rgba(0, 0, 0, 0.025), 0 1px 0 rgba(255, 255, 255, 0.8); }
  .mt-pick::before { content: ""; position: absolute; left: var(--tp); right: var(--tp); top: var(--tp);
    height: calc((100% - 2 * var(--tp) - (var(--mt-n, 5) - 1) * var(--tg)) / var(--mt-n, 5));
    transform: translateY(calc(var(--mt-i, 0) * (100% + var(--tg))));
    border-radius: calc(var(--mt-rad) - var(--tp)); background: linear-gradient(180deg, var(--ios-thumb), color-mix(in srgb, var(--ios-thumb), #000 3%));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 1), inset 0 -1px 0 rgba(0, 0, 0, 0.06), 0 2px 6px rgba(0, 0, 0, 0.13), 0 1px 1px rgba(0, 0, 0, 0.08), 0 0 0 .5px rgba(0, 0, 0, 0.05);
    transition: transform .32s cubic-bezier(.3, .8, .3, 1), box-shadow 90ms ease; pointer-events: none; }
  [data-theme="dark"] .mt-pick { box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.24), inset 0 0 0 1px rgba(0, 0, 0, 0.06), 0 1px 0 rgba(255, 255, 255, 0.128); }
  [data-theme="dark"] .mt-pick::before { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), inset 0 -1px 0 rgba(0, 0, 0, 0.144), 0 2px 6px rgba(0, 0, 0, 0.312), 0 1px 1px rgba(0, 0, 0, 0.192), 0 0 0 .5px rgba(0, 0, 0, 0.12); }
  .mt-opt { position: relative; z-index: 1; flex: none; gap: 12px; min-width: 0; min-height: 0; padding: 0 14px;
    border: 0; border-radius: calc(var(--mt-rad) - var(--tp)); background: none; color: var(--text); transition: color .2s, background-color .2s; }
  .mt-opt:hover { border-color: transparent; }
  .mt-opt:not(.on):hover { background: color-mix(in srgb, var(--text) 5%, transparent); }
  .mt-opt.on { box-shadow: none; }
  .mt-opt:focus-visible { outline-offset: -2px; }
  .mt-opt .ico, .mt-opt.on .ico { width: auto; height: auto; border-radius: 0; background: none; color: var(--muted); }
  .mt-opt.on .ico { color: var(--mint); }
  .mt-opt .tx { gap: 2px; }
  .mt-opt b { transition: color .2s; }
  .mt-opt:not(.on) b { color: var(--text); }
  .mt-opt small, .mt-opt .pr { display: none; }
  .mt-stage { --mt-r: var(--mt-rad); aspect-ratio: 16 / 9; width: 100%; min-width: 0; }
  .mt-views { display: none; }
  .mt-info { grid-area: side; position: relative; min-height: 0; gap: 0; padding: 4px 4px 4px 8px;
    grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto 1fr auto auto; grid-template-areas: "name" "specs" "." "live" "price"; }
  .mt-info::before { content: ""; position: absolute; top: 4px; bottom: 4px; left: calc(var(--mt-gap) / -2 - .5px); width: 1px; background: var(--line); }
  .mt-info-head { display: contents; }
  .mt-info h3 { grid-area: name; font-size: 22px; line-height: 1.2; letter-spacing: -.01em; color: var(--text-strong); text-wrap: balance; }
  .mt-price { grid-area: price; display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-top: 16px; padding-top: 12px;
    border-top: 1px solid var(--line-soft); font-size: 13px; white-space: normal; }
  .mt-price b, .mt-price b:only-child { margin: 0; font-size: 28px; line-height: 1; font-weight: 800; color: var(--mint); font-variant-numeric: tabular-nums; }
  .mt-price.q b { font-size: 16px; line-height: 1.2; }
  .mt-specs { grid-area: specs; display: grid; gap: 9px; margin-top: 16px; }
  .mt-specs li { display: flex; gap: 10px; padding: 0; border: 0; border-radius: 0; background: none; font-size: 14px; font-weight: 500; }
  .mt-specs svg { width: 24px; height: 24px; padding: 5px; border-radius: 50%; background: var(--mint-soft); }
  .mt-info .btn { display: none; }
  .mt-live:has(.mt-chip) { display: block; }
}
@media (prefers-reduced-motion: reduce) { .mt-stage:not(.ready)::after { animation: none; } .mt-pick::before { transition: none; } .mt-livecap i::before { animation: none; } }
.mt-pick { -webkit-user-select: none; user-select: none; }
.mt-pick.dragging::before { transition: transform 70ms ease-out, box-shadow 90ms ease; }
.mt-pick.dragging, .mt-pick.dragging .mt-opt { cursor: grabbing; }
.mt-pick.dragging .mt-opt:active { transform: none; opacity: 1; }
@media (max-width: 640px) { .mt-pick { touch-action: pan-y; } }
@media (min-width: 1001px) { .mt-opt.on { cursor: grab; touch-action: none; } }
@media (prefers-reduced-motion: reduce) { .mt-pick.dragging::before { transition: none; } }

@media (max-width: 1240px) {
  .nav {
    position: absolute; top: calc(100% + 8px); right: 16px; left: auto;
    display: flex; flex-direction: column; align-items: stretch; gap: 2px; z-index: 60;
    width: min(320px, calc(100vw - 32px));
    max-height: min(72vh, calc(100vh - 100% - 24px)); overflow-y: auto; overscroll-behavior: contain;
    background: var(--shell); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow);
    padding: 8px 8px calc(8px + env(safe-area-inset-bottom, 0px));
    opacity: 0; visibility: hidden; transform: translateX(14px) scale(.98); transform-origin: top right;
    transition: opacity .22s ease, transform .3s cubic-bezier(.22, .61, .36, 1), visibility 0s .3s;
  }
  .nav.open { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
  .nav > a, .nav .menu > button { font-size: 15px; padding: 11px 12px; border-radius: 12px; min-height: 46px; }
  .nav .menu-list {
    position: static; display: none; box-shadow: none; border: none;
    background: transparent; padding: 0 0 4px 10px;
    opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition: none;
  }
  .nav .menu-list::before { display: none; }
  .nav .menu.open .menu-list { display: block; }
  .nav .menu.hover:not(.open) .menu-list, .nav .menu:focus-within:not(.open) .menu-list { display: none; }
  .nav .menu-list a { min-height: 40px; display: flex; align-items: center; font-size: 14px; }
  .nav .menu > button { width: 100%; justify-content: space-between; }
  .burger { display: block; }
}
@media (max-width: 1060px) {
  .price-grid { grid-template-columns: repeat(2, 1fr); }
  .grid-3, .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .estimate-grid { grid-template-columns: 1fr; }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .review-strip { --rev-inset: 32px; --rev-gap: 28px; --rev-min: 120px; }
}
@media (max-width: 640px) {
  .price-grid { grid-template-columns: 1fr; gap: 10px; }
  .price-card .price-note { min-height: 0; }
  .grid-2, .grid-3, .grid-4, .footer-grid { grid-template-columns: 1fr; }
  .review-strip { --rev-inset: 0px; --rev-gap: 8px; --rev-lines: 7; --rev-h: 96px; --rev-min: 84px; }
  .review-strip .card { padding: 12px 10px; font-size: 12px; }
  .review-strip .stars { font-size: 10px; letter-spacing: 0; }
  .review-strip .who { font-size: 11px; gap: 5px; }
  .rev-logo { width: 13px; height: 13px; }
  .rev-logo-word { width: auto; height: 15px; }
  .form-actions > .photo-btn { order: 1; flex: 1 1 130px; justify-content: center; padding: 11px 10px; }
  .form-actions > .photo-count { order: 2; }
  .form-actions > .photo-hint { order: 3; }
  .form-actions > .photo-list { order: 4; }
  .form-actions > button[type=submit] { order: 5; flex: 1 1 100%; }
  .form-actions > .form-status { order: 6; }
  .gallery-grid, .photo-grid { grid-template-columns: repeat(2, 1fr); }
  .gview { padding: 0; }
  .gview-card { width: 100%; height: 100%; border-radius: 0; border: 0; }
  .gview.on { -webkit-backdrop-filter: none; backdrop-filter: none;
    transition: opacity .25s ease, -webkit-backdrop-filter 0s linear .3s, backdrop-filter 0s linear .3s; }
  .choice-grid { grid-template-columns: repeat(2, 1fr); }
  .form .row-2 { grid-template-columns: 1fr; }
  .form .form-extra, .form-actions > .photo-hint { display: none; }
  .contact-card h3 { font-size: 1.1rem; margin-bottom: .35em; }
  .contact-card > .muted { font-size: 14.5px; line-height: 1.5; }
  .form .field textarea { min-height: 76px; }
  .topbar { display: none; }
  .float { left: 0; right: 0; bottom: 0; width: auto; border-radius: 22px 22px 0 0; border-bottom: 0;
    box-shadow: 0 -8px 26px rgba(20, 40, 34, .16); will-change: transform;
    transition: transform .46s cubic-bezier(.32, .72, 0, 1), visibility 0s; }
  .float > *, .float.hidden > * { opacity: 1; transform: none; transition: none; }
  .float.ghost { pointer-events: none; }
  .float.ghost > * { opacity: 0; }
  .float { background: var(--shell); background: color-mix(in srgb, var(--shell) 68%, transparent);
    -webkit-backdrop-filter: blur(16px) saturate(1.5); backdrop-filter: blur(16px) saturate(1.5); }
  [data-theme="dark"] .float { box-shadow: 0 -8px 26px rgba(0, 0, 0, .55); }
  .float.hidden { transform: translateY(calc(100% + 40px)); opacity: 1;
    transition: transform .34s cubic-bezier(.32, .72, 0, 1), visibility 0s .34s; }
  .float { display: flex; align-items: center; gap: 12px; padding: 26px 16px calc(14px + env(safe-area-inset-bottom, 0px)); cursor: pointer;
    touch-action: none; user-select: none; -webkit-user-select: none; -webkit-tap-highlight-color: transparent; }
  .float.pull { transition: none; }
  .float .close, .float small, .float .float-call { display: none; }
  .float b { flex: 1 1 auto; min-width: 0; font-size: 15px; line-height: 1.25; letter-spacing: -.005em; }
  .float .btn { width: auto; flex: 0 0 auto; margin: 0; padding: 10px 13px; font-size: 14px; font-weight: 700; border-radius: 999px;
    background: transparent; color: var(--mint); border: 1.5px solid var(--mint); box-shadow: none; }
  .float .btn:hover { box-shadow: none; }
  .float-grip { display: block; position: absolute; top: 8px; left: 50%; width: 40px; height: 5px; margin-left: -20px; border-radius: 999px; background: var(--line); }
  .float.float-cover { background: transparent; border-color: transparent; box-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .stats { grid-template-columns: 1fr 1fr; }
  .hero .cta .btn { flex: 1 1 100%; }
  .hero-grid { padding-bottom: 40px; }
  .hero-calc::before { width: 120%; }
  .calc-frame { max-width: none; margin-left: -16px; margin-right: -16px; }
  .calc-frame::after { left: 16px; right: 16px; }
  .wall-shade.narrow { background:
    linear-gradient(90deg, rgb(var(--felt-rgb)) 0, rgb(var(--felt-rgb)) 8%, rgba(var(--felt-rgb), 0) 30%, rgba(var(--felt-rgb), 0) 70%, rgb(var(--felt-rgb)) 92%, rgb(var(--felt-rgb)) 100%),
    linear-gradient(180deg, rgba(var(--felt-rgb), .7) 0%, rgba(var(--felt-rgb), .4) 45%, rgba(var(--felt-rgb), .18) 100%); }
  .header .wrap { gap: 4px; min-height: 60px; }
  .logo .wordmark { display: none; }
  .logo svg { width: 58px; height: 23px; }
  .logo .micro-dark, [data-theme="light"] .logo .micro-light { display: none; }
  .logo .micro-q-dark { display: block; }
  [data-theme="light"] .logo .micro-q-dark { display: none; }
  [data-theme="light"] .logo .micro-q-light { display: block; }
  .header .tools { margin-left: 10px; flex: 1 1 auto; min-width: 0; gap: 4px; }
  .burger { width: 40px; height: 40px; border-radius: 13px; flex: 0 0 auto; margin-left: 2px; }
  .theme-toggle { width: 32px; height: 32px; flex: 0 0 auto; order: -1; }
  .call-pill, .hdr-act {
    display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
    flex: 0 0 auto; gap: 3px; height: 40px; min-width: 40px; padding: 0 5px; border-radius: 12px;
    border: 1px solid var(--mint-line); background: var(--mint-soft); color: var(--mint);
    font: inherit; font-size: 10px; font-weight: 700; line-height: 1; letter-spacing: .01em;
    text-decoration: none; white-space: nowrap; cursor: pointer;
    -webkit-tap-highlight-color: transparent; transition: transform .12s ease;
  }
  .call-pill { margin-left: auto; }
  .call-pill svg, .hdr-act svg { width: 16px; height: 16px; flex: 0 0 auto; }
  .call-pill .num { display: none; }
  .call-pill .act-lbl { display: block; }
  .hdr-book { background: var(--mint); border-color: var(--mint); color: var(--mint-ink); box-shadow: none; filter: none; }
  .hdr-book:hover { transform: none; }
  .call-pill:active, .hdr-act:active { transform: scale(.95); }
  .hero .trust { display: none; }
  .hero .cta { margin-bottom: 30px; }
  .lang { width: 32px; height: 32px; border-radius: 999px; display: grid; place-items: center; flex: 0 0 auto; }
  .lang .lang-opt.on { display: none; }
  .lang .lang-opt { flex-direction: column; gap: 1px; padding: 0; line-height: 1;
    font-size: 8px; letter-spacing: .02em; color: var(--text); }
  .lang .flag { width: 14px; height: 10px; }
  .lang:not(.on-phone) { display: none; }
}
@media (max-width: 374px) {
  .header .tools { margin-left: 6px; gap: 3px; }
  .call-pill, .hdr-act { padding: 0 3px; font-size: 9.5px; }
  .burger { margin-left: 1px; }
}
@media (max-width: 359px) {
  .logo svg { width: 50px; height: 20px; }
  .call-pill, .hdr-act { min-width: 36px; }
  .header.with-lang .logo svg { width: 44px; height: 17px; }
  .header.with-lang .tools { gap: 2px; }
  .header.with-lang .theme-toggle, .header.with-lang .lang { width: 30px; height: 30px; }
  .header.with-lang .call-pill, .header.with-lang .hdr-act { min-width: 34px; padding: 0 2px; font-size: 9px; }
  .header.with-lang .burger { margin-left: 0; }
}

:root, [data-theme="dark"] { --map-served: rgba(55, 230, 176, .16); --map-served-line: rgba(55, 230, 176, .55); --map-served-hot: rgba(55, 230, 176, .32); --map-hover: #262a2e; --map-halo: .34; }
:root, [data-theme="dark"] {
  --map-water: rgba(86, 132, 156, .40); --map-water-line: rgba(120, 170, 195, .55);
  --map-county: rgba(190, 205, 198, .22);
  --map-road: rgba(206, 160, 104, .60);
}
[data-theme="light"] { --map-served: rgba(13, 138, 95, .30); --map-served-line: rgba(13, 138, 95, .85); --map-served-hot: rgba(13, 138, 95, .42); --map-hover: #d6ddcd; --map-halo: .30; }
[data-theme="light"] {
  --map-water: #cfe0e6; --map-water-line: rgba(140, 180, 196, .75);
  --map-county: rgba(80, 95, 85, .30);
  --map-road: rgba(170, 122, 62, .62);
}
.usmap .mapdetail, .regmap .mapdetail { pointer-events: none; }
.usmap .mapdetail path, .regmap .mapdetail path { vector-effect: non-scaling-stroke; }
.usmap .mapdetail .water, .regmap .mapdetail .water {
  fill: var(--map-water); stroke: var(--map-water-line); stroke-width: .7px;
}
.usmap .mapdetail .county, .regmap .mapdetail .county {
  fill: none; stroke: var(--map-county); stroke-width: .8px; stroke-dasharray: 3.5 3;
}
.usmap .mapdetail .road, .regmap .mapdetail .road {
  fill: none; stroke: var(--map-road); stroke-width: 1.7px;
  stroke-linecap: round; stroke-linejoin: round;
}
.usmap .mapdetail, .regmap .mapdetail { opacity: 0; transition: opacity .45s ease; }
.usmap.detailed .mapdetail, .regmap.detailed .mapdetail { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .usmap .mapdetail, .regmap .mapdetail { transition: none; }
}
.usmap { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 18px; align-items: stretch; }
.usmap-stage { position: relative; border: 1px solid var(--line-soft); border-radius: 20px; background: var(--shell); overflow: hidden; min-height: 240px;
  background-image: radial-gradient(ellipse at 50% 60%, color-mix(in srgb, var(--mint) 7%, transparent), transparent 70%); }
.usmap-svg { display: block; width: 100%; height: auto; aspect-ratio: 960 / 600; touch-action: pan-y; }
.usmap:not([data-level="usa"]) .usmap-svg { cursor: grab; }
.usmap-svg.dragging { cursor: grabbing; }
.usmap .st { fill: var(--surface-2); stroke: var(--line-soft); stroke-width: 1; vector-effect: non-scaling-stroke; stroke-linejoin: round; transition: fill .25s ease, opacity .35s ease; }
.usmap .st:not(.served):hover { fill: var(--map-hover); }
.usmap .st.served { fill: var(--map-served); stroke: var(--map-served-line); cursor: pointer; }
.usmap .st.served:hover { fill: var(--map-served-hot); }
.usmap .st.active { fill: var(--map-served-hot); stroke: var(--mint); }
.usmap .st.dim { opacity: .38; }
.usmap .st.in { animation: usmapIn .6s ease both; }
.usmap .st.nope { animation: usmapNope .45s ease; }
[data-theme="light"] .usmap .st { fill: #e2e8dc; stroke: #b9c5b0; }
[data-theme="light"] .usmap .st.served { fill: var(--map-served); stroke: var(--map-served-line); }
[data-theme="light"] .usmap .st.served:hover { fill: var(--map-served-hot); }
[data-theme="light"] .usmap .st.active { fill: var(--map-served-hot); stroke: var(--mint); }
@keyframes usmapIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes usmapNope { 0%, 100% { transform: none; } 30% { transform: translateX(-2px); } 60% { transform: translateX(2px); } }
.usmap .halo { fill: url(#usmapHalo); pointer-events: none; }
.usmap .halo-a { stop-color: var(--mint); stop-opacity: var(--map-halo); }
.usmap .halo-b { stop-color: var(--mint); stop-opacity: 0; }
.usmap .pin { cursor: pointer; transition: opacity .3s; }
.usmap .pin.far { opacity: .35; }
.usmap .pin .ring, .usmap .pin .dot { transform-box: fill-box; transform-origin: center; }
.usmap .pin .ring { fill: none; stroke: var(--mint); stroke-width: 1.5; opacity: 0; }
.usmap.live .pin .ring { animation: usmapPulse 2.8s ease-out infinite; }
.usmap .pin.active .ring { animation-duration: 1.6s; }
@keyframes usmapPulse { 0% { transform: scale(.45); opacity: .85; } 100% { transform: scale(2.4); opacity: 0; } }
.usmap .pin .dot { fill: var(--mint); stroke: var(--shell); stroke-width: 2; transition: transform .2s ease; }
.usmap .pin:hover .dot, .usmap .pin.active .dot { transform: scale(1.4); }
.usmap .pin .lbl { font: 700 12px/1 "Sora", system-ui, sans-serif; fill: var(--text-strong); paint-order: stroke; stroke: var(--shell); stroke-width: 3px; stroke-linejoin: round; opacity: 0; transition: opacity .25s; pointer-events: none; }
.usmap:not([data-level="usa"]) .pin:not(.far) .lbl, .usmap .pin:hover .lbl { opacity: 1; }
.usmap[data-level="metro"] .pin.active .lbl { font-weight: 800; font-size: 13px; }
.usmap .city { opacity: 0; pointer-events: none; }
.usmap .city-set:not(.on) { display: none; }
.usmap .city-set.on .city { opacity: 1; animation: usmapCity .4s ease backwards; }
@keyframes usmapCity { from { opacity: 0; } to { opacity: 1; } }
.usmap .city circle { fill: var(--shell); stroke: var(--mint); stroke-width: 1.6; transform-box: fill-box; transform-origin: center; }
.usmap .city-set.on .city circle { animation: usmapPop .45s cubic-bezier(.2, .9, .3, 1.3) backwards; animation-delay: inherit; }
@keyframes usmapPop { from { transform: scale(0); } to { transform: none; } }
.usmap .city text { font: 600 11.5px/1 "Sora", system-ui, sans-serif; fill: var(--text); paint-order: stroke; stroke: var(--shell); stroke-width: 3px; stroke-linejoin: round; transition: opacity .2s; }
.usmap .zone { opacity: 0; transition: opacity .45s ease; pointer-events: none; }
.usmap .zone.on { opacity: 1; }
.usmap .zone .zfill { fill: url(#usmapZone); }
.usmap .zone-a { stop-color: var(--mint); stop-opacity: calc(var(--map-halo) * .62); }
.usmap .zone-b { stop-color: var(--mint); stop-opacity: calc(var(--map-halo) * .34); }
.usmap .zone-c { stop-color: var(--mint); stop-opacity: 0; }
.usmap .zone .zring { fill: none; stroke: var(--mint); stroke-width: 1.3; stroke-dasharray: 6 4; opacity: .62; vector-effect: non-scaling-stroke; }
.usmap[data-level="metro"] .halo { opacity: 0; }
.usmap .halo { transition: opacity .3s; }
.usmap.deep .st { stroke-opacity: 0; }
.usmap .city-set.on .city { pointer-events: auto; cursor: default; }
.usmap .city.nolabel text { opacity: 0; }
.usmap .city.nolabel:hover text { opacity: 1; }
.usmap .city-set.on .city:hover circle { fill: var(--mint); }
.usmap-chips span.more { background: transparent; border-style: dashed; color: var(--muted); }
.usmap-tip { position: absolute; z-index: 3; pointer-events: none; padding: 6px 10px; border-radius: 10px; font-size: 12.5px; font-weight: 600; white-space: nowrap; color: var(--text-strong); background: var(--shell-2); border: 1px solid var(--line); box-shadow: 0 8px 24px rgba(0, 0, 0, .18); }
.usmap-back { position: absolute; z-index: 3; top: 12px; left: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 999px; border: 1px solid var(--line); background: var(--shell-2); color: var(--text-strong); font: 600 13px/1 inherit; cursor: pointer; transition: border-color .18s, transform .18s; }
.usmap-back:hover { border-color: var(--mint); transform: translateY(-1px); }
.usmap-legend { position: absolute; z-index: 2; left: 14px; bottom: 12px; display: flex; gap: 14px; font-size: 12px; color: var(--muted); pointer-events: none; }
.usmap-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.usmap-legend .sw { display: inline-block; width: 12px; height: 12px; border-radius: 3px; }
.usmap-legend .sw.served { background: var(--map-served-hot); border: 1px solid var(--map-served-line); }
.usmap-legend .sw.pin { width: 10px; height: 10px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 3px color-mix(in srgb, var(--mint) 25%, transparent); }
.usmap-loading { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.usmap-loading::before { content: ""; width: 34px; height: 34px; border-radius: 50%; border: 3px solid var(--line); border-top-color: var(--mint); animation: gviewSpin .8s linear infinite; }
.usmap.failed .usmap-stage { display: none; }
.usmap-back[hidden], .usmap-loading[hidden], .usmap-detail[hidden], .usmap-tip[hidden] { display: none; }
.usmap-panel { display: flex; flex-direction: column; gap: 10px; min-height: 0; border: 1px solid var(--line-soft); border-radius: 20px; background: var(--shell); padding: 16px; }
.usmap-panel-head b { display: block; font-size: 17px; color: var(--text-strong); }
.usmap-panel-head p { margin: 4px 0 0; font-size: 13px; color: var(--muted); }
.usmap-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; overflow: auto; min-height: 0; max-height: 520px; }
.usmap-list a { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 12px; text-decoration: none; color: var(--text); border: 1px solid transparent; transition: background .18s, border-color .18s; }
.usmap-list a:hover { background: var(--surface-2); }
.usmap-list a.active { border-color: var(--mint-line); background: var(--mint-soft); }
.usmap-list a b { color: var(--text-strong); font-size: 14px; }
.usmap-list a span { color: var(--muted); font-size: 12px; margin-left: auto; white-space: nowrap; }
.usmap-list a .go { color: var(--mint); font-style: normal; font-size: 16px; }
.usmap-detail { display: flex; flex-direction: column; gap: 10px; padding-top: 10px; border-top: 1px solid var(--line-soft); animation: usmapCity .3s ease backwards; }
.usmap-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.usmap-chips span { padding: 5px 10px; border-radius: 999px; font-size: 12.5px; background: var(--surface-2); color: var(--text); border: 1px solid var(--line-soft); }
.usmap-detail .btn { justify-content: center; }
@media (max-width: 900px) {
  .usmap { grid-template-columns: 1fr; }
  .usmap-list { max-height: none; overflow: visible; display: grid; grid-template-columns: 1fr 1fr; }
  .usmap-list a span { margin-left: 0; }
  .usmap-list a .go { margin-left: auto; }
  .usmap-legend { position: static; padding: 0 14px 10px; font-size: 11px; gap: 10px; }
}
@media (max-width: 520px) {
  .usmap-list { gap: 3px; }
  .usmap-list a { padding: 7px 8px; gap: 6px; }
  .usmap-list a b { font-size: 13px; }
  .usmap-list a .meta .cnt { display: none; }
  .usmap-list a .meta { font-size: 11px; }
  .usmap-list a .go { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .nav, .nav-scrim, .burger span, .nav .chev { transition: none; }
  .usmap .st.in, .usmap .st.nope, .usmap.live .pin .ring, .usmap .city-set.on .city, .usmap .city-set.on .city circle, .usmap-detail { animation: none; }
  .usmap .city-set.on .city { opacity: 1; }
}

.regmap { display: grid; grid-template-columns: minmax(0, 1fr) 272px; gap: 16px; align-items: stretch; margin-bottom: 18px; }
.regmap-stage { position: relative; border: 1px solid var(--line-soft); border-radius: 20px; background: var(--shell); overflow: hidden; min-height: 240px; }
.regmap-svg { display: block; width: 100%; height: auto; aspect-ratio: 960 / 600; touch-action: none; cursor: grab; user-select: none; -webkit-user-select: none; }
.regmap-zoom { position: absolute; right: 10px; bottom: 10px; display: flex; flex-direction: column; gap: 6px; z-index: 2; }
.regmap-zoom button {
  width: 30px; height: 30px; border-radius: 9px; cursor: pointer; padding: 0;
  border: 1px solid var(--line-soft); background: var(--surface);
  color: var(--text-strong); font: 700 17px/1 inherit;
  display: flex; align-items: center; justify-content: center;
  box-shadow: var(--shadow-soft);
}
.regmap-zoom button:hover { border-color: var(--mint-line); color: var(--mint); }
@media (hover: none), (pointer: coarse) { .regmap-zoom { display: none; } }
.regmap-svg.dragging { cursor: grabbing; }

.regmap .st { fill: var(--surface-2); stroke: var(--line-soft); stroke-width: 1; vector-effect: non-scaling-stroke; stroke-linejoin: round; transition: opacity .3s ease; }
.regmap .st.home { fill: var(--map-served); stroke: var(--map-served-line); }
.regmap.deep .st { stroke-opacity: 0; }
.regmap.deep .st:not(.home) { opacity: .55; }
[data-theme="light"] .regmap .st { fill: #e2e8dc; stroke: #b9c5b0; }
[data-theme="light"] .regmap .st.home { fill: var(--map-served); stroke: var(--map-served-line); }

.regmap .halo { fill: url(#regmapHalo); pointer-events: none; }
.regmap .halo-a { stop-color: var(--mint); stop-opacity: calc(var(--map-halo) * .62); }
.regmap .halo-b { stop-color: var(--mint); stop-opacity: calc(var(--map-halo) * .34); }
.regmap .halo-c { stop-color: var(--mint); stop-opacity: 0; }
.regmap .area .ring { fill: none; stroke: var(--mint); stroke-width: 1.3; stroke-dasharray: 6 4; opacity: .62; vector-effect: non-scaling-stroke; pointer-events: none; }

.regmap .base .dot { fill: var(--mint); stroke: var(--shell); stroke-width: 2; }
.regmap .base .wave { fill: none; stroke: var(--mint); stroke-width: 1.5; opacity: 0; transform-box: fill-box; transform-origin: center; }
.regmap.live .base .wave { animation: usmapPulse 2.8s ease-out infinite; }
.regmap .base { will-change: transform; }
.regmap .base .lbl { font: 700 12.5px/1 "Sora", system-ui, sans-serif; fill: var(--text-strong); paint-order: stroke; stroke: var(--shell); stroke-width: 3.5px; stroke-linejoin: round; pointer-events: none; }

.regmap .rcity { cursor: pointer; animation: usmapCity .4s ease backwards; animation-delay: inherit; }
.regmap .rcity .dot { fill: var(--shell); stroke: var(--mint); stroke-width: 1.7; transform-box: fill-box; transform-origin: center; transition: transform .2s ease, fill .2s ease; }
.regmap .rcity:hover .dot, .regmap .rcity.hot .dot { transform: scale(1.45); }
.regmap .rcity.active .dot { fill: var(--mint); transform: scale(1.5); }
.regmap .rcity text { font: 600 11.5px/1 "Sora", system-ui, sans-serif; fill: var(--text); paint-order: stroke; stroke: var(--shell); stroke-width: 3px; stroke-linejoin: round; pointer-events: none; transition: opacity .2s; }
.regmap .rcity.nolabel text { opacity: 0; }
.regmap .rcity.nolabel:hover text, .regmap .rcity.nolabel.hot text, .regmap .rcity.nolabel.active text { opacity: 1; }
.regmap .rcity.active text { font-weight: 800; fill: var(--text-strong); }
.regmap .rcity.hot .dot { fill: var(--mint); }
.regmap .rcity.hot text { font-weight: 800; fill: var(--text-strong); }

.city-dir { margin-top: 4px; }
.city-dir-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 18px; margin-bottom: 14px; }
.city-dir-head h3 { margin: 0; }
.city-dir-head p { margin: 0; font-size: 14px; max-width: 640px; }
.city-dir-grid { display: flex; flex-wrap: wrap; gap: 12px; }
.city-dir-group { flex: var(--n, 4) 1 max(190px, calc(var(--n, 4) * 48px)); min-width: 0; border: 1px solid var(--line-soft); border-radius: 16px; padding: 14px 16px 12px; background: var(--surface-2); }
.city-dir-gh { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin-bottom: 10px; padding-bottom: 8px; border-bottom: 1px solid var(--line-soft); }
.city-dir-gh h4 { margin: 0; font-size: 13px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--mint); }
.city-dir-n { font-size: 12px; color: var(--muted); white-space: nowrap; }
.city-dir ul { list-style: none; margin: 0; padding: 0; columns: 165px; column-gap: 18px; }
.city-dir li { break-inside: avoid; }
.city-dir a { display: flex; align-items: center; gap: 9px; padding: 5px 6px; margin: 0 -6px; border-radius: 9px; color: var(--text); font-weight: 600; font-size: 14.5px; text-decoration: none; transition: background .15s ease, color .15s ease; }
.city-dir a i { flex: none; width: 8px; height: 8px; border-radius: 50%; border: 1.7px solid var(--mint); background: transparent; transition: background .15s ease, transform .15s ease; }
.city-dir a:hover, .city-dir a:focus-visible { background: var(--mint-soft); color: var(--text-strong); }
.city-dir a:hover i, .city-dir a:focus-visible i { background: var(--mint); transform: scale(1.2); }
.city-dir .city-dir-plain { display: flex; align-items: center; gap: 9px; padding: 5px 6px; margin: 0 -6px; color: var(--muted); font-weight: 600; font-size: 14.5px; }
.city-dir .city-dir-plain i { flex: none; width: 8px; height: 8px; border-radius: 50%; border: 1.7px solid var(--line); }
@media (max-width: 560px) {
  .city-dir-group { flex-basis: 100%; }
  .city-dir-group ul { columns: 2; column-gap: 14px; }
  .city-dir a { font-size: 14px; }
}

.regmap-tip { position: absolute; z-index: 3; pointer-events: none; padding: 6px 10px; border-radius: 10px; font-size: 12.5px; font-weight: 600; white-space: nowrap; color: var(--text-strong); background: var(--shell-2); border: 1px solid var(--line); box-shadow: 0 8px 24px rgba(0, 0, 0, .18); }
.regmap-back { position: absolute; z-index: 3; top: 12px; left: 12px; display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 999px; border: 1px solid var(--line); background: var(--shell-2); color: var(--text-strong); font: 600 13px/1 inherit; cursor: pointer; transition: border-color .18s, transform .18s; }
.regmap-back:hover { border-color: var(--mint); transform: translateY(-1px); }
.regmap-legend { position: absolute; z-index: 2; left: 14px; bottom: 12px; display: flex; gap: 14px; font-size: 12px; color: var(--muted); pointer-events: none; }
.regmap-legend > span { display: inline-flex; align-items: center; gap: 6px; }
.regmap-legend .sw { display: inline-block; width: 12px; height: 12px; border-radius: 50%; }
.regmap-legend .sw.ring { border: 1.5px dashed var(--mint); background: color-mix(in srgb, var(--mint) 14%, transparent); }
.regmap-legend .sw.city { width: 9px; height: 9px; background: var(--shell); border: 1.7px solid var(--mint); }
.regmap-loading { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.regmap-loading::before { content: ""; width: 34px; height: 34px; border-radius: 50%; border: 3px solid var(--line); border-top-color: var(--mint); animation: gviewSpin .8s linear infinite; }
.regmap.failed .regmap-stage { display: none; }
.regmap-back[hidden], .regmap-loading[hidden], .regmap-detail[hidden], .regmap-tip[hidden] { display: none; }

.regmap-panel { display: flex; flex-direction: column; gap: 10px; min-height: 0; border: 1px solid var(--line-soft); border-radius: 20px; background: var(--shell); padding: 16px; }
.regmap-panel-head b { display: block; font-size: 16px; color: var(--text-strong); }
.regmap-panel-head p { margin: 4px 0 0; font-size: 13px; color: var(--muted); }
.regmap-counties { min-height: 0; overflow: auto; overscroll-behavior: contain; }
.regmap-counties li { padding: 7px 0 7px 20px; font-size: 13.5px; line-height: 1.35; }
.regmap-counties li::before { left: 3px; width: 6px; height: 6px; margin-top: -3px; }
.chips button.chip { font: inherit; font-size: inherit; cursor: pointer; }
.chips button.chip.active { border-color: var(--mint-line); background: var(--mint-soft); color: var(--text-strong); }
.regmap-detail { display: flex; flex-direction: column; gap: 10px; padding-top: 10px; border-top: 1px solid var(--line-soft); animation: usmapCity .3s ease backwards; }
.regmap-detail .btn { justify-content: center; }
.regmap-cta { margin-top: auto; justify-content: center; }
.regmap[data-level="city"] .regmap-cta { display: none; }
@media (max-width: 900px) {
  .regmap { grid-template-columns: 1fr; }
  .regmap-counties { overflow: visible; overscroll-behavior: auto; max-height: none; }
  .regmap-list { max-height: 200px; }
  .regmap-legend { position: static; padding: 0 14px 10px; font-size: 11px; gap: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .nav .menu-list { transition: none; }
  .regmap .rcity, .regmap-detail, .regmap.live .base .wave { animation: none; }
  .regmap .rcity { opacity: 1; }
}

.region-page { --rp-gap: clamp(48px, 7vw, 96px); }
.region-page.rhythm-compact { --rp-gap: clamp(32px, 4.5vw, 60px); }
.region-page.rhythm-airy { --rp-gap: clamp(64px, 9vw, 128px); }
.region-page > .section { padding-top: 0; padding-bottom: var(--blk-space, var(--rp-gap)); }
.region-page [data-block="faq"] .section-head { max-width: 880px; }
.region-page [data-block="faq"] .faq { max-width: 820px; margin-left: auto; margin-right: auto; }
:root, [data-theme="dark"] {
  --paper: #22201a;
  --paper-edge: rgba(0, 0, 0, .55);
  --paper-blend: screen;
  --paper-lit: rgba(255, 252, 240, .05);
  --paper-stain: rgba(0, 0, 0, .12);
  --paper-inset: rgba(0, 0, 0, .26);
  --paper-inset-edge: rgba(0, 0, 0, .5);
  --paper-rule: rgba(255, 250, 235, .14);
}
[data-theme="light"] {
  --paper: #faf8f1;
  --paper-edge: rgba(70, 52, 26, .16);
  --paper-blend: multiply;
  --paper-lit: rgba(255, 255, 255, .30);
  --paper-stain: rgba(90, 74, 46, .035);
  --paper-inset: rgba(70, 52, 26, .055);
  --paper-inset-edge: rgba(70, 52, 26, .12);
  --paper-rule: rgba(70, 52, 26, .18);
}
.region-page .intro-sheet {
  --paper-grain: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22140%22%20height%3D%22140%22%3E%3Cfilter%20id%3D%22n%22%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.5%22%20numOctaves%3D%222%22%20seed%3D%223%22%20stitchTiles%3D%22stitch%22%2F%3E%3CfeColorMatrix%20type%3D%22saturate%22%20values%3D%220%22%2F%3E%3C%2Ffilter%3E%3Crect%20width%3D%22140%22%20height%3D%22140%22%20filter%3D%22url(%23n)%22%20opacity%3D%220.14%22%2F%3E%3C%2Fsvg%3E');
  background-color: var(--paper);
  background-image: var(--paper-grain),
    radial-gradient(40% 50% at 22% 28%, var(--paper-lit) 0, transparent 72%),
    radial-gradient(44% 52% at 78% 74%, var(--paper-stain) 0, transparent 74%);
  background-size: 140px 140px, auto, auto;
  background-blend-mode: var(--paper-blend), normal, normal;
  border: 0;
  border-radius: 3px;
  padding: clamp(18px, 2.2vw, 26px);
  box-shadow:
    0 1px 1px var(--paper-edge),
    0 3px 7px -3px var(--paper-edge),
    0 16px 30px -16px var(--paper-edge);
  display: grid;
  gap: clamp(16px, 2.2vw, 26px);
}

.region-page .intro-sheet > * {
  border-radius: 2px;
  padding: 0;
}
.region-page .intro-sheet .prose {
  background: var(--paper-inset);
  box-shadow: inset 0 0 4px 2px var(--paper-inset-edge);
  padding: clamp(16px, 2.2vw, 22px);
}
.region-page .intro-sheet .region-facts {
  order: -1;
  position: static;
  background: none;
  box-shadow: none;
  padding: 0;
}
@media (max-width: 899px) {
  .region-page .region-facts .fact-list .fact-wide { display: none; }
}
.region-page .intro-sheet .fact-list dd { border-bottom-color: var(--paper-rule); }
@media (min-width: 900px) {
  .region-page .intro-sheet { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); align-items: start; }
  .region-page .intro-sheet .prose { padding: clamp(18px, 2.2vw, 26px); }
  .region-page .intro-sheet .region-facts {
    order: 0;
    padding: 0 0 0 clamp(2px, .6vw, 8px);
    align-self: center;
  }
}
.intro-book .book-view {
  --book-room: 12px; --book-room-x: 8px;
  position: relative; overflow: hidden; touch-action: pan-y;
  box-sizing: content-box;
  padding: var(--book-room) var(--book-room-x);
  margin: calc(-1 * var(--book-room)) calc(-1 * var(--book-room-x));
}
.intro-book .book-page {
  position: absolute; top: var(--book-room); left: var(--book-room-x); right: var(--book-room-x);
  width: auto; margin: 0 !important;
  transition: transform .34s cubic-bezier(.34, .07, .24, 1), opacity .28s ease;
}
.intro-book .book-nav { display: flex; align-items: center; gap: 12px; margin-top: 14px; }
.intro-book .book-nav button {
  width: 34px; height: 34px; flex: 0 0 auto; border-radius: 50%; cursor: pointer;
  border: 1px solid var(--paper-rule); background: none; color: var(--text);
  display: flex; align-items: center; justify-content: center; padding: 0;
}
.intro-book .book-nav button:disabled { opacity: .35; cursor: default; }
.intro-book .book-nav svg { width: 15px; height: 15px; }
.intro-book .book-dots { display: flex; gap: 7px; margin: 0 auto; }
.intro-book .book-dots button {
  width: 7px; height: 7px; border-radius: 50%; border: 0; padding: 0;
  background: var(--paper-rule); cursor: pointer;
}
.intro-book .book-dots button[aria-current="true"] { background: var(--mint); width: 18px; border-radius: 4px; }
@media (prefers-reduced-motion: reduce) {
  .intro-book .book-page { transition: none; }
}

.region-page [data-block="intro"] .prose p { max-width: none; }
.region-page [data-block="intro"] .prose p + p { margin-top: 1.05em; }
.region-page [data-block="intro"] .prose p {
  font-family: 'Newsreader', Georgia, serif;
  font-style: italic;
  font-size: 19px;
  line-height: 1.55;
  font-weight: 350;
  letter-spacing: 0.005em;
}
.region-page [data-block="intro"] .intro-byline {
  margin: 0 0 14px;
  font-family: 'Newsreader', Georgia, serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.35;
  color: var(--muted);
  text-transform: uppercase;
  text-align: center;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--paper-rule);
}
.region-page [data-block="intro"] .prose p:first-of-type::first-letter {
  float: left;
  font-family: inherit;
  font-weight: 600;
  font-size: 3.6em;
  line-height: .82;
  padding: .02em .09em 0 0;
  color: var(--mint);
}

.region-page .region-facts .fact-list { grid-template-columns: 1fr; gap: 0; margin-bottom: 16px; }
.region-page .region-facts .fact-list dt {
  padding-top: 11px; font-size: 11.5px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
}
.region-page .region-facts .fact-list dd {
  padding: 2px 0 11px; font-size: 14.5px; line-height: 1.45; border-bottom: 1px dashed var(--line-soft);
}
.region-page .region-facts .fact-list dd:last-of-type { border-bottom: 0; padding-bottom: 4px; }
.region-page .region-facts .fact-list dt:first-of-type { padding-top: 0; }
.region-page .region-facts .fact-list dd:first-of-type {
  font-size: 30px; font-weight: 800; line-height: 1.1; color: var(--mint); letter-spacing: -.02em; padding-bottom: 12px;
}
.region-page .region-facts .btn { width: 100%; justify-content: center; }

.nowrap { white-space: nowrap; }

.region-page .prose p, .region-page .section-head p, .region-page .fact-list dd,
.region-page .loc-rev-text, .region-page .faq .a { font-size: var(--rp-text); line-height: 1.62; }
.region-page .prose p { max-width: var(--rp-measure); }
.region-page.heads-left .section-head { margin-left: 0; margin-right: 0; text-align: left; max-width: var(--rp-measure); }

.region-page.rule-hairline > .section + .section,
.region-page.rule-dots > .section + .section { padding-bottom: calc(var(--blk-space, var(--rp-gap)) * .68); }
.region-page.rule-hairline > .section + .section { border-top: 1px solid var(--line-soft); padding-top: calc(var(--rp-gap) * .5); }
.region-page.rule-dots > .section + .section::before { content: "• • •"; display: block; text-align: center; color: var(--line); letter-spacing: .5em; font-size: 12px; margin-bottom: calc(var(--rp-gap) * .45); }

[data-theme="light"] .region-page.skin-paper .card { background: #f7f8f1; border-color: #d7ddcb; box-shadow: none; }
[data-theme="dark"] .region-page.dskin-paper .card { background: #1b1e20; border-color: #33383c; box-shadow: none; }
[data-theme="light"] .region-page.skin-outline .card { background: transparent; border: 1px solid var(--line); box-shadow: none; }
[data-theme="dark"] .region-page.dskin-outline .card { background: transparent; border: 1px solid var(--line); box-shadow: none; }
[data-theme="light"] .region-page.skin-raised .card { border-color: transparent; box-shadow: 0 14px 34px rgba(20, 32, 28, .10), 0 2px 6px rgba(20, 32, 28, .06); }
[data-theme="dark"] .region-page.dskin-raised .card { border-color: #3a4044; background: #1d2124; box-shadow: 0 16px 40px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .06); }
[data-theme="light"] .region-page.skin-band > .section:nth-of-type(even),
[data-theme="dark"] .region-page.dskin-band > .section:nth-of-type(even) { background: var(--bg-2); padding-top: calc(var(--rp-gap) * .62); }
[data-theme="light"] .region-page.skin-band .card,
[data-theme="dark"] .region-page.dskin-band .card { box-shadow: none; }

.book-scrim {
  position: fixed; inset: 0; z-index: 96; background: rgba(6, 12, 10, .5); opacity: 0; visibility: hidden;
  transition: opacity .26s ease, visibility 0s linear .26s; touch-action: none;
}
[data-theme="light"] .book-scrim { background: rgba(14, 26, 22, .32); }
.book-scrim.open { opacity: 1; visibility: visible; transition: opacity .28s ease, visibility 0s; }
.book-scrim.pulling { visibility: visible; transition: none; }
@property --sheet-a { syntax: "*"; inherits: false; }
@property --sheet-t { syntax: "*"; inherits: false; }
@property --book-kb { syntax: "*"; inherits: false; }
@property --book-vh { syntax: "*"; inherits: false; }
@property --book-top { syntax: "*"; inherits: false; }
@property --book-right { syntax: "*"; inherits: false; }
.book {
  position: fixed; z-index: 97; top: var(--book-top, 84px); right: var(--book-right, 16px); width: min(440px, calc(100vw - 32px));
  max-height: calc(100vh - var(--book-top, 84px) - 16px); max-height: calc(100dvh - var(--book-top, 84px) - 16px);
  display: flex; flex-direction: column; min-height: 0; outline: none;
  background: var(--shell); color: var(--text); border: 1px solid var(--line); border-radius: 22px; box-shadow: var(--shadow);
  visibility: hidden; transform: translateX(calc(100% + var(--book-right, 16px) + 40px));
  transition: transform .3s cubic-bezier(.32, .72, 0, 1), visibility 0s linear .3s;
}
.book.open { visibility: visible; transform: none; transition: transform .44s cubic-bezier(.32, .72, 0, 1), opacity .2s ease, visibility 0s; }
.book:not(.armed) { display: none; }
.book.drag { transition: none; }
.book.warm { visibility: visible; transform: none; opacity: .001; pointer-events: none; transition: none; will-change: transform; }
.book.lift { will-change: transform; background: transparent; border-color: transparent; box-shadow: none; }
.book.lift::before { content: ""; position: absolute; inset: -1px; z-index: -1; pointer-events: none; --sheet-a: inherit; --sheet-t: inherit;
  border: inherit; border-color: var(--line); border-radius: inherit; background: var(--shell); box-shadow: var(--shadow);
  opacity: var(--sheet-a, 1); transition: opacity var(--sheet-t, .22s) ease; will-change: opacity; }
.book.lift .book-head { opacity: 0; }
.book.lift.rising .book-head { opacity: 1; transition: opacity .2s ease .06s; }
.book.lift.sinking .book-head { opacity: 0; transition: opacity .18s ease; }
.book.rising .float-cover { opacity: 0; }
.book.sinking .float-cover { opacity: 1; transition: opacity .3s cubic-bezier(.3, .7, .4, 1) .1s; }
.book-frame { position: fixed; z-index: 98; pointer-events: none; border: 1px solid var(--line); box-shadow: var(--shadow); }
.book [hidden] { display: none !important; }
.book-grip { display: none; }
.book-head { display: flex; align-items: flex-start; gap: 12px; padding: 18px 20px 6px; flex: 0 0 auto; }
.book-ttl { flex: 1 1 auto; min-width: 0; }
.book-ttl .book-h { margin: 0; font-size: 21px; font-weight: 700; line-height: 1.2; letter-spacing: -.015em; color: var(--text-strong); text-wrap: balance; }
.book-ttl p { margin: 4px 0 0; font-size: 13.5px; color: var(--muted); line-height: 1.45; }
.book-x { flex: 0 0 auto; width: 34px; height: 34px; padding: 0; border-radius: 50%; border: 1px solid var(--line); background: var(--surface-2);
  color: var(--text); display: grid; place-items: center; cursor: pointer; transition: border-color .15s ease, color .15s ease; }
.book-x:hover { border-color: var(--mint-line); color: var(--mint); }
.book-x:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
.book-x svg { width: 15px; height: 15px; }
.book-body { padding: 10px 20px 20px; overflow: auto; min-height: 0; overscroll-behavior: contain; scrollbar-width: thin; }
.book-form { display: grid; gap: 13px; }
.book .field label em { font-style: normal; font-weight: 600; font-size: 11.5px; opacity: .85; }
.book .field textarea { min-height: 76px; resize: vertical; }
.book .tvq-phone.bad { border-color: var(--pink); box-shadow: 0 0 0 3px color-mix(in srgb, var(--pink) 16%, transparent); animation: bookShake .32s; }
@keyframes bookShake { 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }
.book-add {
  display: flex; align-items: center; gap: 10px; width: 100%; border: 1px dashed var(--mint-line); background: transparent;
  border-radius: 14px; padding: 11px 13px; cursor: pointer; color: var(--text); font: inherit; text-align: left;
  transition: border-color .15s ease, background-color .15s ease, border-radius .2s ease;
}
.book-add:hover { border-color: var(--mint); }
.book-add:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
.book-ic { width: 30px; height: 30px; flex: 0 0 auto; border-radius: 10px; background: var(--mint-soft); color: var(--mint); display: grid; place-items: center; }
.book-ic svg { width: 16px; height: 16px; }
.book-tx { flex: 1 1 auto; min-width: 0; font-size: 14px; font-weight: 700; line-height: 1.3; }
.book-tx small { display: block; font-weight: 500; font-size: 12px; color: var(--muted); }
.book-pl { flex: 0 0 auto; width: 24px; height: 24px; border-radius: 50%; background: var(--mint); color: var(--mint-ink); display: grid; place-items: center;
  transition: transform .22s ease, background-color .22s ease, color .22s ease; }
.book-pl svg { width: 12px; height: 12px; }
.book-chg { display: none; flex: 0 0 auto; font-size: 12.5px; font-weight: 700; color: var(--mint); }
.book-date.open .book-add { border-style: solid; border-color: var(--line); border-bottom-color: transparent; border-radius: 14px 14px 0 0; }
.book-date.open .book-pl { transform: rotate(45deg); background: var(--surface-2); color: var(--text); }
.book-date.set:not(.open) .book-add { border-style: solid; border-color: var(--mint-line); background: var(--mint-soft); }
.book-date.set:not(.open) .book-tx { color: var(--mint); }
.book-date.set:not(.open) .book-tx small, .book-date.set:not(.open) .book-pl { display: none; }
.book-date.set:not(.open) .book-chg { display: inline; }
.book-when { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .3s cubic-bezier(.2, .8, .3, 1); }
.book-date.open .book-when { grid-template-rows: 1fr; }
.book-when-in { min-height: 0; overflow: hidden; visibility: hidden; transition: visibility 0s linear .3s; }
.book-date.open .book-when-in { visibility: visible; transition: none; }
.book-when-box { display: grid; gap: 10px; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 14px 14px; padding: 2px 12px 12px; }
.book-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.book-chip {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid var(--line); background: var(--surface-2);
  border-radius: 999px; padding: 8px 13px; font: inherit; font-size: 13.5px; font-weight: 700; line-height: 1.2; color: var(--text);
  cursor: pointer; white-space: nowrap; transition: border-color .12s ease, background-color .12s ease, color .12s ease;
}
.book-chip:hover { border-color: var(--mint-line); }
.book-chip:focus-visible, .book-day:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
.book-chip[aria-pressed="true"] { border-color: var(--mint); background: var(--mint-soft); color: var(--mint); }
.book-chip small { font-size: 11.5px; font-weight: 600; color: var(--muted); }
.book-chip[aria-pressed="true"] small { color: var(--mint); }
.book-strip {
  display: flex; gap: 7px; overflow-x: auto; scrollbar-width: none; padding: 1px 1px 3px; overscroll-behavior-x: contain;
  -webkit-mask-image: linear-gradient(90deg, #000 0 86%, transparent); mask-image: linear-gradient(90deg, #000 0 86%, transparent);
}
.book-strip::-webkit-scrollbar { display: none; }
.book-day { flex: 0 0 auto; width: 54px; border: 1px solid var(--line); background: var(--surface-2); border-radius: 14px; padding: 6px 0 7px;
  text-align: center; cursor: pointer; color: var(--text); font: inherit; line-height: 1.2; }
.book-day small { display: block; font-size: 10.5px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }
.book-day b { display: block; font-size: 18px; font-weight: 800; line-height: 1.2; }
.book-day i { display: block; font-style: normal; font-size: 10.5px; color: var(--muted); min-height: 1.2em; }
.book-day[aria-pressed="true"] { border-color: var(--mint); background: var(--mint-soft); color: var(--mint); }
.book-day[aria-pressed="true"] small, .book-day[aria-pressed="true"] i { color: var(--mint); }
.book-in { animation: bookIn .26s cubic-bezier(.2, .8, .3, 1) both; }
@keyframes bookIn { from { opacity: 0; transform: translateY(-4px); } }
.book-pref .pref-opt { flex: 1 1 0; justify-content: center; }
.book-link { justify-self: start; border: 0; background: none; padding: 0; color: var(--mint); font: inherit; font-size: 13.5px; font-weight: 700;
  cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.book-link svg { width: 13px; height: 13px; }
.book-link:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; border-radius: 6px; }
.book-go { width: 100%; justify-content: center; padding: 14px; font-size: 15.5px; }
.book-under { margin: -4px 0 0; text-align: center; font-size: 12.5px; color: var(--muted); }
.book-sent { display: grid; justify-items: center; gap: 10px; text-align: center; padding: 6px 0 4px; }
.book-ok { width: 58px; height: 58px; border-radius: 50%; background: var(--mint); color: var(--mint-ink); display: grid; place-items: center;
  animation: bookPop .45s cubic-bezier(.2, 1.4, .4, 1) both; }
.book-ok svg { width: 28px; height: 28px; }
@keyframes bookPop { from { transform: scale(.4); opacity: 0; } }
.book-sent .book-sent-h { margin: 2px 0 0; font-size: 21px; font-weight: 700; line-height: 1.15; color: var(--text-strong); letter-spacing: -.01em; }
.book-sent p { margin: 0; color: var(--muted); font-size: 14.5px; max-width: 32em; }
.book-sent p b { color: var(--text); }
.book-sent .btn { width: 100%; justify-content: center; margin-top: 4px; }
.book-sent small { color: var(--muted); font-size: 12px; }
@media (max-width: 640px) {
  .book {
    top: auto; left: 0; right: 0; bottom: var(--book-kb, 0px); width: auto; border-radius: 22px 22px 0 0; border-bottom: 0;
    max-height: calc(100vh - 24px); max-height: calc(var(--book-vh, 100dvh) - 24px);
    transform: translateY(105%); transition: transform .36s cubic-bezier(.32, .72, 0, 1), visibility 0s linear .36s;
  }
  .book.open { transform: none; transition: transform .5s cubic-bezier(.32, .72, 0, 1), visibility 0s; }
  .book.drag { transition: none; }
  .book::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: 48px; background: var(--shell); }
  .book-grip { display: grid; place-items: center; padding: 8px 0 0; cursor: grab; touch-action: none; }
  .book-grip i { width: 40px; height: 5px; border-radius: 999px; background: var(--line); }
  .book-head { padding: 10px 18px 4px; touch-action: none; }
  .book-body { padding: 8px 18px calc(18px + env(safe-area-inset-bottom, 0px)); }
  .book.lift.sinking .book-body { opacity: 0; transition: opacity .2s ease .1s; }
  .book .book-go, .book .book-sent .btn { border-radius: 999px; }
  .book .book-go { box-shadow: 0 8px 20px rgba(55, 230, 176, .2); }
  [data-theme="light"] .book .book-go { box-shadow: 0 8px 20px rgba(13, 138, 95, .25); }
}
@media (prefers-reduced-motion: reduce) {
  .book, .book.open, .book-scrim, .book-scrim.open, .book-when, .book-pl { transition: none; }
  .book-ok, .book-in, .book .tvq-phone.bad { animation: none; }
}

:root, [data-theme="dark"] {
  --ios-fill: rgba(118, 118, 128, .24); --ios-thumb: #5d6064;
  --ios-sep: rgba(84, 84, 88, .6);
  --ios-fill-2: rgba(118, 118, 128, .16); --ios-tint: rgba(55, 230, 176, .16);
  --ios-label2: rgba(235, 235, 245, .6); --ios-chev: rgba(235, 235, 245, .3); --ios-dot: #ffffff;
}
[data-theme="light"] {
  --ios-fill: rgba(118, 118, 128, .12); --ios-thumb: #ffffff;
  --ios-sep: rgba(60, 60, 67, .2);
  --ios-fill-2: rgba(118, 118, 128, .08); --ios-tint: rgba(13, 138, 95, .13);
  --ios-label2: rgba(60, 60, 67, .6); --ios-chev: rgba(60, 60, 67, .3); --ios-dot: #0a1411;
}
:root { --ios-chev-img: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 5l7 7-7 7'/%3E%3C/svg%3E"); }
@media (max-width: 640px) {
  .call-pill, .hdr-text { width: 36px; min-width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%;
    background: var(--ios-fill); color: var(--mint); }
  .call-pill .act-lbl, .hdr-text .act-lbl { display: none; }
  .call-pill svg, .hdr-text svg { width: 17px; height: 17px; }
  .hdr-book { flex-direction: row; gap: 6px; height: 36px; min-width: 0; padding: 0 14px; border: 0; border-radius: 999px;
    font-size: 14px; font-weight: 700; letter-spacing: 0; }
  .hdr-book svg { width: 15px; height: 15px; }

  .btn:not(.btn-sm) { border-radius: 999px; font-weight: 700; }
  .btn-primary.btn-lg, .home .mt-info .btn-primary { box-shadow: 0 6px 16px rgba(55, 230, 176, .2); }
  [data-theme="light"] .btn-primary.btn-lg, [data-theme="light"] .home .mt-info .btn-primary { box-shadow: 0 6px 16px rgba(13, 138, 95, .22); }

  [data-lead-form] .field input, [data-lead-form] .field textarea, [data-lead-form] .field .tvq-phone,
  .book-form .field input, .book-form .field textarea, .book-form .field .tvq-phone { background: var(--ios-fill); font-size: 16px; }
  [data-lead-form] .field .tvq-phone input, .book-form .field .tvq-phone input { background: none; }
  [data-lead-form] .field input:not(:focus), [data-lead-form] .field textarea:not(:focus), [data-lead-form] .field .tvq-phone:not(:focus-within),
  .book-form .field input:not(:focus), .book-form .field textarea:not(:focus), .book-form .field .tvq-phone:not(:focus-within) { border-color: transparent; }
  [data-lead-form] .field .tvq-phone input, .book-form .field .tvq-phone input { border: 0; }
  [data-lead-form] .field .tvq-phone.bad, .book-form .field .tvq-phone.bad { border-color: var(--pink); }
  [data-lead-form] .tvq-phone-pre, .book-form .tvq-phone-pre { border-right-color: var(--ios-sep); }

  .book-add, .book-add:hover { border-color: transparent; border-style: solid; background: var(--ios-fill); }
  .book-date.open .book-add { border-color: transparent; background: var(--ios-fill); border-radius: 14px 14px 0 0; }
  .book-when-box { border: 0; background: var(--ios-fill); }
  .book-date.set:not(.open) .book-add { border-color: transparent; background: var(--mint-soft); }
  .book-chip, .book-chip:hover, .book-day { border-color: transparent; background: var(--ios-thumb); }
  .book-chip[aria-pressed="true"], .book-day[aria-pressed="true"] { border-color: transparent; background: var(--mint-soft); }
  .book-x { border: 0; background: var(--ios-fill); }

  [data-lead-form] .pref, .book-form .pref { position: relative; flex-wrap: nowrap; gap: 0; padding: 2px; border-radius: 10px; background: var(--ios-fill); }
  [data-lead-form] .pref::before, .book-form .pref::before { content: ""; position: absolute; top: 2px; bottom: 2px; left: 2px; width: calc(50% - 2px); border-radius: 8px;
    background: var(--ios-thumb); box-shadow: 0 3px 8px rgba(0, 0, 0, .12), 0 3px 1px rgba(0, 0, 0, .04), 0 0 0 .5px rgba(0, 0, 0, .04);
    transform: translateX(calc(var(--pref-i, 0) * 100%)); transition: transform .32s cubic-bezier(.3, .8, .3, 1); pointer-events: none; }
  [data-lead-form] .field .pref-opt, [data-lead-form] .field .pref-opt.on, .book-form .field .pref-opt, .book-form .field .pref-opt.on {
    position: relative; z-index: 1; flex: 1 1 0; justify-content: center; height: 34px; padding: 0; border: 0; border-radius: 8px;
    background: none; color: var(--text-strong); font-size: 14px; font-weight: 600; }
  [data-lead-form] .field .pref-opt:has(input:checked) { border: 0; background: none; color: var(--text-strong); }
  .book-form .field .pref-opt:has(input:checked) { border: 0; background: none; color: var(--text-strong); }
  [data-lead-form] .pref-opt svg, .book-form .pref-opt svg { display: none; }



  .mt-pick { padding: 2px; border: 0; border-radius: 12px; background: var(--surface-2); background: color-mix(in srgb, var(--surface-2), var(--ios-fill));
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), inset 0 0 0 1px rgba(0, 0, 0, 0.025), 0 1px 0 rgba(255, 255, 255, 0.8); }
  .mt-pick::before { top: 2px; bottom: 2px; left: 2px; width: calc((100% - 4px - (var(--mt-n, 5) - 1) * 2px) / var(--mt-n, 5)); border-radius: 10px;
    background: linear-gradient(180deg, var(--ios-thumb), color-mix(in srgb, var(--ios-thumb), #000 2%));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 1), 0 3px 8px rgba(0, 0, 0, 0.16), 0 1px 1px rgba(0, 0, 0, 0.12), 0 0 0 .5px rgba(0, 0, 0, 0.06);
    transition: transform .32s cubic-bezier(.3, .8, .3, 1), box-shadow 90ms ease; }
  .mt-opt { border-radius: 10px; }
  [data-theme="dark"] .mt-pick { background: color-mix(in srgb, var(--surface-2), var(--ios-fill));
    box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.24), inset 0 0 0 1px rgba(0, 0, 0, 0.06), 0 1px 0 rgba(255, 255, 255, 0.128); }
  [data-theme="dark"] .mt-pick::before { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 3px 8px rgba(0, 0, 0, 0.384), 0 1px 1px rgba(0, 0, 0, 0.288), 0 0 0 .5px rgba(0, 0, 0, 0.144); }
  .mt-pick:has(.mt-opt:active)::before { transform: translateX(calc(var(--mt-i, 0) * (100% + 2px))) translateY(1px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 1), 0 2.25px 4.8px rgba(0, 0, 0, 0.16), 0 0.75px 1px rgba(0, 0, 0, 0.12), 0 0 0 .5px rgba(0, 0, 0, 0.06); }
  [data-theme="dark"] .mt-pick:has(.mt-opt:active)::before { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.16), 0 2.25px 4.8px rgba(0, 0, 0, 0.384), 0 0.75px 1px rgba(0, 0, 0, 0.288), 0 0 0 .5px rgba(0, 0, 0, 0.144); }
  .mt-opt .tab { font-weight: 600; }

  .btn:active, .call-pill:active, .hdr-act:active, .theme-toggle:active, .lang:active, .burger:active,
  .pref-opt:active, .mt-opt:active, .rv-arrow:active { transform: scale(.96); opacity: .82; }
  .vid-btn:active .vid-play { transform: scale(.94); }
}
.city-dir-more, .rev-dots { display: none; }
@media (max-width: 640px) {
  .city-dir.card { padding: 0; background: none; border: 0; box-shadow: none; overflow: visible; }
  .city-dir.card::before { display: none; }
  .city-dir-head { display: block; margin-bottom: 20px; text-align: center; }
  .city-dir-head p { margin: 4px auto 0; }
  .city-dir-grid { display: block; }
  .city-dir-group { padding: 0; border: 0; border-radius: 0; background: none; }
  .city-dir-group + .city-dir-group { margin-top: 22px; }
  .city-dir-gh { margin: 0; padding: 0 16px 7px; border: 0; }
  .city-dir-gh h4 { color: var(--ios-label2); font-weight: 600; letter-spacing: .03em; }
  .city-dir-n { color: var(--ios-label2); }
  .city-dir-group ul { columns: auto; padding-left: 16px; border-radius: 12px; background: var(--shell); overflow: hidden; }
  .city-dir li { position: relative; }
  .city-dir li + li::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: .5px; background: var(--ios-sep); }
  .city-dir a { gap: 10px; margin: 0; padding: 12px 16px 12px 0; border-radius: 0; color: var(--text-strong); font-size: 16px; font-weight: 400; }
  .city-dir a i { display: none; }
  .city-dir a::after { content: ""; flex: none; width: 14px; height: 14px; margin-left: auto; background: var(--ios-chev);
    -webkit-mask: var(--ios-chev-img) center / 14px no-repeat; mask: var(--ios-chev-img) center / 14px no-repeat; }
  .city-dir a:hover, .city-dir a:focus-visible { background: none; color: var(--text-strong); }
  .city-dir a:active { opacity: .55; }
  .city-dir .city-dir-plain { gap: 10px; margin: 0; padding: 12px 16px 12px 0; font-size: 16px; font-weight: 400; }
  .city-dir .city-dir-plain i { display: none; }
  .city-dir-group:not(.all) li:nth-child(n+6):not(.city-dir-more) { display: none; }
  .city-dir-more { display: block; }
  .city-dir-group.all .city-dir-more { display: none; }
  .city-dir-more button { display: block; width: 100%; padding: 12px 16px 12px 0; border: 0; background: none; color: var(--mint);
    font: inherit; font-size: 16px; font-weight: 500; text-align: left; cursor: pointer; }

  .r-walls { gap: 0; border-radius: 14px; background: var(--shell); box-shadow: var(--shadow-soft); overflow: hidden; }
  .r-walls > .card { display: grid; grid-template-columns: 30px minmax(0, 1fr); column-gap: 12px; padding: 12px 14px;
    background: none; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
  .r-walls > .card::before { display: none; }
  .r-walls > .card + .card::before { display: block; inset: 0 0 auto 56px; height: .5px; border-radius: 0; background: var(--ios-sep); }
  .r-walls .icon-badge { grid-row: 1 / span 2; width: 30px; height: 30px; margin: 0; border: 0; border-radius: 8px; background: var(--mint); color: var(--mint-ink); }
  .r-walls .icon-badge svg { width: 18px; height: 18px; }
  .r-walls h3, .r-walls p { grid-column: 2; }
  .r-walls h3 { margin: 0 0 2px; font-size: 16px; font-weight: 600; }
  .r-walls p { font-size: 13.5px; line-height: 1.45; }

  .rev-swipe { position: relative; display: flex; gap: 12px; margin: 0 -16px -14px; padding: 4px 16px 26px; overflow-x: auto;
    scroll-snap-type: x mandatory; scroll-padding-inline: 16px; overscroll-behavior-x: contain; scrollbar-width: none; }
  .rev-swipe::-webkit-scrollbar { display: none; }
  .rev-swipe > .loc-rev { flex: 0 0 86%; padding: 16px; border-radius: 18px; scroll-snap-align: center; }
  .rev-dots { display: flex; justify-content: center; gap: 8px; margin-top: 4px; }
  .rev-dots i { width: 7px; height: 7px; border-radius: 50%; background: var(--ios-dot); opacity: .25; transition: opacity .2s; }
  .rev-dots i.on { opacity: 1; }

  .price-grid { gap: 22px; }
  .price-card.card { display: flex; flex-direction: column; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
  .price-card.card::before { display: none; }
  .price-card h3 { margin: 0; padding: 0 16px 7px; color: var(--ios-label2); font-size: 13px; font-weight: 600; letter-spacing: .03em; text-transform: uppercase; }
  .price-card ul { order: 1; padding-left: 16px; border-radius: 12px; background: var(--shell); }
  .price-card li { padding: 12px 16px 12px 0; border-top: .5px solid var(--ios-sep); color: var(--text-strong); font-size: 16px; }
  .price-card li:first-child { border-top: 0; }
  .price-card li b { font-weight: 600; }
  .price-card li b i { color: var(--ios-label2); font-weight: 400; }
  .price-card .price-note { order: 2; margin: 0; padding: 7px 16px 0; min-height: 0; color: var(--ios-label2); font-size: 13px; line-height: 1.4; }

  .photo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px; margin-inline: -16px; }
  .photo-grid .photo { border: 0; border-radius: 0; }
  .photo-grid .photo:nth-child(3n+1):last-child,
  .photo-grid .photo:nth-child(3n+1):nth-last-child(2),
  .photo-grid .photo:nth-child(3n+1):nth-last-child(2) + .photo { display: none; }
}

.lang-offer-flag, .ci-ios { display: none; }
.lang-offer-t { display: contents; }
@media (max-width: 640px) {
  .lang-offer { flex-wrap: nowrap; align-items: center; gap: 12px; padding: 12px; border: 0; border-radius: 20px;
    background: var(--shell); box-shadow: 0 12px 34px rgba(0, 0, 0, .18); }
  @supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .lang-offer { background: color-mix(in srgb, var(--shell) 82%, transparent);
      -webkit-backdrop-filter: blur(20px) saturate(1.6); backdrop-filter: blur(20px) saturate(1.6); }
  }
  .lang-offer-flag { display: block; flex: 0 0 auto; width: 40px; height: 40px; border-radius: 10px; }
  .lang-offer-t { display: grid; gap: 1px; flex: 1 1 auto; min-width: 0; }
  .lang-offer-q { color: var(--text-strong); font-size: 15px; font-weight: 600; line-height: 1.3; }
  .lang-offer a { font-size: 14px; font-weight: 500; line-height: 1.35; white-space: normal; }
  .lang-offer button { align-self: flex-start; width: 24px; height: 24px; border: 0; background: var(--ios-fill); font-size: 14px; }

  .contact-grid > .contact-info { order: -1; padding: 0; background: none; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
  .contact-grid > .contact-info::before { display: none; }
  .ci-desk { display: none; }
  .ci-ios { display: block; }
  .ci-head { display: grid; justify-items: center; gap: 2px; margin-bottom: 16px; text-align: center; }
  .ci-av { display: grid; place-items: center; width: 76px; height: 76px; margin-bottom: 6px; border-radius: 50%;
    background: var(--shell); box-shadow: 0 1px 3px rgba(0, 0, 0, .08); }
  .ci-av svg { display: block; width: 54px; height: 22px; }
  .ci-logo-light { display: none !important; }
  [data-theme="light"] .ci-logo-dark { display: none !important; }
  [data-theme="light"] .ci-logo-light { display: block !important; }
  .ci-name { margin: 0; color: var(--text-strong); font-size: 24px; font-weight: 700; letter-spacing: -.01em; line-height: 1.2; }
  .ci-sub { margin: 0; color: var(--ios-label2); font-size: 14px; }
  .ci-acts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-bottom: 16px; }
  .ci-act { display: grid; justify-items: center; gap: 4px; padding: 10px 0 8px; border: 0; border-radius: 12px; background: var(--shell);
    color: var(--mint); font: inherit; font-size: 12px; font-weight: 500; line-height: 1.2; text-decoration: none; cursor: pointer;
    transition: transform .18s cubic-bezier(.3, .7, .3, 1), opacity .18s; -webkit-tap-highlight-color: transparent; }
  .ci-act:active { transform: scale(.96); opacity: .82; }
  .ci-act svg { width: 21px; height: 21px; }
  .ci-rows { margin: 0; padding: 0 0 0 16px; list-style: none; border-radius: 12px; background: var(--shell); }
  .ci-rows li { position: relative; display: grid; gap: 1px; padding: 10px 16px 10px 0; }
  .ci-rows li + li::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: .5px; background: var(--ios-sep); }
  .ci-rows li > a { display: grid; gap: 1px; margin: -10px -16px -10px 0; padding: 10px 16px 10px 0; color: inherit; text-decoration: none; }
  .ci-rows small { color: var(--ios-label2); font-size: 13px; line-height: 1.3; }
  .ci-rows span { color: var(--text-strong); font-size: 16px; line-height: 1.35; overflow-wrap: anywhere; }
  .ci-rows .ci-link { color: var(--mint); }
}

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

:root { --coral: #ff9078; --coral-soft: rgba(255, 144, 120, .14); --coral-line: rgba(255, 144, 120, .42); --coral-ink: #2b100a; }
[data-theme="light"] { --coral: #c4523a; --coral-soft: rgba(196, 82, 58, .09); --coral-line: rgba(196, 82, 58, .36); --coral-ink: #ffffff; }
.book-chip.book-chip-unsure { border-color: var(--coral-line); background: var(--coral-soft); color: var(--coral); }
.book-chip.book-chip-unsure:hover { border-color: var(--coral); }
.book-chip.book-chip-unsure:focus-visible { outline-color: var(--coral); }
.book-chip.book-chip-unsure[aria-pressed="true"] { border-color: var(--coral); background: var(--coral); color: var(--coral-ink); }
@media (max-width: 640px) {
  .book-chip.book-chip-unsure, .book-chip.book-chip-unsure:hover { border-color: transparent; }
}

.footer-quick .fq-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.footer-quick .fq-field { flex: 1 1 210px; min-width: 0; margin: 0; }
.footer-quick .fq-send { flex: 0 0 auto; padding: 6px 16px; border-radius: 999px; }
.footer a.btn { padding-left: 12px; padding-right: 12px; }
.footer-quick .form-status { flex-basis: 100%; font-size: 13px; }
@media (max-width: 640px) {
  .footer-quick .field .tvq-phone { background: var(--ios-fill); }
  .footer-quick .field .tvq-phone:not(:focus-within) { border-color: transparent; }
  .footer-quick .field .tvq-phone input { font-size: 16px; }
  .footer-grid { grid-template-columns: minmax(0, 1fr) minmax(196px, 1.15fr); column-gap: 16px; }
  .footer-grid > :first-child { grid-column: 1 / -1; }
  .footer-quick .tvq-phone-flag { display: none; }
  .footer-quick .tvq-phone-pre { padding-right: 6px; margin-right: 6px; }
  .footer-quick .field .tvq-phone { padding: 0 10px; }
  .footer-quick .fq-field { flex: 1 1 100%; }
}
@media (max-width: 389px) {
  .footer-grid { grid-template-columns: minmax(0, 1fr) minmax(171px, 1.15fr); }
  .footer-quick .tvq-phone-tick { display: none; }
}
@media (max-width: 359px) {
  .footer-grid { grid-template-columns: minmax(0, 1fr); }
  .footer-quick .tvq-phone-flag { display: block; }
  .footer-quick .tvq-phone-pre { padding-right: 10px; margin-right: 10px; }
  .footer-quick .tvq-phone-tick { display: grid; }
}

.hero-stars { display: none; }
.hero-top { display: contents; --scene-wall: var(--scene-wall-l); --scene-arch: var(--scene-arch-l); }
[data-theme="dark"] .hero-top { --scene-wall: var(--scene-wall-d); --scene-arch: var(--scene-arch-d); }
.hero-scene .sc-dark, [data-theme="dark"] .hero-scene .sc-light { display: none; }
[data-theme="dark"] .hero-scene .sc-dark { display: block; }
@media (max-width: 640px) {
  .header.over-hero { margin-bottom: -61px; transition: background-color .25s, border-color .25s, -webkit-backdrop-filter .25s, backdrop-filter .25s; }
  html:not(.nav-open) .header.over-hero:not(.stuck) { background: transparent; border-bottom-color: transparent; -webkit-backdrop-filter: none; backdrop-filter: none; }
  .home .hero-wall > .wall, .home .hero-wall > .wall-fade,
  .home .hero-copy::before, .home .hero-calc::before { display: none; }
  .home { display: flex; flex-direction: column; }
  .home > .hero-wall, .home .hero-grid { display: contents; }
  .home .hero-top, .home > .over-wall { order: -1; }
  .home .hero-top { display: block; position: relative; z-index: 0; overflow: hidden; padding: var(--scene-top) var(--scene-side) 0; margin-bottom: var(--scene-gap); background: var(--scene-wall); }
  .home .hero-top::before { content: ""; position: absolute; top: var(--scene-arch-top); bottom: 0; left: var(--scene-arch-x); right: var(--scene-arch-x);
    border-radius: var(--scene-arch-rx) var(--scene-arch-rx) 0 0 / var(--scene-arch-ry) var(--scene-arch-ry) 0 0; background: var(--scene-arch); pointer-events: none; }
  .home .hero-copy { display: flex; flex-direction: column; align-items: var(--scene-flex); text-align: var(--scene-align); }
  .home .hero-stars { display: flex; align-items: center; gap: 6px; margin: 0 0 14px; font: 600 13px/20px "Sora", "Sora Fallback", system-ui, sans-serif; color: var(--muted); }
  .hero-stars b { color: var(--text-strong); font-weight: 700; }
  .home .hero-copy h1 { margin: 0 0 14px; font-size: var(--scene-h1); line-height: 1.06; letter-spacing: -.035em; text-align: var(--scene-align); text-wrap: balance; }
  .home .hero-copy > .lead-short { margin: 0; max-width: var(--scene-lead); font-size: 15.5px; line-height: 1.5; text-align: var(--scene-align); text-wrap: pretty; }
  .home .hero .cta { align-self: stretch; margin: 20px 0 0; gap: 10px; flex-wrap: nowrap; justify-content: var(--scene-flex); }
  .home .hero .cta .btn { width: auto; min-width: 0; height: 50px; padding: 0 12px; gap: 7px; border-radius: 999px; font-size: 15.5px; font-weight: 700; line-height: 1; }
  .home .hero .cta .btn-primary { flex: 0 1 200px; }
  .home .hero .cta .hero-call { flex: 0 1 140px; }
  .home .hero .cta .hero-call svg { width: 15px; height: 15px; flex: 0 0 auto; }
  [data-theme="light"] .home .hero .cta .btn-primary { box-shadow: 0 6px 16px rgba(13, 138, 95, .22); }
  [data-theme="dark"] .home .hero .cta .btn-primary { box-shadow: 0 10px 24px rgba(55, 230, 176, .22); }
  [data-theme="light"] .home .hero .cta .hero-call { background: #ffffff; border-color: #d6dccf; color: #0a1411; }
  [data-theme="dark"] .home .hero .cta .hero-call { background: transparent; border: 1.5px solid rgba(255, 255, 255, .5); color: #ffffff; }
  .hero-scene { position: relative; height: var(--scene-h); }
  .hero-scene svg { position: absolute; top: 0; left: 50%; width: 640px; height: var(--scene-h); margin-left: -320px; }
  .hero-scene svg text { font-family: "Sora", "Sora Fallback", system-ui, sans-serif; }
  .home > .over-wall { --over-wall: 0px; }
  .home .benefits { width: auto; margin-inline: calc(var(--blk-ben-side, 16px) - 16px); }
  .home .vid-strip { width: auto; margin-inline: calc(var(--blk-vid-side, 16px) - 16px); --vid-gap: var(--blk-vid-gap, 8px); }
  .home .benefits + .vid-strip { margin-top: var(--blk-ben-vid, 14px); }
  .home { --calc-top: var(--blk-calc-top, 44px); }
  .home .hero-calc { width: auto; margin: calc(var(--calc-top) - 40px - 6px) 16px 0; }
  .home .hero-calc .calc-frame { margin-left: calc(var(--blk-calc-side, 16px) - 32px); margin-right: calc(var(--blk-calc-side, 16px) - 32px); }
  .home > #contact { margin-top: calc(var(--blk-tail, var(--gap)) - var(--room-t) - var(--calc-tail)); }
}

.cs-bar, .calc-launch { display: none; }
.cs-body { display: contents; }
@media (max-width: 640px) {
  .has-js .home { --launch-top: 24px; --launch-bot: 40px; }
  .has-js .home .calc-launch { display: grid; position: relative; z-index: 2; margin: calc(var(--launch-bot) - var(--room-b, 40px)) 16px var(--room-b, 40px);
    padding: 16px; border: 1.5px dashed var(--cl-ln2); border-radius: 22px; background: transparent; cursor: pointer; -webkit-tap-highlight-color: transparent;
    transition: transform .14s; --cl-ln2: #9aa59f; --cl-mu: #465650; --cl-track: #d5dccd; }
  html.has-js[data-theme="dark"] .home .calc-launch { --cl-ln2: #55615d; --cl-mu: #b9c4bf; --cl-track: #2c3134; }
  .has-js .home .calc-launch:active { transform: scale(.985); }
  .cl-v { grid-area: 1 / 1; align-self: center; display: flex; align-items: stretch; gap: 14px; min-width: 0; visibility: hidden; }
  .cl-v.on { visibility: visible; }
  .cl-art { flex: 0 0 auto; align-self: center; width: 62px; height: auto; display: block; overflow: visible; }
  .cl-art * { vector-effect: non-scaling-stroke; }
  .cl-am { fill: none; stroke: var(--mint); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
  .cl-am.cl-bd { fill: var(--bg); }
  .cl-key { fill: none; stroke: var(--cl-ln2); stroke-width: 1.2; }
  .cl-key.cl-eq { stroke: var(--mint); stroke-width: 1.5; }
  .cl-eql { fill: none; stroke: var(--mint); stroke-width: 1.5; stroke-linecap: round; }
  .cl-lcd { font-family: "VT323", ui-monospace, monospace; fill: var(--mint); }
  .cl-caret { fill: var(--mint); animation: clCaret 1.05s steps(1) infinite; }
  @keyframes clCaret { 0%, 50% { opacity: 1; } 50.01%, 100% { opacity: 0; } }
  .cl-mid { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 5px; text-align: left; }
  .calc-launch .cl-t { margin: 0; font: 700 18px/1.2 "Sora", "Sora Fallback", system-ui, sans-serif; letter-spacing: -.02em; color: var(--text-strong); text-wrap: balance; }
  .calc-launch .cl-t.cl-t2 { font-size: 16px; line-height: 1.25; }
  .calc-launch .cl-s { margin: 0; font: 400 13px/1.4 "Sora", "Sora Fallback", system-ui, sans-serif; color: var(--cl-mu); text-wrap: pretty; }
  .cl-prog { width: 100%; max-width: 330px; height: 5px; margin-top: 3px; border-radius: 999px; background: var(--cl-track); overflow: hidden; }
  .cl-prog i { display: block; height: 100%; border-radius: inherit; background: var(--mint); transition: width .4s ease; }
  .cl-eyebrow { font: 800 10.5px/1.3 "Sora", "Sora Fallback", system-ui, sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--mint); }
  .cl-amount { font: 800 34px/1 "Sora", "Sora Fallback", system-ui, sans-serif; letter-spacing: -.03em; color: var(--mint); }
  .cl-link { margin-top: 1px; border: 0; background: none; padding: 0; font: 600 12.5px/1.3 "Sora", "Sora Fallback", system-ui, sans-serif; color: var(--mint);
    text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
  .cl-rb { flex: 0 0 auto; align-self: flex-end; width: 59px; height: 59px; padding: 0; display: grid; place-items: center; border-radius: 50%; cursor: pointer;
    background: var(--mint-soft); border: 1px solid var(--mint-line); color: var(--mint); transition: transform .14s; }
  .has-js .home .calc-launch:active .cl-rb { transform: scale(.94); }
  .cl-rb svg { width: 23.6px; height: 23.6px; }
  .cl-rbt { font: 800 17.1px/1 "Sora", "Sora Fallback", system-ui, sans-serif; letter-spacing: -.01em; white-space: nowrap; }
  .has-js .home .calc-launch.cl-flash { animation: clFlash 1.1s ease-out; }
  @keyframes clFlash { 0% { box-shadow: 0 0 0 0 var(--mint); } 30% { box-shadow: 0 0 0 4px var(--mint-soft); } 100% { box-shadow: 0 0 0 0 transparent; } }
  .has-js .home > #contact { order: -1; margin-top: calc(var(--launch-top) - var(--room-b) - var(--room-t)); }
  .has-js .home > #contact + .section { --gd: 90; --gm: 90; }

  .has-js .home .hero-calc { position: fixed; inset: 0; z-index: 89; width: auto; margin: 0; justify-self: stretch; align-self: stretch;
    display: flex; flex-direction: column; overflow: hidden; background: var(--bg); visibility: hidden; }
  .has-js .home .hero-calc.cs-open { visibility: visible; }
  .has-js .home .cs-bar { display: flex; flex: 0 0 auto; height: calc(58px + env(safe-area-inset-top, 0px)); align-items: center; justify-content: flex-end; gap: 8px;
    padding: env(safe-area-inset-top, 0px) 12px 0 16px; touch-action: none; cursor: grab; user-select: none; }
  .has-js .home .hero-calc.cs-drag .cs-bar { cursor: grabbing; }
  .cs-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .cs-x { flex: 0 0 auto; width: 47px; height: 47px; display: grid; place-items: center; padding: 0; border-radius: 50%; cursor: pointer;
    background: rgba(20, 40, 30, .06); border: 1px solid rgba(20, 40, 30, .10); color: #14201c; transition: transform .14s; }
  [data-theme="dark"] .cs-x { background: rgba(255, 255, 255, .09); border-color: rgba(255, 255, 255, .12); color: #eaf3f1; }
  .cs-x:active { transform: scale(.92); }
  .cs-x svg { width: 20.7px; height: 20.7px; }
  .has-js .home .cs-body { display: block; flex: 1 1 auto; min-height: 0; overflow-y: auto; overflow-x: hidden; overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch; padding-bottom: env(safe-area-inset-bottom, 0px); }
  .has-js .home .hero-calc .calc-frame { margin: -28px 0 -50px; min-height: calc(100% + 79px); }
  .has-js .home .hero-calc .calc-frame iframe { display: block; width: 100%; }
}
@media (max-width: 640px) and (prefers-reduced-motion: reduce) {
  .has-js .home .calc-launch.cl-flash, .cl-caret { animation: none; }
}

.vid-cover { display: none; }
@media (max-width: 640px) {
  .has-js .home .vid-strip { display: none; }
  .has-js .home .vid-cover { display: grid; }
  .home .vid-cover { --vc-side: 26px; position: relative; grid-template-columns: auto minmax(0, 1fr); gap: 16px; align-items: center;
    margin: 41px calc(var(--vc-side) - 16px) 41px; padding: 15px; border-radius: 20px;
    border: 1px solid transparent; cursor: pointer; transition: transform .14s;
    translate: 2px 0; scale: 1.04; transform-origin: 0 50%; }
  .home .vid-cover:active { transform: scale(.985); }
  .vc-art { position: relative; width: 116px; height: 132px; }
  .vc-fp { position: absolute; top: 6px; width: 64px; aspect-ratio: 9 / 16; border-radius: 10px; border: 2px solid var(--shell);
    background: var(--poster, none) center / cover no-repeat #0d1311; box-shadow: 0 6px 16px rgba(10, 20, 17, .22); }
  .vc-fp:nth-child(1) { left: 2px; top: 12px; transform: rotate(-9deg); }
  .vc-fp:nth-child(2) { left: 50px; top: 12px; transform: rotate(8deg); }
  .vc-fp:nth-child(3) { left: 26px; top: 0; z-index: 1; }
  .vc-art.two .vc-fp:nth-child(2) { left: 26px; top: 0; z-index: 1; transform: none; }
  .vc-art.single { width: 96px; }
  .vc-art.single .vc-fp { left: 0; top: 0; width: 96px; height: 132px; aspect-ratio: auto; transform: none; }
  .vc-play { position: absolute; z-index: 2; left: 50%; top: 50%; width: 38px; height: 38px; margin: -19px 0 0 -19px; border-radius: 50%; display: grid; place-items: center; color: #fff;
    background: rgba(255, 255, 255, .22); box-shadow: inset 0 0 0 .5px rgba(255, 255, 255, .35), 0 4px 14px rgba(0, 0, 0, .18);
    -webkit-backdrop-filter: blur(12px) saturate(1.8); backdrop-filter: blur(12px) saturate(1.8); }
  .vc-play svg { width: 18px; height: 18px; }
  .vc-t { min-width: 0; }
  .vc-h { margin: 0; font-weight: 800; font-size: 19px; line-height: 1.2; letter-spacing: -.01em; color: var(--text-strong); text-wrap: balance; }
  .vc-s { margin: 5px 0 12px; font-size: 13.5px; line-height: 1.4; color: var(--muted); }
  .vc-go { display: inline-flex; align-items: center; justify-content: center; gap: 7px; height: 48px; margin: 0; border: 0; border-radius: 999px;
    padding: 0 17.28px 0 21.12px; background: var(--mint); color: var(--mint-ink); font: inherit; font-weight: 700; font-size: 15px; line-height: 1;
    white-space: nowrap; cursor: pointer; box-shadow: 0 10px 24px rgba(55, 230, 176, .22); transition: transform .14s; }
  [data-theme="light"] .vc-go { box-shadow: 0 6px 16px rgba(13, 138, 95, .22); }
  .vc-go:active { transform: scale(.94); }
  .vc-go svg { width: 16px; height: 16px; flex: 0 0 auto; }
  .vc-go:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; }
}
.vsv { position: fixed; inset: 0; z-index: 120; background: #050707; color: #fff; touch-action: none; overscroll-behavior: contain;
  -webkit-user-select: none; user-select: none; }
.vsv[hidden] { display: none; }
.vsv-stage { position: absolute; inset: 0; }
.vsv-stage video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; display: block; }
.vsv-tz { position: absolute; z-index: 2; top: 0; bottom: 0; margin: 0; padding: 0; border: 0; background: transparent; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.vsv-tz.l { left: 0; width: 32%; }
.vsv-tz.r { right: 0; width: 68%; }
.vsv-top { position: absolute; z-index: 3; left: 0; right: 0; top: 0; padding: calc(12px + env(safe-area-inset-top, 0px)) 12px 26px;
  background: linear-gradient(180deg, rgba(0, 0, 0, .5), transparent); pointer-events: none; }
.vsv-pg { display: flex; gap: 4px; margin-bottom: 10px; }
.vsv-sg { position: relative; flex: 1 1 0; height: 3px; border-radius: 999px; background: rgba(255, 255, 255, .32); overflow: hidden; }
.vsv-sg i { position: absolute; inset: 0; background: #fff; transform-origin: left center; transform: scaleX(0); border-radius: inherit; }
.vsv-bar { display: flex; align-items: center; gap: 10px; }
.vsv-bar b { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; font-weight: 700; }
.vsv-btn { position: relative; flex: 0 0 auto; width: 34px; height: 34px; margin: 0; padding: 0; border: 0; border-radius: 50%; display: grid; place-items: center; color: #fff; cursor: pointer; pointer-events: auto;
  background: rgba(255, 255, 255, .22); box-shadow: inset 0 0 0 .5px rgba(255, 255, 255, .35), 0 4px 14px rgba(0, 0, 0, .18);
  -webkit-backdrop-filter: blur(12px) saturate(1.8); backdrop-filter: blur(12px) saturate(1.8); }
.vsv-btn::after { content: ""; position: absolute; inset: -6px; }
.vsv-btn svg { width: 17px; height: 17px; }
.vsv-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.vsv .snd-off { display: none; }
.vsv.muted .snd-on { display: none; }
.vsv.muted .snd-off { display: block; }
.vsv-cap { position: absolute; z-index: 3; left: 0; right: 0; bottom: 0; padding: 50px 16px calc(22px + env(safe-area-inset-bottom, 0px));
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .6)); font-size: 16px; font-weight: 700; line-height: 1.3; pointer-events: none; }
.vsv-cap small { display: block; margin-top: 4px; font-size: 13px; font-weight: 600; opacity: .75; font-variant-numeric: tabular-nums; }
.vsv-grip { position: absolute; z-index: 4; left: 50%; bottom: calc(8px + env(safe-area-inset-bottom, 0px)); width: 40px; height: 4px; margin-left: -20px; border-radius: 999px; background: rgba(255, 255, 255, .45); pointer-events: none; }

@media (min-width: 641px) {
  .home .over-wall .benefits { margin: 24px auto 0; padding: 0; width: min(100%, 980px); background: none; border: 0; box-shadow: none; border-radius: 0;
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: none; column-gap: 0; row-gap: 32px; overflow: visible; }
  .home .over-wall .benefits::before { content: none; display: none; }
  .home .benefits > .ben { display: grid; grid-row: auto; grid-template-rows: none; grid-template-columns: minmax(0, 1fr); row-gap: 0; align-content: start;
    justify-items: stretch; text-align: left; margin: 0; padding: 0 24px; min-width: 0; border: 0; background: none; }
  .home .benefits > .ben:not(:nth-of-type(4n+1)) { border-left: 1px solid var(--line); }
  .home .benefits > .ben:nth-of-type(4n+1) { padding-left: 0; }
  .home .benefits > .ben:nth-of-type(4n) { padding-right: 0; }
  .home .benefits > .ben .ben-head { display: contents; text-align: inherit; }
  .home .benefits > .ben .ben-ico { grid-column: 1; width: 40px; height: 40px; margin: 0 0 14px; border: 0; border-radius: 50%; background: var(--mint-soft); color: var(--mint); }
  .home .benefits > .ben .ben-ico svg { width: 20.8px; height: 20.8px; }
  .home .benefits > .ben .ben-head strong { margin: 0; font-size: 15px; line-height: 1.3; letter-spacing: -.005em; }
  .home .benefits > .ben .ben-p { display: block; margin: 6px 0 0; font-size: 13px; line-height: 1.5; }

  .home #promise .promise-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 32px; row-gap: 30px; counter-reset: pnum; }
  .home #promise .promise-grid > .promise { display: grid; grid-row: auto; grid-template-rows: none; grid-template-columns: minmax(0, 1fr); row-gap: 0;
    align-content: start; margin: 0; padding: 18px 0 0; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: none; box-shadow: none;
    overflow: visible; counter-increment: pnum; }
  .home #promise .promise-grid > .promise::before { content: none; display: none; }
  .home #promise .promise-grid > .promise .promise-head { display: contents; }
  .home #promise .promise-grid > .promise .icon-badge { display: block; width: auto; height: auto; margin: 0 0 10px; border: 0; border-radius: 0; background: none;
    color: var(--mint); font: 600 30px/1 "Sora", "Sora Fallback", system-ui, sans-serif; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
  .home #promise .promise-grid > .promise .icon-badge svg { display: none; }
  .home #promise .promise-grid > .promise .icon-badge::after { content: counter(pnum, decimal-leading-zero); }
  .home #promise .promise-grid > .promise .promise-head h3 { margin: 0; font-size: 16.5px; line-height: 1.3; letter-spacing: -.005em; }
  .home #promise .promise-grid > .promise .promise-txt > p { margin: 6px 0 0; font-size: 14px; line-height: 1.5; }
}
@media (min-width: 641px) and (max-width: 1060px) {
  .home .benefits > .ben .ben-head strong { font-size: 14.3px; }
  .home .benefits > .ben .ben-p { font-size: 12.5px; }
  .home #promise .promise-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home #promise .promise-grid > .promise .promise-head h3 { font-size: 15.7px; }
  .home #promise .promise-grid > .promise .promise-txt > p { font-size: 13.4px; }
}
@media (max-width: 640px) {
  .home .over-wall .benefits { padding: 0; background: none; border: 0; box-shadow: none; border-radius: 0;
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: none; column-gap: 0; row-gap: 24px; overflow: visible; }
  .home .over-wall .benefits::before { content: none; display: none; }
  .home .benefits > .ben { display: grid; grid-row: auto; grid-template-rows: none; grid-template-columns: minmax(0, 1fr); row-gap: 0; align-content: start;
    justify-items: stretch; text-align: left; margin: 0; padding: 0 12px; min-width: 0; border: 0; background: none; }
  .home .benefits > .ben:nth-of-type(2n) { border-left: 1px solid var(--line); padding-right: 0; }
  .home .benefits > .ben:nth-of-type(2n+1) { padding-left: 0; }
  .home .benefits > .ben .ben-head { display: contents; text-align: inherit; }
  .home .benefits > .ben .ben-ico { grid-column: 1; width: 34px; height: 34px; margin: 0 0 8px; border: 0; border-radius: 50%; background: var(--mint-soft); color: var(--mint); }
  .home .benefits > .ben .ben-ico svg { width: 17.7px; height: 17.7px; }
  .home .benefits > .ben .ben-head strong { margin: 0; font-size: 14px; line-height: 1.3; letter-spacing: -.005em; }
  .home .benefits > .ben .ben-p { display: none; }
}

.home { --tone-band: #e6eadd; }
[data-theme="dark"] .home { --tone-band: #231c19; }
@media (min-width: 641px) {
  .home > .section.tone-band { --bp: clamp(36px, calc(36px + 20 * (100vw - 390px) / 890), 56px);
    background: color-mix(in srgb, var(--tone-band) 95%, var(--text)); padding-top: var(--bp); padding-bottom: var(--bp); margin-top: max(0px, calc(var(--gap) - 80px)); }
  .home > .section.tone-band + .section.tone-band { margin-top: 0; }
  .home > .section.tone-band::before, .home > .section.tone-band + .section::before { display: none; }
}

[data-theme="light"] .home { --forest: #123d2f; --brass: #9c7330; --card-shadow: 0 1px 2px rgba(20, 40, 34, .05), 0 6px 18px rgba(20, 40, 34, .05); }
[data-theme="dark"] .home { --forest: #0c2a21; --brass: #d4a75a; --card-shadow: 0 1px 2px rgba(0, 0, 0, .35); }
@media (min-width: 641px) {
  .home > .section.band-dark {
    --bp: clamp(36px, calc(36px + 20 * (100vw - 390px) / 890), 56px);
    background: var(--forest); padding-top: var(--bp); padding-bottom: var(--bp); margin-top: max(0px, calc(var(--gap, 0px) - 80px));
    border-top: 1px solid rgba(255, 255, 255, .14); border-bottom: 1px solid rgba(255, 255, 255, .14);
    color-scheme: dark; color: var(--text);
    --text: #e9f1ee; --text-strong: #ffffff; --muted: rgba(233, 241, 238, .74);
    --line: rgba(255, 255, 255, .2); --line-soft: rgba(255, 255, 255, .12);
    --shell: rgba(255, 255, 255, .06); --shell-2: rgba(255, 255, 255, .04); --surface-2: rgba(255, 255, 255, .08);
    --mint: #37e6b0; --mint-ink: #07130f; --mint-soft: rgba(55, 230, 176, .12); --mint-line: rgba(55, 230, 176, .35);
    --star: #f2c66b; --brass: #e2bc78;
  }
  .home > .section.band-dark::before, .home > .section.band-dark + .section::before { display: none; }
  .home > .section.band-dark .card:not(.promise):not(.benefits) { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .14); box-shadow: none; }
  [data-theme="light"] .home > .section.band-dark .btn-primary { background: #ffffff; color: var(--forest); box-shadow: none; }
  .home > .section.band-dark .btn-ghost { background: transparent; border-color: rgba(255, 255, 255, .42); color: #ffffff; }
  .home > #final.band-dark .cta-band { background: none; border: 0; box-shadow: none; padding: 0; }

  [data-theme="light"] .home > :is(#services, #prices, #mounts, #about, #faq):not(.band-dark) { --text: #101a16; --muted: #3c4a44; }
  [data-theme="dark"] .home > :is(#services, #prices, #mounts, #about, #faq):not(.band-dark) { --text: #eef5f3; --muted: #a9b9b5; }

  .home > :is(#promise, #services, #prices, #reviews, #mounts, #about, #faq, #final) .section-head h2::after {
    content: ""; display: block; width: 34px; height: 2px; margin: 14px auto 0; border-radius: 1px; background: var(--brass);
  }

  .home #promise .promise-grid > .promise .icon-badge { color: var(--brass); font-family: "Newsreader", Georgia, "Times New Roman", serif; font-weight: 400; font-size: 36px; letter-spacing: 0; }
  .home > :is(#promise, #services, #prices, #reviews, #mounts, #about, #faq, #final) :is(.stars, .rv-ph-star) { color: var(--brass); }

  .home > :is(#promise, #services, #prices, #reviews, #mounts, #about, #faq, #final) .card { border-radius: 16px; border-color: var(--line); box-shadow: var(--card-shadow); background: var(--shell); }
  .home #prices .tvm, .home #prices .tvm .tvm-page { border-radius: 18px; }
  .home #prices .tvm .tvm-page { background: var(--shell); box-shadow: 0 0 0 1px var(--line); }
}
@media (min-width: 1100px) { .home #faq .section-head h2::after { margin-left: 0; } }

.home > #areas { --gd: 60; --gm: 80; }
@media (min-width: 641px) {
  .home > #areas > .wrap { width: min(1120px, 100% - 32px); }
  .home > #areas { background: color-mix(in srgb, var(--tone-band) 95%, var(--text)); padding-top: 56px; padding-bottom: 56px; margin-top: max(0px, calc(var(--gap) - 80px)); }
  .home > #areas::before, .home > #areas + .section::before { display: none; }
  .home > #areas .section-head { text-align: left; margin-left: 0; max-width: none; }
  .home > #areas .section-head h2::after { content: ""; display: block; width: 34px; height: 2px; margin: 14px 0 0; border-radius: 1px; background: var(--brass); }
  .home > #areas .usmap-stage { background: transparent; border-color: transparent; }
  [data-theme="light"] .home > #areas .usmap .st { fill: #fbfcfb; stroke: #cfd4d2; }
  [data-theme="light"] .home > #areas .usmap .st:not(.served):hover { fill: #eef0ef; }
  [data-theme="light"] .home > #areas .usmap .st.served { fill: var(--map-served); stroke: var(--map-served-line); }
  [data-theme="light"] .home > #areas .usmap .st.served:hover, [data-theme="light"] .home > #areas .usmap .st.active { fill: var(--map-served-hot); }
  [data-theme="light"] .home > #areas .usmap .st.active { stroke: var(--mint); }
  [data-theme="dark"] .home > #areas .usmap .st { fill: #25282a; stroke: #3a3e41; }
  [data-theme="dark"] .home > #areas .usmap .st:not(.served):hover { fill: #2e3234; }
  [data-theme="dark"] .home > #areas .usmap .st.served { fill: var(--map-served); stroke: var(--map-served-line); }
  [data-theme="dark"] .home > #areas .usmap .st.served:hover, [data-theme="dark"] .home > #areas .usmap .st.active { fill: var(--map-served-hot); }
  [data-theme="dark"] .home > #areas .usmap .st.active { stroke: var(--mint); }
  [data-theme="light"] .home > #areas { --map-served: rgba(13, 138, 95, .30); --map-served-hot: rgba(13, 138, 95, .42); }
  [data-theme="dark"] .home > #areas { --map-served: rgba(55, 230, 176, .17); --map-served-hot: rgba(55, 230, 176, .33); }
  .home > #areas .usmap-panel { background: transparent; border: 0; border-radius: 0; padding: 0; }
  .home > #areas .usmap-panel-head { display: none; }
  .home > #areas .usmap-list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; max-height: none; overflow: visible; }
  .home > #areas .usmap-list a { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; padding: 10px 6px; }
  .home > #areas .usmap-list li:first-child a, .home > #areas .usmap-list li:nth-child(2) a { border-top: 1px solid var(--line); }
  .home > #areas .usmap-list a b { font-size: 15px; }
  .home > #areas .usmap-list a:hover { background: color-mix(in srgb, var(--text) 4%, transparent); }
  .home > #areas .usmap-list a.active { background: var(--mint-soft); }
  .home > #areas .usmap-list a .meta .cnt, .home > #areas .usmap-list a .go { display: none; }
  .home > #areas .usmap-detail { border-top: 0; padding-top: 4px; }
}
@media (min-width: 901px) {
  .home > #areas .usmap { grid-template-columns: minmax(0, 51fr) minmax(260px, 49fr); gap: 50px; align-items: center; }
  .home > #areas .usmap-stage { margin-left: calc(-1 * min(12px, max(8px, (100vw - 1120px) / 2) - 8px)); }
}
@media (max-width: 640px) {
  .home > #areas { background: color-mix(in srgb, var(--tone-band) 95%, var(--text)); padding-top: 36px; padding-bottom: 36px; margin-top: max(0px, calc(var(--gap) - 60px)); }
  .home > #areas .usmap-stage, .home > #areas .usmap-panel-head p { display: none; }
}

.home > #blog { --gd: 76; --gm: 76; }
@media (max-width: 640px) { .home > #blog { display: none; } }
@media (min-width: 641px) {
  .home > #blog { background: color-mix(in srgb, var(--tone-band) 95%, var(--text)); padding-top: 56px; padding-bottom: 56px; margin-top: 36px; }
  .home > #blog + #final { margin-top: 0; }
  .home > #blog > .wrap { width: min(1120px, 100% - 32px); max-width: none; display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 56px; align-items: center; }
  .home > #blog .section-head { text-align: left; margin: 0; max-width: none; }
  .home > #blog .section-head h2 { margin: 0; }
  .home > #blog::before, .home > #blog + .section::before { display: none; }
  .home > #blog .section-head h2::after { content: ""; display: block; width: 34px; height: 2px; margin: 14px 0 0; border-radius: 1px; background: var(--brass); }
  .hb-side { display: flex; flex-direction: column; align-items: flex-start; gap: 26px; min-width: 0; }
  .hb-ctl { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
  .home > #blog .hb-all { color: var(--text); font-size: 15px; }
  .hb-count { margin: 0; font-size: 13.5px; font-weight: 600; color: var(--muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
  .hb-count b { color: var(--text); }
  html:not(.has-js) .hb-count, html:not(.has-js) .hb-sd { display: none; }
  .hb-vp { position: relative; min-width: 0; }
  .hb-mask { -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 var(--hb-fl, 0px), #000 calc(100% - var(--hb-fr, 72px)), transparent 100%);
    mask-image: linear-gradient(90deg, transparent 0, #000 var(--hb-fl, 0px), #000 calc(100% - var(--hb-fr, 72px)), transparent 100%); }
  .hb-track { --hb-per: 2.4; list-style: none; display: flex; gap: 20px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none;
    overscroll-behavior-x: contain; padding: 6px; margin: -6px; scroll-padding-inline: 6px; scroll-behavior: smooth; }
  .hb-track::-webkit-scrollbar { display: none; }
  .hb-item { flex: 0 0 calc((100% - (var(--hb-per) - 1) * 20px) / var(--hb-per)); min-width: 0; scroll-snap-align: start; display: flex; }
  .hb-card { display: flex; flex-direction: column; gap: 9px; width: 100%; padding: 20px 18px 18px; border: 1px solid var(--line); border-radius: 16px;
    color: var(--text); text-decoration: none; transition: transform .25s, border-color .25s; }
  .hb-card:hover { transform: translateY(-3px); border-color: var(--mint); }
  .hb-card:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
  .hb-num { font-family: "Newsreader", Georgia, "Times New Roman", serif; font-weight: 400; font-size: 34px; line-height: .9; color: var(--brass); }
  .hb-cat { font-size: 11.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--brass); }
  .hb-card h3 { margin: 0; font-family: "Newsreader", Georgia, "Times New Roman", serif; font-weight: 700; font-size: 19px; line-height: 1.16; letter-spacing: 0;
    color: var(--text); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; text-wrap: pretty; }
  .hb-desc { margin: 0; font-size: 14px; line-height: 1.55; color: var(--muted); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
  .hb-meta { margin-top: auto; padding-top: 2px; display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 12.5px; color: var(--muted); }
  .hb-go { font-weight: 600; color: var(--mint); white-space: nowrap; }
  .hb-sd { position: absolute; z-index: 3; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border-radius: 50%; border: 0; padding: 0;
    background: var(--shell); color: var(--text); box-shadow: 0 2px 6px rgba(0, 0, 0, .08), 0 10px 26px rgba(0, 0, 0, .12); display: grid; place-items: center;
    cursor: pointer; transition: transform .2s, color .2s; }
  .hb-sd:hover { transform: translateY(-50%) scale(1.06); color: var(--mint); }
  .hb-sd:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
  .hb-sd svg { width: 18px; height: 18px; }
  .hb-sd.prev { left: -10px; }
  .hb-sd.next { right: -10px; }
}
@media (min-width: 1220px) { .hb-sd.prev { left: -23px; } .hb-sd.next { right: -23px; } }
@media (min-width: 641px) and (max-width: 1099px) { .home > #blog > .wrap { grid-template-columns: 250px minmax(0, 1fr); gap: 40px; } }
@media (min-width: 641px) and (max-width: 899px) {
  .home > #blog > .wrap { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .hb-side { flex-direction: row; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 24px; }
  .hb-ctl { flex-direction: row; align-items: center; }
  .hb-track { --hb-per: 2.2; }
}
@media (prefers-reduced-motion: reduce) { .hb-track { scroll-behavior: auto; } .hb-card, .hb-sd { transition: none; } }

.qsec { position: relative; padding: 56px 16px 72px; }
.qsec-head { text-align: center; }
.qsec-h { margin: 0 0 8px; font-size: clamp(1.45rem, 2.6vw, 2rem); }
.qsec-nojs { margin: 0; text-align: center; }
.qz-host { min-height: 360px; }
@media (max-width: 899px) { .qz-host { min-height: 470px; } }
.qz-host.qz-ready { min-height: 0; }
@media (max-width: 640px) {
  .home-v2 .hero-top { margin-bottom: 0; }
  .home-v2 > .qsec { order: -1; padding: 28px 16px 90px; }
  .has-js .home-v2 > #contact + .section { --gd: 89.6; --gm: 77; }
}

.hero-photo { display: none; }
@keyframes heroPhotoRise { from { transform: translateY(18px); opacity: 0; } }
@keyframes heroPhotoFade { from { opacity: 0; } }
@media (min-width: 641px) {
  .home > .hero-wall.img-hero { --hdr-h: 69px; --top-h: 37px; --hero-h: calc(88vh - var(--top-h) - var(--hdr-h)); --hero-room: calc(var(--hero-h) * .06);
    position: relative; isolation: isolate; background: var(--bg); overflow: hidden; }
  .home > .hero-wall.img-hero > :is(.wall, .wall-fade) { display: none; }
  html .home > .hero-wall.img-hero::after { content: none; }
  .home > .hero-wall.img-hero > .hero-photo { display: block; position: absolute; z-index: 0; inset: 0; overflow: hidden; pointer-events: none; }
  .img-hero .hero-photo picture { display: contents; }
  .img-hero .hero-photo-img { position: absolute; inset: calc(-1 * var(--hero-room)) 0 0; width: 100%; height: calc(100% + var(--hero-room)); max-width: none; object-fit: cover;
    object-position: 34% 47%; transform-origin: 34% 47%; transform: translate3d(0, var(--par, 0px), 0) scale(1.28); will-change: transform; filter: saturate(.77); }
  [data-theme="dark"] .img-hero .hero-photo-img { filter: saturate(.708); }
  .img-hero .hero-photo-night { position: absolute; inset: 0; background: linear-gradient(180deg, #1b2d4a, #10161f); mix-blend-mode: multiply; opacity: 0; }
  [data-theme="dark"] .img-hero .hero-photo-night { opacity: .2; }
  .img-hero .hero-photo-scrim { position: absolute; inset: 0;
    background: linear-gradient(90deg, color-mix(in srgb, var(--bg) 23%, transparent) 0%, color-mix(in srgb, var(--bg) 16%, transparent) 27%, transparent 60%); }

  .home > .hero-wall.img-hero > .hero-grid { position: relative; z-index: 1; width: 100%; max-width: none; margin: 0; display: flex; flex-direction: column; gap: 0; box-sizing: border-box; }
  .home > .hero-wall.img-hero .hero-copy { box-sizing: border-box; display: flex; flex-direction: column; isolation: isolate; z-index: 1; will-change: auto; padding: 48px 50px 48px 0; }
  .home > .hero-wall.img-hero .hero-copy::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: 1; transition: none; pointer-events: none; box-sizing: border-box;
    border: 0; border-radius: 0;
    background: linear-gradient(rgba(255, 255, 255, 1), rgba(255, 255, 255, 1)) top / 100% 1px no-repeat, color-mix(in srgb, color-mix(in srgb, var(--mint) 16%, var(--bg)) 59%, transparent);
    -webkit-backdrop-filter: blur(22px) saturate(1.4); backdrop-filter: blur(22px) saturate(1.4); }
  [data-theme="dark"] .home > .hero-wall.img-hero .hero-copy::before { background-image: linear-gradient(rgba(255, 255, 255, .25), rgba(255, 255, 255, .25)); }
  .home > .hero-wall.img-hero .hero-copy::after { content: ""; position: absolute; z-index: -2; inset: 0; pointer-events: none;
    box-shadow: 0 24px 60px rgba(16, 30, 26, .28); }
  [data-theme="dark"] .home > .hero-wall.img-hero .hero-copy::after { box-shadow: 0 24px 60px rgba(0, 0, 0, .56); }
  .home > .hero-wall.img-hero .hero-copy > .eyebrow { margin: 0; }
  .home > .hero-wall.img-hero .hero-copy > h1 { margin: 16px 0 0; max-width: 100%; font-size: calc(clamp(32px, 4.6vw, 54.4px) * .94); line-height: 1.12; letter-spacing: -.015em; text-align: inherit; text-wrap: balance; }
  .home > .hero-wall.img-hero .hero-copy > .lead { margin: 14px 0 0; max-width: min(560px, 100%); font-size: 18px; line-height: 1.55; text-align: inherit; text-wrap: pretty; }
  .home > .hero-wall.img-hero .hero-copy > .cta { margin: 37px 0 0; gap: 12px; }
  .home > .hero-wall.img-hero .hero-copy > .cta .btn { border-radius: 999px; }
  .home > .hero-wall.img-hero .hero-copy > .trust { margin: 18px 0 0; }
  .home > .hero-wall.img-hero .hero-copy > :is(.eyebrow, h1, .lead, .cta, .trust) { animation: heroPhotoRise .7s cubic-bezier(.2, .7, .2, 1) both; }
  .home > .hero-wall.img-hero .hero-copy > h1 { animation-delay: .14s; }
  .home > .hero-wall.img-hero .hero-copy > .lead { animation-delay: .22s; }
  .home > .hero-wall.img-hero .hero-copy > .cta { animation-delay: .36s; }
  .home > .hero-wall.img-hero .hero-copy > .trust { animation-delay: .42s; }
  .home > .hero-wall.img-hero .hero-copy::before, .home > .hero-wall.img-hero .hero-copy::after { animation: heroPhotoFade .7s ease-out both; }
}
@media (min-width: 1024px) {
  .home > .hero-wall.img-hero { --col: min(1180px, 100% - 32px); }
  .home > .hero-wall.img-hero > .hero-grid { min-height: var(--hero-h); padding: 0; justify-content: flex-start; align-items: flex-start; }
  .home > .hero-wall.img-hero .hero-copy { flex: 1 1 auto; margin: 0; width: calc(615px + (100% - var(--col)) / 2);
    padding: 48px 50px 48px calc((100% - var(--col)) / 2); justify-content: center; align-items: flex-start; text-align: left; }
  .home > .hero-wall.img-hero .hero-copy::before, .home > .hero-wall.img-hero .hero-copy::after { inset: -2px 0 -2px -2px; }
  .home > .hero-wall.img-hero .hero-copy > :is(.cta, .trust) { justify-content: flex-start; }
}
@media (min-width: 1500px) {
  .home > .hero-wall.img-hero { --col: min(1360px, 100% - 32px); }
}
@media (min-width: 641px) and (max-width: 1023px) {
  .home > .hero-wall.img-hero { overflow: clip visible; }
  .home > .hero-wall.img-hero > .hero-photo { inset: 0 0 auto; height: 340px; }
  .img-hero .hero-photo-scrim { background: linear-gradient(0deg, color-mix(in srgb, var(--bg) 23%, transparent) 0%, transparent 60%); }
  .home > .hero-wall.img-hero > .hero-grid { padding: calc(340px - 68px) 0 56px; align-items: center; }
  .home > .hero-wall.img-hero .hero-copy { width: min(690px, 100% - 32px); margin: 0;
    padding: 48px max(24px, (min(690px, 100% - 32px) - 590px) / 2); align-items: center; text-align: center; }
  .home > .hero-wall.img-hero .hero-copy > :is(.cta, .trust) { justify-content: center; }
}
@media (min-width: 641px) and (prefers-reduced-motion: reduce) {
  .home > .hero-wall.img-hero .hero-copy > *, .home > .hero-wall.img-hero .hero-copy::before, .home > .hero-wall.img-hero .hero-copy::after { animation: none; }
  .img-hero .hero-photo-img { transform: scale(1.28); }
}

.home > .hero-wall > .art { display: none; }
@media (min-width: 641px) {
  .home > .hero-wall.art-on .hero-copy > .lead { font-size: 18.5px; line-height: 1.6; }
  [data-theme="light"] .home > .hero-wall.art-on .hero-copy > .lead { color: #47534e; }
  [data-theme="dark"] .home > .hero-wall.art-on .hero-copy > .lead { color: #a3a9a7; }
  .home > .hero-wall.art-on .hero-copy > .cta { margin-top: 32px; }
  .home > .hero-wall.art-on > :is(.wall, .wall-fade) { display: none; }
  .home > .hero-wall.art-on .hero-copy::before { display: none; }
  html .home > .hero-wall.art-on::after { content: none; }
  .home > .hero-wall.art-on { --col: min(1180px, 100% - 32px); --rc: 530px; }
  .home > .hero-wall.art-on > .art { display: flex; position: absolute; z-index: 0; align-items: center; justify-content: center; pointer-events: none; }
  .home > .hero-wall.art-on > .art.off :is(*, *::before, *::after) { animation-play-state: paused !important; }
}
@media (min-width: 1500px) { .home > .hero-wall.art-on { --col: min(1360px, 100% - 32px); --rc: 660px; } }
@media (min-width: 1100px) {
  .home > .hero-wall.art-on > .art { top: 0; bottom: 0; left: calc(50% + var(--col) / 2 - var(--rc)); width: var(--rc); container-type: size; }
  .home > .hero-wall.art-on .orb { --ow: min(var(--rc), calc(100cqh - 24px)); }
}
@media (min-width: 641px) and (max-width: 1099px) {
  .home > .hero-wall.art-on .hero-copy > :is(.cta, .trust) { justify-content: center; }
  .home > .hero-wall.art-on > .art { left: 50%; width: min(440px, 100vw - 32px); transform: translateX(-50%); bottom: 30px; }
  .home > .hero-wall.art-on .orb { --ow: min(440px, 100vw - 32px); }
  .home > .hero-wall.art-on > .hero-grid { padding-bottom: calc(min(440px, 100vw - 32px) + 64px); }
}

[data-theme="light"] .home-v2 { --jx-hero: #e5e9df; }
[data-theme="dark"] .home-v2 { --jx-hero: #1d2022; }
@media (min-width: 641px) {
  .home-v2 > .hero-wall { background: var(--jx-hero); }
}
@media (min-width: 1100px) {
  .home-v2 > .hero-wall.art-on > .hero-grid { padding-bottom: 78px; }
  .home-v2 > .qsec { padding-top: 44px; }
  .home-v2 > .qsec .qsec-h { margin-bottom: 20px; }
}
@media (min-width: 641px) and (max-width: 1099px) {
  .home-v2 > .hero-wall.art-on > .art { bottom: 48px; }
  .home-v2 > .hero-wall.art-on > .hero-grid { padding-bottom: calc(min(440px, 100vw - 32px) + 82px); }
  .home-v2 > .qsec { padding-top: 64px; }
  .home-v2 > .qsec .qsec-h { margin-bottom: 32px; }
}
@media (max-width: 640px) {
  .home-v2 .hero-top { padding-bottom: var(--scene-under, 24px); background: var(--scene-bg, var(--jx-hero)); }
  .home-v2 > .qsec { padding-top: 32px; }
}

.tbar { display: none; }
@media (min-width: 1100px) {
  .home-v2 .hero-copy .trust { display: none; }
  .tbar { display: grid; grid-template-columns: repeat(4, max-content); align-items: center; margin: 0; padding: 0; list-style: none; }
  .tb-i { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 0 18px; }
  .tb-i:first-child { padding-left: 0; }
  .tb-i + .tb-i { border-left: 1px solid var(--line); }
  .tb-ic { flex: none; display: grid; place-items: center; color: var(--mint); }
  .tb-ic svg { display: block; width: 17px; height: 17px; }
  .tb-tx { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
  .tb-t { font-size: 14px; font-weight: 600; letter-spacing: -.01em; color: var(--text); font-variant-numeric: tabular-nums; }
  .tb-p { margin-top: 1px; font-size: 12px; line-height: 1.42; color: var(--muted); }
  .tb-star { margin-left: 1px; color: var(--star); }
}
@media (min-width: 1100px) and (prefers-reduced-motion: no-preference) {
  .tb-i { animation: tb-in .55s cubic-bezier(.22, .61, .36, 1) backwards; animation-delay: calc(var(--i, 0) * 70ms + .12s); }
}
@keyframes tb-in { from { opacity: 0; transform: translateY(8px) scale(.985); } }

.ct-side { display: contents; }
.ct-extra { display: none; }
@media (min-width: 1024px) {
  .home-v2 > #contact > .wrap { width: min(1120px, 100% - 32px); }
  .home-v2 > #contact.tone-band { padding-top: 58px; padding-bottom: 58px; }
  .home-v2 > #contact .contact-card { max-width: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 38fr) minmax(0, 62fr); column-gap: 64px; align-items: stretch; background: none; border: 0; border-radius: 0; box-shadow: none; overflow: visible; }
  .home-v2 > #contact .contact-card::before { display: none; }
  .home-v2 > #contact .ct-side { display: flex; flex-direction: column; justify-content: flex-start; min-width: 0; }
  .home-v2 > #contact .ct-side::before { content: ""; flex: 1 1 0; }
  .home-v2 > #contact .ct-side::after { content: ""; flex: 2 1 0; }
  .home-v2 > #contact .ct-side h3 { margin: 0; font-size: 36.8px; font-weight: 700; line-height: 1.12; letter-spacing: -.015em; text-wrap: balance; }
  .home-v2 > #contact .ct-side h3::after { content: ""; display: block; width: 34px; height: 2px; margin-top: 16px; background: var(--mint); }
  .home-v2 > #contact .ct-side > .muted { margin: 18px 0 0; max-width: 36ch; font-size: 16px; line-height: 1.55; text-wrap: pretty; }
  .home-v2 > #contact .ct-extra { display: grid; gap: 3px; margin-top: 28px; }
  .home-v2 > #contact .ct-phone { display: inline-flex; align-items: center; gap: 9px; width: max-content; font-size: 20px; font-weight: 700; color: var(--text-strong); text-decoration: none; }
  .home-v2 > #contact .ct-phone svg { width: 18px; height: 18px; color: var(--mint); }
  .home-v2 > #contact .ct-hours { font-size: 13.5px; color: var(--muted); }
  .home-v2 > #contact .form { padding: 32px; background: linear-gradient(180deg, var(--shell) 0%, var(--shell-2) 100%); border: 1px solid var(--line-soft); border-radius: 22px; box-shadow: var(--shadow-soft); min-width: 0; }
}

@media (min-width: 641px) {
  :root .home.home-v2 { display: flex; flex-direction: column; }
  :root .home.home-v2 > #gallery, :root .home.home-v2 > #gallery ~ * { order: 2; }
  :root .home.home-v2 > #promise { order: 1; }

  :root .home.home-v2 > :is(#quote, .over-wall, #contact, #promise, #gallery, #reviews, #areas, #about, #faq, #blog, #final) { border-top: 0; border-bottom: 0; }
  :root .home.home-v2 > :is(#gallery, #services, #about)::before { display: none; }
  :root .home.home-v2 > :is(#services, #about) { --hr-on: 0; }

  :root .home.home-v2 > #quote { background: #f4f5ef; padding-top: 64px; padding-bottom: 64px; margin-top: 0; }
  :root .home.home-v2 > .section.over-wall { background: #f4f5ef; padding-top: 27px; padding-bottom: 81px; margin-top: 48px; isolation: isolate; contain: paint; }
  :root .home.home-v2 > .section.over-wall::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 55%; z-index: -1; pointer-events: none; opacity: .4;
    background: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1440 300%27 preserveAspectRatio=%27none%27 fill=%27none%27 stroke=%27%230d8a5f%27 stroke-width=%271%27%3E%3Cpath d=%27M720 0 L-960 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L-820 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L-680 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L-540 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L-400 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L-260 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L-120 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L20 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L160 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L300 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L440 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L580 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L720 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L860 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L1000 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L1140 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L1280 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L1420 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L1560 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L1700 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L1840 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L1980 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L2120 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L2260 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L2400 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M0 8H1440%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M0 22H1440%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M0 42H1440%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M0 70H1440%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M0 108H1440%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M0 160H1440%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M0 230H1440%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M0 300H1440%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
    -webkit-mask-image: linear-gradient(0deg, #000 20%, transparent); mask-image: linear-gradient(0deg, #000 20%, transparent); }
  :root .home.home-v2 > #contact { background: #edeee7; padding-top: 78px; padding-bottom: 86px; margin-top: 0; }
  :root .home.home-v2 > #promise { --forest: #323d43; background: var(--forest); padding-top: 71px; padding-bottom: 98px; margin-top: 0; }
  :root .home.home-v2 > #gallery { background: #f4f5ef; padding-top: 64px; padding-bottom: 64px; margin-top: 0; }
  :root .home.home-v2 > #services { margin-top: calc(92px - var(--room-t)); }
  :root .home.home-v2 > #reviews { --forest: #323d43; background: var(--forest); padding-top: 69px; padding-bottom: 76px; margin-top: calc(96px - var(--room-b)); }
  :root .home.home-v2 > #areas { background: #e2e4dc; padding-bottom: 34px; }
  :root .home.home-v2 > #about { background: #f3f4ef; padding-top: 64px; padding-bottom: 64px; margin-top: calc(58px - var(--room-b)); }
  :root .home.home-v2 > #faq { background: #f3f4ef; padding-top: 56px; padding-bottom: 85px; margin-top: 44px; }
  :root .home.home-v2 > #blog { background: #e5e9df; padding-top: 64px; padding-bottom: 68px; margin-top: 0; }
  :root .home.home-v2 > #final { --forest: #323d43; background: var(--forest); padding-top: 118px; padding-bottom: 93px; margin-top: 0; isolation: isolate; contain: paint; }
  :root .home.home-v2 > #final::after { content: ""; position: absolute; left: 88%; top: 50%; height: 110.5%; aspect-ratio: 800 / 520; z-index: -1; pointer-events: none; opacity: .4;
    transform: translate(-50%, -50%); background: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-400 -260 800 520%27 fill=%27none%27 stroke=%27%2346e0ad%27 overflow=%27visible%27%3E%3Cg transform=%27translate%280 0%29 rotate%28-4%29%27 opacity=%271%27%3E%3Crect x=%27-150%27 y=%27-87%27 width=%27300%27 height=%27174%27 rx=%276%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3Crect x=%27-144%27 y=%27-81%27 width=%27288%27 height=%27162%27 rx=%272%27 stroke-width=%271%27 vector-effect=%27non-scaling-stroke%27 opacity=%27.5%27/%3E%3Cpath d=%27M-36 87v18M36 87v18%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/g%3E%3Cg transform=%27translate%28-250 -150%29 rotate%288%29%27 opacity=%270.7%27%3E%3Crect x=%27-75%27 y=%27-43.5%27 width=%27150%27 height=%2787%27 rx=%276%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3Crect x=%27-69%27 y=%27-37.5%27 width=%27138%27 height=%2775%27 rx=%272%27 stroke-width=%271%27 vector-effect=%27non-scaling-stroke%27 opacity=%27.5%27/%3E%3Cpath d=%27M-18 43.5v9M18 43.5v9%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/g%3E%3Cg transform=%27translate%28230 140%29 rotate%28-10%29%27 opacity=%270.75%27%3E%3Crect x=%27-85%27 y=%27-49.3%27 width=%27170%27 height=%2798.6%27 rx=%276%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3Crect x=%27-79%27 y=%27-43.3%27 width=%27158%27 height=%2786.6%27 rx=%272%27 stroke-width=%271%27 vector-effect=%27non-scaling-stroke%27 opacity=%27.5%27/%3E%3Cpath d=%27M-20.4 49.3v10.2M20.4 49.3v10.2%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/g%3E%3Cg transform=%27translate%28-230 170%29 rotate%284%29%27 opacity=%270.5%27%3E%3Crect x=%27-55%27 y=%27-31.9%27 width=%27110%27 height=%2763.8%27 rx=%276%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3Crect x=%27-49%27 y=%27-25.9%27 width=%2798%27 height=%2751.8%27 rx=%272%27 stroke-width=%271%27 vector-effect=%27non-scaling-stroke%27 opacity=%27.5%27/%3E%3Cpath d=%27M-13.2 31.9v6.6M13.2 31.9v6.6%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/g%3E%3Cg transform=%27translate%28260 -170%29 rotate%2812%29%27 opacity=%270.55%27%3E%3Crect x=%27-60%27 y=%27-34.8%27 width=%27120%27 height=%2769.6%27 rx=%276%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3Crect x=%27-54%27 y=%27-28.8%27 width=%27108%27 height=%2757.6%27 rx=%272%27 stroke-width=%271%27 vector-effect=%27non-scaling-stroke%27 opacity=%27.5%27/%3E%3Cpath d=%27M-14.4 34.8v7.2M14.4 34.8v7.2%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }
  :root .home.home-v2 > #final { position: relative; }

  :root[data-theme="dark"] .home.home-v2 > #quote,
  :root[data-theme="dark"] .home.home-v2 > .section.over-wall,
  :root[data-theme="dark"] .home.home-v2 > #gallery,
  :root[data-theme="dark"] .home.home-v2 > #about,
  :root[data-theme="dark"] .home.home-v2 > #faq { background: #1d2022; }
  :root[data-theme="dark"] .home.home-v2 > :is(#contact, #areas, #blog) { background: #232526; }
  :root[data-theme="dark"] .home.home-v2 > :is(#promise, #reviews, #final) { --forest: #1c2523; }
  :root[data-theme="dark"] .home.home-v2 > .section.over-wall::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 1440 300%27 preserveAspectRatio=%27none%27 fill=%27none%27 stroke=%27%2346e0ad%27 stroke-width=%271%27%3E%3Cpath d=%27M720 0 L-960 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L-820 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L-680 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L-540 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L-400 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L-260 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L-120 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L20 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L160 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L300 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L440 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L580 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L720 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L860 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L1000 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L1140 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L1280 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L1420 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L1560 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L1700 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L1840 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L1980 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L2120 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L2260 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M720 0 L2400 300%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M0 8H1440%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M0 22H1440%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M0 42H1440%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M0 70H1440%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M0 108H1440%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M0 160H1440%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M0 230H1440%27 vector-effect=%27non-scaling-stroke%27/%3E%3Cpath d=%27M0 300H1440%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/svg%3E"); }
}
@media (min-width: 1100px) {
  :root .home.home-v2 > .hero-wall.art-on > .hero-grid { padding-top: 46px; }
}

@media (min-width: 1100px) {
  html .home-v2 > .hero-wall.art-on > .hero-grid { padding-top: 0 !important; }
  html .home-v2 > .hero-wall.art-on .hero-copy { padding-top: 100px !important; }
  html .home-v2 > .hero-wall.art-on .hero-copy > * { margin-top: 0 !important; margin-bottom: 0 !important; }
  html .home-v2 > .hero-wall.art-on .hero-copy > h1 { margin-top: 15px !important; }
  html .home-v2 > .hero-wall.art-on .hero-copy > .lead { margin-top: 14.5px !important; }
  html .home-v2 > .hero-wall.art-on .hero-copy > .cta { margin-top: 45.4px !important; column-gap: 12px !important; }
  html .home-v2 > .hero-wall.art-on .hero-copy > .tbar { margin-top: 30px !important; }
  html .home-v2 > .hero-wall.art-on .tbar > .tb-i { padding-left: 18px !important; padding-right: 18px !important; gap: 9px !important; }
  html .home-v2 > .hero-wall.art-on .tbar > .tb-i:first-child { padding-left: 0 !important; }
  html .home-v2 > .hero-wall.art-on > .hero-grid { padding-bottom: 47px !important; }
  html .home-v2 > .qsec { padding-top: 67px !important; margin-bottom: 0 !important; }
  html .home-v2 > .qsec .qsec-h { margin-bottom: 22.7px !important; }
  html .home-v2 > .qsec + .section { margin-top: 94px !important; }
}
@media (min-width: 641px) and (max-width: 1099px) {
  html .home-v2 > .hero-wall.art-on > .hero-grid { padding-top: 41px !important;
    padding-bottom: calc(min(440px, 100vw - 32px) + 48px + 34px) !important; }
  html .home-v2 > .hero-wall.art-on > .art { bottom: 48px !important; }
  html .home-v2 > .hero-wall.art-on .hero-copy > * { margin-top: 0 !important; margin-bottom: 0 !important; }
  html .home-v2 > .hero-wall.art-on .hero-copy > h1 { margin-top: 19px !important; }
  html .home-v2 > .hero-wall.art-on .hero-copy > .lead { margin-top: 20.6px !important; }
  html .home-v2 > .hero-wall.art-on .hero-copy > .cta { margin-top: 31.4px !important; column-gap: 12px !important; }
  html .home-v2 > .hero-wall.art-on .hero-copy > .trust { margin-top: 18px !important; column-gap: 22px !important; }
  html .home-v2 > .qsec { padding-top: 68.2px !important; margin-bottom: 0 !important; }
  html .home-v2 > .qsec .qsec-h { margin-bottom: 25.3px !important; }
  html .home-v2 > .qsec + .section { margin-top: 94px !important; }
}
@media (max-width: 640px) {
  html .home-v2 .hero-top > .hero-copy > * { margin-top: 0 !important; margin-bottom: 0 !important; }
  html .home-v2 .hero-top > .hero-copy > h1 { margin-top: 14px !important; }
  html .home-v2 .hero-top > .hero-copy > .lead-short { margin-top: 13.3px !important; }
  html .home-v2 .hero-top > .hero-copy > .cta { margin-top: 25.8px !important; column-gap: 10px !important; }
  html .home-v2 .hero-top > .hero-copy > .hero-wa { margin-top: 12px !important; }
  html .home-v2 .hero-top > .hero-scene { margin-top: 0px !important; }
  html .home-v2 > .qsec { padding-top: 26px !important; margin-bottom: 0 !important; }
  html .home-v2 > .qsec + .section { margin-top: -37.5px !important; }
}

.hero-wa { display: none; }
@media (max-width: 640px) {
  html .home-v2 .hero-top > .hero-copy > .cta > .btn { flex: 1 1 auto; gap: 8px; }
  html .home-v2 .hero-top > .hero-copy > .cta > .hero-call svg { width: 18px; height: 18px; }
  html .home-v2 .hero-top > .hero-copy > .hero-wa { position: relative; display: inline-flex; align-items: center; gap: 8px; align-self: flex-end;
    font-size: 13.95px; font-weight: 700; line-height: 1.2; color: #0b7a43; text-decoration: none; -webkit-tap-highlight-color: transparent; }
  html[data-theme="dark"] .home-v2 .hero-top > .hero-copy > .hero-wa { color: #5fe39a; }
  html .home-v2 .hero-top > .hero-copy > .hero-wa::after { content: ""; position: absolute; inset: -10px -8px; }
  html .home-v2 .hero-top > .hero-copy > .hero-wa i { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: #25d366; color: #fff; flex: 0 0 auto; }
  html .home-v2 .hero-top > .hero-copy > .hero-wa i svg { width: 62%; height: 62%; }
  html .home-v2 .hero-top > .hero-copy > .hero-wa > svg { width: 16px; height: 16px; flex: 0 0 auto; margin-left: -3px; transition: transform .15s; }
  html .home-v2 .hero-top > .hero-copy > .hero-wa:active { opacity: .7; }
  @media (hover: hover) {
    html .home-v2 .hero-top > .hero-copy > .hero-wa:hover > svg { transform: translateX(3px); }
    html .home-v2 .hero-top > .hero-copy > .hero-wa:hover span { text-decoration: underline; text-underline-offset: 3px; }
  }
}

.nav-theme { display: none; }
.hdr-duo { display: contents; }
@media (max-width: 640px) {
  .header .tools .theme-toggle { display: none; }
  .header .tools { gap: 6px; }
  .hdr-duo { display: inline-flex; align-items: stretch; flex: 0 0 auto; margin-left: auto; height: 35px; border-radius: 999px; overflow: hidden;
    background: var(--mint-soft); border: 1px solid var(--mint-line); }
  .hdr-duo .call-pill, .hdr-duo .hdr-text { display: inline-flex; flex-direction: row; align-items: center; justify-content: center; gap: 5px;
    width: auto; min-width: 35px; height: 100%; padding: 0 10px; margin: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none;
    color: var(--mint); font-size: 13.5px; font-weight: 700; letter-spacing: 0; line-height: 1; }
  .hdr-duo .call-pill svg, .hdr-duo .hdr-text svg { width: 15px; height: 15px; }
  .hdr-duo .call-pill .act-lbl, .hdr-duo .hdr-text .act-lbl { display: block; }
  .hdr-duo .hdr-text { position: relative; }
  .hdr-duo .hdr-text::before { content: ""; position: absolute; left: 0; top: 24%; bottom: 24%; width: 1px; background: var(--mint-line); }
  .hdr-duo .call-pill:active, .hdr-duo .hdr-text:active { transform: none; opacity: 1; background: var(--mint-soft); }
  .header .tools .hdr-book { width: auto; height: 35px; padding: 0 13px; font-size: 13.5px; justify-content: center; }
  .header .tools .hdr-book svg { display: none; }
  .header .tools .hdr-book .act-lbl { display: block; }
  .nav .nav-theme { display: flex; align-items: center; gap: 10px; width: 100%; min-height: 46px; margin-top: 6px; padding: 8px 12px;
    border: 0; border-top: 1px solid var(--line-soft); border-radius: 0; background: none; color: var(--text); font: inherit; font-size: 15px;
    font-weight: 600; text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent; }
  .nav .nav-theme svg { width: 18px; height: 18px; flex: 0 0 auto; color: var(--mint); }
  .nav .nav-theme span { flex: 1 1 auto; }
  .nav-theme-knob { flex: 0 0 auto; width: 46px; height: 28px; border-radius: 999px; background: var(--ios-fill); position: relative;
    transition: background .25s; box-shadow: inset 0 0 0 1px var(--line-soft); }
  .nav-theme-knob::after { content: ""; position: absolute; top: 2px; left: 2px; width: 24px; height: 24px; border-radius: 50%; background: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, .22); transition: transform .28s cubic-bezier(.3, .8, .3, 1); }
  [data-theme="dark"] .nav-theme-knob { background: var(--mint); box-shadow: none; }
  [data-theme="dark"] .nav-theme-knob::after { transform: translateX(18px); }
  .home .hero-top { --scene-floor: var(--scene-floor-l, transparent); }
  [data-theme="dark"] .home .hero-top { --scene-floor: var(--scene-floor-d, transparent); }
  .home .hero-top::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: var(--scene-fade, 0px); pointer-events: none;
    background: linear-gradient(to bottom, transparent, var(--bg)),
      linear-gradient(var(--scene-floor), var(--scene-floor)) 0 100% / 100% var(--scene-under, 0px) no-repeat; }
}
@media (prefers-reduced-motion: reduce) { .nav-theme-knob, .nav-theme-knob::after { transition: none; } }
@media (max-width: 350px) {
  html[lang="en"] .header:not(.with-lang) .hdr-duo .act-lbl { display: none; }
  html[lang="en"] .header:not(.with-lang) .hdr-duo .call-pill, html[lang="en"] .header:not(.with-lang) .hdr-duo .hdr-text { width: 39px; padding: 0; }
}
@media (max-width: 401px) {
  html[lang="en"] .header.with-lang .hdr-duo .act-lbl { display: none; }
  html[lang="en"] .header.with-lang .hdr-duo .call-pill, html[lang="en"] .header.with-lang .hdr-duo .hdr-text { width: 39px; padding: 0; }
}
@media (max-width: 418px) {
  html[lang="es"] .header:not(.with-lang) .hdr-duo .act-lbl { display: none; }
  html[lang="es"] .header:not(.with-lang) .hdr-duo .call-pill, html[lang="es"] .header:not(.with-lang) .hdr-duo .hdr-text { width: 39px; padding: 0; }
}
@media (max-width: 456px) {
  html[lang="es"] .header.with-lang .hdr-duo .act-lbl { display: none; }
  html[lang="es"] .header.with-lang .hdr-duo .call-pill, html[lang="es"] .header.with-lang .hdr-duo .hdr-text { width: 39px; padding: 0; }
}
@media (max-width: 309px) {
  html[lang="en"] .header.with-lang .tools .hdr-book { width: 35px; padding: 0; }
  html[lang="en"] .header.with-lang .tools .hdr-book .act-lbl { display: none; }
  html[lang="en"] .header.with-lang .tools .hdr-book svg { display: block; width: 17px; height: 17px; }
}
@media (max-width: 318px) {
  html[lang="es"] .header:not(.with-lang) .tools .hdr-book { width: 35px; padding: 0; }
  html[lang="es"] .header:not(.with-lang) .tools .hdr-book .act-lbl { display: none; }
  html[lang="es"] .header:not(.with-lang) .tools .hdr-book svg { display: block; width: 17px; height: 17px; }
}
@media (max-width: 335px) {
  html[lang="es"] .header.with-lang .tools .hdr-book { width: 35px; padding: 0; }
  html[lang="es"] .header.with-lang .tools .hdr-book .act-lbl { display: none; }
  html[lang="es"] .header.with-lang .tools .hdr-book svg { display: block; width: 17px; height: 17px; }
}
@media (min-width: 641px) {
  .header .tools .call-pill { box-sizing: border-box; height: 38.75px; padding: 0 12px; gap: 7px;
    background: var(--surface-2); border: 1px solid transparent; border-radius: 999px; color: var(--text);
    font-size: 13px; font-weight: 700;
    transition: background .15s ease, border-color .15s ease, color .15s ease; }
  .header .tools .call-pill svg { width: 14px; height: 14px; flex: 0 0 auto; color: currentColor; }
  .header .tools .lang, .header .tools .theme-toggle { border-color: transparent; transition: background .15s ease; }
  .header .tools .call-pill:hover, .header .tools .lang:hover, .header .tools .theme-toggle:hover {
    background: color-mix(in srgb, var(--surface-2) 70%, var(--text) 8%); border-color: transparent; }
  .header .tools .call-pill:focus-visible { outline: 2px solid var(--mint); outline-offset: 2px; }
  html[data-theme="dark"] .header .tools :is(.call-pill, .lang, .theme-toggle) { background: #272b2e; }
  html[data-theme="dark"] .header .tools :is(.call-pill, .lang, .theme-toggle):hover { background: #32373b; }
}
.home-fab { display: none; }
@media (max-width: 640px) {
  :root .home.home-v2 .hero-copy > .lead.hide-phone { display: block !important; margin-top: 13.3px !important; max-width: 330px;
    font-size: 15.5px; line-height: 1.5; text-align: var(--scene-align); text-wrap: pretty; }
  :root .home.home-v2 .hero-copy > .lead-short { display: none !important; }

  :root .home.home-v2 .btn:not(.btn-sm), :root .home.home-v2 .hero .cta .btn, :root .home.home-v2 .vc-go { border-radius: 12px; }
  :root:has(main.home-v2) .header .tools .hdr-book { border-radius: 12px; }

  :root .home.home-v2 > :is(#contact, #promise, #areas, #faq) { position: relative; padding-top: 40px; padding-bottom: 40px; margin-top: 0; }
  :root .home.home-v2 > :is(#contact, #promise, #areas, #faq)::before { display: none; }
  :root .home.home-v2 > #contact { --band: #e2e4dc; background: var(--band); margin-top: -55px; }
  :root .home.home-v2 > #faq { --band: #f4f5ef; background: var(--band); }
  :root .home.home-v2 > #areas { margin-top: 45px; padding-top: 70px; }
  :root .home.home-v2 > #contact { padding-bottom: 67px; }
  :root .home.home-v2 > #promise { padding-top: 57px; }
  :root .home.home-v2 > :is(#promise, #areas) { --band: #323d43;
    color-scheme: dark; color: var(--text);
    --text: #e9f1ee; --text-strong: #ffffff; --muted: rgba(233, 241, 238, .74);
    --line: rgba(255, 255, 255, .2); --line-soft: rgba(255, 255, 255, .12);
    --shell: rgba(255, 255, 255, .06); --shell-2: rgba(255, 255, 255, .04); --surface-2: rgba(255, 255, 255, .08);
    --mint: #37e6b0; --mint-ink: #07130f; --mint-soft: rgba(55, 230, 176, .12); --mint-line: rgba(55, 230, 176, .35); }
  :root[data-theme="dark"] .home.home-v2 > #contact { --band: #232526; }
  :root[data-theme="dark"] .home.home-v2 > #faq { --band: #1d2022; }
  :root[data-theme="dark"] .home.home-v2 > :is(#promise, #areas) { --band: #1c2523; }
  :root .home.home-v2 > #contact .contact-card { background: #f4f5f2; box-shadow: none; }
  :root[data-theme="dark"] .home.home-v2 > #contact .contact-card { background: #353637; }

  :root .home.home-v2 > :is(#promise, #areas) { --wave-h: 16px;
    background: linear-gradient(var(--band), var(--band)) top / 100% calc(100% - var(--wave-h)) no-repeat;
    padding-bottom: calc(40px + var(--wave-h)); }
  :root .home.home-v2 > #promise { padding-bottom: calc(50px + var(--wave-h)); }
  :root .home.home-v2 > #areas { --wave-h: 15px; padding-bottom: calc(69px + var(--wave-h)); }
  :root .home.home-v2 > :is(#promise, #areas)::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: calc(var(--wave-h) * 1.07); pointer-events: none;
    background: var(--band);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -7 390 107' preserveAspectRatio='none'%3E%3Cpath d='M0 -7 L0 50.0 L3 42.8 L6 35.7 L9 28.9 L12 22.6 L15 16.8 L18 11.8 L21 7.5 L24 4.2 L27 1.8 L30 0.4 L33 0.0 L36 0.7 L39 2.4 L42 5.2 L45 8.9 L48 13.4 L51 18.7 L54 24.7 L57 31.1 L60 38.0 L63 45.2 L66 52.4 L69 59.6 L72 66.6 L75 73.2 L78 79.4 L81 84.9 L84 89.7 L87 93.7 L90 96.8 L93 98.8 L96 99.9 L99 99.9 L102 98.8 L105 96.8 L108 93.7 L111 89.7 L114 84.9 L117 79.4 L120 73.2 L123 66.6 L126 59.6 L129 52.4 L132 45.2 L135 38.0 L138 31.1 L141 24.7 L144 18.7 L147 13.4 L150 8.9 L153 5.2 L156 2.4 L159 0.7 L162 0.0 L165 0.4 L168 1.8 L171 4.2 L174 7.5 L177 11.8 L180 16.8 L183 22.6 L186 28.9 L189 35.7 L192 42.8 L195 50.0 L198 57.2 L201 64.3 L204 71.1 L207 77.4 L210 83.2 L213 88.2 L216 92.5 L219 95.8 L222 98.2 L225 99.6 L228 100.0 L231 99.3 L234 97.6 L237 94.8 L240 91.1 L243 86.6 L246 81.3 L249 75.3 L252 68.9 L255 62.0 L258 54.8 L261 47.6 L264 40.4 L267 33.4 L270 26.8 L273 20.6 L276 15.1 L279 10.3 L282 6.3 L285 3.2 L288 1.2 L291 0.1 L294 0.1 L297 1.2 L300 3.2 L303 6.3 L306 10.3 L309 15.1 L312 20.6 L315 26.8 L318 33.4 L321 40.4 L324 47.6 L327 54.8 L330 62.0 L333 68.9 L336 75.3 L339 81.3 L342 86.6 L345 91.1 L348 94.8 L351 97.6 L354 99.3 L357 100.0 L360 99.6 L363 98.2 L366 95.8 L369 92.5 L372 88.2 L375 83.2 L378 77.4 L381 71.1 L384 64.3 L387 57.2 L390 50.0 L390 50.0 L390 -7Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 -7 390 107' preserveAspectRatio='none'%3E%3Cpath d='M0 -7 L0 50.0 L3 42.8 L6 35.7 L9 28.9 L12 22.6 L15 16.8 L18 11.8 L21 7.5 L24 4.2 L27 1.8 L30 0.4 L33 0.0 L36 0.7 L39 2.4 L42 5.2 L45 8.9 L48 13.4 L51 18.7 L54 24.7 L57 31.1 L60 38.0 L63 45.2 L66 52.4 L69 59.6 L72 66.6 L75 73.2 L78 79.4 L81 84.9 L84 89.7 L87 93.7 L90 96.8 L93 98.8 L96 99.9 L99 99.9 L102 98.8 L105 96.8 L108 93.7 L111 89.7 L114 84.9 L117 79.4 L120 73.2 L123 66.6 L126 59.6 L129 52.4 L132 45.2 L135 38.0 L138 31.1 L141 24.7 L144 18.7 L147 13.4 L150 8.9 L153 5.2 L156 2.4 L159 0.7 L162 0.0 L165 0.4 L168 1.8 L171 4.2 L174 7.5 L177 11.8 L180 16.8 L183 22.6 L186 28.9 L189 35.7 L192 42.8 L195 50.0 L198 57.2 L201 64.3 L204 71.1 L207 77.4 L210 83.2 L213 88.2 L216 92.5 L219 95.8 L222 98.2 L225 99.6 L228 100.0 L231 99.3 L234 97.6 L237 94.8 L240 91.1 L243 86.6 L246 81.3 L249 75.3 L252 68.9 L255 62.0 L258 54.8 L261 47.6 L264 40.4 L267 33.4 L270 26.8 L273 20.6 L276 15.1 L279 10.3 L282 6.3 L285 3.2 L288 1.2 L291 0.1 L294 0.1 L297 1.2 L300 3.2 L303 6.3 L306 10.3 L309 15.1 L312 20.6 L315 26.8 L318 33.4 L321 40.4 L324 47.6 L327 54.8 L330 62.0 L333 68.9 L336 75.3 L339 81.3 L342 86.6 L345 91.1 L348 94.8 L351 97.6 L354 99.3 L357 100.0 L360 99.6 L363 98.2 L366 95.8 L369 92.5 L372 88.2 L375 83.2 L378 77.4 L381 71.1 L384 64.3 L387 57.2 L390 50.0 L390 50.0 L390 -7Z'/%3E%3C/svg%3E") 0 0 / 100% 100% no-repeat; }
  :root .home.home-v2 > :is(#promise, #areas) + .section { margin-top: 0; }
  :root .home.home-v2 > #promise + .section { padding-top: 100px; }
  :root .home.home-v2 > #areas + .section { padding-top: 89px; }
  :root .home.home-v2 > #final { padding-bottom: 60px; }
  :root:has(main.home-v2) .footer { padding-top: 54px; }
  :root .home.home-v2 > #gallery::before { display: none; }

  :root .home.home-v2 > #contact::before { content: ""; display: block; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: var(--line); }
  :root .home.home-v2 > #areas::before { content: ""; display: block; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: var(--line); }

  :root .home.home-v2 > #prices .tvp-grp, :root .home.home-v2 > #reviews .rv-card { background: var(--shell); box-shadow: none; }
  :root[data-theme="dark"] .home.home-v2 > #prices .tvp-grp, :root[data-theme="dark"] .home.home-v2 > #reviews .rv-card { background: #1b1e20; }

  :root .home.home-v2 #promise .promise-head h3[data-short] > .ph-full { display: inline; }
  :root .home.home-v2 #promise .promise-head h3[data-short]::after { content: none; }
  :root .home.home-v2 #promise .promise-txt span.hide-phone { display: inline !important; }
  :root .home.home-v2 #promise .promise-txt span.only-phone { display: none !important; }
  :root .home.home-v2 #promise .section-head { margin-bottom: 45px; }
  :root .home.home-v2 #promise .promise-grid { padding-bottom: 90.6px; }
  :root .home.home-v2 #promise .promise-grid > .promise { grid-template-columns: calc(36% * var(--k, 1)) minmax(0, 1fr); column-gap: 41px; align-items: start; text-align: left; }
  :root .home.home-v2 #promise .promise-grid > .promise.tv-r { grid-template-columns: minmax(0, 1fr) calc(36% * var(--k, 1)); text-align: left; }
  :root .home.home-v2 #promise .promise-grid > .promise + .promise { margin-top: 63px; }
  :root .home.home-v2 #promise .promise-grid > .promise h3 { font-size: 16px; line-height: 1.28; text-wrap: balance; color: var(--text-strong); }
  :root .home.home-v2 #promise .promise-grid > .promise .promise-txt > p { margin-top: 6px; font-size: 13.5px; line-height: 1.5; color: var(--muted); text-wrap: pretty; }
  :root .home.home-v2 #promise .ptv-ant :is(.rod-e, .rod-h, .tip-e, .tip-h) { display: inline; }
  :root .home.home-v2 #promise .ptv-ant .rod-e { stroke: rgba(8, 12, 14, .6); stroke-width: 4.5; }
  :root .home.home-v2 #promise .ptv-ant .rod { stroke: #cfd6da; stroke-width: 3; }
  :root .home.home-v2 #promise .ptv-ant .rod-h { stroke: rgba(255, 255, 255, .92); stroke-width: 1; }
  :root .home.home-v2 #promise .ptv-ant .tip-e { fill: rgba(8, 12, 14, .6); }
  :root .home.home-v2 #promise .ptv-ant .tip { fill: #dfe5e8; }
  :root .home.home-v2 #promise .ptv-ant .tip-h { fill: #ffffff; }
  :root[data-theme="dark"] .home.home-v2 #promise .ptv-ant .rod { stroke: #bcc4c8; }
  :root[data-theme="dark"] .home.home-v2 #promise .ptv-ant .tip { fill: #cdd4d7; }
  :root[data-theme="dark"] .home.home-v2 #promise .ptv-ant .rod-h { stroke: rgba(255, 255, 255, .7); }
  :root .home.home-v2 #promise .ptv-legs :is(.leg-e, .leg-h, .ft-e, .ft-h) { display: inline; }
  :root .home.home-v2 #promise .ptv-legs .leg-e { stroke: rgba(8, 12, 14, .6); stroke-width: 4.6; }
  :root .home.home-v2 #promise .ptv-legs .leg { stroke: #cfd6da; stroke-width: 3.2; }
  :root .home.home-v2 #promise .ptv-legs .leg-h { stroke: rgba(255, 255, 255, .92); stroke-width: 1.1; }
  :root .home.home-v2 #promise .ptv-legs .ft-e { stroke: rgba(8, 12, 14, .6); stroke-width: 3.8; }
  :root .home.home-v2 #promise .ptv-legs .ft { stroke: #dfe5e8; stroke-width: 2.4; }
  :root .home.home-v2 #promise .ptv-legs .ft-h { stroke: #ffffff; stroke-width: .9; }
  :root[data-theme="dark"] .home.home-v2 #promise .ptv-legs .leg { stroke: #bcc4c8; }
  :root[data-theme="dark"] .home.home-v2 #promise .ptv-legs .ft { stroke: #cdd4d7; }
  :root[data-theme="dark"] .home.home-v2 #promise .ptv-legs :is(.leg-h, .ft-h) { stroke: rgba(255, 255, 255, .7); }

  :root .home.home-v2 > #areas .usmap-panel { background: none; border: 0; padding: 0; box-shadow: none; }
  :root .home.home-v2 > #areas .usmap-panel-head { display: none; }
  :root .home.home-v2 > #areas .usmap-list { display: flex; flex-flow: row wrap; justify-content: center; gap: 8px; max-height: none; overflow: visible; }
  :root .home.home-v2 > #areas .usmap-list li { display: contents; }
  :root .home.home-v2 > #areas .usmap-list a { display: inline-flex; align-items: center; gap: 5px; height: 36px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px;
    background: rgba(255, 255, 255, .07); color: var(--text); font-size: 13px; font-weight: 600; }
  :root .home.home-v2 > #areas .usmap-list a b { font-size: inherit; font-weight: inherit; }
  :root .home.home-v2 > #areas .usmap-list a { flex: 0 0 auto; width: auto; }
  :root .home.home-v2 > #areas .usmap-list a .meta { margin-left: 0; color: var(--muted); font-size: inherit; font-weight: 500; }
  :root .home.home-v2 > #areas .usmap-list a :is(.cnt, .go) { display: none; }

  :root .home.home-v2 > #final { position: relative; isolation: isolate; overflow: clip; }
  :root .home.home-v2 > #final::after { content: ""; position: absolute; top: calc(50% - 12px); right: -22%; height: 66%; aspect-ratio: 800 / 520; z-index: -1;
    transform: translateY(-50%); opacity: .4; pointer-events: none; background: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-400 -260 800 520%27 fill=%27none%27 stroke=%27%230d8a5f%27 overflow=%27visible%27%3E%3Cg transform=%27translate%280 0%29 rotate%28-4%29%27 opacity=%271%27%3E%3Crect x=%27-150%27 y=%27-87%27 width=%27300%27 height=%27174%27 rx=%276%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3Crect x=%27-144%27 y=%27-81%27 width=%27288%27 height=%27162%27 rx=%272%27 stroke-width=%271%27 vector-effect=%27non-scaling-stroke%27 opacity=%27.5%27/%3E%3Cpath d=%27M-36 87v18M36 87v18%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/g%3E%3Cg transform=%27translate%28-250 -150%29 rotate%288%29%27 opacity=%270.7%27%3E%3Crect x=%27-75%27 y=%27-43.5%27 width=%27150%27 height=%2787%27 rx=%276%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3Crect x=%27-69%27 y=%27-37.5%27 width=%27138%27 height=%2775%27 rx=%272%27 stroke-width=%271%27 vector-effect=%27non-scaling-stroke%27 opacity=%27.5%27/%3E%3Cpath d=%27M-18 43.5v9M18 43.5v9%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/g%3E%3Cg transform=%27translate%28230 140%29 rotate%28-10%29%27 opacity=%270.75%27%3E%3Crect x=%27-85%27 y=%27-49.3%27 width=%27170%27 height=%2798.6%27 rx=%276%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3Crect x=%27-79%27 y=%27-43.3%27 width=%27158%27 height=%2786.6%27 rx=%272%27 stroke-width=%271%27 vector-effect=%27non-scaling-stroke%27 opacity=%27.5%27/%3E%3Cpath d=%27M-20.4 49.3v10.2M20.4 49.3v10.2%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/g%3E%3Cg transform=%27translate%28-230 170%29 rotate%284%29%27 opacity=%270.5%27%3E%3Crect x=%27-55%27 y=%27-31.9%27 width=%27110%27 height=%2763.8%27 rx=%276%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3Crect x=%27-49%27 y=%27-25.9%27 width=%2798%27 height=%2751.8%27 rx=%272%27 stroke-width=%271%27 vector-effect=%27non-scaling-stroke%27 opacity=%27.5%27/%3E%3Cpath d=%27M-13.2 31.9v6.6M13.2 31.9v6.6%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/g%3E%3Cg transform=%27translate%28260 -170%29 rotate%2812%29%27 opacity=%270.55%27%3E%3Crect x=%27-60%27 y=%27-34.8%27 width=%27120%27 height=%2769.6%27 rx=%276%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3Crect x=%27-54%27 y=%27-28.8%27 width=%27108%27 height=%2757.6%27 rx=%272%27 stroke-width=%271%27 vector-effect=%27non-scaling-stroke%27 opacity=%27.5%27/%3E%3Cpath d=%27M-14.4 34.8v7.2M14.4 34.8v7.2%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat; }
  :root[data-theme="dark"] .home.home-v2 > #final::after { background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-400 -260 800 520%27 fill=%27none%27 stroke=%27%2346e0ad%27 overflow=%27visible%27%3E%3Cg transform=%27translate%280 0%29 rotate%28-4%29%27 opacity=%271%27%3E%3Crect x=%27-150%27 y=%27-87%27 width=%27300%27 height=%27174%27 rx=%276%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3Crect x=%27-144%27 y=%27-81%27 width=%27288%27 height=%27162%27 rx=%272%27 stroke-width=%271%27 vector-effect=%27non-scaling-stroke%27 opacity=%27.5%27/%3E%3Cpath d=%27M-36 87v18M36 87v18%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/g%3E%3Cg transform=%27translate%28-250 -150%29 rotate%288%29%27 opacity=%270.7%27%3E%3Crect x=%27-75%27 y=%27-43.5%27 width=%27150%27 height=%2787%27 rx=%276%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3Crect x=%27-69%27 y=%27-37.5%27 width=%27138%27 height=%2775%27 rx=%272%27 stroke-width=%271%27 vector-effect=%27non-scaling-stroke%27 opacity=%27.5%27/%3E%3Cpath d=%27M-18 43.5v9M18 43.5v9%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/g%3E%3Cg transform=%27translate%28230 140%29 rotate%28-10%29%27 opacity=%270.75%27%3E%3Crect x=%27-85%27 y=%27-49.3%27 width=%27170%27 height=%2798.6%27 rx=%276%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3Crect x=%27-79%27 y=%27-43.3%27 width=%27158%27 height=%2786.6%27 rx=%272%27 stroke-width=%271%27 vector-effect=%27non-scaling-stroke%27 opacity=%27.5%27/%3E%3Cpath d=%27M-20.4 49.3v10.2M20.4 49.3v10.2%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/g%3E%3Cg transform=%27translate%28-230 170%29 rotate%284%29%27 opacity=%270.5%27%3E%3Crect x=%27-55%27 y=%27-31.9%27 width=%27110%27 height=%2763.8%27 rx=%276%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3Crect x=%27-49%27 y=%27-25.9%27 width=%2798%27 height=%2751.8%27 rx=%272%27 stroke-width=%271%27 vector-effect=%27non-scaling-stroke%27 opacity=%27.5%27/%3E%3Cpath d=%27M-13.2 31.9v6.6M13.2 31.9v6.6%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/g%3E%3Cg transform=%27translate%28260 -170%29 rotate%2812%29%27 opacity=%270.55%27%3E%3Crect x=%27-60%27 y=%27-34.8%27 width=%27120%27 height=%2769.6%27 rx=%276%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3Crect x=%27-54%27 y=%27-28.8%27 width=%27108%27 height=%2757.6%27 rx=%272%27 stroke-width=%271%27 vector-effect=%27non-scaling-stroke%27 opacity=%27.5%27/%3E%3Cpath d=%27M-14.4 34.8v7.2M14.4 34.8v7.2%27 stroke-width=%271.6%27 vector-effect=%27non-scaling-stroke%27/%3E%3C/g%3E%3C/svg%3E"); }

  :root:has(main.home-v2) .float { display: none !important; }
  .home-v2 .home-fab { display: grid; place-items: center; position: fixed; z-index: 70; right: calc(14px + env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    width: 58px; height: 58px; padding: 0; border: 0; border-radius: 50%; background: var(--mint); color: var(--mint-ink, #fff); cursor: pointer;
    box-shadow: 0 12px 26px -8px rgba(0, 0, 0, .45); transform: translateY(calc(100% + 40px)); transition: transform .38s cubic-bezier(.32, .72, 0, 1); }
  [data-theme="light"] .home-v2 .home-fab { color: #fff; }
  .home-v2 .home-fab.show { transform: none; }
  html.book-open .home-v2 .home-fab { transform: translateY(calc(100% + 40px)); }
  .home-v2 .home-fab svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
  .home-v2 .home-fab:active { transform: scale(.94); }
}
@media (max-width: 640px) and (prefers-reduced-motion: reduce) { .home-v2 .home-fab { transition: none; } }
@media (max-width: 640px) {
  :root .home.home-v2 #services .svc { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75), inset 0 -3px 8px -2px rgba(20, 40, 34, .021), 0 1px 2px rgba(20, 40, 34, .068), 0 8px 24px rgba(20, 40, 34, .1);
    transition: transform .18s ease, box-shadow .18s ease; }
  :root[data-theme="dark"] .home.home-v2 #services .svc { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .105), inset 0 -3px 8px -2px rgba(0, 0, 0, .083), 0 1px 2px rgba(0, 0, 0, .281), 0 8px 24px rgba(0, 0, 0, .375); }
  :root .home.home-v2 #services .svc:active { transform: translateY(3px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .75), inset 0 -3px 8px -2px rgba(20, 40, 34, .021), 0 1px 2px rgba(20, 40, 34, .068), 0 3.2px 9.6px rgba(20, 40, 34, .1); }
  :root[data-theme="dark"] .home.home-v2 #services .svc:active { box-shadow: inset 0 1px 0 rgba(255, 255, 255, .105), inset 0 -3px 8px -2px rgba(0, 0, 0, .083), 0 1px 2px rgba(0, 0, 0, .281), 0 3.2px 9.6px rgba(0, 0, 0, .375); }
}
@media (max-width: 640px) and (prefers-reduced-motion: reduce) { :root .home.home-v2 #services .svc { transition: none; } :root .home.home-v2 #services .svc:active { transform: none; } }
@media (min-width: 641px) {
  html.pal-graphite[data-theme="light"] {
    --bg: #f4f5ef; --bg-2: #e8eae2; --shell: #ffffff; --shell-2: #f9f9f4; --surface: rgba(255, 255, 255, .94); --surface-2: #eaece5;
    --screen: #e6f1eb; --mint-ink: #ffffff; --mint-dim: #d5e7dd; --mint-soft: rgba(13, 138, 95, .1); --mint-line: #a6cdb9;
    --text: #131a18; --text-strong: #080e0c; --muted: #47534e; --line: #d3d7cc; --line-soft: #e3e6dc; --star: #c99a2e;
    --felt: #e6e8e1; --felt-rgb: 230, 232, 225;
    --shadow: 0 18px 40px rgba(26, 38, 34, .12); --shadow-soft: 0 8px 24px rgba(26, 38, 34, .08);
  }
  html.pal-graphite[data-theme="light"] .home { --tone-band: #edefe6; --forest: #1f2624; --brass: #0d8a5f;
    --card-shadow: 0 1px 2px rgba(26, 38, 34, .05), 0 6px 18px rgba(26, 38, 34, .05); }
  html.pal-graphite[data-theme="light"] .home > :is(#services, #prices, #mounts, #about, #faq):not(.band-dark) { --text: #141a18; --muted: #48534e; }
  html.pal-graphite[data-theme="light"] .home > .section.band-dark {
    --text: #f3f0e9; --muted: rgba(243, 240, 233, .76); --mint: #46e0ad; --mint-ink: #080b0a;
    --mint-soft: rgba(70, 224, 173, .12); --mint-line: rgba(70, 224, 173, .35); --brass: #46e0ad; --star: #46e0ad;
  }
  html.pal-graphite[data-theme="light"] .header { background: color-mix(in srgb, #f8f8f4 82%, transparent); }
  html.pal-graphite .hero-wall .btn-ghost, html.pal-graphite .hero-wall .btn-ghost:hover { color: #0d1311; }
  html.pal-graphite[data-theme="light"] .ab-photo { background: linear-gradient(135deg, #e0e5dc, #bdc7b8); color: #95a590; }
  html.pal-graphite[data-theme="light"] .mt-stage { --mt-wall-top: #d2ecc7; --mt-wall-bot: #8a9e86; }
  html.pal-graphite[data-theme="light"] .home > #areas .usmap .st:not(.served) { fill: #fcfdf7; stroke: #d0d5ca; }
  html.pal-graphite[data-theme="light"] .home > #areas .usmap .st:not(.served):hover { fill: #eff1e9; }
  html.pal-graphite[data-theme="light"] :is([data-lead-form], .book-form) .field :is(input, textarea, select, .tvq-phone) { --surface-2: #e9ebea; --line: #d2d6d4; }

  html.pal-graphite[data-theme="dark"] {
    --bg: #111213; --bg-2: #1a1c1d; --shell: #191b1c; --shell-2: #1d1f20; --surface: rgba(25, 27, 28, .94); --surface-2: #161819;
    --screen: #21302b; --mint-ink: #000704; --mint-dim: #358368; --mint-soft: rgba(55, 230, 176, .1); --mint-line: #326e5a;
    --text: #eceeed; --text-strong: #ffffff; --muted: #a3a9a7; --line: #2d3032; --line-soft: #25282a; --star: #f2c66b;
    --felt: #050506; --felt-rgb: 5, 5, 6;
  }
  html.pal-graphite[data-theme="dark"] .home { --tone-band: #181a1b; --forest: #1c2523; --brass: #37e6b0; }
  html.pal-graphite[data-theme="dark"] .home > :is(#services, #prices, #mounts, #about, #faq):not(.band-dark) { --text: #eceeed; --muted: #a3a9a7; }
  html.pal-graphite[data-theme="dark"] .home > .section.band-dark {
    --text: #f3f0e9; --muted: rgba(243, 240, 233, .76); --mint: #37e6b0; --mint-ink: #060a09;
    --mint-soft: rgba(55, 230, 176, .12); --mint-line: rgba(55, 230, 176, .35); --brass: #37e6b0; --star: #37e6b0;
  }
  html.pal-graphite[data-theme="dark"] .hero-wall {
    --text: #eceeed; --text-strong: #ffffff; --muted: #a3a9a7; --mint: #37e6b0; --mint-ink: #000704;
    --mint-soft: rgba(55, 230, 176, .12); --mint-line: #2c6853; --star: #f2c66b;
  }
  html.pal-graphite[data-theme="dark"] .ab-photo { background: linear-gradient(135deg, #2f3131, #212322); color: #565b5a; }
}
