:root {
  --tele-forest-950: #162b21;
  --tele-forest-900: #203428;
  --tele-forest-800: #264735;
  --tele-forest-700: #35604b;
  --tele-sand-500: #d4b37a;
  --tele-sand-300: #e8d5b1;
  --tele-paper: #fbf7f0;
  --tele-paper-strong: #f4ede0;
  --tele-mist: #e2eadf;
  --tele-ink: #223227;
  --tele-muted: #5b685d;
  --tele-line: rgba(32, 52, 40, 0.12);
  --tele-line-strong: rgba(32, 52, 40, 0.2);
  --tele-shadow-soft: 0 24px 60px rgba(20, 37, 29, 0.08);
  --tele-shadow-strong: 0 30px 80px rgba(20, 37, 29, 0.18);
  --tele-radius-xl: 32px;
  --tele-radius-lg: 24px;
  --tele-radius-md: 18px;
  --tele-container: min(1180px, calc(100vw - 32px));
}

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

html {
  scroll-behavior: smooth;
}

html.tele-lock-scroll,
html.tele-lock-scroll body {
  overflow: hidden;
}

body {
  margin: 0;
  min-width: 320px;
  font-family: "Trebuchet MS", "Segoe UI", sans-serif;
  color: var(--tele-ink);
  background:
    radial-gradient(circle at top left, rgba(212, 179, 122, 0.18), transparent 34%),
    radial-gradient(circle at top right, rgba(53, 96, 75, 0.14), transparent 28%),
    linear-gradient(180deg, var(--tele-paper) 0%, #f8f2e8 45%, #f7f4ee 100%);
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(22, 43, 33, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(22, 43, 33, 0.03) 1px, transparent 1px);
  background-size: 22px 22px;
  opacity: 0.25;
  z-index: -2;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

[hidden] {
  display: none !important;
}

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

.tele-shell {
  width: var(--tele-container);
  margin: 0 auto;
}

.tele-skip-link {
  position: absolute;
  left: 20px;
  top: -100px;
  z-index: 200;
  border-radius: 999px;
  padding: 12px 18px;
  background: var(--tele-forest-900);
  color: #fff;
}

.tele-skip-link:focus {
  top: 18px;
}

.tele-page {
  position: relative;
}

.tele-main {
  display: block;
  padding-bottom: 96px;
}

.tele-block-shell {
  position: relative;
  padding: 32px 0 0;
}

.tele-block-shell + .tele-block-shell {
  padding-top: 88px;
}

.tele-section-heading {
  display: grid;
  gap: 12px;
  margin-bottom: 28px;
}

.tele-kicker {
  display: none;
}

.tele-section-heading h1,
.tele-section-heading h2,
.tele-home-hero__headline {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 700;
  line-height: 1.04;
  letter-spacing: -0.03em;
  color: var(--tele-forest-950);
}

.tele-section-heading h1,
.tele-home-hero__headline {
  font-size: clamp(2.4rem, 4.8vw, 4.4rem);
}

.tele-section-heading h2 {
  font-size: clamp(1.8rem, 3.1vw, 2.8rem);
}

.tele-section-heading p,
.tele-home-hero__lead,
.tele-body-copy,
.tele-rich-copy {
  margin: 0;
  font-size: 1.04rem;
  line-height: 1.78;
  color: var(--tele-muted);
}

.tele-rich-copy p {
  margin: 0;
}

.tele-rich-copy p + p {
  margin-top: 18px;
}

.tele-button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.tele-button,
.tele-text-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border-radius: 999px;
  transition:
    transform 0.22s ease,
    background-color 0.22s ease,
    border-color 0.22s ease,
    color 0.22s ease,
    box-shadow 0.22s ease;
}

.tele-button {
  min-height: 52px;
  padding: 0 22px;
  border: 1px solid transparent;
  font-weight: 700;
}

.tele-button:hover,
.tele-button:focus-visible,
.tele-text-link:hover,
.tele-text-link:focus-visible {
  transform: translateY(-1px);
}

.tele-button:focus-visible,
.tele-text-link:focus-visible,
.tele-nav__link:focus-visible,
.tele-filter-chip:focus-visible,
.tele-gallery-card:focus-visible,
.tele-burger:focus-visible,
.tele-lightbox__icon:focus-visible {
  outline: 3px solid rgba(212, 179, 122, 0.38);
  outline-offset: 2px;
}

.tele-button--primary {
  color: #fff;
  background: var(--tele-forest-800);
  box-shadow: 0 12px 32px rgba(38, 71, 53, 0.22);
}

.tele-button--primary:hover,
.tele-button--primary:focus-visible {
  background: var(--tele-forest-700);
}

.tele-button--ghost {
  color: var(--tele-forest-900);
  border-color: rgba(38, 71, 53, 0.18);
  background: rgba(255, 255, 255, 0.58);
}

.tele-button--dark {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(17, 32, 24, 0.64);
}

.tele-text-link {
  width: fit-content;
  min-height: 44px;
  padding: 0;
  font-weight: 700;
  color: var(--tele-forest-800);
}

.tele-note {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.65;
  color: var(--tele-muted);
}

.tele-status-pill {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  padding: 8px 12px;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.tele-status-pill--confirmed {
  color: #14472d;
  background: rgba(92, 171, 117, 0.16);
}

.tele-status-pill--likely {
  color: #7b5310;
  background: rgba(212, 179, 122, 0.22);
}

.tele-status-pill--needs {
  color: #7e322a;
  background: rgba(204, 98, 78, 0.16);
}

.tele-header {
  position: sticky;
  top: 0;
  z-index: 60;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(22, 43, 33, 0.84);
  backdrop-filter: blur(16px);
}

.tele-header__bar {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 20px;
  min-height: 88px;
}

.tele-brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.tele-brand img {
  width: 62px;
  height: 62px;
  object-fit: contain;
}

.tele-brand__copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.tele-brand__eyebrow {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.68);
}

.tele-brand__title {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1;
  color: #fff;
}

.tele-nav {
  display: flex;
  align-items: center;
  gap: 18px;
}

.tele-nav--desktop {
  justify-content: center;
}

.tele-nav--mobile {
  display: none;
}

.tele-nav__link {
  position: relative;
  color: rgba(255, 255, 255, 0.78);
  font-weight: 700;
}

.tele-nav__link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -10px;
  height: 2px;
  transform: scaleX(0);
  transform-origin: center;
  background: var(--tele-sand-500);
  transition: transform 0.22s ease;
}

.tele-nav__link:hover::after,
.tele-nav__link:focus-visible::after,
.tele-nav__link.is-current::after {
  transform: scaleX(1);
}

.tele-nav__link.is-current,
.tele-nav__link:hover,
.tele-nav__link:focus-visible {
  color: #fff;
}

.tele-header__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
}

