@font-face {
  font-family: "Inter";
  src: url("./assets/fonts/inter-cyrillic-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "Inter";
  src: url("./assets/fonts/inter-latin-ext-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0100-02FF, U+1E00-1EFF, U+20A0-20C0;
}
@font-face {
  font-family: "Inter";
  src: url("./assets/fonts/inter-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0000-00FF, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215;
}
@font-face {
  font-family: "Inter Tight";
  src: url("./assets/fonts/inter-tight-cyrillic-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0400-052F, U+2DE0-2DFF, U+A640-A69F;
}

@font-face {
  font-family: "Inter Tight";
  src: url("./assets/fonts/inter-tight-latin-ext-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0100-024F, U+1E00-1EFF;
}

@font-face {
  font-family: "Inter Tight";
  src: url("./assets/fonts/inter-tight-latin-variable.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0000-00FF;
}

:root {
  --ink: #111111;
  --text: #262522;
  --muted: #66645f;
  --soft: #85827c;
  --paper: #f2f0ec;
  --paper-light: #f7f6f3;
  --card: #ffffff;
  --line: #d9d6d0;
  --soft-line: #e4e1dc;
  --shadow: 0 15px 32px rgba(30, 28, 24, 0.13);
  --button-shadow: 0 10px 16px rgba(17, 17, 15, 0.18);
  --radius: 6px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--paper);
  scrollbar-width: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  display: none;
}

body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--paper);
  font-family: "Inter", Arial, sans-serif;
  font-weight: 500;
  font-size: 15px;
  line-height: 1.24;
  letter-spacing: 0;
  text-rendering: geometricPrecision;
}

button,
input {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

button {
  color: inherit;
}

a {
  color: inherit;
}

img {
  display: block;
  max-width: 100%;
}

h1,
h2,
h3,
p,
dl,
dd,
ul,
ol {
  margin: 0;
}

h1,
h2,
h3,
strong {
  font-weight: 700;
}

.shell {
  width: min(1130px, calc(100% - 40px));
  margin-inline: auto;
}

.page {
  position: relative;
  min-height: 900px;
  overflow: hidden;
}

.button {
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  padding: 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: transform 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.button:hover {
  transform: translateY(-1px);
}

.button:active {
  transform: translateY(0);
}

.button:focus-visible,
.round-button:focus-visible,
.dialog-close:focus-visible,
summary:focus-visible,
input:focus-visible {
  outline: 3px solid #da2f22;
  outline-offset: 3px;
}

.button-dark {
  color: #fff;
  background: var(--ink);
  box-shadow: var(--button-shadow);
}

.button-dark:hover {
  background: #353432;
}

.button-light {
  color: var(--ink);
  background: #fff;
}

.round-button {
  width: 42px;
  height: 42px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 1px solid #d7d4ce;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 8px 18px rgba(25, 23, 20, 0.1);
  cursor: pointer;
  transition: transform 180ms ease, background-color 180ms ease;
}

.round-button:hover {
  background: #efede9;
  transform: translateY(-1px);
}

.round-button img {
  width: 21px;
  height: 21px;
}

@media (prefers-reduced-motion: no-preference) {
  .js-reveal .page {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity 420ms ease, transform 520ms ease;
  }

  .page.is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  .js-reveal .tariff-card,
  .js-reveal .restrictions,
  .js-reveal .zone-card,
  .js-reveal .document-list li,
  .js-reveal .permit-process,
  .js-reveal .work-card,
  .js-reveal .faq-cta,
  .js-reveal .review-card {
    opacity: 0;
    transform: translateY(calc(var(--item-offset, 0px) + 12px));
    transition: opacity 360ms ease, transform 430ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 180ms ease;
  }

  .tariff-card.is-visible,
  .restrictions.is-visible,
  .zone-card.is-visible,
  .document-list li.is-visible,
  .permit-process.is-visible,
  .work-card.is-visible,
  .faq-cta.is-visible,
  .review-card.is-visible {
    opacity: 1;
    transform: translateY(var(--item-offset, 0px));
  }
}

.hero {
  height: 100vh;
  height: 100svh;
  min-height: 640px;
  background: #fff;
}

.site-header {
  position: relative;
  z-index: 3;
  height: 78px;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: start;
  padding-top: 15px;
}

.nav {
  display: flex;
  align-items: center;
  min-height: 42px;
  gap: 35px;
}

.nav a {
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
}

.nav-right {
  justify-self: end;
  gap: 25px;
}

.header-cta {
  min-width: 145px;
  height: 42px;
}

.brand {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 7px;
  color: #050505;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.brand img {
  width: 29px;
  height: 29px;
  object-fit: contain;
}

.hero-copy {
  position: relative;
  z-index: 2;
  padding-top: clamp(62px, 10vh, 90px);
  text-align: center;
}

.hero h1 {
  font-size: 49px;
  line-height: 0.96;
  letter-spacing: -2.2px;
}

.hero-lead,
.hero-mobile-cta,
.mobile-title,
.faq-mobile-space {
  display: none;
}

.hero-media {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  overflow: hidden;
  pointer-events: none;
}

.hero-media img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: 50% 100%;
}

.tariffs {
  height: 900px;
  background: var(--paper);
}

.tariffs-shell {
  padding-top: 66px;
}

.tariffs h2,
.zones h2 {
  font-size: 43px;
  line-height: 1.04;
  letter-spacing: -0.5px;
}

.reviews h2 {
  font-size: 48px;
  line-height: 0.98;
  letter-spacing: 0;
}

.documents h2 {
  font-size: 44px;
  line-height: 0.98;
  letter-spacing: 0;
}

.tariffs h2,
.zones h2,
.documents > .shell > h2,
.work-title {
  text-align: center;
}

.documents > .shell > h2:not(.work-title) {
  position: relative;
  left: -16px;
}

.tariff-grid {
  margin-top: 48px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.tariff-card {
  height: 406px;
  padding: 52px 28px 25px;
  display: flex;
  flex-direction: column;
  background: var(--card);
  border: 1px solid #dedbd6;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .tariff-card.is-visible {
    transition: opacity 360ms ease, transform 300ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 300ms ease;
  }

  .tariff-card.is-visible:hover {
    transform: translateY(-6px);
    box-shadow: 0 22px 40px rgba(30, 28, 24, 0.2);
  }
}

.tariff-card h3 {
  font-size: 32px;
  line-height: 1;
}

.tariff-intro {
  min-height: 54px;
  margin-top: 14px;
  color: #4f4d49;
  font-size: 13px;
  line-height: 1.28;
}

.facts {
  margin-top: 16px;
}

.facts > div {
  min-height: 41px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-bottom: 1px solid var(--line);
  color: #7a7872;
  font-size: 12px;
}

.facts dd {
  color: var(--ink);
  font-weight: 700;
  text-align: right;
}

.price {
  margin-top: 17px;
  display: grid;
  gap: 3px;
}

.price span {
  color: #7a7872;
  font-size: 12px;
}

.price strong {
  font-size: 31px;
  line-height: 1;
}

.tariff-card .button {
  width: 100%;
  margin-top: auto;
}

.restrictions {
  height: 274px;
  margin-top: 36px;
  padding: 21px 29px 22px 33px;
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 17px;
  background: #fff;
  border: 1px solid #dedbd6;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.restrictions h3 {
  align-self: center;
  font-size: 25px;
  line-height: 0.95;
}

.restrictions ul {
  list-style-position: outside;
  padding-left: 22px;
}

.restrictions li {
  min-height: 72px;
  padding: 5px 0 7px;
  border-bottom: 1px solid var(--line);
  font-size: 13px;
  line-height: 1.23;
}

.restrictions li:last-child {
  border-bottom: 0;
}

.restrictions li p,
.restrictions li strong,
.restrictions li span {
  display: inline;
}

.zones {
  height: 900px;
  background: var(--paper);
}

.zones-shell {
  padding-top: 72px;
}

.zone-stage {
  position: relative;
  margin-top: 39px;
}

.zone-card {
  width: 1000px;
  height: 628px;
  margin-inline: auto;
  padding: 42px 40px 42px 52px;
  display: grid;
  grid-template-columns: 380px 480px;
  gap: 48px;
  background: #fff;
  border: 1px solid #dedbd6;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.zone-copy {
  padding-top: 42px;
  display: flex;
  flex-direction: column;
  transition: opacity 190ms ease, transform 190ms ease;
}

.zone-copy h3 {
  font-size: 40px;
  line-height: 1;
}

.zone-subtitle {
  margin-top: 24px;
  color: var(--muted);
  font-size: 14px;
}

.zone-description {
  min-height: 72px;
  margin-top: 31px;
  font-size: 14px;
  line-height: 1.28;
}

.zone-facts {
  margin-top: 11px;
}

.zone-price {
  margin-top: 28px;
}

.zone-price strong {
  font-size: 34px;
}

.zone-copy .button {
  width: 100%;
  margin-top: 21px;
}

.zone-map {
  width: 480px;
  height: 540px;
  border-radius: 7px;
  object-fit: cover;
  object-position: 50% 50%;
  transition: opacity 190ms ease, transform 190ms ease;
}

.zone-map.is-changing {
  opacity: 0;
  transform: translateX(10px) scale(0.99);
}

.zone-copy.is-changing {
  opacity: 0;
}

.zone-arrow {
  position: absolute;
  z-index: 3;
  top: 294px;
}

.zone-arrow-prev {
  left: 8px;
}

.zone-arrow-next {
  right: 8px;
}

.zone-mobile-cta {
  display: none;
}

.documents {
  height: 900px;
  background: #eceae5;
}

.documents-shell {
  position: relative;
  height: 100%;
  padding-top: 28px;
}

.document-list {
  margin-top: 30px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-auto-rows: 58px;
  gap: 19px 40px;
  list-style: none;
}

.document-list li {
  --item-offset: 0px;
  padding: 12px 16px;
  display: flex;
  align-items: center;
  position: relative;
  background: #fff;
  border: 1px solid #dfdcd7;
  border-radius: var(--radius);
  box-shadow: 0 9px 17px rgba(32, 29, 24, 0.11);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.16;
}

.document-list li:nth-child(2) {
  --item-offset: 29px;
}

.document-list li:nth-child(5) {
  --item-offset: 58px;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .document-list li.is-visible:hover {
    transform: translateY(calc(var(--item-offset, 0px) - 4px));
    box-shadow: 0 16px 28px rgba(32, 29, 24, 0.18);
  }
}

.document-list li::before {
  content: "•";
  margin-right: 8px;
}

.document-list li:nth-child(8) {
  grid-column: 3;
}

.permit-process {
  height: 230px;
  margin-top: 29px;
  padding: 29px 26px;
  display: grid;
  grid-template-columns: 225px 1fr;
  gap: 20px;
  background: #fff;
  border: 1px solid #dfdcd7;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.permit-process > h3 {
  font-size: 31px;
  line-height: 0.98;
}

.permit-process ol {
  height: 158px;
  margin-top: 18px;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  list-style: none;
}

.permit-process li {
  padding: 15px 12px 6px;
  display: grid;
  align-content: start;
  gap: 23px;
  border-left: 1px solid var(--line);
}

.permit-process li:first-child {
  border-left: 0;
}

.permit-process li span {
  color: var(--soft);
  font-size: 9px;
  font-weight: 700;
}

.permit-process li strong {
  color: var(--text);
  font-size: 14px;
  font-weight: 600;
  line-height: 1.15;
}

.work-title {
  margin-top: 31px;
}

.work-grid {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(4, 180px) 282px;
  gap: 32px;
}

.work-card {
  height: 180px;
  padding: 16px 14px;
  background: #fff;
  border: 1px solid #dfdcd7;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.work-card > span {
  color: var(--soft);
  font-size: 11px;
  font-weight: 700;
}

.work-card h3 {
  margin-top: 18px;
  font-size: 18px;
  line-height: 0.95;
}

.work-card p {
  margin-top: 9px;
  color: #4f4d49;
  font-size: 14px;
  line-height: 1.25;
}

.work-cta-card {
  height: 160px;
  margin-top: 10px;
  padding: 18px 16px 14px;
  display: flex;
  flex-direction: column;
}

.work-cta-card h3 {
  margin-top: 0;
  font-size: 18px;
  line-height: 0.95;
}

.work-cta-card p {
  font-size: 11px;
}

.work-cta-card .button {
  width: 100%;
  min-height: 35px;
  margin-top: auto;
  font-size: 10px;
}

.faq {
  height: 900px;
  background: #f4f3ef;
}

.faq.has-open {
  height: auto;
  min-height: 900px;
  padding-bottom: 58px;
  overflow: visible;
}

.faq-shell {
  width: min(1200px, calc(100% - 40px));
  padding-top: 67px;
  display: grid;
  grid-template-columns: 332px 1fr;
  column-gap: 114px;
}

.faq-intro h2 {
  width: 420px;
  font-size: 49px;
  line-height: 0.96;
}

.faq-intro img {
  width: 332px;
  height: 374px;
  margin-top: 55px;
  border-radius: 5px;
  object-fit: cover;
  object-position: 50% 58%;
}

.faq-list {
  padding-top: 59px;
}

.faq-list details {
  overflow: hidden;
  border-bottom: 1px solid #d9d6d0;
  transition: margin 220ms ease, padding 220ms ease, background-color 220ms ease, box-shadow 220ms ease;
}

.faq-list details[open] {
  margin: 10px 0 18px;
  padding: 0 72px;
  border: 1px solid #dedbd6;
  border-radius: 6px;
  background: #fff;
  box-shadow: var(--shadow);
}

.faq-list summary {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  cursor: pointer;
  list-style: none;
  font-size: 17px;
  font-weight: 680;
}

.faq-list summary::-webkit-details-marker {
  display: none;
}

.faq-list summary::after {
  content: "+";
  flex: 0 0 auto;
  font-size: 26px;
  font-weight: 400;
  line-height: 1;
  transition: transform 180ms ease;
}

.faq-list details[open] summary::after {
  content: "−";
}

.faq-list details > div {
  display: grid;
  gap: 12px;
  overflow: hidden;
  padding: 0 46px 20px 0;
  color: #34332f;
  font-size: 14px;
  line-height: 1.35;
  transition: height 260ms ease, opacity 220ms ease, transform 220ms ease;
}

.faq-cta {
  grid-column: 1 / -1;
  height: 171px;
  margin-top: 27px;
  padding: 30px 50px 31px 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  color: #fff;
  background: var(--ink);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

.faq-cta strong {
  max-width: 650px;
  font-size: 29px;
  line-height: 1.02;
}

.faq-cta .button {
  min-width: 220px;
}

.reviews {
  height: 900px;
  background: #f5f2ed;
}

.reviews-media {
  position: absolute;
  inset: 0;
}

.reviews-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.reviews-shell {
  width: min(1200px, calc(100% - 40px));
  position: relative;
  z-index: 2;
  padding-top: 34px;
}

.reviews-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 40px;
}

.reviews-top-cta {
  width: 440px;
  height: 59px;
  font-size: 20px;
  transform: translateX(-15px);
}

.reviews-stage {
  position: relative;
  margin-top: 96px;
}

.review-viewport {
  margin-inline: -11px;
  overflow: hidden;
}

.review-track {
  display: flex;
  gap: 34px;
  transition: transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform;
}

.review-track.no-transition {
  transition: none;
}

.review-card {
  flex: 0 0 380px;
  height: 331px;
  padding: 25px 24px 30px;
  display: flex;
  flex-direction: column;
  background: #fff;
  border: 1px solid #dedbd6;
  border-radius: 5px;
  box-shadow: var(--shadow);
}

.review-card header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
}

.review-card header strong {
  font-size: 16px;
}

.review-card header span {
  color: #85827c;
  font-size: 11px;
  font-weight: 600;
}

.review-card p {
  margin-top: 36px;
  color: var(--text);
  font-size: 16px;
  line-height: 1.26;
}

.review-card-text p {
  margin-bottom: auto;
}

.stars,
.review-index {
  margin-top: auto;
  font-size: 16px;
  font-weight: 700;
}

.review-arrow {
  position: absolute;
  z-index: 4;
  top: 133px;
  width: 64px;
  height: 64px;
}

.review-arrow-prev {
  left: -96px;
}

.review-arrow-next {
  right: -84px;
}

.reviews-mobile-cta {
  display: none;
}


.application-dialog {
  width: min(520px, calc(100% - 32px));
  max-height: calc(100dvh - 32px);
  padding: 0;
  overflow: visible;
  border: 0;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.45);
}

.application-dialog::backdrop {
  background: rgba(0, 0, 0, 0.88);
}

.dialog-card {
  position: relative;
  min-height: 550px;
  padding: 27px 35px 28px;
}

.dialog-close {
  position: absolute;
  top: 27px;
  right: 31px;
  width: 42px;
  height: 42px;
  border: 1px solid #dad7d1;
  border-radius: 50%;
  background: #f2f0ec;
  cursor: pointer;
  font-size: 26px;
  font-weight: 320;
}

.dialog-card h2 {
  max-width: calc(100% - 60px);
  font-size: 37px;
  transform: translate(-7px, -3px);
}

.dialog-card > p {
  color: #5d5b57;
}

#dialog-description {
  margin-top: 10px;
  font-size: 14px;
  transform: translate(-7px, -3px);
}

.field {
  height: 69px;
  margin-top: 19px;
  padding: 12px 16px;
  background: #f2f0ec;
  border: 1px solid #d8d5cf;
  border-radius: 6px;
}

.field:first-of-type {
  margin-top: 69px;
}

.field label {
  display: block;
  color: #85827c;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
}

.field input {
  width: 100%;
  margin-top: 6px;
  padding: 0;
  border: 0;
  outline: 0;
  color: var(--ink);
  background: transparent;
  font-size: 16px;
}

.consent {
  margin-top: 20px;
  display: flex;
  gap: 12px;
  align-items: start;
  color: #4f4d49;
  font-size: 12px;
  line-height: 1.24;
}

.consent input {
  width: 21px;
  height: 21px;
  margin: 0;
  flex: 0 0 auto;
}

.dialog-submit {
  width: 100%;
  height: 56px;
  margin-top: 40px;
  font-size: 15px;
}

.dialog-status {
  min-height: 17px;
  margin-top: 10px;
  color: #6b1e18 !important;
  text-align: center;
  font-size: 12px;
}

@media (max-width: 1200px) and (min-width: 601px) {
  .shell {
    width: min(94vw, 1130px);
  }

  .tariff-grid,
  .restrictions,
  .work-grid {
    gap: 18px;
  }

  .zone-card {
    width: calc(100% - 110px);
    grid-template-columns: 42% 1fr;
    gap: 28px;
  }

  .zone-map {
    width: 100%;
  }

  .document-list {
    gap-inline: 20px;
  }

  .work-grid {
    grid-template-columns: repeat(4, 1fr) 1.5fr;
  }

  .faq-shell {
    grid-template-columns: 31% 1fr;
    gap: 7%;
  }

  .review-arrow-prev {
    left: -24px;
  }

  .review-arrow-next {
    right: -24px;
  }
}

@media (max-width: 600px) {
  body {
    font-size: 14px;
  }

  .shell {
    width: auto;
    margin-inline: 20px;
  }

  .page {
    min-height: 0;
    overflow: hidden;
  }

  .button {
    box-sizing: border-box;
    min-height: 52px;
    font-size: 14px;
  }

  .hero {
    height: 100vh;
    height: 100svh;
    min-height: 680px;
  }

  .site-header {
    height: 82px;
    margin-inline: 20px;
    padding-top: 19px;
    display: block;
  }

  .nav {
    display: none;
  }

  .brand {
    width: max-content;
    min-height: 30px;
    font-size: 12px;
  }

  .brand img {
    width: 29px;
    height: 29px;
  }

  .hero-copy {
    padding-top: 46px;
    text-align: left;
  }

  .hero h1 {
    font-size: 36px;
    line-height: 0.94;
    letter-spacing: -1.25px;
  }

  .desktop-title {
    display: none;
  }

  .mobile-title {
    display: inline;
  }

  .hero-lead {
    display: block;
    max-width: 340px;
    margin-top: 27px;
    color: #4f4d49;
    font-size: 14px;
    line-height: 1.28;
  }

  .hero-mobile-cta {
    width: 100%;
    max-width: 350px;
    margin-top: 22px;
    display: flex;
  }

  .hero-media {
    inset: 0;
    height: auto;
  }

  .hero-media img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: 50% 100%;
  }

  .tariffs {
    height: 2100px;
  }

  .tariffs-shell {
    padding-top: 29px;
  }

  .tariffs h2,
  .zones h2,
  .documents h2,
  .reviews h2 {
    font-size: 32px;
    line-height: 0.98;
    letter-spacing: 0;
  }

  .document-title-suffix,
  .faq-desktop-break,
  .faq-title-dot {
    display: none;
  }

  .faq-mobile-space {
    display: inline;
  }

  .tariffs h2,
  .zones h2,
  .documents > .shell > h2,
  .work-title {
    text-align: left;
  }

  .documents > .shell > h2:not(.work-title) {
    left: 0;
  }

  .tariff-grid {
    margin-top: 24px;
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .tariff-card {
    height: 394px;
    padding: 54px 27px 25px;
  }

  .tariff-card h3 {
    font-size: 32px;
  }

  .tariff-intro {
    min-height: 55px;
    margin-top: 16px;
  }

  .restrictions {
    height: 585px;
    margin-top: 20px;
    padding: 27px 20px 18px;
    display: block;
  }

  .restrictions h3 {
    font-size: 24px;
    line-height: 0.95;
  }

  .restrictions ul {
    margin-top: 27px;
    padding-left: 21px;
  }

  .restrictions li {
    min-height: 0;
    padding: 0 0 12px;
    margin-top: 12px;
    font-size: 13px;
    line-height: 1.28;
  }

  .restrictions li:first-child {
    margin-top: 0;
  }

  .zones {
    height: 700px;
  }

  .zones-shell {
    padding-top: 24px;
  }

  .zone-stage {
    margin-top: 25px;
  }

  .zone-card {
    width: 294px;
    height: 562px;
    padding: 0;
    grid-template-columns: 1fr;
    grid-template-rows: 300px 184px 78px;
    gap: 0;
    overflow: hidden;
  }

  .zone-copy {
    padding: 23px 18px 0;
    display: block;
  }

  .zone-copy h3 {
    font-size: 26px;
    line-height: 0.98;
  }

  .zone-subtitle {
    margin-top: 12px;
    font-size: 10px;
  }

  .zone-description {
    min-height: 45px;
    margin-top: 18px;
    font-size: 10px;
  }

  .zone-facts {
    margin-top: 5px;
  }

  .zone-facts > div {
    min-height: 28px;
    font-size: 9px;
  }

  .zone-price {
    margin-top: 22px;
    display: flex;
    align-items: end;
    justify-content: space-between;
  }

  .zone-price span {
    font-size: 9px;
  }

  .zone-price strong {
    font-size: 29px;
  }

  .zone-desktop-cta {
    display: none;
  }

  .zone-map {
    width: 282px;
    height: 184px;
    margin-inline: 6px;
    border-radius: 5px;
  }

  .zone-mobile-cta {
    width: calc(100% - 34px);
    min-height: 44px;
    margin: 17px;
    display: flex;
  }

  .zone-arrow {
    top: 261px;
    width: 40px;
    height: 40px;
  }

  .zone-arrow-prev {
    left: -19px;
  }

  .zone-arrow-next {
    right: -19px;
  }

  .documents {
    height: auto;
    min-height: 1652px;
  }

  .documents-shell {
    height: auto;
    padding-top: 32px;
    padding-bottom: 30px;
  }

  .document-list {
    margin-top: 9px;
    grid-template-columns: 1fr;
    grid-auto-rows: minmax(48px, auto);
    gap: 7px;
  }

  .document-list li {
    --item-offset: 0px !important;
    min-height: 48px;
    padding: 10px 13px;
    font-size: 12px;
  }

  .document-list li:nth-child(1) { order: 1; }
  .document-list li:nth-child(4) { order: 2; }
  .document-list li:nth-child(7) { order: 3; }
  .document-list li:nth-child(2) { order: 4; }
  .document-list li:nth-child(5) { order: 5; }
  .document-list li:nth-child(3) { order: 6; }
  .document-list li:nth-child(8) { order: 7; grid-column: auto; }
  .document-list li:nth-child(6) { order: 8; }

  .permit-process {
    height: auto;
    margin-top: 18px;
    padding: 0;
    display: block;
    background: transparent;
    border: 0;
    box-shadow: none;
  }

  .permit-process > h3 {
    font-size: 28px;
    line-height: 1;
  }

  .permit-process ol {
    height: auto;
    margin-top: 18px;
    grid-template-columns: 1fr;
  }

  .permit-process li {
    min-height: 40px;
    padding: 7px 0;
    grid-template-columns: 62px 1fr;
    gap: 0;
    border-left: 0;
    border-bottom: 1px solid var(--line);
  }

  .permit-process li span {
    padding-top: 2px;
  }

  .permit-process li strong {
    font-size: 12px;
    line-height: 1.18;
  }

  .work-title {
    margin-top: 31px;
  }

  .work-grid {
    margin-top: 28px;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }

  .work-card {
    height: 148px;
    padding: 13px 12px;
  }

  .work-card h3 {
    margin-top: 16px;
    font-size: 17px;
  }

  .work-card p {
    margin-top: 8px;
    font-size: 12px;
  }

  .work-cta-card {
    grid-column: 1 / -1;
    width: calc(100% - 56px);
    height: 173px;
    margin: 9px auto 0;
    padding: 14px 12px 12px;
  }

  .work-cta-card h3 {
    font-size: 17px;
  }

  .work-cta-card p {
    font-size: 10px;
  }

  .work-cta-card .button {
    min-height: 39px;
  }

  .faq {
    height: 800px;
  }

  .faq.has-open {
    height: auto;
    min-height: 800px;
  }

  .faq-shell {
    padding-top: 31px;
    display: block;
  }

  .faq-intro h2 {
    width: auto;
    font-size: 30px;
    line-height: 1.03;
  }

  .faq-intro img {
    display: none;
  }

  .faq-list {
    padding-top: 31px;
  }

  .faq-list summary {
    min-height: 52px;
    gap: 12px;
    font-size: 11.5px;
    line-height: 1.15;
  }

  .faq-list summary::after {
    font-size: 22px;
  }

  .faq-list details > div {
    padding: 0 24px 14px 0;
    font-size: 11px;
  }

  .faq-list details[open] {
    margin-block: 8px 14px;
    padding-inline: 16px;
  }

  .faq-cta {
    height: 145px;
    margin-top: 31px;
    padding: 20px 18px 15px;
    display: block;
  }

  .faq-cta strong {
    font-size: 17px;
    line-height: 1.02;
  }

  .faq-cta .button {
    width: 100%;
    min-height: 44px;
    margin-top: 17px;
  }

  .reviews {
    height: 844px;
  }

  .reviews-shell {
    padding-top: 32px;
  }

  .reviews-heading {
    display: block;
  }

  .reviews-top-cta {
    display: none;
    transform: none;
  }

  .reviews-stage {
    margin-top: 21px;
  }

  .review-track {
    gap: 14px;
  }

  .review-viewport {
    margin-inline: 0;
  }

  .review-card {
    flex-basis: 100%;
    height: 236px;
    padding: 25px 12px 21px;
  }

  .review-card header strong {
    font-size: 16px;
  }

  .review-card header span {
    font-size: 11px;
  }

  .review-card p {
    margin-top: 35px;
    font-size: 14px;
    line-height: 1.26;
  }

  .stars,
  .review-index {
    font-size: 14px;
  }

  .review-arrow {
    top: 249px;
    width: 54px;
    height: 54px;
  }

  .review-arrow-prev {
    left: 111px;
  }

  .review-arrow-next {
    right: 111px;
  }

  .reviews-mobile-cta {
    position: absolute;
    z-index: 3;
    top: 474px;
    left: 20px;
    width: calc(100% - 40px);
    display: flex;
  }

  .reviews-media img {
    object-fit: cover;
    object-position: center;
  }

  .application-dialog {
    width: calc(100% - 24px);
    max-height: calc(100dvh - 24px);
  }

  .dialog-card {
    min-height: 0;
    padding: 24px 20px;
  }

  .dialog-card h2 {
    font-size: 32px;
    transform: none;
  }

  #dialog-description {
    transform: none;
  }

  .dialog-close {
    top: 20px;
    right: 18px;
  }

  .field:first-of-type {
    margin-top: 30px;
  }

  .dialog-submit {
    margin-top: 28px;
  }
}

