.tal-page main [aria-hidden="true"] { display: none !important; }

.tal-page {
  --tal-pine: #0b2420;
  --tal-graphite: #162126;
  --tal-lichen: #b6d85b;
  --tal-amber: #efa64c;
  --tal-birch: #e8e6dc;
  --tal-lake: #588ba6;
  --tal-ink: #10221f;
  --tal-muted: #5f6d69;
  --tal-rule: rgba(11, 36, 32, .18);
  color: var(--tal-ink);
  background: var(--tal-birch);
}

.tal-page main { overflow: clip; }
.tal-page main .container > * { min-width: 0; }
.tal-page main > section {
  position: relative;
  isolation: isolate;
  min-height: 680px;
  padding: clamp(82px, 8vw, 126px) 0 clamp(188px, 15vw, 226px);
  overflow: clip;
  scroll-margin-top: 92px;
}
.tal-page main > section > :not(.tal-decor) {
  position: relative;
  z-index: 2;
}
.tal-page h1,
.tal-page h2,
.tal-page h3,
.tal-page p,
.tal-page figure,
.tal-page ol,
.tal-page dl { margin-top: 0; }
.tal-page h1,
.tal-page h2 {
  max-width: 990px;
  margin-bottom: 22px;
  font-size: clamp(40px, 5vw, 72px);
  line-height: .98;
  letter-spacing: -.052em;
  text-wrap: balance;
}
.tal-page h1 { font-size: clamp(49px, 6.15vw, 88px); }
.tal-page h3 { margin-bottom: 8px; line-height: 1.12; }
.tal-page p,
.tal-page li,
.tal-page dd { line-height: 1.58; }
.tal-page a { text-underline-offset: 3px; }
.tal-page a:focus-visible,
.tal-page summary:focus-visible {
  outline: 3px solid var(--tal-amber);
  outline-offset: 4px;
}
.tal-kicker {
  margin-bottom: 14px;
  color: #496423;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.tal-page figure {
  position: relative;
  margin-bottom: 0;
  overflow: clip;
  background: var(--tal-graphite);
}
.tal-page figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.tal-page figcaption {
  position: absolute;
  right: 15px;
  bottom: 15px;
  left: 15px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding: 13px 15px;
  color: #fff;
  background: rgba(9, 29, 26, .84);
  border: 1px solid rgba(255, 255, 255, .18);
  backdrop-filter: blur(11px);
}
.tal-page figcaption span {
  flex: none;
  color: var(--tal-lichen);
  font-size: 9px;
  font-weight: 950;
  letter-spacing: .13em;
}
.tal-page figcaption strong {
  max-width: 380px;
  font-size: 13px;
  line-height: 1.35;
  text-align: right;
}
.tal-page .button { min-height: 52px; }
.tal-page .button-primary {
  color: var(--tal-pine);
  background: linear-gradient(135deg, #d3ec75, var(--tal-lichen));
  box-shadow: 0 14px 34px rgba(182, 216, 91, .2);
}
.tal-page .tal-decor { opacity: .92; }

/* 01. Загородный первый экран с полевым плато */
.tal-hero {
  min-height: 1020px !important;
  padding-top: clamp(132px, 12vw, 178px) !important;
  padding-bottom: 198px !important;
  color: #fff;
  background: var(--tal-pine);
}
.tal-page .tal-hero > .tal-hero-photo {
  position: absolute;
  z-index: 0;
  inset: 0;
}
.tal-hero-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5, 24, 20, .96) 0%, rgba(5, 24, 20, .82) 42%, rgba(5, 24, 20, .18) 72%),
    linear-gradient(0deg, rgba(5, 24, 20, .92), transparent 34%);
}
.tal-hero-photo img { object-position: 59% center; }
.tal-hero-photo figcaption {
  right: clamp(22px, 4vw, 64px);
  bottom: 126px;
  left: auto;
  width: min(410px, calc(100% - 44px));
}
.tal-hero-content { position: relative; z-index: 3 !important; }
.tal-hero-plate {
  width: min(780px, 68%);
  padding: clamp(26px, 4vw, 52px);
  background: rgba(9, 34, 29, .86);
  border: 1px solid rgba(232, 230, 220, .2);
  border-left: 7px solid var(--tal-lichen);
  box-shadow: 28px 28px 0 rgba(88, 139, 166, .13);
  backdrop-filter: blur(13px);
}
.tal-hero .breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 32px;
  color: #aabdb5;
  font-size: 12px;
}
.tal-hero .breadcrumbs a { color: #e8eee9; }
.tal-hero .tal-kicker { color: var(--tal-lichen); }
.tal-lead {
  max-width: 680px;
  margin-bottom: 28px;
  color: #ced9d3;
  font-size: 18px;
}
.tal-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 30px;
}
.tal-hero-rate {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  border-block: 1px solid rgba(255, 255, 255, .18);
}
.tal-hero-rate span {
  display: grid;
  align-content: center;
  gap: 5px;
  min-width: 0;
  padding: 17px 18px 17px 0;
}
.tal-hero-rate span + span {
  padding-left: 20px;
  border-left: 1px solid rgba(255, 255, 255, .18);
}
.tal-hero-rate small,
.tal-hero-rate em {
  color: #aabcb5;
  font-size: 9px;
  font-style: normal;
  letter-spacing: .08em;
}
.tal-hero-rate strong {
  color: var(--tal-amber);
  font-size: clamp(23px, 3vw, 34px);
  line-height: 1;
}
.tal-field-index {
  z-index: 3 !important;
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  margin-top: 34px;
  border-block: 1px solid rgba(255, 255, 255, .2);
}
.tal-field-index a {
  min-width: 0;
  padding: 14px 8px;
  color: #d8e1dd;
  border-right: 1px solid rgba(255, 255, 255, .15);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .07em;
  text-align: center;
  text-transform: uppercase;
}
.tal-field-index a:last-child { border-right: 0; }

