@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;560;600;700&display=swap');

:root {
  --ink: #161513;
  --ink-soft: #4a463f;
  --muted: #7c776f;
  --line: rgba(22, 21, 19, 0.1);
  --line-strong: rgba(22, 21, 19, 0.16);
  --paper: #ffffff;
  --bg: #ffffff;
  --hero: #035d44;
  --lime: #cbd810;
  --card: #ffffff;
  --black: #111111;
  --sage: #e4f0d4;
  --butter: #f6ecd2;
  --peach: #f7e0d2;
  --lilac: #e6e3f4;
  --mist: #e3eef4;
  --stone: #ece8e1;
  --red: #111111;
  --gold: #111111;
  --gold-deep: #000000;
  --green: #111111;
  --green-deep: #000000;
  --green-soft: #e4f0d4;
  --yellow: #111111;
  --yellow-deep: #000000;
  --yellow-soft: #f6ecd2;
  --pine: #111111;
  --brick: #161513;
  --brick-deep: #000000;
  --navy: #161513;
  --cta: #111111;
  --cta-hover: #2a2a2a;
  --mint: #111111;
  --search: #111111;
  --blue: #161513;
  --mint-soft: #e4f0d4;
  --bg-soft: #ece8e1;
  --display: 'Outfit', 'Segoe UI', sans-serif;
  --sans: 'Outfit', 'Segoe UI', sans-serif;
  --serif: 'Newsreader', Georgia, serif;
  --radius: 22px;
  --pill: 999px;
  --shadow: 0 18px 50px rgba(22, 21, 19, 0.07);
  --page-gutter: 32px;
  --page-max: 1160px;
  --page-width: min(var(--page-max), calc(100% - var(--page-gutter)));
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.5;
  background: var(--bg);
  color: var(--ink);
  font-feature-settings: 'ss01' on, 'cv11' on;
}
main { flex: 1 0 auto; width: 100%; }
#site-footer { margin-top: auto; width: 100%; }
body.nav-open { overflow: hidden; }
#site-header { z-index: 80; position: relative; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; color: inherit; }
::selection { background: #111; color: #f4f1ea; }
h1, h2, h3, h4, .offer-title {
  font-family: var(--sans);
  font-weight: 500;
  letter-spacing: -0.04em;
  color: var(--ink);
}

.wrap, .site-header-inner {
  width: var(--page-width);
  margin: 0 auto;
}

.tiny {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--muted);
}
.lede { color: var(--ink-soft); font-size: 18px; line-height: 1.45; max-width: 40rem; }
.muted { color: var(--muted); }

.btn, .btn-otsi, .btn-primary, .btn-secondary, .btn-ghost {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 18px;
  border-radius: var(--pill);
  border: 1px solid #111;
  background: #111;
  color: #fff;
  font-weight: 550;
  letter-spacing: -0.01em;
  text-decoration: none;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}
.btn-otsi:hover, .btn-primary:hover, .btn:hover { background: #2c2c2c; color: #fff; }
.btn-secondary, .btn-ghost {
  background: transparent;
  color: #111;
  border-color: rgba(17, 17, 17, 0.18);
}
.btn-secondary:hover, .btn-ghost:hover { background: #fff; color: #111; }

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 82;
  background: rgba(244, 241, 234, 0.82);
  backdrop-filter: saturate(1.2) blur(16px);
  -webkit-backdrop-filter: saturate(1.2) blur(16px);
  border-bottom: 1px solid transparent;
}
.site-header.is-scrolled { border-bottom-color: var(--line); }
.site-header-inner {
  min-height: 72px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.site-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #111;
  flex: 0 0 auto;
}
.ps-logo-word {
  font-weight: 560;
  font-size: 22px;
  letter-spacing: -0.05em;
  color: #111;
  line-height: 1;
}
.lt-mark {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-left: 2px;
  padding: 4px 8px 4px 6px;
  border-radius: var(--pill);
  background: rgba(17, 17, 17, 0.05);
  color: #3c3934;
}
.lt-mark .lt-flag { width: 16px; height: auto; aspect-ratio: 5 / 3; border-radius: 2px; display: block; }
.lt-mark-name { font-size: 11px; font-weight: 650; letter-spacing: 0.08em; text-transform: uppercase; }
.desk-nav { display: flex; align-items: center; gap: 2px; margin-left: 18px; }
.desk-nav a {
  color: #2c2926;
  font-size: 14.5px;
  font-weight: 500;
  padding: 8px 12px;
  border-radius: var(--pill);
}
.desk-nav a:hover { background: rgba(17, 17, 17, 0.05); }
.header-actions { margin-left: auto; display: flex; align-items: center; gap: 6px; }
.header-text {
  color: #2c2926;
  font-size: 14.5px;
  font-weight: 500;
  padding: 8px 12px;
  border-radius: var(--pill);
}
.header-text:hover { background: rgba(17, 17, 17, 0.05); }
.header-cta { min-height: 38px; padding: 0 16px; font-size: 14px; }
.nav-toggle {
  display: none;
  appearance: none;
  border: 1px solid var(--line-strong);
  background: #fff;
  color: #111;
  border-radius: var(--pill);
  cursor: pointer;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  font-weight: 550;
}
.nav-ico, .cat-ico, .service-ico { width: 18px; height: 18px; display: inline-flex; }
.service-ico svg, .nav-ico svg, .cat-ico svg { width: 100%; height: 100%; }
.cat-bar, .live-bar { display: none !important; }

.nav-overlay { position: fixed; inset: 0; z-index: 90; display: none; }
.nav-overlay.is-open { display: block; }
.nav-overlay-scrim { position: absolute; inset: 0; background: rgba(17, 17, 17, 0.35); }
.nav-panel {
  position: absolute;
  top: 12px; right: 12px; bottom: 12px;
  width: min(400px, calc(100vw - 24px));
  background: #f7f4ee;
  border-radius: 28px;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow);
  border: 1px solid rgba(255, 255, 255, 0.6);
}
.nav-panel-bar { display: flex; justify-content: flex-end; padding: 14px 14px 0; }
.nav-close, .nav-back {
  appearance: none;
  border: 0;
  background: #fff;
  border-radius: var(--pill);
  font: inherit;
  font-weight: 550;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #111;
  padding: 8px 12px;
}
.nav-panel-scroll { overflow: auto; padding: 8px 18px 28px; }
.nav-sheet { display: none; }
.nav-sheet.is-active { display: block; }
.nav-item {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 4px;
  border: 0;
  border-bottom: 1px solid var(--line);
  background: transparent;
  font: inherit;
  font-weight: 520;
  font-size: 17px;
  letter-spacing: -0.02em;
  text-decoration: none;
  cursor: pointer;
  text-align: left;
  color: #111;
}
.nav-item-label { flex: 1; }
.nav-sub-title { font-size: 28px; margin: 12px 0; letter-spacing: -0.04em; font-weight: 500; }
.nav-sub-link {
  display: flex;
  justify-content: space-between;
  padding: 12px 4px;
  border-bottom: 1px solid var(--line);
  font-size: 16px;
  font-weight: 500;
}

/* Homepage */
.clay-hero { padding: 56px 0 20px; }
.clay-hero h1 {
  margin: 0;
  max-width: 11em;
  font-size: clamp(52px, 7vw, 88px);
  line-height: 0.96;
  letter-spacing: -0.055em;
  font-weight: 500;
  color: #141311;
}
.clay-lead {
  margin: 22px 0 0;
  max-width: 34rem;
  font-size: 18px;
  line-height: 1.45;
  color: #5c574f;
}
.clay-ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }

.clay-prompt {
  margin-top: 36px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 18px 18px 14px;
  box-shadow: var(--shadow);
  max-width: 820px;
}
.clay-prompt-k {
  margin: 2px 4px 12px;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--muted);
}
.clay-prompt-row { display: grid; grid-template-columns: 1.3fr 0.9fr auto; gap: 8px; align-items: center; }
.clay-field { position: relative; }
.clay-prompt input {
  width: 100%;
  height: 52px;
  border: 0;
  background: var(--stone);
  border-radius: 16px;
  padding: 0 16px;
  font-size: 16px;
}
.clay-prompt input:focus { outline: 2px solid #111; background: #fff; }
.clay-prompt input::placeholder { color: #a39e96; }
.clay-prompt button[type="submit"] {
  height: 52px;
  padding: 0 22px;
  border: 0;
  border-radius: 16px;
  background: #111;
  color: #fff;
  font-weight: 560;
  cursor: pointer;
}
.clay-prompt button[type="submit"]:hover { background: #2c2c2c; }
.clay-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; padding: 0 2px; }
.clay-chips a {
  padding: 6px 12px;
  border-radius: var(--pill);
  background: var(--stone);
  font-size: 13.5px;
  font-weight: 530;
  color: #2c2926;
}
.clay-chips a:hover { background: #111; color: #fff; }
.clay-prompt .search-suggest { top: calc(100% + 6px); }

.clay-trust { padding: 34px 0 10px; }
.clay-trust p {
  margin: 0 0 14px;
  text-align: center;
  font-size: 13px;
  letter-spacing: 0.04em;
  color: #8d877e;
}
.clay-cities {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 28px;
}
.clay-cities a {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  color: #8a847c;
  font-weight: 560;
  font-size: 18px;
  letter-spacing: -0.03em;
}
.clay-cities a:hover { color: #111; }
.clay-cities em {
  font-style: normal;
  font-size: 12px;
  font-weight: 550;
  color: #b0aaa2;
  font-variant-numeric: tabular-nums;
}

.clay-mosaic {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr 1fr;
  grid-auto-rows: minmax(168px, auto);
  gap: 12px;
  padding: 28px 0 10px;
}
.tile {
  border-radius: 26px;
  padding: 22px 22px 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 180px;
  background: #fff;
  border: 1px solid var(--line);
}
.tile b {
  display: block;
  font-size: clamp(48px, 5vw, 72px);
  line-height: 0.9;
  letter-spacing: -0.05em;
  font-weight: 500;
}
.tile span, .tile p { margin: 10px 0 0; font-size: 16px; line-height: 1.35; color: #3d3934; }
.tile-dark { background: #141311; color: #f6f3ec; border-color: #141311; }
.tile-dark span, .tile-dark p { color: rgba(246, 243, 236, 0.78); }
.tile-sage { background: var(--sage); border-color: transparent; }
.tile-peach { background: var(--peach); border-color: transparent; }
.tile-butter { background: var(--butter); border-color: transparent; }
.tile-lilac { background: var(--lilac); border-color: transparent; }
.tile-quote { background: #fff; grid-row: span 2; }
.tile-quote p {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(26px, 2.4vw, 34px);
  line-height: 1.2;
  letter-spacing: -0.03em;
  font-weight: 450;
  color: #171614;
}
.tile-quote small { margin-top: 18px; color: var(--muted); font-size: 13px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }

.clay-section { padding: 72px 0 8px; }
.clay-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 24px;
  align-items: end;
  margin-bottom: 22px;
}
.clay-section-head .eyebrow { grid-column: 1 / -1; }
.eyebrow {
  margin: 0;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #8a847c;
}
.clay-section h2, .clay-plays h2, .clay-map h2 {
  margin: 0;
  font-size: clamp(36px, 4.6vw, 60px);
  line-height: 0.98;
  letter-spacing: -0.05em;
  font-weight: 500;
  max-width: 14em;
}
.clay-section-head a, .text-link {
  font-weight: 550;
  font-size: 15px;
  border-bottom: 1px solid rgba(17, 17, 17, 0.3);
  padding-bottom: 2px;
}
.clay-section-head a:hover, .text-link:hover { border-bottom-color: #111; }

.clay-plays { padding: 72px 0 20px; }
.clay-switch { margin-top: 22px; background: #fff; border-radius: 28px; border: 1px solid var(--line); overflow: hidden; }
.clay-switch-nav {
  display: flex;
  gap: 6px;
  padding: 12px;
  border-bottom: 1px solid var(--line);
  overflow-x: auto;
}
.clay-switch-nav button {
  appearance: none;
  border: 0;
  background: transparent;
  border-radius: var(--pill);
  padding: 10px 16px;
  cursor: pointer;
  font-weight: 550;
  color: #5c574f;
  white-space: nowrap;
}
.clay-switch-nav button.is-on { background: #111; color: #fff; }
.clay-switch-panel { display: none; padding: 28px 28px 32px; grid-template-columns: 1.1fr 0.9fr; gap: 28px; align-items: center; }
.clay-switch-panel.is-on { display: grid; }
.clay-switch-panel h3 { margin: 0 0 8px; font-size: clamp(28px, 3vw, 40px); letter-spacing: -0.045em; font-weight: 500; }
.clay-switch-panel p { margin: 0; color: #5c574f; font-size: 17px; max-width: 36rem; }
.clay-switch-aside {
  background: var(--stone);
  border-radius: 20px;
  padding: 22px;
  min-height: 160px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.clay-switch-aside b { font-size: 42px; letter-spacing: -0.05em; font-weight: 500; line-height: 1; }
.clay-switch-aside span { margin-top: 8px; color: #5c574f; }
.clay-switch-panel[data-panel="miestas"] .clay-switch-aside { background: var(--mist); }
.clay-switch-panel[data-panel="skambutis"] .clay-switch-aside { background: var(--peach); }

.guide-links { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.guide-link {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 20px 22px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  font-weight: 530;
  font-size: 18px;
  letter-spacing: -0.03em;
  min-height: 120px;
  justify-content: space-between;
}
.guide-link span {
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}
.guide-link:hover { background: #111; color: #fff; }
.guide-link:hover span { color: rgba(255, 255, 255, 0.65); }

.clay-map { padding: 56px 0 72px; }
.seo-band { background: transparent; color: var(--ink); padding: 10px 0 48px; border-top: 0; }
.seo-intro { margin-bottom: 22px; }
.seo-intro h2 { margin: 8px 0 10px; font-size: clamp(32px, 4vw, 48px); letter-spacing: -0.045em; font-weight: 500; }
.seo-intro p { margin: 0 0 8px; max-width: 44rem; color: #5c574f; }
.seo-cols { display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: 22px 36px; }
.seo-cols h3 { margin: 0 0 10px; font-size: 14px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--muted); font-weight: 650; }
.seo-map-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 6px; }
.seo-map-list a { color: #2c2926; font-weight: 500; }
.seo-map-list a:hover { color: #111; text-decoration: underline; text-underline-offset: 3px; }
.seo-faq { margin-top: 28px; max-width: 46rem; }
.seo-faq h2 { font-size: 28px; letter-spacing: -0.04em; font-weight: 500; }
.seo-faq h3 { margin: 16px 0 4px; font-size: 17px; }
.seo-faq p { margin: 0; color: #5c574f; }
.seo-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.seo-links a, .doc-links a, a.pill, .city-chip {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: var(--pill);
  background: #fff;
  border: 1px solid var(--line);
  font-weight: 530;
  font-size: 14px;
}
.seo-links a:hover, .doc-links a:hover, a.pill:hover, .city-chip:hover { background: #111; color: #fff; border-color: #111; }
.pill-row, .city-strip, .doc-links { display: flex; flex-wrap: wrap; gap: 8px; }
.city-chip { display: grid; min-width: 180px; border-radius: 20px; padding: 16px 16px 14px; align-items: start; }
.city-chip strong { font-size: 18px; letter-spacing: -0.03em; }
.city-chip small { color: var(--muted); font-weight: 530; }
.city-chip:hover small { color: rgba(255, 255, 255, 0.72); }

/* Catalog cards */
.ps-dirs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ps-dir {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 18px 18px 10px;
}
.ps-dir:nth-child(4n + 1) { background: var(--sage); border-color: transparent; }
.ps-dir:nth-child(4n + 2) { background: #fff; }
.ps-dir:nth-child(4n + 3) { background: var(--butter); border-color: transparent; }
.ps-dir:nth-child(4n) { background: #fff; }
.ps-dir-h {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #141311;
  margin-bottom: 8px;
}
.ps-dir .service-ico { width: 22px; height: 22px; color: #111; }
.ps-dir-h strong { font-size: 22px; font-weight: 530; letter-spacing: -0.03em; }
.ps-dir-h em, .ps-dir li em, .ps-place-h em {
  margin-left: auto;
  font-style: normal;
  font-size: 13px;
  font-weight: 600;
  color: #6f6a63;
  background: rgba(255, 255, 255, 0.7);
  border-radius: var(--pill);
  padding: 3px 8px;
  font-variant-numeric: tabular-nums;
}
.ps-dir ul { list-style: none; margin: 0; padding: 0 0 8px; }
.ps-dir li a {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 2px;
  border-top: 1px solid rgba(17, 17, 17, 0.08);
  font-size: 15px;
}
.ps-dir li a:hover { color: #111; }
.ps-more-wrap { text-align: left; padding: 16px 0 0; }
.ps-more {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: var(--pill);
  border: 1px solid var(--line-strong);
  background: #fff;
  font-weight: 550;
}
.ps-more:hover { background: #111; color: #fff; }

.ps-provs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.company-list .ps-provs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ps-prov {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  overflow: hidden;
  color: inherit;
}
.ps-prov:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.ps-prov-photo { position: relative; display: block; height: 168px; background: var(--stone); overflow: hidden; }
.ps-prov-photo img { width: 100%; height: 100%; object-fit: cover; }
.ps-scene {
  position: absolute;
  left: 10px;
  bottom: 10px;
  background: rgba(244, 241, 234, 0.92);
  color: #3c3934;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: var(--pill);
}
.ps-prov-body { display: grid; gap: 4px; padding: 14px 16px 16px; }
.ps-prov-body strong { font-size: 17px; letter-spacing: -0.03em; font-weight: 560; line-height: 1.25; }
.ps-prov-meta, .ps-prov-text { color: var(--muted); font-size: 13.5px; }
.ps-prov-text { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.ps-prov-foot { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 6px; }
.ps-chip {
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid var(--line);
  border-radius: var(--pill);
  padding: 3px 8px;
  color: #5c574f;
}
.ps-prov-phone { font-weight: 600; font-variant-numeric: tabular-nums; }
.ps-block { padding: 8px 0 20px; }
.ps-block-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 28px 0 14px; }
.ps-block-head h2 { margin: 0; font-size: 32px; letter-spacing: -0.04em; }
.ps-places, .city-strip.ps-places { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.ps-place { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 16px 18px 14px; }
.ps-place-h { display: flex; justify-content: space-between; gap: 12px; align-items: baseline; }
.ps-place-h strong { font-size: 22px; letter-spacing: -0.03em; font-weight: 530; }
.ps-place > p { margin: 8px 0 0; color: var(--muted); font-size: 14px; }
.ps-place-trades { display: flex; flex-wrap: wrap; gap: 6px 10px; }
.ps-place-trades a { font-weight: 550; border-bottom: 1px solid transparent; }
.ps-place-trades a:hover { border-bottom-color: #111; }
.ps-dot { color: #c8c2b8; }

/* Inner search */
.kv-search-wrap { padding: 22px 0 0; background: transparent; }
.kv-search, .kv-search.wrap {
  width: min(860px, calc(100% - 40px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(180px, 0.8fr) auto;
  align-items: center;
  gap: 0;
  padding: 6px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 999px;
  box-shadow: 0 10px 30px rgba(22, 21, 19, 0.05);
  position: relative;
}
.kv-search-top, .kv-search-bottom { display: contents; }
.kv-search-top > .kv-field:nth-child(1) { grid-column: 1; grid-row: 1; }
.kv-search-top > .kv-field:nth-child(2) { grid-column: 2; grid-row: 1; border-left: 1px solid var(--line); }
.kv-field { position: relative; min-width: 0; }
.kv-field > label {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); border: 0;
}
.kv-field input {
  width: 100%;
  height: 48px;
  border: 0;
  background: transparent;
  padding: 0 16px;
  border-radius: 999px;
  font-size: 16px;
}
.kv-field input:focus, .kv-field.is-open input { outline: none; }
.kv-field input::placeholder { color: #a39e96; }
.kv-search .btn-otsi {
  grid-column: 3;
  grid-row: 1;
  height: 44px;
  min-height: 44px;
  border-radius: 999px;
  padding: 0 18px;
}
.kv-search-extra {
  grid-column: 1 / -1;
  grid-row: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 8px 10px 4px;
}
.kv-search-extra a, .kv-search .search-popular a {
  font-size: 13px;
  font-weight: 550;
  color: #5c574f;
  background: var(--stone);
  border-radius: var(--pill);
  padding: 4px 10px;
}
.kv-advanced {
  position: absolute;
  top: calc(100% + 10px);
  right: 8px;
  font-size: 13px;
  font-weight: 550;
  color: var(--muted);
  border-bottom: 1px solid transparent;
}
.kv-advanced:hover { color: #111; border-bottom-color: #111; }
.kv-checks { display: flex; gap: 14px; align-items: center; font-size: 14px; font-weight: 530; }

.search-suggest {
  position: absolute;
  z-index: 30;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 16px;
  max-height: 280px;
  overflow: auto;
  box-shadow: var(--shadow);
}
.search-suggest[hidden] { display: none !important; }
.search-suggest-label, .search-suggest-empty { padding: 10px 14px; font-size: 12px; font-weight: 650; letter-spacing: 0.06em; text-transform: uppercase; color: var(--muted); }
.search-suggest button, .search-suggest-more {
  display: block;
  width: 100%;
  text-align: left;
  background: #fff;
  border: 0;
  border-top: 1px solid var(--line);
  padding: 10px 14px;
  font: inherit;
  font-weight: 530;
  cursor: pointer;
  color: var(--ink);
}
.search-suggest button:hover, .search-suggest button.is-on { background: var(--stone); }
.search-suggest button small { display: block; color: var(--muted); font-weight: 500; }

/* Listings */
.page-hero, .doc-hero { padding: 36px 0 8px; }
.page-hero h1, .doc-hero h1, .doc-article h1, .results-bar h1, .listing-top h1 {
  margin: 0;
  font-size: clamp(40px, 5vw, 64px);
  line-height: 0.98;
  letter-spacing: -0.05em;
  font-weight: 500;
}
.page-hero .lede, .doc-hero .lede, .results-bar .lede { margin: 12px 0 0; color: #5c574f; font-size: 18px; }
.crumbs { font-size: 13px; color: var(--muted); margin: 0 0 12px; }
.crumbs a { color: #5c574f; font-weight: 550; }
.crumbs a:hover { color: #111; }
.listing-page {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  column-gap: 22px;
  row-gap: 14px;
  align-items: start;
  padding: 28px 0 64px;
}
.listing-page > .crumbs,
.listing-page > .results-bar,
.listing-page > .pill-row,
.listing-page > p,
.listing-page > .seo-band,
.listing-page > section { grid-column: 1 / -1; }
.listing-page > .listing-aside { grid-column: 1; }
.listing-page > .company-list { grid-column: 2; min-width: 0; }
.results-bar, .listing-top { display: flex; justify-content: space-between; gap: 16px; align-items: end; }
.listing-count, .found { margin: 0; color: var(--muted); font-weight: 550; }
.listing-aside, .filter-strip {
  position: sticky;
  top: 88px;
  max-height: calc(100vh - 104px);
  overflow: auto;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 6px;
}
.filter-block { padding: 12px 10px 8px; }
.filter-block + .filter-block { border-top: 1px solid var(--line); }
.filter-block .tiny { margin: 0 4px 8px; letter-spacing: 0.12em; }
.filter-link, .dir-sub, .trade-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
  text-decoration: none;
  padding: 8px 10px;
  border-radius: 12px;
  font-weight: 520;
  font-size: 14.5px;
  color: #2c2926;
}
.filter-link span, .dir-sub span { color: var(--muted); font-size: 12px; font-weight: 600; font-variant-numeric: tabular-nums; }
.filter-link:hover, .dir-sub:hover, .trade-row:hover { background: var(--stone); }
.filter-link.is-on, .dir-sub.is-on { background: #111; color: #fff; }
.filter-link.is-on span, .dir-sub.is-on span { color: rgba(255, 255, 255, 0.7); }
.dir-sub { padding-left: 18px; font-size: 13.5px; color: #5c574f; }
.filter-check { display: flex; align-items: center; gap: 8px; padding: 8px 6px; font-size: 14px; font-weight: 530; }
.filter-check input { accent-color: #111; }
.company-list { display: block; }
.object-row, .company-row, .listing-card {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 12px;
  margin-bottom: 10px;
}
.object-media, .listing-avatar { height: 88px; width: 120px; overflow: hidden; background: var(--stone); border-radius: 14px; }
.object-media img { width: 100%; height: 100%; object-fit: cover; }
.object-head, .object-stat, .object-price { display: none; }
.object-desc h3 { margin: 0; font-size: 18px; letter-spacing: -0.03em; }
.object-desc h3 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.object-about, .object-amenity, .listing-meta { color: var(--muted); font-size: 14px; margin: 3px 0; }
.row-reach { display: flex; gap: 12px; flex-wrap: wrap; margin: 6px 0 0; }
.row-phone, a.row-phone { font-weight: 650; }
.stamp {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border: 1px solid var(--line);
  border-radius: var(--pill);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: 0.04em;
  color: #5c574f;
  background: var(--stone);
}
.listing-pager { margin-top: 18px; }
.listing-pager-row { display: flex; flex-wrap: wrap; gap: 6px; }
.listing-pager a, .listing-pager .is-on, .listing-pager .is-off, .listing-pager-gap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border-radius: var(--pill);
  background: #fff;
  border: 1px solid var(--line);
  font-weight: 550;
}
.listing-pager .is-on { background: #111; color: #fff; border-color: #111; }
.listing-pager .is-off { color: #c4beb6; }
.listing-pager-status { margin: 8px 0 0; color: var(--muted); font-size: 13px; }
.trade-board { display: grid; gap: 10px; }
.trade-row {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 16px;
}
.trade-row h3 { margin: 0; font-size: 18px; }
.trade-row p { margin: 4px 0 0; color: var(--muted); font-size: 14px; }
.trade-count { background: var(--stone); border-radius: var(--pill); padding: 4px 10px; font-weight: 650; }

/* Profile */
.profile-top { display: flex; gap: 28px; align-items: flex-start; margin-top: 8px; }
#p-photo { width: min(420px, 46%); flex: 0 0 min(420px, 46%); border-radius: 24px; overflow: hidden; background: var(--stone); }
#p-photo img { width: 100%; height: 280px; object-fit: cover; }
.photo-note { margin: 8px 0 0; color: var(--muted); font-size: 12px; }
#p-about { color: #5c574f; font-size: 16px; max-width: 40rem; }
#p-tags { display: flex; flex-wrap: wrap; gap: 6px; }
#p-tags .pill, #p-tags span.pill {
  display: inline-flex;
  border-radius: var(--pill);
  border: 1px solid var(--line);
  background: #fff;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #5c574f;
}
#p-phone.btn-primary { margin-top: 8px; }
.facts, .facts-table, .price-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  overflow: hidden;
  margin-top: 22px;
}
.facts th, .facts td, .facts-table th, .facts-table td, .price-table th, .price-table td {
  text-align: left;
  padding: 12px 16px;
  border-bottom: 1px solid var(--line);
  vertical-align: top;
}
.facts th, .facts-table th { width: 34%; color: var(--muted); font-weight: 550; background: #faf8f4; }
.facts tr:last-child th, .facts tr:last-child td { border-bottom: 0; }

/* Docs */
.doc-page { padding: 8px 0 72px; }
.doc-meta { margin: 12px 0 0; color: var(--muted); font-size: 13px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.doc-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 22px 0 8px; }
.doc-fact {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 16px;
  text-decoration: none;
  color: inherit;
  min-height: 120px;
}
.doc-fact:nth-child(4n + 1) { background: var(--sage); border-color: transparent; }
.doc-fact:nth-child(4n + 2) { background: var(--butter); border-color: transparent; }
.doc-fact:nth-child(4n + 3) { background: var(--mist); border-color: transparent; }
.doc-fact:nth-child(4n) { background: var(--peach); border-color: transparent; }
.doc-fact b { display: block; font-size: 18px; letter-spacing: -0.03em; margin-bottom: 6px; font-weight: 550; }
.doc-fact span { color: #4a463f; font-size: 14px; }
a.doc-fact:hover { transform: translateY(-2px); }
.doc-layout { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 36px; align-items: start; margin-top: 18px; }
.doc-side { position: sticky; top: 92px; }
.doc-toc { display: grid; gap: 4px; }
.doc-toc a {
  display: block;
  padding: 7px 10px;
  border-radius: 10px;
  color: #5c574f;
  font-size: 14px;
  font-weight: 520;
}
.doc-toc a:hover, .doc-toc a.is-on { background: #fff; color: #111; }
.doc-article h2 {
  margin: 32px 0 8px;
  font-size: 28px;
  letter-spacing: -0.04em;
  font-weight: 500;
}
.doc-article h3 { font-size: 18px; margin: 18px 0 6px; }
.doc-article p, .doc-article li, .article p, .article li { font-size: 17px; color: #3d3934; line-height: 1.55; }
.doc-article a:not(.btn), .article a:not(.btn), .panel a:not(.btn), .seo-faq a {
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.doc-note, .cta-band, .doc-cta {
  background: #fff;
  border-radius: 20px;
  padding: 16px 18px;
  margin: 18px 0;
  border: 1px solid var(--line);
}
.panel, .card, .faq-item, .article.doc-article, .price-card, .why-card, .grant-card {
  background: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
}
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 18px; }
.contact-grid .panel, #contact-mail.panel {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 22px;
}
#contact-mail.panel { margin-top: 12px; }
.contact-grid .panel h2, #contact-mail h2 { margin-top: 0; font-size: 26px; letter-spacing: -0.04em; }
.how-steps, .steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin: 18px 0; }
.how-step, .step {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 18px;
  min-height: 140px;
}
.how-step:nth-child(1), .step:nth-child(1) { background: var(--sage); border-color: transparent; }
.how-step:nth-child(2), .step:nth-child(2) { background: var(--butter); border-color: transparent; }
.how-step:nth-child(3), .step:nth-child(3) { background: var(--peach); border-color: transparent; }
.how-step b, .step b { display: block; font-size: 20px; letter-spacing: -0.03em; margin-bottom: 8px; font-weight: 530; }
.how-step span, .step span { color: #3d3934; font-size: 15px; }
.guide-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.guide-card, .guide-featured {
  display: block;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  padding: 20px 22px;
  color: inherit;
}
.guide-featured { margin-bottom: 12px; }
.guide-card h3, .guide-featured h2 { margin: 8px 0; font-size: 24px; letter-spacing: -0.04em; }
.guide-card:hover, .guide-featured:hover { background: #111; color: #fff; }
.guide-card:hover .muted, .guide-card:hover .tiny, .guide-featured:hover .muted, .guide-featured:hover .tiny { color: rgba(255, 255, 255, 0.7); }
.faq-item { border-bottom: 1px solid var(--line); padding: 6px 0; }
.faq-item + .faq-item { margin-top: 0; }
.faq-item button {
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  background: transparent;
  border: 0;
  padding: 14px 0;
  font: inherit;
  font-weight: 520;
  font-size: 20px;
  letter-spacing: -0.03em;
  text-align: left;
  cursor: pointer;
  color: #141311;
}
.faq-item button span { color: var(--muted); font-size: 22px; line-height: 1; }
.faq-item.is-open button span { transform: rotate(45deg); color: #111; }
.faq-item p { display: none; color: #4a463f; margin: 0 0 14px; font-size: 16px; }
.faq-item.is-open p { display: block; }
.field { display: grid; gap: 6px; margin-bottom: 12px; }
.field label { font-size: 13px; font-weight: 600; color: #5c574f; }
.field input, .field textarea, .field select {
  border: 1px solid var(--line-strong);
  border-radius: 14px;
  padding: 12px 14px;
  background: #faf8f4;
}
.field input:focus, .field textarea:focus, .field select:focus { outline: 2px solid #111; background: #fff; }
.price-calc { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; margin-top: 18px; }
.price-calc .panel { background: #fff; border: 1px solid var(--line); border-radius: 24px; padding: 22px; }
#price-table { background: #fff; border: 1px solid var(--line); border-radius: 20px; overflow: auto; margin-top: 12px; }
.price-table { min-width: 640px; border: 0; margin: 0; }
.price-table tr.is-on td { background: var(--butter); }
.price-result-num { font-size: 56px; font-weight: 500; letter-spacing: -0.05em; margin: 8px 0; }
.price-range { position: relative; height: 8px; background: var(--stone); border-radius: 99px; margin: 12px 0; }
.price-range b { display: block; height: 100%; width: 70%; background: #111; border-radius: 99px; }
.price-range i { position: absolute; top: -4px; width: 16px; height: 16px; border-radius: 50%; background: #111; }
.section { padding: 12px 0 28px; }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 12px; margin-bottom: 12px; }
.offer-grid, .offer-grid-2, .offer-grid-4 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.offer-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 20px;
  overflow: hidden;
  color: inherit;
}
.offer-card:hover { box-shadow: var(--shadow); }
.offer-media { height: 140px; background: var(--stone); overflow: hidden; }
.offer-media img { width: 100%; height: 100%; object-fit: cover; }
.offer-body { padding: 12px 14px 14px; }
.offer-title { margin: 0; font-size: 16px; }
.offer-price, .offer-loc, .offer-phone { margin: 4px 0 0; }
.card-grid, .why-grid, .grant-grid, .feat-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.quick-strip { color: var(--muted); font-size: 14px; }
.quick-sep { margin: 0 8px; color: #ccc; }

/* Footer */
.site-footer {
  background: #141311;
  color: #efeae2;
  padding: 48px 0 28px;
  margin-top: 12px;
}
.site-footer .ps-logo-word { color: #f6f3ec; font-size: 28px; }
.clay-foot { display: grid; grid-template-columns: 1.1fr 2fr; gap: 32px; }
.footer-brand { display: inline-flex; }
.clay-foot-brand p { max-width: 18rem; color: rgba(239, 234, 226, 0.72); margin: 12px 0 0; }
.clay-foot-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.clay-foot-cols h3 {
  margin: 0 0 10px;
  color: rgba(239, 234, 226, 0.5);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 650;
}
.clay-foot-cols a { display: block; padding: 5px 0; color: #f6f3ec; font-weight: 500; }
.clay-foot-cols a:hover { color: #fff; }
.clay-foot-meta { margin-top: 28px; padding-top: 16px; border-top: 1px solid rgba(255, 255, 255, 0.1); display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.footer-copy, .footer-note { margin: 0; color: rgba(239, 234, 226, 0.62); font-size: 13px; }

@media (max-width: 980px) {
  .desk-nav, .header-text { display: none; }
  .nav-toggle { display: inline-flex; }
  .clay-hero h1 { font-size: 48px; }
  .clay-prompt-row, .clay-mosaic, .clay-switch-panel, .clay-switch-panel.is-on,
  .ps-dirs, .ps-provs, .company-list .ps-provs, .guide-links, .seo-cols,
  .listing-page, .listing-board, .doc-layout, .doc-facts, .how-steps, .steps, .contact-grid,
  .price-calc, .guide-grid, .offer-grid, .offer-grid-4, .ps-places, .city-strip.ps-places,
  .clay-foot, .card-grid, .why-grid, .grant-grid {
    grid-template-columns: 1fr;
  }
  .tile-quote { grid-row: auto; }
  .listing-page > .listing-aside,
  .listing-page > .company-list,
  .listing-board > .listing-aside,
  .listing-board > .company-list { grid-column: 1; position: static; max-height: none; }
  .doc-side { position: static; }
  .profile-top { flex-direction: column; }
  #p-photo, #p-photo img { width: 100%; height: 220px; flex-basis: auto; }
  .kv-search, .kv-search.wrap { grid-template-columns: 1fr auto; border-radius: 24px; }
  .kv-search-top > .kv-field:nth-child(2) { grid-column: 1 / -1; grid-row: 2; border-left: 0; border-top: 1px solid var(--line); }
  .kv-search .btn-otsi { grid-column: 2; grid-row: 1; }
  .clay-foot-cols { grid-template-columns: 1fr 1fr; }
  .doc-facts { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 640px) {
  :root { --page-gutter: 20px; }
  .lt-mark-name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .clay-hero { padding-top: 28px; }
  .clay-hero h1 { font-size: 42px; }
  .clay-lead { font-size: 16px; }
  .clay-prompt-row { grid-template-columns: 1fr; }
  .clay-prompt button[type="submit"] { width: 100%; }
  .doc-facts, .clay-foot-cols, .guide-links, .company-list .ps-provs { grid-template-columns: 1fr; }
  .page-hero h1, .doc-hero h1, .results-bar h1 { font-size: 36px; }
  .clay-section { padding-top: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Clay-like motion layer */
.cx-mark {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  background: var(--hero);
  display: inline-block;
  position: relative;
  flex: 0 0 auto;
}
.cx-mark::before, .cx-mark::after {
  content: "";
  position: absolute;
  top: 5px;
  bottom: 5px;
  width: 3px;
  border-radius: 2px;
  background: var(--lime);
}
.cx-mark::before { left: 6px; transform: skewX(-16deg); }
.cx-mark::after { right: 6px; transform: skewX(16deg); }

.site-header {
  background: #fff;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.site-header.is-scrolled { box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06); border-bottom-color: transparent; }
.header-text { background: #f3f2ed; border-radius: 12px; }
.header-text:hover { background: #e8e6df; }
.btn, .btn-otsi, .btn-primary, .btn-secondary, .btn-ghost, .header-cta, .nav-toggle, .nav-close, .nav-back {
  border-radius: 12px;
}
.header-cta { background: #111; color: #fff; }

.cx-hero {
  position: relative;
  overflow: hidden;
  min-height: 740px;
  padding: 0 0 108px;
  color: #fff;
  background:
    radial-gradient(90% 70% at 78% 8%, #14966f 0%, rgba(20, 150, 111, 0) 55%),
    radial-gradient(70% 60% at 12% 0%, #0a7a5c 0%, rgba(10, 122, 92, 0) 50%),
    #035d44;
}
.cx-scene { position: absolute; inset: 0; pointer-events: none; }
.cx-hill { position: absolute; left: 0; right: 0; bottom: -1px; width: 100%; height: 78%; }
.cx-float { position: absolute; z-index: 1; filter: drop-shadow(0 18px 22px rgba(0, 0, 0, 0.16)); animation: cx-bob 5.6s ease-in-out infinite; }
.cx-float-a { left: 7%; top: 16%; }
.cx-float-b { left: 24%; top: 7%; animation-duration: 6.8s; animation-delay: -1.2s; }
.cx-float-c { right: 11%; top: 11%; animation-duration: 7.4s; animation-delay: -2s; }
.cx-float-d { right: 28%; top: 26%; animation-duration: 5.1s; animation-delay: -0.6s; }
@keyframes cx-bob {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-16px) rotate(3deg); }
}
.cx-hero-copy { position: relative; z-index: 2; padding-top: 360px; max-width: 780px; }
.cx-hero h1 {
  margin: 0;
  color: #fff;
  font-size: clamp(56px, 6.4vw, 88px);
  font-weight: 560;
  letter-spacing: -0.05em;
  line-height: 0.94;
}
.cx-hero p { margin: 18px 0 0; max-width: 34rem; color: rgba(255, 255, 255, 0.84); font-size: 18px; line-height: 1.45; }
.cx-ctas { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.cx-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
  border: 0;
  border-radius: 12px;
  font-weight: 560;
  letter-spacing: -0.02em;
  cursor: pointer;
  text-decoration: none;
}
.cx-btn::after { content: "→"; margin-left: 8px; transition: transform .2s ease; }
.cx-btn:hover::after { transform: translateX(4px); }
.cx-btn-white { background: #fff; color: #111; }
.cx-btn-white:hover { background: #f3f2ed; }
.cx-btn-lime, .kv-search .btn-otsi { background: var(--lime); color: #14210a; border-color: var(--lime); }
.cx-btn-lime:hover, .kv-search .btn-otsi:hover { background: #d7e23a; color: #14210a; }
.cx-btn-black { background: #111; color: #fff; }
.cx-btn-black:hover { background: #2a2a2a; color: #fff; }

.cx-sheet {
  position: relative;
  z-index: 3;
  margin-top: -72px;
  background: #fff;
  border-radius: 40px 40px 0 0;
  padding: 18px 0 8px;
}
.cx-marquee { padding: 18px 0 6px; }
.cx-marquee-mask {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
#home-cities.cx-marquee-track {
  display: flex;
  gap: 48px;
  width: max-content;
  animation: cx-slide 36s linear infinite;
}
#home-cities a {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  color: #a3a3a3;
  font-size: 22px;
  font-weight: 560;
  letter-spacing: -0.03em;
  white-space: nowrap;
}
#home-cities a:hover { color: #111; }
#home-cities em { font-style: normal; font-size: 13px; font-weight: 600; color: #c8c8c8; }
.cx-marquee:hover #home-cities { animation-play-state: paused; }
@keyframes cx-slide { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.cx-proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  height: 540px;
  margin-top: 28px;
  overflow: hidden;
  mask-image: linear-gradient(to bottom, transparent, #000 10%, #000 90%, transparent);
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 10%, #000 90%, transparent);
}
.cx-col { animation: cx-rise 34s linear infinite; }
.cx-col:nth-child(2) { animation-duration: 42s; animation-direction: reverse; }
.cx-col:nth-child(3) { animation-duration: 37s; }
.cx-proof:hover .cx-col { animation-play-state: paused; }
.cx-set { display: flex; flex-direction: column; gap: 14px; padding-bottom: 14px; }
@keyframes cx-rise { from { transform: translateY(0); } to { transform: translateY(-50%); } }
.cx-card {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 22px;
  padding: 22px 22px 20px;
  box-shadow: 0 10px 30px rgba(17, 17, 17, 0.04);
  min-height: 148px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.cx-card b {
  display: block;
  font-size: 48px;
  line-height: 0.95;
  letter-spacing: -0.05em;
  font-weight: 560;
}
.cx-card span, .cx-card p { margin: 10px 0 0; color: #3d3d3d; font-size: 16px; line-height: 1.35; }
.cx-card small { margin-top: 14px; color: #8a8a8a; font-size: 13px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.cx-card-ink { background: #111; color: #fff; border-color: #111; }
.cx-card-ink span, .cx-card-ink p { color: rgba(255, 255, 255, 0.78); }
.cx-card-lime { background: var(--lime); border-color: transparent; }
.cx-card-sage { background: #e7f6df; border-color: transparent; }

.cx-ask { position: relative; z-index: 4; padding: 64px 0 12px; }
.cx-ask h2 {
  margin: 0 0 18px;
  font-size: clamp(40px, 5vw, 68px);
  font-weight: 560;
  letter-spacing: -0.05em;
  line-height: 0.98;
}
.cx-composer {
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(17, 17, 17, 0.08);
  padding: 22px 22px 16px;
}
.cx-composer-q { position: relative; }
.cx-composer-q input {
  width: 100%;
  border: 0;
  background: transparent;
  font-size: clamp(22px, 2.4vw, 32px);
  font-weight: 500;
  letter-spacing: -0.03em;
  padding: 8px 4px 16px;
  outline: none;
}
.cx-composer-q input::placeholder { color: #b5b5b5; }
.cx-composer-foot { display: flex; gap: 10px; align-items: center; position: relative; z-index: 2; }
.cx-composer-city { flex: 1; min-width: 0; }
.cx-composer-city input {
  width: 100%;
  height: 48px;
  border: 0;
  border-radius: 12px;
  background: #f3f2ed;
  padding: 0 14px;
  outline: none;
}
.cx-composer-city input:focus {
  background: #fff;
  box-shadow: inset 0 0 0 1.5px #161513;
}
.cx-composer .cx-btn { position: relative; z-index: 1; flex: none; }
.cx-suggest-slot { position: relative; z-index: 5; height: 0; }
.cx-composer .search-suggest {
  z-index: 6;
  top: 10px;
  left: -22px;
  right: -22px;
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 18px;
  box-shadow: 0 16px 44px rgba(17, 17, 17, 0.14);
  max-height: min(340px, 48vh);
  padding: 6px;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: #d4d0c8 transparent;
}
.cx-composer .search-suggest::-webkit-scrollbar { width: 10px; }
.cx-composer .search-suggest::-webkit-scrollbar-thumb {
  background: #d4d0c8;
  border: 3px solid #fff;
  border-radius: 99px;
}
.cx-composer .search-suggest-label,
.cx-composer .search-suggest-empty {
  padding: 8px 12px 6px;
  background: transparent;
  letter-spacing: 0.08em;
}
.cx-composer .search-suggest button,
.cx-composer .search-suggest-more {
  border: 0;
  border-radius: 12px;
  padding: 10px 12px;
  background: transparent;
  line-height: 1.3;
}
.cx-composer .search-suggest button small {
  margin-top: 2px;
  font-size: 13px;
  line-height: 1.3;
}
.cx-composer .search-suggest button:hover,
.cx-composer .search-suggest button.is-on,
.cx-composer .search-suggest-more:hover { background: #f3f2ed; }
.cx-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.cx-chips button {
  appearance: none;
  border: 1px solid rgba(0, 0, 0, 0.08);
  background: #fff;
  border-radius: 999px;
  padding: 8px 12px;
  cursor: pointer;
  font-weight: 530;
  color: #333;
}
.cx-chips button:hover { background: #111; color: #fff; border-color: #111; }

.cx-sheet .clay-switch { background: transparent; border: 0; border-radius: 0; overflow: visible; }
.cx-sheet .clay-switch-nav { padding: 0; gap: 28px; border-bottom: 1px solid rgba(0, 0, 0, 0.08); }
.cx-sheet .clay-switch-nav button {
  border-radius: 0;
  padding: 0 0 12px;
  font-size: 18px;
  background: transparent;
  color: #9a9a9a;
}
.cx-sheet .clay-switch-nav button.is-on { background: transparent; color: #111; box-shadow: inset 0 -2px 0 #111; }
.cx-sheet .clay-switch-panel { padding: 28px 0 4px; }
.cx-sheet .clay-switch-panel.is-on { animation: cx-in .4s ease; }
.cx-sheet .clay-switch-aside { background: #f3f2ed; border-radius: 20px; }
.cx-sheet .clay-switch-panel[data-panel="miestas"] .clay-switch-aside { background: #e7f6df; }
.cx-sheet .clay-switch-panel[data-panel="skambutis"] .clay-switch-aside { background: #f3f6c8; }

[data-reveal].is-in { animation: cx-in .7s ease both; }
@keyframes cx-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

.cx-close {
  margin: 28px 16px 8px;
  padding: 72px 0;
  border-radius: 36px;
  background:
    radial-gradient(80% 80% at 80% 0%, #14966f 0%, rgba(20, 150, 111, 0) 60%),
    #035d44;
  color: #fff;
}
.cx-close h2 {
  margin: 0;
  max-width: 12em;
  color: #fff;
  font-size: clamp(40px, 5vw, 72px);
  font-weight: 560;
  letter-spacing: -0.05em;
  line-height: 0.96;
}
.cx-close p { margin: 16px 0 22px; max-width: 32rem; color: rgba(255, 255, 255, 0.82); font-size: 18px; }

.site-footer { background: #fff; color: #161513; border-top: 1px solid rgba(0, 0, 0, 0.06); }
.site-footer .ps-logo-word, .clay-foot-cols a { color: #161513; }
.clay-foot-cols a:hover { color: #035d44; }
.clay-foot-brand p, .footer-copy, .footer-note { color: #6d6a64; }
.clay-foot-cols h3 { color: #8a847c; }
.clay-foot-meta { border-top-color: rgba(0, 0, 0, 0.08); }

.kv-search-wrap {
  background: #035d44;
  padding: 28px 0 36px;
  border-radius: 0 0 32px 32px;
}
.kv-search, .kv-search.wrap { border-radius: 16px; border: 0; box-shadow: 0 16px 40px rgba(0, 0, 0, 0.14); }
.kv-field input { border-radius: 12px; }
.kv-search .btn-otsi { border-radius: 12px; }
.kv-advanced { color: #3d3d3d; }

@media (max-width: 900px) {
  .cx-hero { min-height: 620px; padding-bottom: 88px; }
  .cx-hero-copy { padding-top: 250px; }
  .cx-hero h1 { font-size: 48px; }
  .cx-float-b, .cx-float-d { display: none; }
  .cx-proof { grid-template-columns: 1fr; height: 440px; }
  .cx-col:nth-child(n + 2) { display: none; }
  .cx-composer-foot { flex-direction: column; align-items: stretch; }
  .cx-close { margin: 16px 10px; padding: 48px 0; border-radius: 24px; }
  .cx-sheet { border-radius: 28px 28px 0 0; margin-top: -48px; }
}
@media (prefers-reduced-motion: reduce) {
  .cx-float, #home-cities, .cx-col, [data-reveal].is-in, .cx-sheet .clay-switch-panel.is-on { animation: none !important; }
}

/* Directory board */
.cx-dir { padding: 28px 0 72px; }
.cx-dir-top {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, 0.85fr);
  gap: 28px 48px;
  align-items: end;
  margin-bottom: 22px;
}
.cx-dir h2 {
  margin: 0;
  font-size: clamp(40px, 4.8vw, 64px);
  font-weight: 560;
  letter-spacing: -0.05em;
  line-height: 0.96;
  max-width: 11em;
}
.cx-dir-lead { margin: 0; color: #5c574f; font-size: 16px; line-height: 1.5; }
.cx-dir-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.8fr);
  gap: 14px;
  align-items: stretch;
}
.cx-dir-cities, .cx-dir-trades { border-radius: 28px; }
.cx-dir-cities {
  background:
    radial-gradient(80% 80% at 100% 0%, #14966f 0%, rgba(20, 150, 111, 0) 58%),
    #035d44;
  color: #fff;
  padding: 22px;
}
.cx-dir-cities header {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  margin-bottom: 14px;
}
.cx-dir-cities h3, .cx-dir-trades h3 {
  margin: 0;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.cx-dir-cities h3 { color: rgba(255, 255, 255, 0.72); }
.cx-dir-cities header a { color: var(--lime); font-weight: 600; font-size: 14px; }
.cx-dir-cities header a:hover { color: #fff; }
.cx-city-grid, .cx-trade-rows { list-style: none; margin: 0; padding: 0; }
.cx-city-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.cx-city-grid a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 58px;
  padding: 12px 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.1);
  color: #fff;
}
.cx-city-grid b { font-size: 16px; font-weight: 560; letter-spacing: -0.03em; line-height: 1.15; }
.cx-city-grid span {
  font-size: 13px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  color: rgba(255, 255, 255, 0.7);
}
.cx-city-grid a:hover { background: #fff; color: #111; }
.cx-city-grid a:hover span { color: #6d6a64; }
.cx-dir-trades {
  background: #f3f2ed;
  padding: 22px 18px 8px;
}
.cx-dir-trades h3 { color: #8a847c; margin-bottom: 6px; }
.cx-trade-rows a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 4px;
  border-bottom: 1px solid rgba(17, 17, 17, 0.08);
  font-size: 17px;
  font-weight: 560;
  letter-spacing: -0.03em;
}
.cx-trade-rows li:last-child a { border-bottom: 0; }
.cx-trade-rows span { flex: 1; }
.cx-trade-rows em {
  font-style: normal;
  font-size: 13px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  color: #8a847c;
}
.cx-trade-rows a::after {
  content: "→";
  color: #111;
  transition: transform .2s ease;
}
.cx-trade-rows a:hover::after { transform: translateX(4px); }
@media (max-width: 900px) {
  .cx-dir-top, .cx-dir-grid { grid-template-columns: 1fr; }
  .cx-city-grid { grid-template-columns: 1fr; }
}

/* Detail polish */
::selection { background: #e4f08a; color: #14210a; }
:focus-visible { outline: 2px solid #035d44; outline-offset: 3px; }
h1, h2, h3, .offer-title { font-weight: 560; }
.site-header-inner { min-height: 68px; }
.lt-mark { background: #f3f2ed; border-radius: 999px; }
.nav-panel { background: #fff; border-radius: 24px; }

.ps-dir,
.ps-dir:nth-child(4n + 1),
.ps-dir:nth-child(4n + 2),
.ps-dir:nth-child(4n + 3),
.ps-dir:nth-child(4n) {
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.08);
  border-radius: 20px;
  padding: 16px 16px 8px;
  transition: box-shadow .2s ease, border-color .2s ease;
}
.ps-dir:hover { border-color: transparent; box-shadow: 0 14px 36px rgba(17, 17, 17, 0.06); }
.ps-dir .service-ico {
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
  border-radius: 11px;
  background: #e7f6df;
  color: #035d44;
  align-items: center;
  justify-content: center;
}
.ps-dir .service-ico svg { width: 18px; height: 18px; }
.ps-dir-h { min-width: 0; }
.ps-dir-h strong, .ps-dir li a span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ps-dir-h em, .ps-dir li em {
  background: #f3f2ed;
  color: #5c574f;
  border-radius: 999px;
  flex: 0 0 auto;
}

.ps-prov {
  height: 100%;
  border-radius: 20px;
  border-color: rgba(17, 17, 17, 0.08);
  transition: box-shadow .2s ease, transform .2s ease;
}
.ps-prov:hover { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(17, 17, 17, 0.08); }
.ps-prov-photo { height: 176px; }
.ps-scene {
  background: rgba(17, 17, 17, 0.55);
  color: #fff;
  font-size: 10px;
  letter-spacing: 0.08em;
  border-radius: 999px;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.ps-prov-body { padding: 14px 16px 16px; gap: 5px; }
.ps-prov-body strong { font-size: 17px; }
.ps-prov-foot { justify-content: space-between; margin-top: 8px; }
.ps-chip { background: #f3f2ed; border: 0; border-radius: 999px; letter-spacing: 0.06em; }
.ps-prov-phone { margin-left: auto; letter-spacing: -0.02em; color: #111; }
.company-list .ps-provs { gap: 14px; }

.guide-link { border-radius: 20px; transition: background .2s ease, color .2s ease, transform .2s ease; }
.guide-link:hover { background: #035d44; color: #fff; transform: translateY(-2px); }
.guide-link:hover span { color: rgba(255, 255, 255, 0.72); }

.doc-fact,
.doc-fact:nth-child(4n + 1),
.doc-fact:nth-child(4n + 2),
.doc-fact:nth-child(4n + 3),
.doc-fact:nth-child(4n) {
  background: #fff;
  border: 1px solid rgba(17, 17, 17, 0.08);
}
a.doc-fact:hover { transform: translateY(-2px); box-shadow: 0 12px 30px rgba(17, 17, 17, 0.06); }
.facts th, .facts-table th { background: #f7f7f5; }

/* Filter column sticks only inside .listing-board, so later full-width copy
   is not painted under it. */
.listing-board {
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  grid-column: 1 / -1;
  min-width: 0;
}
@media (min-width: 981px) {
  .listing-board {
    grid-template-columns: 250px minmax(0, 1fr);
    column-gap: 22px;
  }
}
.listing-page > .listing-seo {
  grid-column: 1 / -1;
  min-width: 0;
  overflow-wrap: break-word;
}

.listing-page { padding-top: 22px; }
.crumbs { margin-bottom: 10px; }
.listing-count, .found {
  background: #f3f2ed;
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 13px;
  font-weight: 600;
}
.listing-pager a, .listing-pager .is-on, .listing-pager .is-off, .listing-pager-gap { border-radius: 12px; }
.filter-link.is-on, .dir-sub.is-on { border-radius: 12px; }
#p-phone.btn-primary, #p-phone.btn-primary:hover {
  background: var(--lime);
  color: #14210a;
  border-color: var(--lime);
}
#p-phone.btn-primary:hover { background: #d7e23a; }
.field input:focus, .field textarea:focus, .field select:focus {
  outline: 2px solid #035d44;
  outline-offset: 2px;
}
.cx-composer-q input, .cx-composer-city input, .kv-field input { caret-color: #035d44; }
.cx-composer-q input:focus, .cx-composer-city input:focus, .kv-field input:focus { outline: none; }
.clay-section { padding-top: 64px; }

/* Inner pages. Homepage keeps its own hero. */
body:not([data-page="home"]) { background: #f3f1eb; }
.inner-stage {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(80% 90% at 92% 0%, #14966f 0%, rgba(20, 150, 111, 0) 58%),
    radial-gradient(55% 80% at 0% 0%, #0a7a5c 0%, rgba(10, 122, 92, 0) 52%),
    #035d44;
  padding: 18px 0 34px;
  border-radius: 0 0 36px 36px;
}
.inner-art { position: absolute; inset: 0; pointer-events: none; }
.inner-hill { position: absolute; left: 0; right: 0; bottom: 0; width: 100%; height: 160px; }
.inner-float { position: absolute; }
.inner-float-a { top: 16px; right: 7%; }
.inner-float-b { top: 8px; right: 18%; opacity: 0.9; }
.inner-float-c { top: 54px; right: 3%; }
.inner-copy { position: relative; z-index: 1; }
.inner-stage .crumbs { color: rgba(255, 255, 255, 0.72); margin-bottom: 14px; }
.inner-stage .crumbs a { color: #fff; }
.inner-stage .tiny { color: rgba(255, 255, 255, 0.72); letter-spacing: 0.14em; text-transform: uppercase; font-size: 12px; font-weight: 650; margin: 0 0 10px; }
.inner-stage h1, .inner-stage #p-name {
  color: #fff;
  max-width: 16em;
  font-size: clamp(40px, 5.2vw, 68px);
  line-height: 0.96;
  letter-spacing: -0.05em;
}
.inner-stage .lede, .inner-stage #p-about {
  color: rgba(255, 255, 255, 0.84);
  max-width: 40rem;
  font-size: 18px;
}
.inner-stage .listing-count, .inner-stage .found {
  display: inline-flex;
  margin-top: 14px;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}
.inner-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}
.inner-facts article {
  background: rgba(255, 255, 255, 0.1);
  border-radius: 18px;
  padding: 14px 16px 16px;
}
.inner-facts b { display: block; font-size: 28px; letter-spacing: -0.04em; line-height: 1; }
.inner-facts span { display: block; margin-top: 6px; color: rgba(255, 255, 255, 0.78); font-size: 14px; }
.inner-facts article:nth-child(2) { background: var(--lime); color: #14210a; }
.inner-facts article:nth-child(2) span { color: #2a3810; }
.inner-stage .is-in-stage {
  background: transparent;
  padding: 22px 0 0;
  border-radius: 0;
}
.inner-stage .kv-search { color: var(--ink); }
.inner-stage .kv-advanced { color: rgba(255, 255, 255, 0.86); }
.inner-stage .kv-advanced:hover { color: #fff; border-bottom-color: rgba(255, 255, 255, 0.7); }
.inner-stage .lede a, .inner-stage #p-about a { color: var(--lime); }
.inner-stage .profile-top { margin-top: 8px; align-items: center; }
.inner-stage #p-photo { background: rgba(255, 255, 255, 0.08); }
.inner-stage .photo-note { color: rgba(255, 255, 255, 0.72); }
.inner-stage #p-tags .pill, .inner-stage #p-tags span.pill {
  background: rgba(255, 255, 255, 0.12);
  border-color: transparent;
  color: #fff;
}
.inner-sheet { position: relative; }
body:not([data-page="home"]) .doc-article,
body:not([data-page="home"]) .listing-seo,
body:not([data-page="home"]) .faq-list-wrap,
body:not([data-page="home"]) #price-table,
body:not([data-page="home"]) #contact-mail.panel {
  background: #fff;
  border-radius: 28px;
  padding: 28px 32px;
  box-shadow: 0 16px 40px rgba(22, 21, 19, 0.05);
}
body:not([data-page="home"]) .faq-list-wrap { padding: 8px 28px 18px; }
body:not([data-page="home"]) .faq-item button { font-size: 22px; letter-spacing: -0.03em; padding: 18px 0; }
.listing-page > .inner-steps,
.listing-page > .inner-reads { grid-column: 1 / -1; }
.inner-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 8px 0 22px;
}
.inner-steps article { border-radius: 22px; padding: 18px 18px 20px; background: #fff; }
.inner-steps article:nth-child(1) { background: #e7f6df; }
.inner-steps article:nth-child(2) { background: #f6ecd2; }
.inner-steps article:nth-child(3) { background: #f7e0d2; }
.inner-steps b { color: #035d44; font-size: 12px; letter-spacing: 0.14em; }
.inner-steps h3 { margin: 8px 0; font-size: 22px; letter-spacing: -0.04em; }
.inner-steps p { margin: 0; color: #3d3934; }
.inner-reads { margin-top: 28px; }
.inner-reads-h { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 14px; }
.inner-reads-h h2 { margin: 0; font-size: clamp(28px, 3vw, 40px); letter-spacing: -0.045em; }
.inner-reads-h a { font-weight: 600; }
.inner-reads-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.inner-reads .guide-card { height: 100%; background: #fff; border-radius: 22px; }
.ps-place:nth-child(4n + 1) { background: #e7f6df; border-color: transparent; }
.ps-place:nth-child(4n + 2) { background: #f6ecd2; border-color: transparent; }
.ps-place:nth-child(4n + 3) { background: #e6e3f4; border-color: transparent; }
.ps-place:nth-child(4n) { background: #f7e0d2; border-color: transparent; }
body[data-page="contact"] .contact-grid .panel:first-child { background: #035d44; color: #fff; border-color: transparent; }
body[data-page="contact"] .contact-grid .panel:first-child a { color: var(--lime); }
body[data-page="contact"] .contact-grid .panel:first-child .muted,
body[data-page="contact"] .contact-grid .panel:first-child p { color: rgba(255, 255, 255, 0.82); }
.inner-gallery {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.inner-gallery li {
  background: #fff;
  border-radius: 20px;
  overflow: hidden;
  padding: 0 14px 14px;
  color: #5c574f;
  font-size: 13px;
  line-height: 1.45;
}
.inner-gallery img { width: calc(100% + 28px); max-width: none; height: 150px; object-fit: cover; margin: 0 -14px 12px; }
.inner-close {
  margin: 28px 16px 20px;
  border-radius: 32px;
  background:
    radial-gradient(70% 120% at 100% 0%, #14966f 0%, rgba(20, 150, 111, 0) 55%),
    #035d44;
  color: #fff;
  padding: 56px 0;
}
.inner-close h2 {
  margin: 0;
  max-width: 12em;
  color: #fff;
  font-size: clamp(36px, 5vw, 64px);
  letter-spacing: -0.05em;
  line-height: 0.96;
}
.inner-close p { margin: 16px 0 22px; max-width: 32rem; color: rgba(255, 255, 255, 0.82); font-size: 18px; }
@media (max-width: 900px) {
  .inner-facts, .inner-steps, .inner-reads-grid, .inner-gallery { grid-template-columns: 1fr; }
  .inner-float { display: none; }
  .inner-stage h1, .inner-stage #p-name { font-size: 40px; }
  .inner-stage .profile-top, .inner-reads-h { flex-direction: column; align-items: stretch; }
  .inner-stage #p-photo { width: 100%; flex-basis: auto; }
  body:not([data-page="home"]) .doc-article,
  body:not([data-page="home"]) .listing-seo { padding: 20px; }
  .inner-close { margin: 16px 10px; padding: 40px 0; border-radius: 24px; }
}