.tele-header__phone {
  color: #fff;
  font-weight: 700;
  white-space: nowrap;
}

.tele-burger {
  display: none;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
  width: 50px;
  height: 50px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 14px;
  background: transparent;
}

.tele-burger__line {
  display: block;
  width: 18px;
  height: 2px;
  border-radius: 999px;
  background: #fff;
  transition:
    transform 0.22s ease,
    opacity 0.22s ease,
    background-color 0.22s ease;
}

.tele-burger[aria-expanded="true"] .tele-burger__line:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.tele-burger[aria-expanded="true"] .tele-burger__line:nth-child(2) {
  opacity: 0;
}

.tele-burger[aria-expanded="true"] .tele-burger__line:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.tele-home-hero {
  padding-top: 24px;
}

.tele-home-hero__frame {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  min-height: clamp(560px, 82vh, 760px);
  gap: 0;
  align-items: end;
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: var(--tele-radius-xl);
  background:
    linear-gradient(180deg, rgba(14, 24, 18, 0.18), rgba(14, 24, 18, 0.72)),
    linear-gradient(90deg, rgba(14, 24, 18, 0.6) 0%, rgba(14, 24, 18, 0.36) 45%, rgba(14, 24, 18, 0.58) 100%),
    url("../img/hero/tele-hero-cabins.jpeg") center / cover no-repeat;
  color: #fff;
  overflow: hidden;
  box-shadow: var(--tele-shadow-strong);
}

.tele-home-hero__frame::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 140px;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.24));
}

.tele-home-hero__content,
.tele-home-hero__media {
  position: relative;
  z-index: 1;
}

.tele-home-hero__content {
  display: grid;
  gap: 22px;
  align-content: end;
  max-width: 760px;
  padding: 0;
}

.tele-home-hero__headline {
  color: #fff;
  max-width: 700px;
}

.tele-home-hero__lead,
.tele-home-hero__content .tele-note {
  color: rgba(255, 255, 255, 0.82);
}

.tele-home-hero__logo {
  width: clamp(132px, 15vw, 210px);
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.26));
}

.tele-home-hero__location {
  margin: 0;
  font-size: 0.94rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.7);
}

.tele-home-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.tele-home-hero__chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
  font-size: 0.9rem;
}

.tele-home-hero__media {
  display: none;
}

.tele-photo-panel {
  display: grid;
  gap: 14px;
  border-radius: 26px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.12);
}

.tele-photo-panel__hero {
  overflow: hidden;
  border-radius: 22px;
  min-height: 360px;
}

.tele-photo-panel__hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tele-photo-panel__row {
  display: grid;
  grid-template-columns: 1.3fr 0.7fr;
  gap: 14px;
}

.tele-photo-panel__tile {
  overflow: hidden;
  border-radius: 18px;
  min-height: 158px;
}

.tele-photo-panel__tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tele-photo-panel__caption {
  display: grid;
  gap: 8px;
  align-content: end;
  border-radius: 18px;
  padding: 18px;
  background: rgba(17, 34, 26, 0.58);
}

.tele-photo-panel__caption strong {
  font-size: 1.06rem;
}

.tele-home-facts,
.tele-preview-grid,
.tele-amenity-grid,
.tele-trust-grid,
.tele-house-grid,
.tele-info-grid,
.tele-contact-grid,
.tele-accuracy-grid,
.tele-gallery-grid {
  display: grid;
  gap: 18px;
}

.tele-home-facts {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: -46px;
  position: relative;
  z-index: 2;
}

.tele-fact-card,
.tele-preview-card,
.tele-amenity-card,
.tele-trust-card,
.tele-info-card,
.tele-contact-card,
.tele-accuracy-panel,
.tele-page-hero,
.tele-route-panel,
.tele-form-panel,
.tele-house-card,
.tele-compact-panel {
  border: 1px solid var(--tele-line);
  border-radius: var(--tele-radius-lg);
  background: rgba(255, 255, 255, 0.8);
  box-shadow: var(--tele-shadow-soft);
}

.tele-fact-card,
.tele-amenity-card,
.tele-trust-card,
.tele-info-card,
.tele-contact-card,
.tele-accuracy-panel,
.tele-compact-panel {
  padding: 22px;
}

.tele-fact-card h3,
.tele-preview-card h3,
.tele-amenity-card h3,
.tele-trust-card h3,
.tele-info-card h3,
.tele-contact-card h3,
.tele-house-card h3,
.tele-page-hero h1,
.tele-route-panel h2,
.tele-form-panel h2,
.tele-accuracy-panel h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  color: var(--tele-forest-950);
}

.tele-fact-card h3 {
  font-size: 1.25rem;
  margin-top: 12px;
}

.tele-fact-card p,
.tele-preview-card p,
.tele-amenity-card p,
.tele-trust-card p,
.tele-info-card p,
.tele-contact-card p,
.tele-house-card p,
.tele-accuracy-panel p {
  margin: 12px 0 0;
  line-height: 1.72;
  color: var(--tele-muted);
}

.tele-preview-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tele-preview-card {
  overflow: hidden;
}

.tele-preview-card__media {
  aspect-ratio: 1.28 / 1;
}

.tele-preview-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tele-preview-card__body {
  display: grid;
  gap: 12px;
  padding: 22px;
}

.tele-amenity-grid,
.tele-trust-grid,
.tele-info-grid,
.tele-contact-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tele-accuracy-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tele-info-card--soft {
  background: rgba(226, 234, 223, 0.55);
}

.tele-page-hero {
  padding: 28px;
}

.tele-page-hero h1 {
  font-size: clamp(2.2rem, 4vw, 3.5rem);
}

.tele-page-hero__grid,
.tele-split-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.96fr);
  gap: 24px;
  align-items: stretch;
}

.tele-page-hero__aside,
.tele-image-stack {
  display: grid;
  gap: 16px;
}

.tele-page-hero__aside img,
.tele-image-stack img {
  width: 100%;
  height: 100%;
  border-radius: 22px;
  object-fit: cover;
}

.tele-page-hero__aside img {
  aspect-ratio: 1.12 / 1;
}

.tele-page-hero__aside-note {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 20px;
  border-radius: 22px;
  background: rgba(226, 234, 223, 0.48);
}

.tele-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.tele-chip {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 10px 14px;
  background: rgba(226, 234, 223, 0.82);
  color: var(--tele-forest-800);
  font-weight: 700;
}

.tele-chip--dark {
  background: rgba(22, 43, 33, 0.08);
}

.tele-house-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tele-house-card {
  display: grid;
  grid-template-rows: auto 1fr;
  overflow: hidden;
}

.tele-house-card__media {
  aspect-ratio: 1.25 / 0.95;
}

.tele-house-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tele-house-card__body {
  display: grid;
  gap: 14px;
  align-content: start;
  padding: 24px;
}

.tele-house-card__meta-text {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--tele-forest-700);
}