/* 02. Координатный журнал */
.tal-location {
  background:
    linear-gradient(90deg, transparent 49.85%, rgba(11, 36, 32, .09) 50%, transparent 50.15%),
    var(--tal-birch);
}
.tal-location-layout {
  display: grid;
  grid-template-columns: 1.12fr .88fr;
  align-items: center;
  gap: clamp(40px, 7vw, 100px);
}
.tal-location-photo {
  height: 620px;
  clip-path: polygon(0 0, 91% 0, 100% 12%, 100% 100%, 0 100%);
  box-shadow: 24px 24px 0 rgba(88, 139, 166, .2);
}
.tal-location-photo img { object-position: 52% center; }
.tal-location-copy { padding-block: 20px; }
.tal-location-copy > p:not(.tal-kicker) { color: #465854; font-size: 17px; }
.tal-location-ledger {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 30px 0 22px;
  border-top: 1px solid var(--tal-rule);
  border-left: 1px solid var(--tal-rule);
}
.tal-location-ledger div {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 10px;
  min-width: 0;
  padding: 16px;
  border-right: 1px solid var(--tal-rule);
  border-bottom: 1px solid var(--tal-rule);
}
.tal-location-ledger dt {
  color: #496423;
  font-size: 10px;
  font-weight: 950;
}
.tal-location-ledger dd { margin: 0; font-size: 13px; }
.tal-update-note {
  margin-bottom: 15px;
  padding: 16px 18px;
  color: #283a36 !important;
  background: rgba(182, 216, 91, .35);
  border-left: 4px solid #6c8a28;
  font-size: 14px !important;
}
.tal-context-link { color: #294c43; font-size: 13px; font-weight: 900; }

/* 03. Ситуация как полевой срез */
.tal-scenario {
  color: #fff;
  background:
    linear-gradient(163deg, transparent 0 57%, rgba(182, 216, 91, .07) 57.2% 72%, transparent 72.2%),
    var(--tal-graphite);
}
.tal-scenario .tal-kicker { color: var(--tal-lichen); }
.tal-scenario-head {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  align-items: end;
  gap: clamp(38px, 7vw, 94px);
  margin-bottom: 42px;
}
.tal-scenario-head > p { margin-bottom: 22px; color: #b9c6c2; font-size: 17px; }
.tal-scenario-stage {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(310px, .75fr);
  align-items: stretch;
  min-height: 525px;
}
.tal-scenario-photo { min-height: 525px; border-radius: 0 0 0 66px; }
.tal-scenario-photo img { object-position: 50% 56%; }
.tal-scenario-labels {
  display: grid;
  grid-template-rows: repeat(3, 1fr) auto;
  color: var(--tal-ink);
  background: var(--tal-birch);
  border-left: 8px solid var(--tal-amber);
}
.tal-scenario-labels article {
  position: relative;
  padding: 26px 30px 22px 72px;
  border-bottom: 1px solid var(--tal-rule);
}
.tal-scenario-labels article > span {
  position: absolute;
  top: 29px;
  left: 28px;
  color: #6a842d;
  font-size: 10px;
  font-weight: 950;
}
.tal-scenario-labels article p { margin-bottom: 0; color: #53645f; font-size: 13px; }
.tal-scenario-labels > a {
  padding: 17px 28px;
  color: var(--tal-pine);
  background: var(--tal-lichen);
  font-size: 12px;
  font-weight: 950;
}

/* 04. Поперечник последнего участка */
.tal-surface {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .13), transparent 35%),
    var(--tal-lake);
}
.tal-surface-layout {
  display: grid;
  grid-template-columns: .88fr 1.12fr;
  align-items: center;
  gap: clamp(42px, 7vw, 98px);
}
.tal-surface-copy {
  padding: 38px;
  color: #fff;
  background: rgba(9, 35, 39, .88);
  border-top: 7px solid var(--tal-lichen);
}
.tal-surface-copy .tal-kicker { color: var(--tal-lichen); }
.tal-surface-copy > p:not(.tal-kicker) { color: #d2dcdb; }
.tal-surface-register {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  margin: 28px 0;
  border: 1px solid rgba(255, 255, 255, .16);
}
.tal-surface-register span {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 17px;
  color: #d3dedc;
  border-right: 1px solid rgba(255, 255, 255, .16);
  border-bottom: 1px solid rgba(255, 255, 255, .16);
  font-size: 12px;
}
.tal-surface-register span:nth-child(2n) { border-right: 0; }
.tal-surface-register span:nth-last-child(-n+2) { border-bottom: 0; }
.tal-surface-register b { color: var(--tal-amber); font-size: 9px; letter-spacing: .1em; }
.tal-surface-note {
  margin-bottom: 0;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, .2);
  font-size: 13px;
}
.tal-surface-photo {
  height: 645px;
  border-radius: 50% 50% 0 0 / 16% 16% 0 0;
  box-shadow: -24px 24px 0 rgba(11, 36, 32, .18);
}
.tal-surface-photo img { object-position: 50% 52%; }

/* 05. Лист осмотра автомобиля */
.tal-vehicle {
  background:
    repeating-linear-gradient(90deg, transparent 0 119px, rgba(11, 36, 32, .045) 120px),
    #f2f0e8;
}
.tal-vehicle-head {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: end;
  gap: clamp(40px, 7vw, 100px);
  margin-bottom: 38px;
}
.tal-vehicle-head .tal-kicker,
.tal-vehicle-head h2 { grid-column: 1; }
.tal-vehicle-head > p:last-child {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: end;
  margin-bottom: 22px;
  color: #4d5f5a;
  font-size: 17px;
}
.tal-vehicle-sheet {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(330px, .78fr);
  background: var(--tal-birch);
  border: 1px solid var(--tal-rule);
  box-shadow: 24px 24px 0 rgba(182, 216, 91, .24);
}
.tal-vehicle-photo { min-height: 560px; }
.tal-vehicle-photo img { object-position: 48% center; }
.tal-vehicle-groups {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  align-content: start;
  padding: 24px;
}
.tal-vehicle-groups article {
  min-width: 0;
  padding: 20px 16px;
  border-right: 1px solid var(--tal-rule);
  border-bottom: 1px solid var(--tal-rule);
}
.tal-vehicle-groups article:nth-child(2n) { border-right: 0; }
.tal-vehicle-groups article span { color: #5a7727; font-size: 10px; font-weight: 950; letter-spacing: .1em; }
.tal-vehicle-groups article p { margin: 8px 0 0; color: #52625e; font-size: 12px; }
.tal-vehicle-groups ol {
  grid-column: 1 / -1;
  margin: 22px 0 0;
  padding: 19px 18px 19px 42px;
  background: var(--tal-pine);
  color: #e4ebe7;
  font-size: 12px;
  columns: 2;
  column-gap: 28px;
}

/* 06. Древесный контроль платформы */
.tal-platform {
  color: #fff;
  background:
    radial-gradient(circle at 85% 10%, rgba(239, 166, 76, .12), transparent 31%),
    var(--tal-pine);
}
.tal-platform-layout {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  align-items: center;
  gap: clamp(42px, 7vw, 100px);
}
.tal-platform-photo {
  height: 650px;
  clip-path: polygon(0 7%, 93% 0, 100% 93%, 7% 100%);
}
.tal-platform-photo img { object-position: 52% center; }
.tal-platform-copy .tal-kicker { color: var(--tal-lichen); }
.tal-platform-copy > p:not(.tal-kicker) { color: #bccac4; font-size: 17px; }
.tal-platform-factors {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 28px 0 24px;
}
.tal-platform-factors span {
  padding: 10px 13px;
  color: var(--tal-pine);
  background: var(--tal-birch);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .04em;
}
.tal-dolly-fact {
  margin-bottom: 0;
  padding: 20px 22px;
  color: #142420 !important;
  background: var(--tal-amber);
  border-left: 6px solid var(--tal-lichen);
  font-size: 14px !important;
  font-weight: 800;
}

/* 07. Озёрный модуль двух точек */
.tal-route {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .09) 1px, transparent 1px) 0 0 / 13% 100%,
    var(--tal-lake);
}
.tal-route-head {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  align-items: end;
  gap: clamp(38px, 7vw, 94px);
  margin-bottom: 40px;
  color: #fff;
}
.tal-route .tal-kicker { color: #e4f28f; }
.tal-route-head > p { margin-bottom: 21px; color: #e1e8e8; font-size: 17px; }
.tal-route-field {
  display: grid;
  grid-template-columns: .56fr 1.3fr .56fr;
  align-items: stretch;
  min-height: 520px;
}
.tal-route-origin,
.tal-route-destination {
  display: grid;
  align-content: center;
  gap: 12px;
  min-width: 0;
  padding: 28px;
  color: #fff;
  background: rgba(11, 36, 32, .93);
}
.tal-route-origin { border-top: 8px solid var(--tal-lichen); }
.tal-route-destination { border-bottom: 8px solid var(--tal-amber); }
.tal-route-origin span,
.tal-route-destination span { color: var(--tal-lichen); font-size: 9px; font-weight: 950; letter-spacing: .12em; }
.tal-route-origin strong,
.tal-route-destination strong { font-size: 17px; line-height: 1.25; }
.tal-route-origin small,
.tal-route-destination small { color: #adbfba; font-size: 11px; line-height: 1.5; }
.tal-route-photo { min-height: 520px; }
.tal-route-photo img { object-position: 50% 50%; }
.tal-route-context {
  margin-top: 22px;
  padding: 16px 20px;
  color: #dce8e5;
  background: rgba(11, 36, 32, .76);
  font-size: 13px;
}
.tal-route-context a { color: #eff9ae; font-weight: 900; }

/* 08. Янтарное поле расчёта */
.tal-price {
  background:
    linear-gradient(135deg, rgba(255,255,255,.23), transparent 36%),
    var(--tal-amber);
}
.tal-price-layout {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  align-items: center;
  gap: clamp(44px, 7vw, 98px);
}
.tal-price-copy {
  padding: clamp(26px, 4vw, 48px);
  background: var(--tal-birch);
  border-left: 8px solid var(--tal-pine);
  box-shadow: 22px 22px 0 rgba(11, 36, 32, .19);
}
.tal-price-copy > p:not(.tal-kicker) { color: #4d5e59; }
.tal-price-values {
  margin: 28px 0 24px;
  border-block: 1px solid var(--tal-rule);
}
.tal-price-values span {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 8px 18px;
  padding: 16px 0;
}
.tal-price-values span + span { border-top: 1px solid var(--tal-rule); }
.tal-price-values small,
.tal-price-values em { color: #60706b; font-size: 9px; font-style: normal; letter-spacing: .07em; }
.tal-price-values strong {
  grid-row: 1 / span 2;
  grid-column: 2;
  color: var(--tal-pine);
  font-size: clamp(22px, 3vw, 32px);
}
.tal-price-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.tal-price-actions a:not(.button) { color: #24473d; font-size: 12px; font-weight: 950; }
.tal-price-photo {
  height: 630px;
  border-radius: 0 84px 0 0;
  box-shadow: -22px 22px 0 rgba(11, 36, 32, .16);
}
.tal-price-photo img { object-position: 48% center; }
.tal-price-factors {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  margin-top: 32px;
  color: #fff;
  background: var(--tal-pine);
}
.tal-price-factors span {
  min-width: 0;
  padding: 15px 10px;
  border-right: 1px solid rgba(255, 255, 255, .18);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .06em;
  text-align: center;
  text-transform: uppercase;
}
.tal-price-factors span:last-child { border-right: 0; }

/* 09. Точка приёма и бирка */
.tal-handover {
  color: #fff;
  background:
    linear-gradient(108deg, rgba(88, 139, 166, .12), transparent 40%),
    var(--tal-graphite);
}
.tal-handover-layout {
  display: grid;
  grid-template-columns: 1.17fr .83fr;
  align-items: center;
  gap: clamp(42px, 7vw, 98px);
}
.tal-handover-photo {
  height: 650px;
  border: 1px solid rgba(255, 255, 255, .15);
  box-shadow: 24px 24px 0 rgba(182, 216, 91, .1);
}
.tal-handover-photo img { object-position: 50% center; }
.tal-handover-copy .tal-kicker { color: var(--tal-lichen); }
.tal-handover-copy > p:not(.tal-kicker) { color: #bdcac6; font-size: 17px; }
.tal-handover-list {
  margin: 28px 0 24px;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, .18);
}
.tal-handover-list li {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 10px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255, 255, 255, .18);
  color: #e2e8e5;
  font-size: 13px;
}
.tal-handover-list span { color: var(--tal-amber); font-size: 9px; font-weight: 950; }
.tal-handover-note {
  margin-bottom: 0;
  padding: 17px 19px;
  color: var(--tal-pine) !important;
  background: var(--tal-lichen);
  font-size: 13px !important;
}

/* 10. FAQ как вечерняя полевая станция */
.tal-faq {
  color: #fff;
  background:
    radial-gradient(circle at 90% 12%, rgba(239, 166, 76, .14), transparent 30%),
    var(--tal-pine);
}
.tal-faq-layout {
  display: grid;
  grid-template-columns: 1.08fr .92fr;
  align-items: start;
  gap: clamp(42px, 7vw, 98px);
}
.tal-faq .tal-kicker { color: var(--tal-lichen); }
.tal-faq-list { border-top: 1px solid rgba(255, 255, 255, .18); }
.tal-faq-list details { border-bottom: 1px solid rgba(255, 255, 255, .18); }
.tal-faq-list summary {
  position: relative;
  padding: 20px 48px 20px 0;
  color: #f3f4ed;
  cursor: pointer;
  font-size: 15px;
  font-weight: 850;
  line-height: 1.35;
  list-style: none;
}
.tal-faq-list summary::-webkit-details-marker { display: none; }
.tal-faq-list summary::after {
  content: "+";
  position: absolute;
  top: 15px;
  right: 4px;
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  color: var(--tal-pine);
  background: var(--tal-lichen);
  border-radius: 50%;
  font-size: 20px;
}
.tal-faq-list details[open] summary::after { content: "−"; }
.tal-faq-list details p {
  max-width: 760px;
  margin-bottom: 20px;
  padding-right: 42px;
  color: #b9c9c3;
  font-size: 14px;
}
.tal-contact-frame {
  position: sticky;
  top: 112px;
  padding: 13px;
  background: var(--tal-amber);
}
.tal-contact-photo { height: 420px; }
.tal-contact-photo img { object-position: 55% center; }
.tal-contact-photo figcaption {
  display: grid;
  gap: 5px;
}
.tal-contact-photo figcaption strong { text-align: left; }
.tal-contact-panel {
  padding: 25px;
  color: var(--tal-ink);
  background: var(--tal-birch);
}
.tal-contact-panel > span { color: #5d7927; font-size: 9px; font-weight: 950; letter-spacing: .12em; }
.tal-contact-panel > p { margin: 11px 0 18px; color: #52625e; font-size: 13px; }
.tal-contact-panel > a {
  display: grid;
  gap: 2px;
  padding: 16px;
  color: #fff;
  background: var(--tal-pine);
}
.tal-contact-panel > a small { color: var(--tal-lichen); font-size: 9px; letter-spacing: .1em; }
.tal-contact-panel > a strong { font-size: clamp(20px, 2.5vw, 28px); }
.tal-contact-panel address { margin-top: 14px; color: #4d5d58; font-size: 12px; font-style: normal; }

@media (max-width: 1080px) {
  .tal-page main > section { padding-bottom: 210px; }
  .tal-hero-plate { width: min(800px, 76%); }
  .tal-location-layout,
  .tal-platform-layout,
  .tal-handover-layout { gap: 48px; }
  .tal-location-photo,
  .tal-surface-photo,
  .tal-platform-photo,
  .tal-price-photo,
  .tal-handover-photo { height: 570px; }
  .tal-route-origin,
  .tal-route-destination { padding: 22px; }
  .tal-vehicle-sheet { grid-template-columns: 1.1fr .9fr; }
}

@media (max-width: 840px) {
  .tal-page main > section {
    min-height: 0;
    padding: 78px 0 198px;
  }
  .tal-page h1 { font-size: clamp(45px, 10vw, 72px); }
  .tal-page h2 { font-size: clamp(38px, 8vw, 58px); }
  .tal-hero { min-height: 950px !important; padding-top: 120px !important; }
  .tal-hero-photo::after { background: linear-gradient(0deg, rgba(5,24,20,.98) 0 46%, rgba(5,24,20,.52) 78%, rgba(5,24,20,.3)); }
  .tal-hero-photo img { object-position: 61% center; }
  .tal-hero-plate { width: 100%; margin-top: 220px; }
  .tal-hero-photo figcaption { display: none; }
  .tal-field-index { grid-template-columns: repeat(4, 1fr); }
  .tal-field-index a:nth-child(4) { border-right: 0; }
  .tal-location-layout,
  .tal-surface-layout,
  .tal-platform-layout,
  .tal-price-layout,
  .tal-handover-layout,
  .tal-faq-layout { grid-template-columns: 1fr; }
  .tal-location-photo,
  .tal-surface-photo,
  .tal-platform-photo,
  .tal-price-photo,
  .tal-handover-photo { height: min(66vw, 570px); min-height: 430px; }
  .tal-location-copy { padding-top: 18px; }
  .tal-scenario-head,
  .tal-route-head,
  .tal-vehicle-head { grid-template-columns: 1fr; gap: 0; }
  .tal-vehicle-head .tal-kicker,
  .tal-vehicle-head h2,
  .tal-vehicle-head > p:last-child { grid-column: 1; grid-row: auto; }
  .tal-scenario-stage { grid-template-columns: 1fr; }
  .tal-scenario-photo { min-height: 500px; border-radius: 0; }
  .tal-scenario-labels { grid-template-columns: repeat(3, 1fr); grid-template-rows: auto auto; border-top: 8px solid var(--tal-amber); border-left: 0; }
  .tal-scenario-labels article { padding: 52px 18px 20px; border-right: 1px solid var(--tal-rule); }
  .tal-scenario-labels article > span { top: 20px; left: 18px; }
  .tal-scenario-labels > a { grid-column: 1 / -1; }
  .tal-surface-copy { order: 2; }
  .tal-vehicle-sheet { grid-template-columns: 1fr; }
  .tal-vehicle-photo { min-height: 520px; }
  .tal-route-field { grid-template-columns: repeat(2, 1fr); }
  .tal-route-photo { grid-column: 1 / -1; grid-row: 1; min-height: 500px; }
  .tal-route-origin,
  .tal-route-destination { min-height: 180px; }
  .tal-price-copy { order: 2; }
  .tal-price-factors { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .tal-contact-frame { position: relative; top: auto; }
}

@media (max-width: 560px) {
  .tal-page main > section { padding: 64px 0 178px; }
  .tal-page h1 { font-size: clamp(39px, 12.2vw, 58px); }
  .tal-page h2 { font-size: clamp(34px, 10vw, 48px); }
  .tal-page figcaption { right: 9px; bottom: 9px; left: 9px; display: grid; gap: 5px; padding: 11px; }
  .tal-page figcaption strong { max-width: none; font-size: 11px; text-align: left; }
  .tal-page figcaption span { font-size: 8px; }
  .tal-hero { min-height: 930px !important; padding-top: 104px !important; padding-bottom: 170px !important; }
  .tal-hero-plate { margin-top: 170px; padding: 24px 20px; border-left-width: 5px; box-shadow: 12px 12px 0 rgba(88,139,166,.14); }
  .tal-hero .breadcrumbs { margin-bottom: 22px; font-size: 11px; }
  .tal-lead { font-size: 15px; }
  .tal-hero-actions { display: grid; }
  .tal-hero-actions .button { width: 100%; }
  .tal-hero-rate { grid-template-columns: 1fr; }
  .tal-hero-rate span { padding: 14px 0; }
  .tal-hero-rate span + span { padding-left: 0; border-top: 1px solid rgba(255,255,255,.18); border-left: 0; }
  .tal-field-index { grid-template-columns: repeat(2, 1fr); margin-top: 22px; }
  .tal-field-index a:nth-child(2n) { border-right: 0; }
  .tal-location-photo,
  .tal-surface-photo,
  .tal-platform-photo,
  .tal-price-photo,
  .tal-handover-photo,
  .tal-vehicle-photo,
  .tal-route-photo,
  .tal-contact-photo,
  .tal-scenario-photo { height: 390px; min-height: 390px; }
  .tal-location-photo { clip-path: polygon(0 0, 90% 0, 100% 11%, 100% 100%, 0 100%); }
  .tal-location-ledger { grid-template-columns: 1fr; }
  .tal-location-ledger div { grid-template-columns: 30px 1fr; }
  .tal-scenario-labels { grid-template-columns: 1fr; }
  .tal-scenario-labels article { min-height: 112px; border-right: 0; }
  .tal-surface-copy { padding: 24px 20px; }
  .tal-surface-register { grid-template-columns: 1fr; }
  .tal-surface-register span { border-right: 0; }
  .tal-surface-register span:nth-last-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.16); }
  .tal-surface-register span:last-child { border-bottom: 0; }
  .tal-vehicle-groups { grid-template-columns: 1fr; padding: 18px; }
  .tal-vehicle-groups article { border-right: 0; }
  .tal-vehicle-groups ol { columns: 1; }
  .tal-platform-photo { clip-path: polygon(0 4%, 96% 0, 100% 96%, 4% 100%); }
  .tal-route-field { grid-template-columns: 1fr; }
  .tal-route-photo { grid-column: 1; }
  .tal-route-origin,
  .tal-route-destination { min-height: 150px; }
  .tal-price-copy { padding: 25px 20px; box-shadow: 12px 12px 0 rgba(11,36,32,.18); }
  .tal-price-values span { grid-template-columns: 1fr; }
  .tal-price-values strong { grid-row: auto; grid-column: 1; }
  .tal-price-factors { grid-template-columns: 1fr; }
  .tal-price-factors span { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .tal-price-factors span:last-child { border-bottom: 0; }
  .tal-handover-copy > p:not(.tal-kicker),
  .tal-platform-copy > p:not(.tal-kicker) { font-size: 15px; }
  .tal-faq-list summary { padding-block: 18px; font-size: 14px; }
  .tal-faq-list details p { padding-right: 0; font-size: 13px; }
  .tal-contact-panel { padding: 20px; }
}

@media (max-width: 380px) {
  .tal-page main > section { padding: 56px 0 164px; }
  .tal-page h1 { font-size: 39px; }
  .tal-page h2 { font-size: 34px; }
  .tal-page p,
  .tal-page li { overflow-wrap: anywhere; }
  .tal-hero { min-height: 910px !important; padding-top: 96px !important; padding-bottom: 158px !important; }
  .tal-hero-plate { margin-top: 145px; padding: 21px 17px; }
  .tal-hero-rate strong { font-size: 24px; }
  .tal-field-index a { padding-inline: 4px; font-size: 9px; }
  .tal-location-photo,
  .tal-surface-photo,
  .tal-platform-photo,
  .tal-price-photo,
  .tal-handover-photo,
  .tal-vehicle-photo,
  .tal-route-photo,
  .tal-contact-photo,
  .tal-scenario-photo { height: 340px; min-height: 340px; }
  .tal-surface-copy,
  .tal-price-copy { padding-inline: 16px; }
  .tal-scenario-labels article { padding-inline: 16px; }
  .tal-vehicle-groups { padding: 13px; }
  .tal-route-origin,
  .tal-route-destination { padding: 20px 16px; }
  .tal-contact-panel > a { padding-inline: 12px; }
  .tal-contact-panel > a strong { font-size: 20px; }
}