/* ATT-022: exact typography from client reference-export; node IDs retained for audit. */
/* desktop: desktop-hero-nav-permits */
.nav a {
  font-family: "Inter Tight", system-ui, sans-serif;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  line-height: 11px;
  letter-spacing: -0.4px;
  color: #090909;
}
/* desktop: desktop-hero-brand */
.brand {
  font-family: "Inter Tight", system-ui, sans-serif;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  line-height: 11px;
  letter-spacing: 0px;
  color: #090909;
}
/* desktop: desktop-hero-header-cta-label */
.header-cta {
  font-family: "Inter Tight", system-ui, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: 13px;
  letter-spacing: -0.1px;
  color: #ffffff;
}
/* desktop: desktop-hero-title */
.hero h1 {
  font-family: "Inter Tight", system-ui, sans-serif;
  font-size: 50px;
  font-style: normal;
  font-weight: 800;
  line-height: 48px;
  letter-spacing: -2.2px;
  color: #090909;
}
/* desktop: desktop-tariffs-title */
.tariffs h2 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 43px;
  font-style: normal;
  font-weight: 700;
  line-height: 45px;
  letter-spacing: -2px;
  color: #111111;
}
/* desktop: tariff-mkad-zone */
.tariff-card h3 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: -1.2px;
  color: #111111;
}
/* desktop: tariff-mkad-lead */
.tariff-intro {
  font-family: Inter, system-ui, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: 17px;
  letter-spacing: -0.15px;
  color: #4F4D49;
}
/* desktop: tariff-mkad-spec-label-0 */
.facts dt {
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: -0.15px;
  color: #7A7872;
}
/* desktop: tariff-mkad-spec-value-0 */
.facts dd {
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: -0.15px;
  color: #111111;
}
/* desktop: tariff-mkad-spec-label-2 */
.price span {
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: -0.15px;
  color: #7A7872;
}
/* desktop: tariff-mkad-spec-value-2 */
.price strong {
  font-family: Inter, system-ui, sans-serif;
  font-size: 29px;
  font-style: normal;
  font-weight: 700;
  line-height: 29px;
  letter-spacing: -0.15px;
  color: #111111;
}
/* desktop: tariff-mkad-cta-label */
.tariff-card .button {
  font-family: Inter, system-ui, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: 13px;
  letter-spacing: -0.1px;
  color: #FFFFFF;
}
/* desktop: desktop-restrictions-title */
.restrictions h3 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 25px;
  font-style: normal;
  font-weight: 700;
  line-height: 26px;
  letter-spacing: -1px;
  color: #111111;
}
/* desktop: hFdyI */
.restrictions li p, .restrictions li span {
  font-family: Inter, system-ui, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: -0.12px;
  color: #262522;
}
/* desktop: aZphs */
.restrictions li strong {
  font-family: Inter, system-ui, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: -0.12px;
  color: #151512;
}
/* desktop: M7zZw */
.zones h2 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 43px;
  font-style: normal;
  font-weight: 700;
  line-height: 45px;
  letter-spacing: -2px;
  color: #111111;
}
/* desktop: ksaSg */
.zone-copy h3 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 39px;
  font-style: normal;
  font-weight: 700;
  line-height: 40px;
  letter-spacing: -1.8px;
  color: #111111;
}
/* desktop: c8VJd */
.zone-subtitle {
  font-family: Inter, system-ui, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: 17px;
  letter-spacing: -0.15px;
  color: #66645F;
}
/* desktop: KV84r */
.zone-description {
  font-family: Inter, system-ui, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: -0.15px;
  color: #262522;
}
/* desktop: TSzLM */
.zone-facts dt {
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 12px;
  letter-spacing: -0.15px;
  color: #77746E;
}
/* desktop: bDWlG */
.zone-facts dd {
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  line-height: 11px;
  letter-spacing: -0.15px;
  color: #111111;
}
/* desktop: Y4somA */
.zone-price span {
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 12px;
  letter-spacing: -0.15px;
  color: #77746E;
}
/* desktop: U37tAQ */
.zone-price strong {
  font-family: Inter, system-ui, sans-serif;
  font-size: 31px;
  font-style: normal;
  font-weight: 700;
  line-height: 31px;
  letter-spacing: -0.15px;
  color: #111111;
}
/* desktop: pqF2L */
.zone-copy .button {
  font-family: Inter, system-ui, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: 13px;
  letter-spacing: -0.1px;
  color: #FFFFFF;
}
/* desktop: desktop-documents-title */
.documents h2 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 43px;
  font-style: normal;
  font-weight: 700;
  line-height: 45px;
  letter-spacing: -1.2px;
  color: #111111;
}
/* desktop: y6HyXT */
.document-list li {
  font-family: Inter, system-ui, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 17px;
  letter-spacing: -0.2px;
  color: #191916;
}
/* desktop: desktop-process-title */
.permit-process > h3 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 700;
  line-height: 31px;
  letter-spacing: -1.1px;
  color: #111111;
}
/* desktop: desktop-process-number-1 */
.permit-process li span {
  font-family: Inter, system-ui, sans-serif;
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
  line-height: 9px;
  letter-spacing: 0.35px;
  color: #85827C;
}
/* desktop: desktop-process-copy-0 */
.permit-process li strong {
  font-family: Inter, system-ui, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 18px;
  letter-spacing: -0.1px;
  color: #262522;
}
/* desktop: TqMlo */
.work-card > span {
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.45px;
  color: #85827C;
}
/* desktop: lu5q2 */
.work-card h3 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 17px;
  font-style: normal;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: -0.45px;
  color: #111111;
}
/* desktop: S26uP */
.work-card p {
  font-family: Inter, system-ui, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: -0.15px;
  color: #4F4D49;
}
/* desktop: f0fsD */
.work-cta-card h3 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 17px;
  font-style: normal;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: -0.45px;
  color: #111111;
}
/* desktop: Q3a0Id */
.work-cta-card p {
  font-family: Inter, system-ui, sans-serif;
  font-size: 10px;
  font-style: normal;
  font-weight: 500;
  line-height: 12px;
  letter-spacing: -0.1px;
  color: #4F4D49;
}
/* desktop: j15MT */
.work-cta-card .button {
  font-family: Inter, system-ui, sans-serif;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: -0.1px;
  color: #FFFFFF;
}
/* desktop: u391h */
.faq-intro h2 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 49px;
  font-style: normal;
  font-weight: 700;
  line-height: 48px;
  letter-spacing: -2.2px;
  color: #111111;
}
/* desktop: ypeqU */
.faq-list summary {
  font-family: Inter, system-ui, sans-serif;
  font-size: 17px;
  font-style: normal;
  font-weight: 600;
  line-height: 20px;
  letter-spacing: -0.35px;
  color: #171714;
}
/* desktop: CIS2H */
.faq-cta strong {
  font-family: Inter, system-ui, sans-serif;
  font-size: 29px;
  font-style: normal;
  font-weight: 700;
  line-height: 31px;
  letter-spacing: -1.1px;
  color: #FFFFFF;
}
/* desktop: OCo1T */
.faq-cta .button {
  font-family: Inter, system-ui, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: -0.1px;
  color: #151512;
}
/* desktop: V2XL0 */
.reviews h2 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 49px;
  font-style: normal;
  font-weight: 700;
  line-height: 50px;
  letter-spacing: -2.2px;
  color: #111111;
}
/* desktop: ku2fp */
.reviews-heading p {
  font-family: Inter, system-ui, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 19px;
  letter-spacing: -0.15px;
  color: #4F4D49;
}
/* desktop: kId3o */
.reviews-top-cta {
  font-family: Inter, system-ui, sans-serif;
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: -0.1px;
  color: #FFFFFF;
}
/* desktop: c73EK */
.review-card header strong {
  font-family: Inter, system-ui, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: -0.3px;
  color: #151512;
}
/* desktop: Q7mmS */
.review-card header span {
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: -0.05px;
  color: #85827C;
}
/* desktop: SsVhU */
.review-card p {
  font-family: Inter, system-ui, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: -0.3px;
  color: #262522;
}
/* desktop: hOjMN */
.stars {
  font-family: Inter, system-ui, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 2px;
  color: #151512;
}
/* components: DE6PW */
.faq-list details[open] summary {
  font-family: Inter, system-ui, sans-serif;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 22px;
  letter-spacing: -0.4px;
  color: #151512;
}
/* components: ttwyb */
.faq-list details > div {
  font-family: Inter, system-ui, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: -0.15px;
  color: #34332F;
}
/* components: zUjut */
.dialog-card h2 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 34px;
  font-style: normal;
  font-weight: 700;
  line-height: 35px;
  letter-spacing: -1.4px;
  color: #111111;
}
/* components: QJAQq */
#dialog-description {
  font-family: Inter, system-ui, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: -0.15px;
  color: #5E5C57;
}
/* components: VG9J9 */
.field label {
  font-family: Inter, system-ui, sans-serif;
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.55px;
  color: #85827C;
}
/* components: KbcEJ */
.field input {
  font-family: Inter, system-ui, sans-serif;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: -0.2px;
  color: #4F4D49;
}
/* components: o3z4eT */
#lead-phone {
  font-family: Inter, system-ui, sans-serif;
  font-size: 15px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.1px;
  color: #4F4D49;
}
/* components: ZDrWl */
.consent {
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: -0.1px;
  color: #4F4D49;
}
/* components: z0rJdK */
.dialog-submit {
  font-family: Inter, system-ui, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: -0.1px;
  color: #FFFFFF;
}
@media (max-width: 600px) {
/* mobile: JroEJ */
.hero h1 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 36px;
  font-style: normal;
  font-weight: 700;
  line-height: 35px;
  letter-spacing: -1.5px;
  color: #111111;
}
/* mobile: d2PDOs */
.hero-lead {
  font-family: Inter, system-ui, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: -0.15px;
  color: #4F4D49;
}
/* mobile: vUU6q */
.hero-mobile-cta {
  font-family: Inter, system-ui, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0px;
  color: #FFFFFF;
}
/* mobile: rkjF7 */
.brand {
  font-family: "Inter Tight", system-ui, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
  line-height: 12px;
  letter-spacing: 0px;
  color: #090909;
}
/* mobile: g5SEKy */
.tariffs h2 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 33px;
  letter-spacing: -1.3px;
  color: #111111;
}
/* mobile: sPnr4 */
.tariff-card h3 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
  letter-spacing: -1.2px;
  color: #111111;
}
/* mobile: j2lqi */
.tariff-intro {
  font-family: Inter, system-ui, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: 17px;
  letter-spacing: -0.15px;
  color: #4F4D49;
}
/* mobile: UMf0J */
.facts dt {
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: -0.15px;
  color: #7A7872;
}
/* mobile: AD474 */
.facts dd {
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: -0.15px;
  color: #111111;
}
/* mobile: dmNHy */
.price span {
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  line-height: 16px;
  letter-spacing: -0.15px;
  color: #7A7872;
}
/* mobile: LAfmU */
.price strong {
  font-family: Inter, system-ui, sans-serif;
  font-size: 29px;
  font-style: normal;
  font-weight: 700;
  line-height: 29px;
  letter-spacing: -0.15px;
  color: #111111;
}
/* mobile: pkLDj */
.tariff-card .button {
  font-family: Inter, system-ui, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 700;
  line-height: 13px;
  letter-spacing: -0.1px;
  color: #FFFFFF;
}
/* mobile: SpmCX */
.restrictions h3 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 25px;
  letter-spacing: -1px;
  color: #111111;
}
/* mobile: v9rYd */
.zones h2 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 33px;
  letter-spacing: -1.3px;
  color: #111111;
}
/* mobile: dI3f5 */
.zone-copy h3 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 26px;
  font-style: normal;
  font-weight: 700;
  line-height: 27px;
  letter-spacing: -1px;
  color: #111111;
}
/* mobile: FB6iK */
.zone-subtitle {
  font-family: Inter, system-ui, sans-serif;
  font-size: 10px;
  font-style: normal;
  font-weight: 500;
  line-height: 13px;
  letter-spacing: -0.15px;
  color: #66645F;
}
/* mobile: hEhyR */
.zone-description {
  font-family: Inter, system-ui, sans-serif;
  font-size: 10px;
  font-style: normal;
  font-weight: 500;
  line-height: 14px;
  letter-spacing: -0.15px;
  color: #262522;
}
/* mobile: o0zrA */
.zone-facts dt {
  font-family: Inter, system-ui, sans-serif;
  font-size: 9px;
  font-style: normal;
  font-weight: 500;
  line-height: 9px;
  letter-spacing: -0.15px;
  color: #77746E;
}
/* mobile: ZWoUG */
.zone-facts dd {
  font-family: Inter, system-ui, sans-serif;
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
  line-height: 9px;
  letter-spacing: -0.15px;
  color: #111111;
}
/* mobile: Bw9zl */
.zone-price span {
  font-family: Inter, system-ui, sans-serif;
  font-size: 9px;
  font-style: normal;
  font-weight: 500;
  line-height: 9px;
  letter-spacing: -0.15px;
  color: #77746E;
}
/* mobile: Bc2vF */
.zone-price strong {
  font-family: Inter, system-ui, sans-serif;
  font-size: 26px;
  font-style: normal;
  font-weight: 700;
  line-height: 26px;
  letter-spacing: -0.15px;
  color: #111111;
}
/* mobile: qrlfN */
.zone-mobile-cta {
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  line-height: 11px;
  letter-spacing: -0.1px;
  color: #FFFFFF;
}
/* mobile: UnF3r */
.documents h2 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 33px;
  letter-spacing: -1.3px;
  color: #111111;
}
/* mobile: o92YyC */
.document-list li {
  font-family: Inter, system-ui, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 600;
  line-height: 17px;
  letter-spacing: -0.2px;
  color: #191916;
}
/* mobile: W2GUo */
.permit-process > h3 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 28px;
  font-style: normal;
  font-weight: 700;
  line-height: 28px;
  letter-spacing: -1.1px;
  color: #111111;
}
/* mobile: ZJqPh */
.permit-process li span {
  font-family: Inter, system-ui, sans-serif;
  font-size: 9px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0.45px;
  color: #8A877F;
}
/* mobile: XJTvN */
.permit-process li strong {
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  line-height: 15px;
  letter-spacing: 0px;
  color: #252421;
}
/* mobile: Zj7yk */
.work-card h3 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 17px;
  font-style: normal;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: -0.45px;
  color: #111111;
}
/* mobile: aZrd8 */
.work-card p {
  font-family: Inter, system-ui, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: -0.15px;
  color: #4F4D49;
}
/* mobile: YDnfo */
.work-cta-card h3 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 17px;
  font-style: normal;
  font-weight: 700;
  line-height: 18px;
  letter-spacing: -0.45px;
  color: #111111;
}
/* mobile: NUhMy */
.work-cta-card p {
  font-family: Inter, system-ui, sans-serif;
  font-size: 10px;
  font-style: normal;
  font-weight: 500;
  line-height: 12px;
  letter-spacing: -0.1px;
  color: #4F4D49;
}
/* mobile: Om1fk */
.work-cta-card .button {
  font-family: Inter, system-ui, sans-serif;
  font-size: 10px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: -0.1px;
  color: #FFFFFF;
}
/* mobile: AgShK */
.faq-intro h2 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 30px;
  font-style: normal;
  font-weight: 700;
  line-height: 31px;
  letter-spacing: -1.2px;
  color: #111111;
}
/* mobile: V71yIq */
.faq-list summary {
  font-family: Inter, system-ui, sans-serif;
  font-size: 11.5px;
  font-style: normal;
  font-weight: 600;
  line-height: 13px;
  letter-spacing: -0.35px;
  color: #171714;
}
/* mobile: RMdFi */
.faq-cta strong {
  font-family: Inter, system-ui, sans-serif;
  font-size: 17px;
  font-style: normal;
  font-weight: 700;
  line-height: 19px;
  letter-spacing: -0.4px;
  color: #FFFFFF;
}
/* mobile: xP0BA */
.faq-cta .button {
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 0px;
  color: #111111;
}
/* mobile: u4WJG */
.reviews h2 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 33px;
  letter-spacing: -1.3px;
  color: #111111;
}
/* mobile: G7R94 */
.reviews-heading p {
  font-family: Inter, system-ui, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 500;
  line-height: 18px;
  letter-spacing: -0.15px;
  color: #4F4D49;
}
/* mobile: GYlgI */
.reviews-mobile-cta {
  font-family: Inter, system-ui, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: -0.1px;
  color: #FFFFFF;
}
/* mobile: c73EK */
.review-card header strong {
  font-family: Inter, system-ui, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: -0.3px;
  color: #151512;
}
/* mobile: Q7mmS */
.review-card header span {
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: -0.05px;
  color: #85827C;
}
/* mobile: SsVhU */
.review-card p {
  font-family: Inter, system-ui, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 500;
  line-height: 22px;
  letter-spacing: -0.3px;
  color: #262522;
}
/* mobile: hOjMN */
.stars {
  font-family: Inter, system-ui, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  letter-spacing: 2px;
  color: #151512;
}
}