.tele-house-card__thumbs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.tele-house-card__thumb {
  overflow: hidden;
  border-radius: 14px;
  aspect-ratio: 1 / 1;
}

.tele-house-card__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tele-rich-list,
.tele-data-list,
.tele-policy-list {
  margin: 0;
  padding-left: 18px;
  color: var(--tele-muted);
}

.tele-rich-list li,
.tele-data-list li,
.tele-policy-list li {
  line-height: 1.72;
}

.tele-rich-list li + li,
.tele-data-list li + li,
.tele-policy-list li + li {
  margin-top: 8px;
}

.tele-route-panel {
  position: relative;
  overflow: hidden;
  padding: 28px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(244, 237, 224, 0.96)),
    linear-gradient(45deg, rgba(53, 96, 75, 0.08), transparent);
}

.tele-route-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(circle at 20% 28%, rgba(53, 96, 75, 0.08) 0, rgba(53, 96, 75, 0) 20%),
    linear-gradient(rgba(32, 52, 40, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32, 52, 40, 0.05) 1px, transparent 1px);
  background-size: auto, 26px 26px, 26px 26px;
  opacity: 0.8;
}

.tele-route-panel > * {
  position: relative;
  z-index: 1;
}

.tele-route-panel__card {
  display: grid;
  gap: 16px;
  max-width: 480px;
}

.tele-route-panel__address {
  display: grid;
  gap: 6px;
  padding: 20px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(32, 52, 40, 0.08);
}

.tele-route-panel__address strong {
  font-size: 1.18rem;
  color: var(--tele-forest-950);
}

.tele-form-panel {
  padding: 28px;
}

.tele-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.tele-form-field {
  display: grid;
  gap: 8px;
}

.tele-form-field--full {
  grid-column: 1 / -1;
}

.tele-form-field label {
  font-weight: 700;
  color: var(--tele-forest-900);
}

.tele-form-field input,
.tele-form-field textarea,
.tele-form-field select {
  width: 100%;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid rgba(32, 52, 40, 0.14);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.95);
  color: var(--tele-ink);
}

.tele-form-field textarea {
  min-height: 132px;
  padding: 14px 16px;
  resize: vertical;
}

.tele-form-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 18px;
}

.tele-form-message {
  min-height: 24px;
  margin: 12px 0 0;
  color: var(--tele-forest-800);
  line-height: 1.5;
}

.tele-gallery-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.tele-filter-chip {
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid rgba(38, 71, 53, 0.16);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.75);
  color: var(--tele-forest-800);
  font-weight: 700;
}

.tele-filter-chip.is-active {
  color: #fff;
  border-color: var(--tele-forest-800);
  background: var(--tele-forest-800);
}

.tele-gallery-grid {
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tele-gallery-card {
  display: grid;
  padding: 0;
  text-align: left;
  border: 0;
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.85);
  box-shadow: var(--tele-shadow-soft);
}

.tele-gallery-card__media {
  aspect-ratio: 1 / 1;
}

.tele-gallery-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tele-gallery-card__body {
  display: grid;
  gap: 2px;
  padding: 10px 12px 12px;
}

.tele-gallery-card__body strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.94rem;
  color: var(--tele-forest-950);
}

.tele-gallery-card__body span:last-child {
  line-height: 1.62;
  color: var(--tele-muted);
}

.tele-lightbox,
.tele-modal {
  position: fixed;
  inset: 0;
  z-index: 110;
}

.tele-lightbox[aria-hidden="false"],
.tele-modal[aria-hidden="false"] {
  display: grid;
}

.tele-lightbox__backdrop,
.tele-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(8, 14, 11, 0.82);
}

.tele-lightbox__panel {
  position: relative;
  z-index: 1;
  align-self: center;
  justify-self: center;
  width: min(1120px, calc(100vw - 24px));
  padding: 18px;
  border-radius: 28px;
  background: rgba(21, 33, 26, 0.94);
  box-shadow: var(--tele-shadow-strong);
}

.tele-lightbox__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

.tele-lightbox__media {
  overflow: hidden;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.06);
}

.tele-lightbox__media img {
  width: 100%;
  max-height: 72vh;
  object-fit: contain;
  margin: 0 auto;
}

.tele-lightbox__top,
.tele-lightbox__bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.tele-lightbox__title {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.45rem;
  color: #fff;
}

.tele-lightbox__caption {
  margin: 0;
  max-width: 720px;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.62;
}

.tele-lightbox__actions {
  display: flex;
  gap: 10px;
}

.tele-lightbox__icon {
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}

.tele-modal {
  place-items: center;
}

.tele-modal__panel {
  position: relative;
  z-index: 1;
  width: min(640px, calc(100vw - 24px));
  padding: 24px;
  border-radius: 28px;
  background: var(--tele-paper);
  box-shadow: var(--tele-shadow-strong);
}

.tele-modal__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.tele-modal__header h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  color: var(--tele-forest-950);
}

.tele-modal__close {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(32, 52, 40, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.8);
  color: var(--tele-forest-900);
}

.tele-footer {
  color: rgba(255, 255, 255, 0.86);
  background: var(--tele-forest-950);
}

.tele-footer__grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 24px;
  padding: 36px 0;
}

.tele-footer__brand {
  display: grid;
  gap: 16px;
}

.tele-footer__brand img {
  width: 78px;
  height: 78px;
  object-fit: contain;
}

.tele-footer__brand h2,
.tele-footer__column h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  color: #fff;
}

.tele-footer__brand p,
.tele-footer__column p,
.tele-footer__column a {
  margin: 0;
  line-height: 1.68;
  color: rgba(255, 255, 255, 0.72);
}

.tele-footer__column {
  display: grid;
  gap: 10px;
  align-content: start;
}

.tele-footer__links {
  display: grid;
  gap: 8px;
}

.tele-footer__links a:hover,
.tele-footer__links a:focus-visible,
.tele-footer__column a:hover,
.tele-footer__column a:focus-visible {
  color: #fff;
}

.tele-footer__base {
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.tele-footer__base-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 10px 20px;
  padding: 18px 0 88px;
}

.tele-mobile-cta {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 50;
  display: none;
  gap: 10px;
  padding: 12px;
  border-radius: 22px;
  background: rgba(22, 43, 33, 0.94);
  box-shadow: var(--tele-shadow-strong);
}

.tele-mobile-cta .tele-button {
  flex: 1 1 0;
}

.tele-contact-card--outline {
  background: rgba(244, 237, 224, 0.72);
}

.tele-compact-panel .tele-contact-grid {
  grid-template-columns: 1fr;
}

[data-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition:
    opacity 0.55s ease,
    transform 0.55s ease;
}

[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (max-width: 1120px) {
  .tele-home-facts,
  .tele-gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tele-house-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tele-page-hero__grid,
  .tele-split-panel,
  .tele-footer__grid {
    grid-template-columns: 1fr;
  }

  .tele-header__phone {
    display: none;
  }
}

@media (max-width: 900px) {
  .tele-nav--desktop,
  .tele-header__actions > .tele-button--primary {
    display: none;
  }

  .tele-burger {
    display: inline-flex;
  }

  .tele-nav--mobile {
    display: grid;
    gap: 10px;
    padding: 0 0 18px;
  }

  .tele-nav--mobile .tele-nav__link {
    display: block;
    padding: 12px 0;
  }

  .tele-nav--mobile .tele-nav__link::after {
    bottom: 2px;
  }

  .tele-nav--mobile .tele-button-row {
    padding-top: 8px;
  }

  .tele-home-facts,
  .tele-preview-grid,
  .tele-amenity-grid,
  .tele-trust-grid,
  .tele-house-grid,
  .tele-info-grid,
  .tele-contact-grid,
  .tele-accuracy-grid,
  .tele-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tele-form-grid {
    grid-template-columns: 1fr;
  }

  .tele-form-field--full {
    grid-column: auto;
  }
}

@media (max-width: 680px) {
  .tele-header__bar {
    grid-template-columns: 1fr auto;
  }

  .tele-brand__copy {
    display: none;
  }

  .tele-header__actions {
    gap: 10px;
  }

  .tele-header__phone {
    display: inline-flex;
    align-items: center;
    min-height: 50px;
    padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.05);
    font-size: 0.82rem;
    line-height: 1;
  }

  .tele-block-shell {
    padding-top: 24px;
  }

  .tele-block-shell + .tele-block-shell {
    padding-top: 68px;
  }

  .tele-home-hero__frame,
  .tele-page-hero,
  .tele-route-panel,
  .tele-form-panel,
  .tele-modal__panel {
    padding: 20px;
  }

  .tele-home-facts,
  .tele-preview-grid,
  .tele-amenity-grid,
  .tele-trust-grid,
  .tele-house-grid,
  .tele-info-grid,
  .tele-contact-grid,
  .tele-accuracy-grid,
  .tele-gallery-grid {
    grid-template-columns: 1fr;
  }

  .tele-gallery-card__media {
    aspect-ratio: 1 / 1;
  }

  .tele-form-foot,
  .tele-lightbox__top,
  .tele-lightbox__bottom {
    flex-direction: column;
    align-items: stretch;
  }

  .tele-lightbox__actions {
    width: 100%;
    justify-content: space-between;
  }

  .tele-mobile-cta {
    display: flex;
  }

  .tele-footer__base-row {
    padding-bottom: 106px;
  }
}

/* Refinements */

.tele-page .tele-header {
  background: rgba(16, 29, 22, 0.56);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(18px);
}

.tele-page--home .tele-header {
  position: fixed;
  left: 0;
  right: 0;
  background: rgba(16, 29, 22, 0.42);
}

.tele-header__bar {
  min-height: 84px;
}

.tele-burger {
  width: 56px;
  height: 56px;
  border-radius: 20px;
  border-color: rgba(212, 179, 122, 0.32);
  background: rgba(255, 255, 255, 0.04);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.06),
    0 16px 28px rgba(8, 18, 13, 0.18);
}

.tele-burger__line {
  width: 20px;
}

.tele-nav--mobile {
  background: rgba(16, 29, 22, 0.94);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.tele-nav--mobile .tele-button-row {
  display: none;
}

.tele-home-hero {
  padding-top: 0;
}

.tele-home-hero__frame {
  min-height: 100svh;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background:
    linear-gradient(180deg, rgba(10, 18, 13, 0.16), rgba(10, 18, 13, 0.82)),
    linear-gradient(90deg, rgba(10, 18, 13, 0.78) 0%, rgba(10, 18, 13, 0.38) 46%, rgba(10, 18, 13, 0.7) 100%),
    url("../img/hero/tele-hero-cabins.jpeg") center / cover no-repeat fixed;
}

.tele-home-hero__frame::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 72% 28%, rgba(255, 255, 255, 0.18), transparent 24%),
    radial-gradient(circle at 24% 82%, rgba(212, 179, 122, 0.16), transparent 30%);
  pointer-events: none;
}

.tele-home-hero__inner {
  position: relative;
  z-index: 1;
  width: var(--tele-container);
  min-height: inherit;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(280px, 0.62fr);
  align-items: center;
  gap: clamp(24px, 6vw, 110px);
  padding: clamp(88px, 14vh, 150px) 0 clamp(56px, 9vh, 84px);
}

.tele-home-hero__content {
  max-width: 700px;
  gap: 26px;
}

.tele-home-hero__location {
  font-size: 0.96rem;
  letter-spacing: 0.12em;
}

.tele-home-hero__headline {
  max-width: 640px;
  font-size: clamp(3.5rem, 7vw, 6.6rem);
  text-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
}

.tele-home-hero__lead {
  max-width: 40ch;
  font-size: 1.14rem;
  line-height: 1.78;
}

.tele-home-hero__brandmark {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.tele-home-hero__logo {
  width: min(34vw, 420px);
  max-width: 100%;
  filter: drop-shadow(0 24px 44px rgba(0, 0, 0, 0.26));
}

.tele-home-hero__chips {
  max-width: 640px;
}

.tele-home-hero__chip {
  border: 1px solid rgba(255, 255, 255, 0.12);
  padding: 12px 16px;
  backdrop-filter: blur(10px);
}

.tele-home-hero .tele-button--ghost {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.12);
}

.tele-home-hero .tele-button--ghost:hover,
.tele-home-hero .tele-button--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.18);
}

.tele-page-hero {
  min-height: calc(100svh - 108px);
  display: grid;
  align-items: center;
  padding: clamp(28px, 5vw, 48px);
  border-radius: 34px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(244, 237, 224, 0.94)),
    linear-gradient(135deg, rgba(53, 96, 75, 0.08), rgba(212, 179, 122, 0.08));
  overflow: hidden;
}

.tele-page-hero__grid {
  min-height: 100%;
  gap: clamp(20px, 4vw, 40px);
  align-items: center;
}

.tele-page-hero__aside {
  grid-template-rows: minmax(0, 1fr) auto;
}

.tele-page-hero__aside > .tele-map-card {
  min-height: 100%;
}

.tele-page-hero__aside img {
  aspect-ratio: 1.06 / 1;
  border-radius: 28px;
  box-shadow: 0 28px 60px rgba(20, 37, 29, 0.12);
}

.tele-page-hero__aside-note {
  gap: 10px;
  padding: 18px 20px;
  background: rgba(255, 255, 255, 0.72);
}

.tele-page-hero__aside-note strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.08rem;
  color: var(--tele-forest-950);
}

.tele-page-hero__aside-note span {
  line-height: 1.58;
  color: var(--tele-muted);
}