/* ATT-022 geometry and surfaces from the same reference nodes. */
.tariffs, .zones, .faq { background: linear-gradient(180deg, #f7f6f3, #ecebe7); }
.documents { background: #eeece6; }
.button-dark { background: #151512; box-shadow: 0 5px 10px #11111133; }
.tariff-card, .zone-card, .permit-process { border: 0; outline: 1px solid #dfddd7; outline-offset: -.5px; background: linear-gradient(180deg, #fff, #fafaf8); }
.tariff-card { position: relative; height: 404px; padding: 56px 28px 24px; box-shadow: 0 16px 34px #1615101f, 0 1px 0 #ffffffcc; }
.tariff-card:nth-child(2) { box-shadow: 0 20px 40px #1615102b, 0 1px 0 #ffffffcc; }
.tariff-intro { margin-top: 15px; min-height: 51px; }
.tariff-card .facts { margin-top: 18px; }
.tariff-card .facts > div { min-height: 41px; align-items: start; padding-top: 0; border: 0; position: relative; }
.tariff-card .facts > div::after { content: ''; position: absolute; top: 26px; width: 100%; height: 1px; background: #deddd8; }
.tariff-card .price { margin-top: 2px; gap: 8px; }
.tariff-card .button { min-height: 44px; height: 44px; }
.restrictions { margin-top: 38px; border-color: #dddad4; box-shadow: 0 18px 38px #16151020; }
.restrictions li { padding: 0 0 8px; min-height: 0; line-height: 18px; }
.restrictions li + li { padding-top: 8px; }
.restrictions li p, .restrictions li span, .restrictions li strong { display: block; }
.zone-card { height: 625px; box-shadow: 0 18px 38px #16151024, 0 1px 0 #ffffffcc; }
.zone-copy { position: relative; padding-top: 36px; }
.zone-copy h3 { max-width: 390px; }
.zone-subtitle { margin-top: 25px; }
.zone-description { margin-top: 28px; min-height: 72px; }
.zone-facts { margin-top: 11px; }
.zone-price { margin-top: 29px; gap: 14px; }
.zone-copy .button { margin-top: 25px; }
.document-list li { padding: 0 16px; border: 0; outline: 1px solid #dfddd7; outline-offset: -.5px; box-shadow: 0 6px 14px #1615101f; transform: translateY(var(--item-offset, 0px)); }
.permit-process { box-shadow: 0 16px 34px #16151020; }
.work-card { display: flex; flex-direction: column; align-items: start; padding: 14px; border: 0; outline: 1px solid #dfddd7; outline-offset: -.5px; box-shadow: 0 14px 30px #16151024; }
.work-card h3 { margin-top: 16px; }
.work-card p { margin-top: 8px; }
.work-cta-card { position: relative; padding: 17px 12px; }
.work-cta-card h3 { margin: 0; width: 253px; max-width: 100%; }
.document-list li::before { display: none; }
.document-list li span::before { content: '• '; }
.work-cta-card p { position: absolute; top: 84px; left: 12px; margin: 0; }
.work-cta-card .button { position: absolute; top: 112px; left: 16px; width: calc(100% - 33px); height: 34px; min-height: 34px; margin: 0; }
.faq-intro h2 { width: 400px; }
.faq-list details > div { padding: 24px 0 28px; }
.faq-list details[open] { box-shadow: 0 14px 30px #16151020; }
.faq-list details[open] summary { min-height: 66px; border-bottom: 1px solid #dedcd6; }
.faq-cta { background: #151512; border-radius: 8px; box-shadow: 0 18px 36px #16151026; }
.faq-cta strong { max-width: 606px; }
.faq-cta .button { height: 52px; }
.review-card { position: relative; height: 330px; padding: 24px; border: 0; outline: 1px solid #dfddd7; outline-offset: -.5px; border-radius: 6px; box-shadow: 0 14px 30px #16151020; }
.review-card p { margin-top: 34px; }
.review-viewport { padding-block: 32px; margin-block: -32px; }
.review-card header strong, .review-card header span { line-height: normal; }
.stars { position: absolute; left: 24px; top: 278px; margin: 0; width: 94px; }
.application-dialog { border-radius: 8px; outline: 1px solid #dfddd7; outline-offset: -.5px; background: linear-gradient(180deg, #fff, #fafaf8); box-shadow: 0 22px 46px #1615102b; overflow: auto; }
.dialog-card { padding: 28px 36px; }
.dialog-card h2 { transform: none; margin-left: -9px; }
#dialog-description { transform: none; margin: 12px -9px 0; max-width: 390px; }
.dialog-close { top: 28px; right: 32px; width: 40px; height: 40px; background: #f0efea; border-color: #dddad4; display: grid; place-items: center; padding: 0; }
.field { height: 68px; margin-top: 14px; padding: 12px 16px; background: #f2f1ed; border-color: #d8d6d1; }
.field:first-of-type { margin-top: 77px; }
.field input { margin-top: 10px; line-height: normal; }
.field input::placeholder { color: #4f4d49; opacity: 1; }
.consent { margin-top: 22px; }
.consent input { width: 20px; height: 20px; margin-top: 2px; }
.dialog-submit { margin-top: 40px; }
@media (min-width: 1201px) {
 .hero-copy { padding-top: 125px; }
 .hero h1 { position: relative; left: 13px; }
 .site-header { padding-top: 14px; }
 .nav { gap: 12px; min-height: 42px; }
 .nav-left a:nth-child(1) { width: 70px; }
 .nav-left a:nth-child(2) { width: 43px; }
 .nav-right { margin-right: 30px; gap: 10px; }
 .nav-right > a { width: 32px; }
 .brand { gap: 4px; }
 .brand img { width: 32px; height: 32px; }
 .header-cta { min-height: 42px; padding: 0; box-shadow: none; background: #090909; }
 .tariff-grid { margin-top: 48px; }
 .restrictions { padding: 21px 29px 22px 34px; grid-template-columns: 270px 1fr; gap: 28px; }
 .restrictions h3 { align-self: start; margin-top: 56px; }
 .zone-card { padding: 43px 40px 42px 52px; grid-template-columns: 380px 480px; gap: 48px; }
 .zone-copy { padding: 35px 0 0; }
 .zone-facts { position: absolute; top: 279px; left: 0; width: 380px; margin: 0; }
 .zone-facts > div { height: 41px; min-height: 41px; align-items: start; padding-top: 0; border: 0; position: relative; }
 .zone-facts > div::after { content: ''; height: 1px; position: absolute; top: 24px; width: 100%; background: #deddd8; }
 .zone-price { position: absolute; top: 417px; margin: 0; }
 .zone-copy .button { position: absolute; top: 499px; margin: 0; height: 44px; }
 .zone-arrow { width: 38px; height: 38px; left: 10px; }
 .zone-arrow-next { left: auto; right: 9px; top: 296px; }
 .documents-shell { padding-top: 27px; }
 .documents > .shell > h2:not(.work-title) { left: 0; width: 859px; margin-left: 135px; text-align: left; }
 .document-list { margin-top: 29px; gap: 19px 40px; }
 .permit-process { position: absolute; top: 341px; width: 100%; margin: 0; height: 231px; padding: 26px; grid-template-columns: 224px 1fr; gap: 25px; }
 .permit-process > h3 { width: 209px; }
 .permit-process ol { margin-top: 22px; grid-template-columns: repeat(5, 175px); }
 .permit-process li { position: relative; padding: 16px 0 0; gap: 23px; border: 0; }
 .permit-process li strong { width: 150px; }
 .permit-process li:not(:first-child)::before { content: ''; position: absolute; left: -12.5px; top: 0; width: 1px; height: 158px; background: #dedcd6; }
 .work-title { position: absolute; top: 602px; width: 100%; margin: 0; }
 .work-grid { position: absolute; top: 670px; width: 100%; margin: 0; }
 .faq-shell { padding-top: 66px; grid-template-columns: 332px 730px; column-gap: 114px; }
 .faq-intro img { margin-top: 53px; }
 .faq-list { padding-top: 58px; }
 .faq-list summary { min-height: 53px; }
 .faq-cta { width: 1200px; margin-top: 27px; height: 170px; padding: 38px 50px 39px 44px; }
 .reviews-heading { position: relative; min-height: 82px; }
 .reviews-heading p { margin: 13px 0 0 9px; }
 .reviews-stage { margin-top: 80px; }
 .reviews-top-cta { height: 58px; }
}
@media (max-width: 600px) {
 .hero-copy { padding-top: 42px; }
 .hero-lead { margin-top: 24px; width: min(335px, 100%); }
 .hero-mobile-cta { margin-top: 20px; }
 .tariff-grid { margin-top: 23px; gap: 25px; }
 .tariff-card { height: 404px; padding: 56px 28px 24px; }
 .tariff-card:nth-child(3) { margin-top: 3px; }
 .tariff-intro { margin-top: 15px; min-height: 51px; }
 .restrictions { height: auto; min-height: 600px; margin-top: 21px; padding: 30px 20px 22px; }
 .restrictions ul { margin-top: 23px; }
 .restrictions li { margin-top: 0; padding-bottom: 8px; }
 .restrictions li + li { padding-top: 8px; }
 .zone-stage { margin-top: 25px; }
 .zone-card { height: 561px; }
 .zone-copy { padding: 24px 18px 0; }
 .zone-subtitle { margin-top: 11px; }
 .zone-description { margin-top: 15px; min-height: 42px; }
 .zone-facts { margin-top: 6px; }
 .zone-facts > div { min-height: 23px; height: 23px; align-items: start; }
 .zone-price { display: grid; margin-top: 17px; gap: 6px; }
 .zone-mobile-cta { min-height: 42px; height: 42px; margin: 17px 18px; width: calc(100% - 36px); }
 .zone-arrow { width: 38px; height: 38px; top: 262px; }
 .zone-arrow-prev { left: -18px; }
 .zone-arrow-next { right: -18px; }
 .documents { min-height: 1717px; }
 .documents-shell { padding-top: 46px; padding-bottom: 37px; }
 .document-title-suffix { display: none; }
 .document-list { margin-top: 8px; grid-auto-rows: 58px; gap: 8px; }
 .document-list li { min-height: 58px; padding: 0 16px; }
 .permit-process { margin-top: 25px; background: transparent; box-shadow: none; outline: 0; }
 .permit-process > h3 { width: 350px; max-width: 100%; }
 .permit-process ol { margin-top: 21px; }
 .permit-process li { min-height: 58px; padding: 7px 0; }
 .permit-process li:last-child { min-height: 40px; border-bottom: 0; }
 .work-title { margin-top: 31px; }
 .work-grid { margin-top: 49px; gap: 12px 10px; }
 .work-card { height: 180px; padding: 14px; }
 .work-cta-card { height: 160px; width: min(282px, 100%); margin-top: 9px; padding: 17px 12px; }
 .work-cta-card .button { min-height: 34px; }
 .faq { background: #eeece6; }
 .faq-shell { padding-top: 32px; }
 .faq-intro h2 { width: auto; }
 .faq-list { padding-top: 26px; }
 .faq-list summary { min-height: 51px; }
 .faq-list details > div { font-size: 14px; line-height: 20px; padding: 20px 0; }
 .faq-list details[open] summary { font-size: 14px; line-height: 18px; }
 .faq-cta { margin-top: 32px; padding: 18px; }
 .faq-cta strong { display: block; }
 .faq-cta .button { min-height: 40px; height: 40px; margin-top: 17px; }
 .reviews-shell { margin-left: 13px; margin-right: 12px; padding-top: 29px; }
 .reviews h2 { width: 350px; max-width: 100%; }
 .reviews-heading p { margin-top: 13px; }
 .reviews-stage { margin-top: 20px; }
 .review-card { height: 237px; padding: 24px 12px; }
 .review-card p { margin-top: 34px; }
 .stars { top: 194px; }
 .review-arrow { width: 56px; height: 56px; top: 249px; }
 .review-arrow-prev { left: calc(50% - 62px); }
 .review-arrow-next { right: calc(50% - 62px); }
 .reviews-mobile-cta { left: 8px; width: calc(100% - 23px); }
 .dialog-card { padding: 28px 20px; }
 .dialog-card h2 { font-size: 30px; margin-left: 0; }
 #dialog-description { margin-left: 0; margin-right: 0; }
 .field:first-of-type { margin-top: 30px; }
 .dialog-submit { margin-top: 28px; }
}

/* ATT-023: content-sized fallbacks outside the two reference canvases. */
.hero { min-height: 0; }

@media (max-width: 600px) {
  .tariffs { height: auto; min-height: 2100px; }
  .tariffs-shell { padding-bottom: 24px; }
  .faq { height: auto; min-height: 800px; }
  .faq-shell { padding-bottom: 32px; }
}

@media (max-width: 350px) {
  .faq-cta { height: auto; min-height: 145px; }
  .tariff-card .facts > div { min-height: 41px; height: auto; padding-bottom: 8px; }
  .tariff-card .facts > div::after { top: auto; bottom: 5px; }
}

@media (max-width: 600px) and (max-height: 679px) {
  .site-header { height: 60px; padding-top: 14px; }
  .hero-copy { padding-top: 12px; }
  .hero h1 { font-size: 32px; line-height: 31px; }
  .hero-lead { margin-top: 14px; line-height: 18px; }
  .hero-mobile-cta { margin-top: 14px; min-height: 44px; height: 44px; }
  .hero-media img { max-height: 60svh; }
}

@media (min-width: 601px) and (max-width: 1200px) {
  .tariffs, .zones, .documents, .faq { height: auto; min-height: 900px; }
  .tariffs-shell, .zones-shell, .documents-shell { height: auto; padding-bottom: 36px; }
  .tariff-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tariff-card { height: auto; min-height: 404px; padding: 36px 20px 24px; }
  .tariff-card .facts > div { height: auto; padding-bottom: 12px; }
  .tariff-card .facts > div::after { top: auto; bottom: 6px; }
  .tariff-card .button { margin-top: 20px; flex-shrink: 0; }
  .restrictions { height: auto; grid-template-columns: minmax(180px, .8fr) minmax(0, 1.5fr); }
  .restrictions h3 { align-self: start; }
  .zone-card { height: auto; min-height: 640px; padding: 30px 24px; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; }
  .zone-copy { padding-top: 0; }
  .zone-copy h3 { font-size: 32px; line-height: 33px; }
  .zone-copy .button { min-height: 44px; height: auto; padding: 10px; }
  .zone-map { align-self: center; height: 540px; }
  .document-list { grid-auto-rows: minmax(58px, auto); }
  .document-list li { min-width: 0; padding-block: 10px; }
  .permit-process { height: auto; grid-template-columns: 1fr; }
  .permit-process ol { height: auto; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .permit-process li { min-width: 0; padding-inline: 10px; }
  .work-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .work-card { height: auto; min-height: 180px; }
  .work-cta-card { grid-column: 1 / -1; width: min(440px, 100%); justify-self: center; min-height: 160px; }
  .work-cta-card h3 { width: auto; }
  .work-cta-card p, .work-cta-card .button { position: static; width: 100%; }
  .work-cta-card p { margin-top: 12px; }
  .work-cta-card .button { margin-top: auto; }
  /* A percentage row-gap overflows an auto-height grid when FAQ expands. */
  .faq-shell { column-gap: 7%; row-gap: 0; padding-bottom: 36px; }
  .faq-intro h2 { width: auto; font-size: 36px; line-height: 37px; }
  .faq-intro img { width: 100%; height: auto; }
  .faq-cta { height: auto; min-height: 171px; padding: 28px; }
  .faq-cta strong { min-width: 0; }
}

@media (min-width: 601px) and (max-width: 900px) {
  .nav { gap: 12px; }
  .brand { font-size: 10px; }
  .restrictions { grid-template-columns: 1fr; gap: 24px; }
  .work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .permit-process ol { grid-template-columns: 1fr; gap: 12px; }
  .permit-process li { grid-template-columns: 62px 1fr; gap: 12px; padding: 8px 0; border-left: 0; border-bottom: 1px solid var(--line); }
  .faq-cta { display: block; }
  .faq-cta .button { margin-top: 20px; }
}

@media (min-width: 601px) and (max-height: 500px) {
  .site-header { height: 60px; }
  .hero-copy { width: 48%; margin-left: 3%; padding-top: 28px; text-align: left; }
  .hero h1 { left: 0; font-size: 32px; line-height: 34px; letter-spacing: -1px; }
  .hero-media { left: 51%; top: 60px; }
}

@media (max-width: 600px) and (max-height: 500px) and (orientation: landscape) {
  .site-header { height: 44px; }
  .hero-copy { width: 55%; margin-left: 20px; margin-right: 0; }
  .hero h1 { font-size: 26px; line-height: 25px; }
  .hero-lead { margin-top: 10px; font-size: 12px; line-height: 16px; }
  .hero-mobile-cta { margin-top: 10px; min-height: 40px; height: 40px; }
  .hero-media { left: 60%; top: 44px; }
  .hero-media img { max-height: 100%; }
}

/* Preserve the reference layout at 900px; compact only short desktop windows. */
@media (min-width: 1201px) and (max-width: 1279px) {
  .faq-shell { grid-template-columns: 332px minmax(0, 1fr); column-gap: 80px; }
  .faq-cta { width: 100%; }
}

@media (min-width: 1201px) and (min-height: 640px) and (max-height: 899px) {
  .documents, .reviews { height: 100svh; min-height: 0; }
  .documents-shell { padding-top: 20px; }
  .documents > .shell > h2:not(.work-title) { font-size: 40px; line-height: 40px; }
  .document-list { margin-top: 20px; grid-auto-rows: 50px; gap-block: 12px; }
  .document-list li:nth-child(2) { --item-offset: 25px; }
  .document-list li:nth-child(5) { --item-offset: 50px; }
  .permit-process { top: 38svh; height: 25.5svh; padding: 20px 26px; }
  .permit-process > h3 { font-size: 28px; line-height: 29px; }
  .permit-process ol { margin-top: 0; height: auto; }
  .permit-process li { padding-top: 8px; gap: 14px; }
  .permit-process li:not(:first-child)::before { height: 18svh; }
  .work-title { top: 67svh; font-size: 36px; line-height: 38px; }
  .work-grid { top: 74.4svh; }
  .work-card { height: 160px; padding: 12px; }
  .work-card h3 { margin-top: 12px; }
  .work-card p { font-size: 13px; line-height: 16px; }
  .work-cta-card { height: 150px; margin-top: 5px; }
  .work-cta-card h3 { margin-top: 0; }
  .work-cta-card p { font-size: 10px; line-height: 13px; }
  .reviews-stage { margin-top: 40px; }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* ATT-026: the original picture continues to determine hero geometry. */
.hero-video {
  position: absolute;
  z-index: 1;
  object-fit: contain;
  object-position: 50% 100%;
  visibility: hidden;
  pointer-events: none;
}

.hero-video.is-ready {
  visibility: visible;
}

@media (prefers-reduced-motion: reduce) {
  .hero-video {
    display: none !important;
  }
}

/* ATT-027: offer lead, registry-check CTAs, and reviews photo crop. */
.hero-lead {
  display: block;
  width: min(680px, 100%);
  margin: 20px auto 0;
  color: #3d3b36;
  font-family: Inter, system-ui, sans-serif;
  font-size: 20px;
  font-weight: 650;
  line-height: 27px;
  letter-spacing: 0;
}

.work-card .permit-check-link {
  width: 100%;
  min-height: 44px;
  margin-top: auto;
  padding-inline: 14px;
  font-size: 12px;
  line-height: 12px;
  letter-spacing: 0;
}

.faq-list .permit-check-link {
  width: fit-content;
  min-width: 220px;
  min-height: 44px;
  margin-top: 2px;
  padding-inline: 24px;
  font-size: 13px;
  line-height: 13px;
  letter-spacing: 0;
}

.reviews-media img {
  object-position: 50% 100%;
}

@media (min-width: 601px) and (max-width: 1200px) {
  .hero-lead {
    max-width: 610px;
    margin-top: 18px;
    font-size: 18px;
    line-height: 25px;
  }

  .reviews-media img {
    object-position: 68% 100%;
  }
}

@media (min-width: 601px) and (max-width: 700px) {
  .reviews {
    height: 1000px;
    min-height: 1000px;
  }
}

@media (max-width: 600px) {
  .hero-lead {
    width: min(340px, 100%);
    margin: 23px 0 0;
    color: #4f4d49;
    font-size: 15.5px;
    font-weight: 650;
    line-height: 21px;
  }

  .work-card .permit-check-link {
    min-height: 44px;
    font-size: 11px;
    line-height: 11px;
  }

  .faq-list .permit-check-link {
    width: 100%;
    min-width: 0;
    min-height: 44px;
    font-size: 12px;
    line-height: 12px;
  }

  .reviews-media img {
    object-position: 50% 100%;
  }
}

@media (max-width: 600px) and (max-height: 679px) {
  .hero-lead {
    margin-top: 12px;
    font-size: 13px;
    line-height: 17px;
  }
}

@media (min-width: 601px) and (max-height: 500px) {
  .hero-lead {
    margin: 12px 0 0;
    font-size: 14px;
    line-height: 18px;
  }
}

@media (max-width: 600px) and (max-height: 500px) and (orientation: landscape) {
  .hero-lead {
    margin-top: 8px;
    font-size: 11.5px;
    line-height: 15px;
  }
}

@media (min-width: 1201px) and (min-height: 640px) and (max-height: 899px) {
  .work-card .permit-check-link {
    min-height: 44px;
    font-size: 11px;
    line-height: 11px;
  }

  .work-card:has(.permit-check-link) h3 {
    margin-top: 8px;
  }

  .work-card:has(.permit-check-link) p {
    margin-top: 6px;
    font-size: 12px;
    line-height: 14px;
  }
}

/* ATT-028: proportional portrait background and bounded zone cards. */
@media (max-width: 600px) and (orientation: portrait) {
  .hero-media img {
    width: 100%;
    height: auto;
    max-height: none;
  }
}

@media (max-width: 600px) {
  .zones { height: auto; min-height: 0; }
  .zones-shell { margin-inline: 12px; padding-block: 24px; }
  .zone-stage {
    --zone-map-height: 160px;
    width: min(330px, 100%);
    margin: 18px auto 0;
  }
  .zone-card {
    width: min(294px, calc(100% - 16px));
    height: auto;
    grid-template-rows: auto var(--zone-map-height) 68px;
  }
  .zone-copy { padding: 18px 16px 14px; }
  .zone-copy h3 { font-size: 24px; line-height: 25px; }
  .zone-subtitle { min-height: 26px; margin-top: 7px; line-height: 13px; }
  .zone-description { min-height: 28px; margin-top: 8px; line-height: 14px; }
  .zone-facts { margin-top: 8px; }
  .zone-facts > div { min-height: 20px; height: 20px; }
  .zone-price { display: flex; align-items: center; margin-top: 10px; gap: 8px; }
  .zone-price strong { font-size: 26px; line-height: 26px; }
  .zone-map { width: calc(100% - 12px); height: var(--zone-map-height); }
  .zone-mobile-cta { width: calc(100% - 32px); min-height: 44px; height: 44px; margin: 12px 16px; }
  .zone-arrow { top: calc(100% - 87px - var(--zone-map-height) / 2); }
  .zone-arrow-prev { left: 0; }
  .zone-arrow-next { right: 0; }
}

@media (max-width: 600px) and (max-height: 679px) and (orientation: portrait) {
  .zones-shell { padding-block: 18px 14px; }
  .zones h2 { font-size: 28px; line-height: 29px; }
  .zone-stage { --zone-map-height: 136px; margin-top: 14px; }
  .zone-copy { padding-block: 16px 10px; }
  .zone-copy h3 { font-size: 23px; line-height: 24px; }
}

@media (min-width: 1201px) {
  .zone-copy .button { top: 496px; }
}

@media (min-width: 1201px) and (min-height: 640px) and (max-height: 899px) {
  .zones { height: 100svh; min-height: 0; }
  .zones-shell { padding-top: 28px; }
  .zone-stage { margin-top: 22px; }
  .zone-card { height: calc(100svh - 142px); padding-block: 24px; }
  .zone-copy { display: flex; padding-top: 0; }
  .zone-facts { position: static; width: 100%; margin-top: auto; }
  .zone-price { position: static; margin-top: 16px; }
  .zone-copy .button { position: static; margin-top: 16px; flex-shrink: 0; }
  .zone-map { height: 100%; min-height: 0; }
  .zone-arrow { top: calc(50% - 19px); }
}

/* Contacts follow the existing typography and palette. */
@media (prefers-reduced-motion: no-preference) {
  @keyframes reveal-entry { from { opacity: 0; } to { opacity: 1; } }
  .page.is-visible, .tariff-card.is-visible, .restrictions.is-visible, .zone-card.is-visible,
  .document-list li.is-visible, .permit-process.is-visible, .work-card.is-visible,
  .faq-cta.is-visible, .review-card.is-visible { animation: reveal-entry 420ms ease both; }
}
.contacts { background: #f5f5f3; padding: 80px 0 34px; border-top: 1px solid #e2e2de; }
.contacts h2 { margin: 0 0 30px; font-family: "Inter Tight", sans-serif; font-size: clamp(30px, 4vw, 52px); line-height: 1.05; letter-spacing: -1.5px; }
.contacts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; }
.contact-card h3 { font-size: 22px; margin: 0 0 18px; }
.contacts-list { display: grid; gap: 14px; margin: 0; }
.contacts-list div { display: grid; grid-template-columns: 130px 1fr; gap: 18px; align-items: baseline; }
.contacts-list dt { color: #666; font-size: 14px; }
.contacts-list dd { margin: 0; font-size: 16px; overflow-wrap: anywhere; }
.contacts a { color: inherit; text-underline-offset: 4px; }
.contacts-note { font-size: 13px; color: #666; margin: 0 0 28px; max-width: 650px; }
.contact-card .button { margin-top: 28px; }
.footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: 52px; padding-top: 22px; border-top: 1px solid #deded9; font-size: 13px; }
.form-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.dialog-card .consent a { color: inherit; text-decoration: underline; }
.dialog-submit:disabled { opacity: .65; cursor: wait; }
.document-title-suffix { display: inline; }
.privacy-main { width: min(820px, calc(100% - 40px)); margin: 60px auto; line-height: 1.7; }
.privacy-main h1 { font-size: clamp(30px, 5vw, 44px); line-height: 1.1; }
@media (max-width: 600px) {
  .contacts { padding: 48px 0 24px; }
  .contacts-grid { grid-template-columns: 1fr; gap: 36px; }
  .contacts-list div { grid-template-columns: 105px 1fr; gap: 12px; }
  .contacts-list dd { font-size: 14px; }
  .footer-bottom { margin-top: 34px; }
  #tariffs-title, #zones-title, #documents-title { font-size: clamp(28px, 7.2vw, 40px); line-height: 1.07; }
  .hero .mobile-title { font-size: clamp(30px, 8.5vw, 38px); line-height: 1.05; }
}


/* Content determines section height: long SEO headings must not overlap cards. */
.documents { height: auto; min-height: 0; }
.documents-shell { height: auto; padding-block: 32px 44px; }
.documents > .shell > h2:not(.work-title) {
  position: static; width: min(970px, 100%); margin-inline: auto;
  text-align: left; line-height: 1.15;
}
.document-list { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: minmax(62px, auto); }
.document-list li { min-width: 0; padding-block: 12px; }
.document-list li:nth-child(n) { --item-offset: 0px; order: 0; grid-column: auto; }
.permit-process {
  position: static; width: 100%; height: auto; min-height: 230px;
  margin-top: 36px; grid-template-columns: minmax(220px, .95fr) minmax(0, 4fr);
}
.permit-process > h3 { width: auto; max-width: 100%; line-height: 1.12; }
.permit-process ol { height: auto; margin-top: 0; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.permit-process li { min-width: 0; padding: 10px 12px; }
.permit-process li strong { width: auto; }
.permit-process li:not(:first-child)::before { left: 0; top: 0; height: 100%; }
.documents .work-title { position: static; width: auto; margin-top: 36px; line-height: 1.12; }
.documents .work-grid {
  position: static; width: 100%; margin-top: 28px;
  grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(0, 1.55fr);
  gap: 24px;
}
.brand span { white-space: nowrap; }
@media (min-width: 601px) and (max-width: 1100px) {
  .permit-process { grid-template-columns: 1fr; gap: 24px; }
  .permit-process li { padding-inline: 10px; }
  .documents .work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .documents .work-cta-card { grid-column: 1 / -1; justify-self: center; }
}
@media (max-width: 900px) {
  .permit-process ol { grid-template-columns: 1fr; gap: 0; }
  .permit-process li { grid-template-columns: 62px minmax(0, 1fr); gap: 12px; padding: 12px 0; }
  .permit-process li:not(:first-child)::before { display: none; }
}
@media (max-width: 600px) {
  .documents-shell { padding-block: 32px 37px; }
  .document-list { grid-template-columns: 1fr; grid-auto-rows: minmax(58px, auto); }
  .permit-process { min-height: 0; margin-top: 28px; padding: 0; }
  .permit-process ol { margin-top: 20px; }
  .documents .work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 10px; }
  .documents .work-cta-card { grid-column: 1 / -1; justify-self: center; }
}

/* Larger, readable content on Full HD and wider desktop screens. */
@media (min-width: 1201px) and (max-width: 1599px) {
  .review-arrow { top: calc(100% + 20px); }
  .review-arrow-prev { left: calc(50% - 76px); }
  .review-arrow-next { left: calc(50% + 12px); right: auto; }
}

@media (min-width: 1600px) {
  body { font-size: 18px; }
  .shell, .faq-shell, .reviews-shell { width: min(1440px, calc(100% - 160px)); }
  .button { min-height: 56px; padding-inline: 34px; font-size: 18px; line-height: 1.2; }
  .site-header { height: 100px; padding-top: 24px; align-items: start; }
  .nav { min-height: 56px; gap: 32px; }
  .nav a { width: auto !important; font-size: 17px; line-height: 1.3; letter-spacing: 0; }
  .nav-right { margin-right: 0; gap: 28px; }
  .brand { min-height: 56px; gap: 10px; font-size: 18px; line-height: 1.2; }
  .brand img { width: 44px; height: 44px; }
  .header-cta { min-width: 200px; height: 56px; padding-inline: 26px; }
  .hero-copy { padding-top: clamp(80px, 10vh, 112px); }
  .hero h1 { left: 0; font-size: clamp(64px, 3.75vw, 80px); line-height: 1; letter-spacing: -2.5px; }
  .hero-lead { width: min(900px, 100%); margin-top: 28px; font-size: 26px; line-height: 1.35; }

  .tariffs, .zones, .faq, .reviews { height: auto; min-height: 900px; padding-bottom: 72px; }
  .tariffs-shell, .zones-shell, .faq-shell { padding-top: 64px; }
  .tariffs h2, .zones h2, .documents h2, .faq-intro h2, .reviews h2, .contacts h2 {
    font-size: 56px; line-height: 1.15; letter-spacing: -1.8px;
  }
  .tariff-grid { gap: 40px; }
  .tariff-card { height: auto; min-height: 480px; padding: 44px 36px 32px; }
  .tariff-card h3 { font-size: 40px; line-height: 1.1; }
  .tariff-intro { min-height: 70px; font-size: 18px; line-height: 1.35; }
  .facts > div, .facts dt, .facts dd, .zone-facts dt, .zone-facts dd, .price span, .zone-price span { font-size: 16px; line-height: 1.3; }
  .tariff-card .facts > div { min-height: 48px; }
  .tariff-card .facts > div::after { top: 33px; }
  .price strong { font-size: 40px; line-height: 1.1; }
  .tariff-card .price { margin-top: 12px; margin-bottom: 24px; }
  .tariff-card .button { height: 56px; min-height: 56px; font-size: 18px; line-height: 1.2; }
  .restrictions { height: auto; min-height: 290px; padding: 32px 36px; grid-template-columns: 340px minmax(0, 1fr); gap: 40px; }
  .restrictions h3 { align-self: center; margin-top: 0; font-size: 34px; line-height: 1.15; }
  .restrictions li { font-size: 18px; line-height: 1.35; padding-bottom: 12px; }
  .restrictions li p, .restrictions li span, .restrictions li strong { font-size: 18px; line-height: 1.35; }
  .restrictions li + li { padding-top: 12px; }

  .zone-card { width: min(1280px, calc(100% - 136px)); height: auto; padding: 44px; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 48px; }
  .zone-copy { padding-top: 16px; }
  .zone-copy h3 { max-width: none; font-size: 50px; line-height: 1.15; }
  .zone-subtitle, .zone-description { font-size: 18px; line-height: 1.35; }
  .zone-subtitle { margin-top: 24px; }
  .zone-description { min-height: 0; margin-top: 24px; }
  .zone-facts { position: static; width: 100%; margin-top: 28px; }
  .zone-facts > div { height: auto; min-height: 46px; }
  .zone-facts > div::after { top: 32px; }
  .zone-price { position: static; margin-top: 28px; }
  .zone-price strong { font-size: 44px; line-height: 1.1; }
  .zone-copy .button { position: static; margin-top: 28px; height: 56px; flex-shrink: 0; font-size: 18px; line-height: 1.2; }
  .zone-map { width: 100%; height: 640px; }
  .zone-arrow { width: 52px; height: 52px; top: calc(50% - 26px); }
  .zone-arrow img { width: 26px; height: 26px; }

  .documents-shell { padding-block: 56px 64px; }
  .documents > .shell > h2:not(.work-title) { width: min(1240px, 100%); }
  .document-list { grid-auto-rows: minmax(80px, auto); gap: 24px 40px; margin-top: 40px; }
  .document-list li { font-size: 20px; line-height: 1.3; padding: 20px 24px; }
  .permit-process { min-height: 270px; padding: 32px; gap: 28px; margin-top: 44px; grid-template-columns: 300px minmax(0, 1fr); }
  .permit-process > h3 { font-size: 40px; line-height: 1.15; }
  .permit-process li { gap: 24px; padding-inline: 16px; }
  .permit-process li span { font-size: 13px; line-height: 1.3; }
  .permit-process li strong { font-size: 18px; line-height: 1.3; }
  .documents .work-title { margin-top: 48px; }
  .documents .work-grid { margin-top: 36px; gap: 28px; }
  .work-card { height: auto; min-height: 240px; padding: 22px; }
  .work-card > span { font-size: 14px; line-height: 1.3; }
  .work-card h3, .work-cta-card h3 { font-size: 23px; line-height: 1.15; }
  .work-card p { font-size: 18px; line-height: 1.35; }
  .work-card .permit-check-link { font-size: 16px; line-height: 1.2; min-height: 52px; }
  .work-cta-card { margin-top: 0; }
  .work-cta-card h3 { width: auto; }
  .work-cta-card p { position: static; margin-top: 16px; font-size: 16px; }
  .work-cta-card .button { position: static; width: 100%; height: auto; min-height: 52px; margin-top: 24px; font-size: 16px; }

  .faq-shell { grid-template-columns: minmax(0, 420px) minmax(0, 1fr); column-gap: 100px; }
  .faq-intro h2 { width: 100%; }
  .faq-intro img { width: 100%; height: 460px; margin-top: 44px; }
  .faq-list { padding-top: 64px; }
  .faq-list summary { font-size: 21px; line-height: 1.3; min-height: 70px; }
  .faq-list details > div { font-size: 18px; line-height: 1.45; }
  .faq-list details[open] { padding-inline: 32px; }
  .faq-list .permit-check-link { font-size: 17px; line-height: 1.2; min-height: 52px; }
  .faq-cta { width: 100%; height: auto; min-height: 200px; padding: 40px 48px; }
  .faq-cta strong { max-width: 860px; font-size: 36px; line-height: 1.15; }
  .faq-cta .button { min-width: 260px; height: 56px; font-size: 18px; line-height: 1.2; }

  .reviews-shell { padding-top: 48px; }
  .reviews-heading p { font-size: 18px; line-height: 1.35; }
  .reviews-top-cta { width: 440px; height: 64px; font-size: 23px; transform: none; }
  .review-viewport { margin-inline: 0; }
  .review-track { gap: 36px; }
  .review-card { flex-basis: calc((100% - 72px) / 3); height: 390px; padding: 32px; }
  .review-card header strong { font-size: 20px; }
  .review-card header span { font-size: 14px; }
  .review-card p { font-size: 19px; line-height: 1.4; }
  .stars { position: static; width: auto; margin-top: auto; font-size: 24px; }
  .review-arrow { top: 160px; }
  .review-arrow-prev { left: -72px; }
  .review-arrow-next { right: -72px; }

  .contacts { padding-top: 80px; }
  .contact-card h3 { font-size: 28px; }
  .contacts-list div { grid-template-columns: 170px minmax(0, 1fr); }
  .contacts-list dt { font-size: 17px; }
  .contacts-list dd { font-size: 19px; }
  .contacts-note { max-width: 900px; font-size: 16px; line-height: 1.4; }
  .footer-bottom { font-size: 16px; }

  .application-dialog { width: min(640px, calc(100% - 48px)); }
  .dialog-card { min-height: 640px; padding: 36px 44px; }
  .dialog-card h2 { font-size: 44px; line-height: 1.1; }
  #dialog-description { max-width: none; font-size: 18px; line-height: 1.35; }
  .dialog-close { top: 34px; right: 36px; width: 48px; height: 48px; }
  .field { height: 86px; padding: 16px 20px; }
  .field:first-of-type { margin-top: 48px; }
  .field label { font-size: 12px; line-height: 1.2; }
  .field input, #lead-phone { font-size: 20px; }
  .consent { font-size: 16px; line-height: 1.35; }
  .consent input { width: 24px; height: 24px; }
  .dialog-submit { height: 64px; font-size: 19px; }
  .dialog-status { font-size: 15px; line-height: 1.3; }
}

/* Audit refinements: fluid type, visible zone selection and readable forms. */
:root { --soft: #625f59; --shadow: 0 6px 20px rgb(30 28 24 / 7%); --button-shadow: 0 4px 10px rgb(17 17 15 / 12%); --radius: 8px; }
[hidden] { display: none !important; }
.tariffs, .zones, .documents, .faq, .reviews { height: auto; min-height: 0; }
.tariffs, .zones, .faq { padding-bottom: clamp(40px, 5vw, 80px); }
.hero-cta { display: inline-flex; width: auto; min-width: 240px; margin: 24px auto 0; }
.tariff-scope { margin-top: 10px; font-size: 14px; font-weight: 600; color: #625f59; }
.tariff-card { height: auto; min-height: 390px; padding: 30px; border-radius: var(--radius); box-shadow: var(--shadow); }
.tariff-intro { margin-top: 12px; min-height: 52px; font-size: 16px; line-height: 1.45; }
.tariff-card .facts { margin-top: 24px; }
.facts dt, .facts dd, .facts > div, .price span { font-size: 14px; line-height: 1.4; }
.facts dt, .price span { color: #625f59; }
.tariff-card .price { margin-top: 24px; }
.tariff-card .button { margin-top: 20px; height: 52px; }
.restrictions { height: auto; min-height: 0; margin-top: 32px; padding: 30px; display: block; }
.restrictions h3 { margin: 0; width: auto; font-size: clamp(26px, 2vw, 34px); line-height: 1.15; }
.restrictions ul { margin-top: 24px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; padding: 0; list-style: none; }
.restrictions li, .restrictions li + li { padding: 0; margin: 0; border: 0; }
.restrictions h4 { margin: 0 0 12px; font-size: 18px; line-height: 1.25; }
.restrictions li p { font-size: 15px; line-height: 1.5; }
.restrictions li p + p { margin-top: 10px; color: #625f59; }
.zone-tabs { display: flex; justify-content: center; gap: 8px; margin: 28px auto 0; }
.zone-tab { min-width: 100px; min-height: 48px; padding: 12px 24px; border: 1px solid #d8d5cf; border-radius: 999px; background: #fff; font-size: 16px; font-weight: 700; cursor: pointer; }
.zone-tab[aria-selected="true"] { color: #a6261e; background: #fff6f4; border-color: #b82e24; box-shadow: inset 0 0 0 1px #b82e24; }
.zone-tab:hover { border-color: #b82e24; }
.zone-tab:focus-visible, .nav a:focus-visible, .brand:focus-visible, .contacts a:focus-visible, .process-detail summary:focus-visible { outline: 3px solid #b82e24; outline-offset: 4px; }
.zone-stage { margin-top: 24px; }
.zone-card { width: calc(100% - 120px); height: auto; padding: 32px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; }
.zone-copy { padding: 0; position: relative; min-width: 0; }
.zone-copy h3 { width: auto; max-width: none; font-size: clamp(32px, 3vw, 48px); line-height: 1.1; }
.zone-subtitle { font-size: 15px; line-height: 1.4; margin-top: 18px; color: #625f59; }
.zone-description { min-height: 0; font-size: 16px; line-height: 1.45; margin-top: 20px; }
.zone-facts { position: static; width: 100%; margin-top: 24px; }
.zone-facts > div { height: auto; min-height: 42px; padding-block: 10px; border-bottom: 1px solid #deddd8; align-items: center; }
.zone-facts > div::after { display: none; }
.zone-facts dt, .zone-facts dd { font-size: 14px; line-height: 1.4; }
.zone-price { position: static; margin-top: 24px; }
.zone-price span { font-size: 14px; }
.zone-copy .button { position: static; margin-top: 24px; height: 52px; }
.zone-map { width: 100%; height: 100%; min-height: 480px; object-fit: cover; border-radius: 8px; }
.zone-arrow { width: 48px; height: 48px; top: calc(50% - 24px); }
.zone-arrow-prev { left: 0; }
.zone-arrow-next { left: auto; right: 0; top: calc(50% - 24px); }
.zone-arrow img { width: 24px; height: 24px; }
.documents-shell { height: auto; padding-block: 56px; }
.documents > .shell > h2:not(.work-title) { left: 0; width: min(1080px, 100%); margin: 0 auto; text-align: left; }
.document-list { grid-auto-rows: minmax(72px, auto); gap: 16px 24px; margin-top: 30px; }
.document-list li { min-height: 72px; height: auto; padding: 18px 22px; font-size: 17px; line-height: 1.4; border-radius: 8px; box-shadow: var(--shadow); }
.documents .work-title { position: static; width: 100%; margin-top: 48px; font-size: clamp(28px, 2.5vw, 40px); line-height: 1.2; text-align: left; }
.documents .work-grid { position: static; width: 100%; margin-top: 24px; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.work-card { height: auto; min-height: 225px; padding: 24px; box-shadow: var(--shadow); border-radius: 8px; }
.work-card > span { font-size: 14px; line-height: 1.3; color: #625f59; }
.work-card h4 { margin: 18px 0 0; font-size: 22px; line-height: 1.2; }
.work-card p, .work-card:has(.permit-check-link) p { margin-top: 12px; font-size: 16px; line-height: 1.45; }
.button-outline { color: #111; background: #fff; box-shadow: none; border: 1px solid #bdb9b2; }
.button-outline:hover { background: #f2f0ec; }
.work-card .permit-check-link { min-height: 44px; height: auto; width: 100%; margin: 20px 0 0; padding: 12px; font-size: 14px; line-height: 1.3; white-space: normal; text-align: center; }
.process-detail { margin-top: 24px; border-bottom: 1px solid #d8d5cf; }
.process-detail summary { cursor: pointer; min-height: 48px; padding-block: 14px; font-size: 16px; }
.process-detail div { max-width: 850px; padding-bottom: 20px; font-size: 16px; line-height: 1.5; }
.work-callout { display: flex; gap: 32px; justify-content: space-between; align-items: center; margin-top: 32px; padding: 30px; background: #fff; border: 1px solid #dedbd6; border-radius: 8px; }
.work-callout h3 { font-size: 24px; line-height: 1.2; }
.work-callout p { margin-top: 12px; font-size: 16px; line-height: 1.4; color: #625f59; }
.work-callout .button { flex-shrink: 0; }
.faq-shell { grid-template-columns: minmax(0, .85fr) minmax(0, 1.7fr); column-gap: 64px; row-gap: 32px; }
.faq-intro h2 { width: 100%; line-height: 1.15; }
.faq-intro img { width: 100%; height: 420px; margin-top: 32px; border-radius: 8px; object-fit: cover; }
.faq-list { padding-top: 0; }
.faq-list summary { min-height: 64px; padding-block: 18px; font-size: clamp(17px, 1.1vw, 21px); line-height: 1.35; }
.faq-list details > div { font-size: 16px; line-height: 1.5; }
.faq-list details[open] summary { font-size: clamp(17px, 1.1vw, 21px); line-height: 1.35; }
.faq-cta { width: 100%; height: auto; min-height: 0; margin: 0; padding: 32px; gap: 32px; }
.faq-cta strong { max-width: 900px; font-size: clamp(24px, 1.9vw, 32px); line-height: 1.2; }
.faq-cta .button { min-width: 210px; min-height: 52px; height: auto; flex-shrink: 0; font-size: 16px; }
.review-card { height: auto; min-height: 260px; padding: 28px; border-radius: 8px; box-shadow: var(--shadow); }
.review-card p { font-size: 17px; line-height: 1.5; }
.stars { position: static; width: auto; margin-top: 24px; font-size: 20px; }
.contacts { padding-block: 56px 28px; }
.contacts h2 { font-size: clamp(32px, 3vw, 52px); line-height: 1.15; }
.contacts-grid { gap: 48px; }
.contact-card p { max-width: 600px; font-size: 17px; line-height: 1.5; color: #625f59; }
.contact-card h3 { font-size: 24px; }
.contact-card .button { margin-top: 24px; }
.contact-card .button-outline { margin: 24px 0 0; }
.contacts-list div { grid-template-columns: 150px minmax(0, 1fr); }
.contacts-list dt { font-size: 15px; }
.contacts-list dd { font-size: 17px; }
.footer-bottom { font-size: 14px; }
.application-dialog { width: min(620px, calc(100% - 32px)); border-radius: 8px; max-height: calc(100dvh - 32px); }
.dialog-card { min-height: 0; padding: 32px; }
.dialog-card h2 { margin: 0; font-size: clamp(30px, 2.5vw, 42px); line-height: 1.15; }
.dialog-close { top: 24px; right: 24px; width: 44px; height: 44px; }
#dialog-description { margin: 14px 0 0; max-width: 100%; font-size: 16px; line-height: 1.45; }
.field { height: auto; min-height: 78px; margin-top: 18px; padding: 14px 18px; border-radius: 8px; }
.field:first-of-type { margin-top: 28px; }
.field label { font-size: 12px; line-height: 1.35; color: #625f59; }
.field input, #lead-phone { font-size: 18px; line-height: 1.4; margin-top: 6px; }
.field:focus-within { border-color: #b82e24; box-shadow: 0 0 0 2px rgb(184 46 36 / 12%); }
.field:has(input[aria-invalid="true"]) { border-color: #a6261e; }
.field-error { margin: 6px 0 0; font-size: 13px; line-height: 1.4; color: #9e241b !important; }
.field-error:empty { display: none; }
.consent { margin-top: 24px; font-size: 14px; line-height: 1.45; gap: 12px; }
.consent input { width: 24px; height: 24px; margin-top: 0; }
.dialog-submit { min-height: 56px; height: auto; padding-block: 14px; margin-top: 28px; font-size: 17px; }
.dialog-status { font-size: 14px; line-height: 1.4; min-height: 0; margin-top: 14px; }
.dialog-status:empty { margin: 0; }
.dialog-status.is-success { color: #28643e !important; }
@media (min-width: 601px) {
  .shell, .faq-shell, .reviews-shell { width: min(1440px, calc(100% - clamp(40px, 8.33vw, 160px))); margin-inline: auto; }
  .site-header { height: 96px; padding-top: 22px; align-items: start; }
  .nav { gap: clamp(16px, 1.65vw, 32px); min-height: 52px; }
  .nav a { width: auto !important; font-size: clamp(14px, calc(8px + .469vw), 17px); line-height: 1.3; letter-spacing: 0; }
  .nav-right { gap: 24px; margin-right: 0; }
  .brand { font-size: clamp(14px, 1vw, 18px); gap: 8px; min-height: 52px; line-height: 1.2; }
  .brand img { width: clamp(32px, 2.3vw, 44px); height: clamp(32px, 2.3vw, 44px); }
  .header-cta { min-width: 180px; height: 52px; padding: 0 24px; font-size: 16px; }
  .hero-copy { padding-top: clamp(60px, 7svh, 92px); }
  .hero h1 { left: 0; font-size: clamp(50px, 3.75vw, 80px); line-height: 1.02; letter-spacing: -.035em; }
  .hero-lead { display: block; width: min(960px, 100%); max-width: none; margin: 24px auto 0; font-size: clamp(20px, 1.35vw, 26px); line-height: 1.4; }
  .hero-cta { max-width: none; min-height: 56px; font-size: 18px; padding-inline: 40px; }
  .tariffs-shell, .zones-shell, .faq-shell { padding-top: 56px; }
  .tariffs h2, .zones h2, .documents h2, .faq-intro h2, .reviews h2 { font-size: clamp(38px, 2.92vw, 56px); line-height: 1.15; letter-spacing: -.025em; }
  .tariff-grid { gap: 28px; }
  .tariff-card h3 { font-size: clamp(32px, 2.1vw, 40px); line-height: 1.2; }
  .tariff-intro { font-size: clamp(16px, 1vw, 18px); }
  .tariff-card .button, .zone-copy .button, .work-callout .button { font-size: 16px; min-height: 52px; }
  .price strong { font-size: clamp(32px, 2.1vw, 40px); line-height: 1.2; }
}
@media (min-width: 601px) and (max-width: 1100px) {
  .nav { gap: 16px; }
  .nav-right { gap: 16px; }
  .header-cta { min-width: 150px; padding-inline: 16px; font-size: 14px; }
  .brand { font-size: 13px; }
  .hero h1 { font-size: clamp(38px, 4.5vw, 50px); }
  .documents .work-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .restrictions ul { gap: 24px; }
  .zone-card { width: calc(100% - 112px); gap: 28px; padding: 28px; }
  .zone-copy h3 { font-size: 32px; }
  .zone-map { min-height: 420px; }
  .faq-shell { grid-template-columns: minmax(0, .85fr) minmax(0, 1.7fr); gap: 32px; }
}
@media (min-width: 601px) and (max-width: 820px) {
  .site-header { grid-template-columns: 1fr auto; }
  .brand { grid-column: 1; grid-row: 1; }
  .nav-left { display: none; }
  .nav-right { grid-column: 2; }
  .tariff-grid { grid-template-columns: 1fr; gap: 20px; }
  .tariff-card { min-height: 0; }
  .restrictions ul { grid-template-columns: 1fr; }
  .zone-card { grid-template-columns: 1fr; }
  .zone-map { height: auto; min-height: 0; aspect-ratio: 4 / 3; }
  .faq-shell { grid-template-columns: 1fr; }
  .faq-intro img { display: none; }
}
@media (max-width: 600px) {
  .hero-copy { padding-top: 32px; }
  .hero-lead { margin-top: 22px; font-size: 16px; line-height: 1.4; }
  .hero-cta { display: flex; width: 100%; min-width: 0; max-width: none; min-height: 52px; margin-top: 20px; font-size: 16px; }
  .tariffs-shell, .zones-shell, .faq-shell { padding-top: 40px; }
  .tariffs h2, .zones h2, .documents h2, .faq-intro h2 { font-size: clamp(28px, 7.5vw, 34px); line-height: 1.15; letter-spacing: -.025em; }
  .tariff-grid { margin-top: 28px; gap: 20px; }
  .tariff-card, .tariff-card:nth-child(3) { height: auto; min-height: 0; margin: 0; padding: 26px; }
  .tariff-card h3 { font-size: 30px; }
  .tariff-intro { font-size: 16px; min-height: 0; }
  .tariff-scope { font-size: 14px; }
  .tariff-card .facts dt, .tariff-card .facts dd { font-size: 14px; }
  .tariff-card .button { height: 52px; font-size: 16px; }
  .price strong { font-size: 32px; }
  .restrictions { padding: 26px; margin-top: 24px; min-height: 0; }
  .restrictions ul { grid-template-columns: 1fr; gap: 24px; margin-top: 24px; }
  .restrictions li p { font-size: 15px; }
  .zone-tabs { gap: 8px; margin-top: 24px; }
  .zone-tab { flex: 1; min-width: 0; padding-inline: 14px; font-size: 16px; }
  .zone-stage { margin-top: 24px; padding-bottom: 64px; }
  .zone-card { width: 100%; height: auto; padding: 24px; grid-template-columns: 1fr; gap: 24px; }
  .zone-copy { padding: 0; }
  .zone-copy h3 { font-size: 30px; line-height: 1.1; }
  .zone-subtitle { font-size: 14px; margin-top: 14px; }
  .zone-description { font-size: 15px; min-height: 0; margin-top: 18px; }
  .zone-facts { margin-top: 20px; }
  .zone-facts > div { min-height: 42px; height: auto; padding-block: 10px; }
  .zone-facts dt, .zone-facts dd { font-size: 13px; line-height: 1.4; }
  .zone-price { display: flex; align-items: end; justify-content: space-between; gap: 12px; margin-top: 24px; }
  .zone-price span { max-width: 140px; font-size: 13px; line-height: 1.4; }
  .zone-price strong { font-size: 30px; line-height: 1.15; white-space: nowrap; }
  .zone-map { height: auto; min-height: 0; aspect-ratio: 4 / 3; object-fit: contain; }
  .zone-mobile-cta { display: flex; width: 100%; height: 52px; min-height: 52px; margin: 0; font-size: 16px; }
  .zone-desktop-cta { display: none; }
  .zone-arrow, .zone-arrow-next { top: auto; bottom: 0; width: 48px; height: 48px; }
  .zone-arrow-prev { left: calc(50% - 56px); }
  .zone-arrow-next { right: calc(50% - 56px); }
  .documents-shell { padding-block: 40px; }
  .document-list { margin-top: 24px; grid-auto-rows: minmax(64px, auto); gap: 12px; }
  .document-list li { min-height: 64px; padding: 18px; font-size: 16px; }
  .documents .work-title { margin-top: 36px; font-size: 28px; }
  .documents .work-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 24px; }
  .work-card { min-height: 0; padding: 24px; }
  .work-card h4 { margin-top: 12px; font-size: 22px; }
  .work-card p, .work-card:has(.permit-check-link) p { font-size: 16px; line-height: 1.5; }
  .work-card .permit-check-link { width: auto; min-height: 48px; font-size: 15px; padding-inline: 18px; }
  .process-detail summary { font-size: 15px; line-height: 1.4; }
  .process-detail div { font-size: 15px; }
  .work-callout { display: block; padding: 24px; }
  .work-callout .button { width: 100%; margin-top: 24px; font-size: 16px; }
  .faq-shell { display: block; }
  .faq-list { padding-top: 24px; }
  .faq-list summary, .faq-list details[open] summary { font-size: 17px; min-height: 60px; line-height: 1.4; }
  .faq-list details > div { font-size: 16px; line-height: 1.5; }
  .faq-list details[open] { padding-inline: 20px; }
  .faq-cta { display: block; padding: 24px; margin-top: 32px; }
  .faq-cta strong { font-size: 24px; }
  .faq-cta .button { width: 100%; min-height: 52px; margin-top: 24px; }
  .contacts { padding-block: 40px 24px; }
  .contacts-grid { grid-template-columns: 1fr; gap: 32px; }
  .contacts-list div { grid-template-columns: 100px minmax(0, 1fr); }
  .contacts-list dt { font-size: 14px; }
  .contacts-list dd { font-size: 16px; }
  .contact-card p { font-size: 16px; }
  .application-dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); }
  .dialog-card { padding: 24px; }
  .dialog-card h2 { font-size: 30px; margin: 0; }
  .dialog-close { width: 44px; height: 44px; top: 16px; right: 16px; }
  #dialog-description { font-size: 15px; line-height: 1.4; margin-top: 14px; }
  .field { min-height: 78px; padding: 14px 16px; }
  .field:first-of-type { margin-top: 24px; }
  .field label { font-size: 12px; }
  .field input, #lead-phone { font-size: 16px; }
  .consent { font-size: 13px; line-height: 1.45; }
  .dialog-submit { font-size: 16px; margin-top: 24px; }
}
@media (min-width: 601px) and (max-height: 650px) {
  .hero { min-height: 640px; }
  .hero-copy { padding-top: 24px; }
  .hero h1 { font-size: clamp(38px, 3vw, 56px); }
  .hero-lead { margin-top: 18px; font-size: 18px; }
  .hero-cta { margin-top: 18px; }
}
@media (max-width: 600px) and (max-height: 679px) {
  .hero { min-height: 720px; }
  .hero-copy { padding-top: 16px; }
}


.reviews-note { max-width: 520px; margin: 16px 0 0; color: var(--soft); font-size: 16px; line-height: 1.5; }

.zone-facts dt, .zone-price span, .review-card header span { color: #625f59; }
.review-card, .tariff-card, .zone-card, .work-card { box-shadow: var(--shadow); }
.tariff-card:nth-child(2) { box-shadow: var(--shadow); }

.zone-map { object-fit: contain; }

/* Text-only brand shared by both websites. */
.brand.brand-text { width:auto; gap:0; color:#172448; font-size:22px; font-weight:750; line-height:1.2; white-space:nowrap; }
@media(max-width:1100px){.brand.brand-text{font-size:20px}}
@media(max-width:600px){.brand.brand-text{font-size:21px}}
@media(max-width:370px){.brand.brand-text{font-size:19px}}

/* Published company contacts and bank disclosure. */
.messenger-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.messenger-links a{display:inline-flex;align-items:center;gap:12px;min-height:42px;padding:10px 17px;border:1px solid #c9d1df;border-radius:12px;text-decoration:none;font-size:14px;font-weight:650;line-height:1.4}
.messenger-links a:hover{background:#e9edf5}
.bank-details{margin-top:24px;border-top:1px solid #cfd4dd;padding-top:16px}
.bank-details summary{cursor:pointer;font-size:15px;font-weight:650;line-height:1.5}
.bank-details summary:focus-visible{outline:3px solid #1640df;outline-offset:5px}
.bank-details[open]>dl{margin-top:20px}
.contacts-list dd{line-height:1.55}

/* Keep the fixed chat dock clear of the footer's final links. */
.contacts .footer-bottom,.landing-footer .footer-bottom{padding-right:310px}
@media(max-width:700px){.contacts .footer-bottom,.landing-footer .footer-bottom{padding-right:0;padding-bottom:138px}}