.tele-page-hero--contacts {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(232, 240, 233, 0.96)),
    linear-gradient(135deg, rgba(53, 96, 75, 0.1), rgba(212, 179, 122, 0.05));
}

.tele-page-hero--houses {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.82), rgba(247, 241, 230, 0.96)),
    linear-gradient(135deg, rgba(53, 96, 75, 0.08), rgba(22, 43, 33, 0.04));
}

.tele-page-hero--about,
.tele-page-hero--gallery,
.tele-page-hero--privacy {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.8), rgba(239, 245, 238, 0.94)),
    linear-gradient(135deg, rgba(53, 96, 75, 0.07), rgba(212, 179, 122, 0.06));
}

.tele-preview-grid {
  grid-template-columns: 1fr;
  gap: 24px;
}

.tele-preview-card {
  display: grid;
  grid-template-columns: minmax(300px, 0.84fr) minmax(0, 1fr);
  min-height: 320px;
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.76);
}

.tele-preview-card:nth-child(even) .tele-preview-card__media {
  order: 2;
}

.tele-preview-card__media {
  aspect-ratio: auto;
  min-height: 100%;
}

.tele-preview-card__body {
  align-content: center;
  gap: 14px;
  padding: 30px;
}

.tele-preview-card__body h3 {
  font-size: clamp(1.85rem, 3vw, 2.4rem);
}

.tele-editorial-stage,
.tele-contact-stage {
  display: grid;
  grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
  gap: 24px;
  align-items: stretch;
}

.tele-editorial-stage__panel,
.tele-editorial-stage__lead {
  border: 1px solid var(--tele-line);
  border-radius: 32px;
  padding: 30px;
  box-shadow: var(--tele-shadow-soft);
}

.tele-editorial-stage__lead {
  background: rgba(255, 255, 255, 0.72);
}

.tele-editorial-stage__lead--soft {
  background: rgba(255, 255, 255, 0.74);
}

.tele-editorial-stage__panel--forest {
  background:
    linear-gradient(165deg, rgba(22, 43, 33, 0.96), rgba(32, 52, 40, 0.92)),
    linear-gradient(135deg, rgba(212, 179, 122, 0.18), transparent);
  border-color: rgba(255, 255, 255, 0.06);
}

.tele-editorial-stage__panel--dark {
  background:
    linear-gradient(160deg, rgba(15, 27, 20, 0.97), rgba(20, 38, 27, 0.94)),
    linear-gradient(135deg, rgba(212, 179, 122, 0.12), transparent);
  border-color: rgba(255, 255, 255, 0.06);
}

.tele-editorial-stage__panel--forest .tele-section-heading h2,
.tele-editorial-stage__panel--dark .tele-section-heading h2,
.tele-editorial-stage__panel--forest .tele-section-heading p,
.tele-editorial-stage__panel--dark .tele-section-heading p {
  color: #fff;
}

.tele-media-card {
  overflow: hidden;
  border-radius: 32px;
  min-height: 100%;
  box-shadow: var(--tele-shadow-strong);
}

.tele-media-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tele-media-card--forest {
  min-height: 540px;
}

.tele-media-card--cabins {
  min-height: 620px;
}

.tele-season-stage {
  display: grid;
  grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
  gap: 24px;
  align-items: stretch;
}

.tele-season-stage__panel {
  display: grid;
  gap: 20px;
  align-content: center;
  min-height: 100%;
  padding: 30px;
  border: 1px solid var(--tele-line);
  border-radius: 32px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(245, 240, 230, 0.92)),
    linear-gradient(135deg, rgba(214, 228, 213, 0.3), transparent 58%);
  box-shadow: var(--tele-shadow-soft);
}

.tele-season-stage__copy {
  display: grid;
  gap: 16px;
}

.tele-season-stage__media {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: 16px;
  border: 1px solid rgba(32, 52, 40, 0.1);
  border-radius: 32px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.18), rgba(255, 255, 255, 0.06)),
    linear-gradient(140deg, rgba(19, 35, 27, 0.22), rgba(19, 35, 27, 0.06));
  box-shadow: var(--tele-shadow-soft);
}

.tele-season-stage__card {
  position: relative;
  margin: 0;
  overflow: hidden;
  min-height: 560px;
  border-radius: 26px;
  background: rgba(18, 33, 25, 0.86);
  box-shadow: var(--tele-shadow-strong);
}

.tele-season-stage__card::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(7, 15, 11, 0.04), rgba(7, 15, 11, 0.5)),
    linear-gradient(0deg, rgba(7, 15, 11, 0.38), transparent 44%);
}

.tele-season-stage__card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tele-season-stage__card figcaption {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 1;
  display: grid;
  gap: 6px;
}

.tele-season-stage__card strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.08rem, 1.4vw, 1.42rem);
  color: #fff;
}

.tele-season-stage__card span {
  line-height: 1.56;
  color: rgba(255, 255, 255, 0.84);
}

.tele-season-stage__card--winter::after {
  background:
    linear-gradient(180deg, rgba(7, 15, 11, 0.08), rgba(7, 15, 11, 0.62)),
    linear-gradient(0deg, rgba(7, 15, 11, 0.62), transparent 44%);
}

.tele-season-stage__card--winter img {
  object-position: center 18%;
}

.tele-block-shell--forest [data-block="about-activities"] .tele-season-stage__media,
[data-block="about-activities"] .tele-season-stage__media {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.04)),
    linear-gradient(135deg, rgba(212, 179, 122, 0.18), rgba(255, 255, 255, 0.06));
  border-color: rgba(255, 255, 255, 0.08);
}

.tele-feature-point-list {
  display: grid;
  gap: 0;
}

.tele-feature-point {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  padding: 18px 0;
  border-top: 1px solid rgba(32, 52, 40, 0.12);
}

.tele-feature-point:first-child {
  padding-top: 0;
  border-top: 0;
}

.tele-feature-point__index {
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(38, 71, 53, 0.56);
}

.tele-feature-point__body h3 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.3rem;
  color: var(--tele-forest-950);
}

.tele-feature-point__body p {
  margin: 8px 0 0;
  line-height: 1.72;
  color: var(--tele-muted);
}

.tele-feature-point-list--contrast .tele-feature-point,
.tele-feature-point-list--glow .tele-feature-point {
  border-top-color: rgba(255, 255, 255, 0.12);
}

.tele-feature-point-list--contrast .tele-feature-point__index,
.tele-feature-point-list--glow .tele-feature-point__index {
  color: rgba(212, 179, 122, 0.72);
}

.tele-feature-point-list--contrast .tele-feature-point__body h3,
.tele-feature-point-list--glow .tele-feature-point__body h3 {
  color: #fff;
}

.tele-feature-point-list--contrast .tele-feature-point__body p,
.tele-feature-point-list--glow .tele-feature-point__body p {
  color: rgba(255, 255, 255, 0.76);
}

.tele-contact-stage .tele-route-panel,
.tele-contact-stage .tele-map-card {
  min-height: 100%;
}

.tele-split-panel {
  grid-template-columns: minmax(0, 0.94fr) minmax(0, 1.06fr);
  gap: 24px;
  align-items: stretch;
}

.tele-split-panel .tele-compact-panel,
.tele-split-panel .tele-route-panel,
.tele-split-panel .tele-form-panel {
  min-height: 100%;
}

.tele-map-card {
  display: grid;
  gap: 16px;
  padding: 16px;
  border: 1px solid var(--tele-line);
  border-radius: 32px;
  background: rgba(255, 255, 255, 0.8);
  box-shadow: var(--tele-shadow-soft);
}

.tele-map-card__embed {
  min-height: 380px;
  overflow: hidden;
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(20, 37, 29, 0.12), rgba(20, 37, 29, 0.03)),
    linear-gradient(135deg, rgba(212, 179, 122, 0.22), rgba(53, 96, 75, 0.08));
}

.tele-map-card__frame {
  width: 100%;
  height: 100%;
  border: 0;
}

.tele-map-card__fallback {
  display: grid;
  align-content: center;
  gap: 18px;
  min-height: 100%;
  padding: 24px;
  background:
    linear-gradient(180deg, rgba(10, 18, 13, 0.52), rgba(10, 18, 13, 0.74)),
    url("../img/territory/03-gazebo.jpeg") center / cover no-repeat;
}

.tele-map-card__fallback p {
  margin: 0;
  line-height: 1.72;
  color: rgba(255, 255, 255, 0.9);
}

.tele-map-card__fallback .tele-button--ghost {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.12);
}

.tele-map-card__caption {
  display: grid;
  gap: 6px;
  padding: 0 6px 2px;
}

.tele-map-card__caption strong {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 1.08rem;
  color: var(--tele-forest-950);
}

.tele-map-card__caption span {
  color: var(--tele-muted);
}

.tele-map-card--hero {
  min-height: 100%;
  padding: 14px;
}

.tele-house-card {
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.78);
}

.tele-house-card__media {
  aspect-ratio: 1.22 / 0.94;
}

.tele-house-card__body {
  gap: 16px;
  padding: 26px;
}

.tele-house-card__meta-text {
  width: fit-content;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(38, 71, 53, 0.08);
}

.tele-house-card .tele-rich-list {
  columns: 2;
  column-gap: 24px;
}

.tele-house-card .tele-rich-list li {
  break-inside: avoid;
}

.tele-image-stack {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.tele-image-stack img {
  aspect-ratio: 0.94 / 1.08;
}

.tele-image-stack img:only-child {
  grid-column: 1 / -1;
  aspect-ratio: 1.18 / 1;
}

.tele-lightbox__panel {
  width: min(1180px, calc(100vw - 28px));
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 32px;
  background: rgba(11, 20, 15, 0.96);
}

.tele-lightbox__layout {
  gap: 0;
}

.tele-lightbox__top {
  padding: 22px 24px 16px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent);
}

.tele-lightbox__media {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: min(78vh, 820px);
  padding: 12px 24px 18px;
  background:
    radial-gradient(circle at top, rgba(255, 255, 255, 0.06), transparent 34%),
    rgba(255, 255, 255, 0.03);
}

.tele-lightbox__media img {
  width: auto;
  max-width: 100%;
  max-height: min(72vh, 780px);
}

.tele-lightbox__bottom {
  padding: 0 24px 22px;
}

.tele-lightbox__actions {
  gap: 12px;
}

.tele-lightbox__icon {
  width: 52px;
  height: 52px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.06);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.tele-mobile-cta {
  left: 14px;
  right: 14px;
  bottom: 14px;
  padding: 10px;
  border-radius: 24px;
  background: rgba(14, 27, 20, 0.9);
  backdrop-filter: blur(16px);
}

.tele-mobile-cta .tele-button {
  min-height: 48px;
  padding: 0 16px;
}

.tele-mobile-cta .tele-button--ghost {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.1);
}

@media (max-width: 1120px) {
  .tele-home-hero__inner,
  .tele-editorial-stage,
  .tele-contact-stage {
    grid-template-columns: 1fr;
  }

  .tele-home-hero__brandmark {
    justify-content: flex-start;
  }

  .tele-page-hero {
    min-height: calc(100svh - 112px);
  }
}

@media (max-width: 900px) {
  .tele-home-hero__frame {
    background-attachment: scroll;
  }

  .tele-home-hero__inner {
    padding-top: 84px;
  }

  .tele-preview-card {
    grid-template-columns: 1fr;
  }

  .tele-preview-card:nth-child(even) .tele-preview-card__media {
    order: 0;
  }

  .tele-house-card .tele-rich-list {
    columns: 1;
  }
}

@media (max-width: 680px) {
  .tele-page .tele-header {
    background: rgba(16, 29, 22, 0.7);
  }

  .tele-burger {
    width: 50px;
    height: 50px;
    border-radius: 18px;
  }

  .tele-home-hero__inner {
    padding-top: 74px;
    padding-bottom: 120px;
  }

  .tele-home-hero__content {
    gap: 20px;
  }

  .tele-home-hero__brandmark {
    justify-content: center;
    order: -1;
    margin-top: 12px;
  }

  .tele-home-hero__logo {
    width: min(64vw, 260px);
  }

  .tele-home-hero__headline {
    font-size: clamp(2.9rem, 16vw, 4.2rem);
  }

  .tele-home-hero__chips {
    display: none;
  }

  .tele-page--home .tele-home-hero .tele-button-row {
    display: none;
  }

  .tele-page-hero,
  .tele-editorial-stage__panel,
  .tele-editorial-stage__lead,
  .tele-map-card {
    border-radius: 28px;
  }

  .tele-page-hero {
    min-height: calc(100svh - 84px);
  }

  .tele-page-hero__aside {
    grid-template-rows: 1fr;
  }

  .tele-map-card__embed {
    min-height: 300px;
  }

  .tele-image-stack {
    grid-template-columns: 1fr;
  }

  .tele-image-stack img,
  .tele-image-stack img:only-child {
    aspect-ratio: 1.08 / 1;
  }

  .tele-lightbox__top,
  .tele-lightbox__bottom {
    padding-left: 16px;
    padding-right: 16px;
  }

  .tele-lightbox__media {
    min-height: auto;
    padding: 8px 12px 12px;
  }
}

/* Final layout overrides */

.tele-page [data-block="page-hero"].tele-block-shell {
  padding-top: 0;
}

.tele-home-hero__headline {
  display: grid;
  gap: 2px;
}

.tele-home-hero__headline-top {
  font-size: clamp(2rem, 3vw, 2.9rem);
  line-height: 0.96;
  opacity: 0.92;
}

.tele-home-hero__headline-main {
  display: block;
  font-size: clamp(4.2rem, 8vw, 7rem);
  line-height: 0.92;
}

.tele-page-hero {
  min-height: calc(100svh - 84px);
  padding: clamp(60px, 9vw, 104px) 0 32px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.tele-page-hero__grid {
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  align-items: center;
}

.tele-page-hero__grid > div:first-child,
.tele-page-hero__grid > article:first-child {
  max-width: 620px;
}

.tele-chip-row + .tele-button-row,
.tele-rich-copy + .tele-chip-row,
.tele-section-heading + .tele-chip-row {
  margin-top: 18px;
}

.tele-page-hero .tele-button-row {
  margin-top: 20px;
}

.tele-page-hero__aside,
.tele-page-hero__aside-note {
  background: transparent;
  box-shadow: none;
}

.tele-page-hero__aside-note {
  padding: 0;
}

.tele-photo-collage {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(0, 0.74fr);
  gap: 16px;
  min-height: 100%;
}

.tele-photo-collage figure {
  margin: 0;
  overflow: hidden;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.6);
  box-shadow: 0 24px 52px rgba(20, 37, 29, 0.12);
}

.tele-photo-collage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tele-photo-collage__tall {
  min-height: 540px;
}

.tele-photo-collage__stack {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.tele-photo-collage__stack figure {
  min-height: 262px;
}

.tele-gallery-toolbar {
  margin-bottom: 18px;
}

.tele-gallery-more-row {
  display: flex;
  justify-content: center;
  margin-top: 22px;
}

.tele-gallery-grid {
  align-items: start;
}

.tele-gallery-card {
  align-content: start;
}

.tele-feature-point {
  grid-template-columns: 14px 1fr;
  gap: 14px;
  padding: 18px 0;
}

.tele-feature-point__marker {
  width: 10px;
  height: 10px;
  margin-top: 9px;
  border-radius: 999px;
  background: rgba(53, 96, 75, 0.6);
  box-shadow: 0 0 0 6px rgba(53, 96, 75, 0.08);
}

.tele-feature-point__index {
  display: none;
}

.tele-feature-point-list--contrast .tele-feature-point__marker,
.tele-feature-point-list--glow .tele-feature-point__marker {
  background: rgba(212, 179, 122, 0.82);
  box-shadow: 0 0 0 6px rgba(212, 179, 122, 0.12);
}

.tele-split-panel {
  grid-template-columns: minmax(0, 0.96fr) minmax(0, 1.04fr);
  align-items: start;
}

.tele-split-panel--booking {
  grid-template-columns: minmax(0, 1.12fr) minmax(320px, 0.88fr);
}

[data-block="stay-booking"] .tele-split-panel {
  grid-template-columns: minmax(0, 1fr) minmax(340px, 1fr);
}

[data-block="stay-booking"] .tele-image-stack {
  height: 100%;
  min-height: 100%;
  align-self: stretch;
  grid-auto-rows: 1fr;
}

[data-block="stay-booking"] .tele-image-stack img,
[data-block="stay-booking"] .tele-image-stack img:only-child {
  height: 100%;
  aspect-ratio: auto;
}

.tele-map-card--route {
  padding: 18px;
}

.tele-map-card--route .tele-map-card__embed {
  min-height: 520px;
}

.tele-route-panel {
  min-height: 100%;
}

.tele-nav--mobile {
  position: absolute;
  top: calc(100% + 6px);
  left: 12px;
  right: 12px;
  z-index: 80;
  gap: 0;
  padding: 10px 14px 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 26px;
  background: rgba(10, 21, 15, 0.97);
  box-shadow: 0 24px 44px rgba(8, 18, 13, 0.28);
}

.tele-nav--mobile .tele-nav__link {
  padding: 14px 4px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.tele-nav--mobile .tele-nav__link:last-of-type {
  border-bottom: 0;
}

.tele-nav--mobile .tele-nav__link::after {
  left: 4px;
  right: 4px;
  bottom: 8px;
}

@media (max-width: 1120px) {
  .tele-page-hero__grid,
  .tele-contact-stage,
  .tele-split-panel,
  .tele-split-panel--booking,
  .tele-editorial-stage,
  .tele-season-stage {
    grid-template-columns: 1fr;
  }

  [data-block="stay-booking"] .tele-split-panel {
    grid-template-columns: 1fr;
  }

  .tele-page-hero {
    min-height: auto;
    padding-top: 52px;
  }

  .tele-page-hero__grid > div:first-child,
  .tele-page-hero__grid > article:first-child {
    max-width: none;
  }

  .tele-photo-collage__tall {
    min-height: 440px;
  }

  .tele-photo-collage__stack figure {
    min-height: 212px;
  }
}

@media (max-width: 900px) {
  .tele-home-hero__headline-top {
    font-size: clamp(1.8rem, 5vw, 2.2rem);
  }

  .tele-home-hero__headline-main {
    font-size: clamp(3.7rem, 12vw, 5.1rem);
  }

  .tele-photo-collage {
    grid-template-columns: 1fr;
  }

  .tele-season-stage__media {
    grid-template-columns: 1fr;
  }

  .tele-photo-collage__tall,
  .tele-photo-collage__stack figure {
    min-height: 280px;
  }

  .tele-photo-collage__stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 1fr;
  }
}

@media (max-width: 680px) {
  .tele-home-hero__headline-top {
    font-size: 1.5rem;
  }

  .tele-home-hero__headline-main {
    font-size: clamp(3.4rem, 16vw, 4.8rem);
  }

  .tele-page-hero {
    padding-top: 34px;
    padding-bottom: 16px;
  }

  .tele-page-hero__grid,
  .tele-contact-stage,
  .tele-split-panel,
  .tele-split-panel--booking,
  .tele-editorial-stage,
  .tele-season-stage {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .tele-season-stage__panel,
  .tele-season-stage__media {
    padding: 12px;
    border-radius: 26px;
  }

  .tele-season-stage__panel {
    padding: 24px;
  }

  .tele-season-stage__card {
    border-radius: 22px;
    min-height: 340px;
  }

  .tele-photo-collage__stack {
    grid-template-columns: 1fr;
  }

  .tele-photo-collage__tall,
  .tele-photo-collage__stack figure {
    min-height: 220px;
    border-radius: 22px;
  }

  .tele-nav--mobile {
    left: 10px;
    right: 10px;
    top: calc(100% + 4px);
    padding: 8px 14px 10px;
    border-radius: 22px;
  }

  .tele-nav--mobile .tele-nav__link {
    padding: 13px 2px;
  }

  .tele-map-card,
  .tele-compact-panel,
  .tele-route-panel,
  .tele-form-panel {
    min-width: 0;
  }

  .tele-map-card--route .tele-map-card__embed,
  .tele-map-card__embed {
    min-height: 320px;
  }

  .tele-route-panel__address {
    padding: 16px;
  }

  .tele-form-grid,
  .tele-form-field {
    min-width: 0;
  }

  .tele-form-field input,
  .tele-form-field textarea,
  .tele-form-field select {
    min-width: 0;
  }
}

/* Final visual rhythm refinements */

.tele-block-shell--paper,
.tele-block-shell--sage,
.tele-block-shell--forest {
  overflow: hidden;
  padding: 78px 0;
}

.tele-block-shell--paper::before,
.tele-block-shell--sage::before,
.tele-block-shell--forest::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.tele-block-shell--paper {
  background:
    linear-gradient(180deg, rgba(250, 246, 238, 0.94), rgba(246, 240, 228, 0.98)),
    linear-gradient(135deg, rgba(53, 96, 75, 0.05), rgba(212, 179, 122, 0.06));
}

.tele-block-shell--paper::before {
  background:
    radial-gradient(circle at 14% 18%, rgba(212, 179, 122, 0.12), transparent 24%),
    linear-gradient(rgba(32, 52, 40, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(32, 52, 40, 0.03) 1px, transparent 1px);
  background-size: auto, 32px 32px, 32px 32px;
}

.tele-block-shell--sage {
  background:
    linear-gradient(180deg, rgba(233, 240, 231, 0.92), rgba(242, 246, 239, 0.98)),
    linear-gradient(135deg, rgba(53, 96, 75, 0.08), rgba(255, 255, 255, 0));
}

.tele-block-shell--sage::before {
  background:
    radial-gradient(circle at 82% 18%, rgba(53, 96, 75, 0.1), transparent 24%),
    linear-gradient(rgba(53, 96, 75, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(53, 96, 75, 0.035) 1px, transparent 1px);
  background-size: auto, 30px 30px, 30px 30px;
}

.tele-block-shell--forest {
  background:
    linear-gradient(180deg, rgba(15, 27, 20, 0.98), rgba(24, 40, 30, 0.96)),
    linear-gradient(135deg, rgba(212, 179, 122, 0.08), rgba(53, 96, 75, 0.14));
}

.tele-block-shell--forest::before {
  background:
    radial-gradient(circle at 18% 16%, rgba(212, 179, 122, 0.12), transparent 24%),
    linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
  background-size: auto, 34px 34px, 34px 34px;
  opacity: 0.5;
}

.tele-block-shell--paper > .tele-shell,
.tele-block-shell--sage > .tele-shell,
.tele-block-shell--forest > .tele-shell {
  position: relative;
  z-index: 1;
}

.tele-block-shell--sage .tele-feature-point-list--soft,
.tele-block-shell--forest .tele-feature-point-list--glow {
  padding: 30px;
  border-radius: 32px;
  box-shadow: var(--tele-shadow-soft);
}

.tele-block-shell--sage .tele-feature-point-list--soft {
  border: 1px solid var(--tele-line);
  background: rgba(255, 255, 255, 0.82);
}

.tele-block-shell--forest .tele-feature-point-list--glow {
  border: 1px solid rgba(255, 255, 255, 0.08);
  background:
    linear-gradient(160deg, rgba(14, 27, 20, 0.97), rgba(20, 38, 27, 0.94)),
    linear-gradient(135deg, rgba(212, 179, 122, 0.12), transparent);
}

.tele-preview-card__meta {
  width: fit-content;
  margin: 0;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(38, 71, 53, 0.08);
  color: var(--tele-forest-800);
  font-size: 0.95rem;
  font-weight: 700;
}

.tele-card-gallery-button {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  text-align: left;
  cursor: zoom-in;
  background: transparent;
  overflow: hidden;
}

.tele-card-gallery-button img {
  transition:
    transform 0.28s ease,
    filter 0.28s ease;
}

.tele-card-gallery-button:hover img,
.tele-card-gallery-button:focus-visible img {
  transform: scale(1.03);
  filter: saturate(1.04);
}

.tele-card-gallery-button::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 14, 10, 0) 48%, rgba(7, 14, 10, 0.34) 100%);
  pointer-events: none;
}

.tele-card-gallery-button__hint {
  position: absolute;
  left: 16px;
  bottom: 16px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(12, 25, 18, 0.78);
  color: #fff;
  font-size: 0.92rem;
  font-weight: 700;
}

.tele-card-gallery-button--thumb {
  border-radius: 14px;
}

.tele-card-gallery-button--thumb::after,
.tele-card-gallery-button--thumb .tele-card-gallery-button__hint {
  display: none;
}

.tele-house-card__thumb {
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
}

.tele-map-card {
  gap: 0;
}

[data-block="gallery-cta"] .tele-button-row {
  margin-top: 32px;
}

.tele-page-hero--houses .tele-page-hero__aside img {
  aspect-ratio: 1.18 / 1;
}

@media (max-width: 900px) {
  .tele-block-shell--paper,
  .tele-block-shell--sage,
  .tele-block-shell--forest {
    padding: 58px 0;
  }
}

@media (max-width: 680px) {
  .tele-block-shell--paper,
  .tele-block-shell--sage,
  .tele-block-shell--forest {
    padding: 42px 0;
  }

  .tele-card-gallery-button__hint {
    left: 12px;
    bottom: 12px;
    min-height: 34px;
    padding: 0 12px;
    font-size: 0.86rem;
  }

  .tele-media-card--forest,
  .tele-media-card--cabins {
    min-height: 228px;
  }

  .tele-image-stack {
    grid-template-columns: 1fr;
  }

  .tele-image-stack img,
  .tele-image-stack img:only-child {
    aspect-ratio: 1.34 / 0.88;
  }

  [data-block="stay-booking"] .tele-image-stack {
    height: auto;
    min-height: 0;
    grid-auto-rows: auto;
  }

  [data-block="stay-booking"] .tele-image-stack img,
  [data-block="stay-booking"] .tele-image-stack img:only-child {
    height: auto;
    aspect-ratio: 1.2 / 1;
    object-position: center;
  }

  .tele-lightbox__panel {
    width: 100vw;
    height: 100svh;
    border: 0;
    border-radius: 0;
  }

  .tele-lightbox__layout {
    min-height: 100svh;
    gap: 0;
  }

  .tele-lightbox__top {
    align-items: flex-start;
    padding: 16px 14px 12px;
  }

  .tele-lightbox__title {
    font-size: 1.2rem;
  }

  .tele-lightbox__media {
    border-radius: 0;
    min-height: 58svh;
    padding: 0;
  }

  .tele-lightbox__media img {
    display: block;
    width: 100vw;
    max-width: 100vw;
    height: 58svh;
    max-height: none;
    object-fit: cover;
  }

  .tele-lightbox__bottom {
    align-items: flex-start;
    padding: 12px 14px 20px;
  }
}
