/* Silt, clay and sage on white paper; Labrada for headings and prices, Proza Libre for text.
   Not the American style of the previous build: soft grounds, a serif voice, a quiet grid. */
@font-face { font-family: "Labrada"; src: url(/a/labrada-roman.35a50987e4.woff2) format("woff2"); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: "Labrada"; src: url(/a/labrada-italic.1b2469b94c.woff2) format("woff2"); font-weight: 100 900; font-style: italic; font-display: swap; }
@font-face { font-family: "Proza Libre"; src: url(/a/proza-regular.f971ffc203.woff2) format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Proza Libre"; src: url(/a/proza-italic.45c7842add.woff2) format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Proza Libre"; src: url(/a/proza-semibold.7b92109056.woff2) format("woff2"); font-weight: 600; font-style: normal; font-display: swap; }

:root {
  --vy-silt: #4b2f2f;
  --vy-clay-deep: #9a5e47;
  --vy-clay: #b17659;
  --vy-sage: #7b8a6a;
  --vy-blush: #f0cac7;
  --vy-pale: #d8edc9;
  --vy-paper: #ffffff;
  --vy-soft: rgba(75, 47, 47, .78);
  --vy-rule: rgba(75, 47, 47, .2);
  --vy-blush-soft: rgba(240, 202, 199, .38);
  --vy-pale-soft: rgba(216, 237, 201, .45);
  --vy-w: 1180px;
  --vy-gut: 16px;
  --vy-serif: "Labrada", Georgia, serif;
  --vy-sans: "Proza Libre", "Segoe UI", Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--vy-paper); color: var(--vy-silt); font-family: var(--vy-sans); font-size: 1.0625rem; line-height: 1.66; overflow-wrap: break-word; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--vy-clay-deep); text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { color: var(--vy-silt); }
:focus-visible { outline: 3px solid var(--vy-clay); outline-offset: 2px; }
.vy-form :focus-visible { outline-color: var(--vy-silt); }
h1, h2, h3 { font-family: var(--vy-serif); color: var(--vy-silt); line-height: 1.18; margin: 0 0 .5em; }
h1 { font-weight: 560; font-size: clamp(1.9rem, 1.2rem + 2.6vw, 3.05rem); letter-spacing: -.005em; }
h2 { font-weight: 540; font-size: clamp(1.4rem, 1.1rem + 1vw, 1.9rem); }
h3 { font-weight: 560; font-size: 1.18rem; }
p { margin: 0 0 1em; }
ul, ol { padding-left: 1.3em; }
.vy-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.vy-skip { position: absolute; left: -9999px; top: 0; background: var(--vy-silt); color: #fff; padding: .6em 1em; z-index: 9; }
.vy-skip:focus { left: var(--vy-gut); }

/* ── header ─────────────────────────────────────────────────────────────── */
.vy-head { border-bottom: 1px solid var(--vy-rule); background: var(--vy-paper); }
.vy-head__in { max-width: var(--vy-w); margin: 0 auto; padding: 14px var(--vy-gut); display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; }
.vy-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--vy-silt); margin-right: auto; min-width: 0; }
.vy-mark { flex: none; }
.vy-mark .m-bg { fill: var(--vy-silt); }
.vy-mark .m-l { fill: none; stroke: var(--vy-blush); stroke-width: 2.4; stroke-linecap: round; }
.vy-mark .m-d { fill: var(--vy-pale); }
.vy-mark .m-b { fill: none; stroke: var(--vy-pale); stroke-width: 2; stroke-linecap: round; }
.vy-brand__words { display: flex; flex-direction: column; min-width: 0; }
.vy-brand__name { font-family: var(--vy-serif); font-weight: 600; font-size: 1.3rem; line-height: 1.1; }
.vy-brand__line { font-size: .82rem; color: var(--vy-soft); line-height: 1.35; }
.vy-nav { order: 9; width: 100%; border-top: 1px solid var(--vy-rule); padding-top: 4px; }
.vy-nav ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 26px; }
.vy-nav a { color: var(--vy-silt); text-decoration: none; font-size: .95rem; padding: 6px 0; display: inline-block; border-bottom: 2px solid transparent; }
.vy-nav a:hover, .vy-nav a[aria-current="page"] { border-bottom-color: var(--vy-clay); }
.vy-head__tel { font-weight: 600; color: var(--vy-silt); text-decoration: none; white-space: nowrap; padding: 6px 0; }
.vy-head__cta { background: var(--vy-silt); color: #fff; text-decoration: none; padding: 9px 16px; border-radius: 3px; font-weight: 600; white-space: nowrap; }
.vy-head__cta:hover { background: var(--vy-clay-deep); color: #fff; }
.vy-navbtn { display: none; font: inherit; font-size: .95rem; background: none; border: 1px solid var(--vy-rule); color: var(--vy-silt); padding: 8px 12px; border-radius: 3px; cursor: pointer; }
.vy-strip { max-width: var(--vy-w); margin: 0 auto; padding: 6px var(--vy-gut) 8px; font-size: .86rem; color: var(--vy-soft); display: flex; flex-wrap: wrap; gap: 4px 18px; border-top: 1px dotted var(--vy-rule); }
.vy-strip__form::before { content: ""; display: inline-block; width: 8px; height: 8px; border: 1.5px solid var(--vy-sage); border-radius: 50%; margin-right: 7px; vertical-align: 1px; }
@media (max-width: 1239px) {
  .vy-navbtn { display: inline-block; order: 3; }
  .vy-nav { display: none; border-top: 0; }
  .vy-nav.is-open { display: block; }
  .vy-nav ul { flex-direction: column; gap: 0; border-top: 1px solid var(--vy-rule); padding-top: 6px; }
  .vy-nav a { padding: 9px 0; }
}
@media (max-width: 640px) {
  .vy-head__in { gap: 10px 12px; }
  .vy-brand { width: 100%; }
  .vy-brand__name { font-size: 1.15rem; }
  .vy-head__tel { order: 2; }
  .vy-head__cta { order: 4; margin-left: auto; }
}

/* ── crumbs and page head ───────────────────────────────────────────────── */
.vy-crumbs { max-width: var(--vy-w); margin: 0 auto; padding: 14px var(--vy-gut) 0; font-size: .86rem; }
.vy-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px; }
.vy-crumbs li + li::before { content: "›"; margin-right: 6px; color: var(--vy-clay); }
.vy-crumbs li[aria-current] { color: var(--vy-soft); }
.vy-main { display: block; }
.vy-main > * { max-width: var(--vy-w); margin-left: auto; margin-right: auto; padding-left: var(--vy-gut); padding-right: var(--vy-gut); }
.vy-headrow { display: grid; gap: 28px; padding-top: 26px; padding-bottom: 18px; }
@media (min-width: 1024px) { .vy-headrow--fig { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); align-items: start; } }
.vy-headtext { max-width: 760px; }
.vy-kicker { font-size: .84rem; letter-spacing: .06em; text-transform: uppercase; color: var(--vy-clay-deep); margin-bottom: .6em; font-weight: 600; }
.vy-lead { font-size: 1.14rem; line-height: 1.6; }
.vy-indep { border-left: 3px solid var(--vy-sage); padding: 4px 0 4px 14px; color: var(--vy-soft); font-size: .96rem; }
.vy-hours { font-size: .94rem; }
.vy-updated { font-size: .9rem; color: var(--vy-soft); }
.vy-headfig { margin: 0; }
.vy-headfig__img { width: 100%; border-radius: 4px; }
.vy-k-contact .vy-headfig__img { max-height: 520px; width: auto; margin-left: auto; }

/* ── price card ─────────────────────────────────────────────────────────── */
.vy-price { background: var(--vy-pale-soft); border: 1px solid var(--vy-rule); border-radius: 4px; padding: 14px 16px 6px; margin: 0 0 1.1em; }
.vy-price__lab { font-weight: 600; margin-bottom: .3em; }
.vy-price__row { margin: 0 0 .35em; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 12px; }
.vy-price__fig { font-family: var(--vy-serif); font-weight: 640; font-size: 1.75rem; color: var(--vy-clay-deep); line-height: 1.1; }
.vy-price__unit { font-size: .92rem; color: var(--vy-soft); }
.vy-price__adds { font-size: .86rem; color: var(--vy-soft); margin-top: .6em; }
.vy-price__place { font-weight: 600; margin: .2em 0 0; }
.vy-price--pat .vy-price__fig { font-size: 1.45rem; }

/* ── home hero ──────────────────────────────────────────────────────────── */
.vy-hero { display: grid; gap: 22px 28px; padding-top: 26px; padding-bottom: 26px; }
@media (min-width: 1024px) {
  .vy-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 470px); grid-template-rows: auto 1fr; align-items: start; }
  .vy-hero__top { grid-column: 1; grid-row: 1; }
  .vy-hero__rest { grid-column: 1; grid-row: 2; }
  .vy-hero__form { grid-column: 2; grid-row: 1 / span 2; }
}
.vy-hero__top .vy-indep { margin-top: -4px; }
.vy-hero__form .vy-form { margin: 0; }
.vy-band { margin: 0 auto 8px; }
.vy-band__img { width: 100%; border-radius: 4px; }

/* ── prose and wide blocks ──────────────────────────────────────────────── */
.vy-prose, .vy-sec { max-width: 820px; }
.vy-main > .vy-sec, .vy-main > .vy-prose { margin-left: max(var(--vy-gut), calc((100% - var(--vy-w)) / 2)); padding-left: var(--vy-gut); }
@media (min-width: 1212px) { .vy-main > .vy-sec, .vy-main > .vy-prose { margin-left: calc((100% - var(--vy-w)) / 2); } }
.vy-sec { padding-top: 22px; padding-bottom: 6px; }
.vy-prose .vy-sec { padding-left: 0; padding-right: 0; }
.vy-sec--tint { background: var(--vy-blush-soft); border-radius: 4px; padding: 20px 22px 8px; }
.vy-wide { padding-top: 30px; padding-bottom: 10px; }
.vy-intro { max-width: 760px; }
.vy-farenote { background: var(--vy-blush-soft); padding: 12px 16px; border-radius: 4px; }
.vy-legal .vy-sec h2 { font-size: 1.32rem; }
.vy-num { color: var(--vy-clay-deep); margin-right: .2em; }

/* ── patterns (encoding №42) ────────────────────────────────────────────── */
.vy-pats { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--vy-rule); }
.vy-pat { display: grid; grid-template-columns: minmax(0, 1fr); gap: 2px 24px; padding: 14px 0; border-bottom: 1px solid var(--vy-rule); }
@media (min-width: 900px) { .vy-pat { grid-template-columns: 220px minmax(0, 1fr) 270px; align-items: center; } }
.vy-pat p { margin: 0; }
.vy-pat__name { font-family: var(--vy-serif); font-size: 1.2rem; font-weight: 600; }
.vy-pat__name a { color: var(--vy-silt); text-decoration-color: var(--vy-clay); }
.vy-pat__line { color: var(--vy-soft); }
.vy-pat__graph { display: flex; align-items: center; gap: 10px; font-size: .86rem; color: var(--vy-soft); }
.vy-pat__fig { font-family: var(--vy-serif); font-weight: 600; color: var(--vy-clay-deep); }
@media (min-width: 900px) { .vy-pat__graph { grid-column: 2; } .vy-pat__fig { grid-column: 3; grid-row: 1 / span 2; text-align: right; } .vy-pat__line { grid-column: 2; } }
.vy-graph { flex: none; }
.vy-graph .g-t { fill: var(--vy-silt); }
.vy-graph .g-a { fill: none; stroke: var(--vy-silt); stroke-width: 1.6; }
.vy-graph .g-l { fill: none; stroke: var(--vy-clay); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.vy-graph .g-d { fill: var(--vy-sage); }

/* ── who does what, areas, office ───────────────────────────────────────── */
.vy-who__cols { display: grid; gap: 18px 36px; }
@media (min-width: 760px) { .vy-who__cols { grid-template-columns: 1fr 1fr; } }
.vy-who__cols > div { background: var(--vy-pale-soft); border-radius: 4px; padding: 16px 20px 6px; }
.vy-who__cols li { margin-bottom: .45em; }
.vy-arealist { columns: 2 220px; padding-left: 1.1em; }
.vy-office { display: grid; gap: 22px; align-items: center; }
@media (min-width: 860px) { .vy-office { grid-template-columns: 380px minmax(0, 1fr); } }
.vy-office__fig { margin: 0; }
.vy-office__img { border-radius: 4px; }
.vy-qa h3 { margin-top: 1em; }
.vy-faq3 .vy-qa h3 { font-size: 1.08rem; }

/* ── fare tables ────────────────────────────────────────────────────────── */
.vy-tablewrap { overflow-x: auto; }
.vy-table { width: 100%; border-collapse: collapse; background: var(--vy-paper); font-size: .97rem; }
.vy-table caption { text-align: left; font-size: .88rem; color: var(--vy-soft); padding: 0 0 8px; caption-side: top; }
.vy-table th, .vy-table td { padding: 9px 10px; border-bottom: 1px solid var(--vy-rule); text-align: left; vertical-align: top; }
.vy-table thead th { font-size: .84rem; color: var(--vy-soft); font-weight: 600; background: var(--vy-pale-soft); }
.vy-table td:nth-child(4), .vy-table td:nth-child(5) { font-family: var(--vy-serif); font-weight: 600; color: var(--vy-clay-deep); white-space: nowrap; }
.vy-grp th { background: var(--vy-pale); font-family: var(--vy-serif); font-size: 1.05rem; }
.vy-grp a { color: var(--vy-silt); }
.vy-keepbtn, .vy-forget { font: inherit; font-size: .84rem; background: none; border: 1px solid var(--vy-sage); color: var(--vy-silt); border-radius: 3px; padding: 4px 9px; cursor: pointer; }
.vy-keepbtn[aria-pressed="true"] { background: var(--vy-pale); }
@media (max-width: 700px) {
  .vy-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .vy-table, .vy-table tbody, .vy-table tr, .vy-table th, .vy-table td { display: block; width: 100%; }
  .vy-table tr { border-bottom: 1px solid var(--vy-rule); padding: 8px 0; }
  .vy-table th, .vy-table td { border: 0; padding: 2px 0; }
  .vy-table td[data-l]::before { content: attr(data-l) ": "; color: var(--vy-soft); font-family: var(--vy-sans); font-weight: 400; }
  .vy-grp th { padding: 8px 10px; }
  .vy-table caption { display: block; width: auto; }
}

/* ── airport block, imprint, contact ────────────────────────────────────── */
.vy-term { display: grid; gap: 10px; grid-template-columns: 1fr; }
@media (min-width: 760px) { .vy-term { grid-template-columns: 1fr .8fr 1fr; } .vy-term__garage, .vy-term__note { grid-column: 1 / -1; } }
.vy-term > div { border: 1px solid var(--vy-rule); border-radius: 4px; padding: 12px 14px 4px; }
.vy-term p { margin: 0 0 .4em; }
.vy-term__name { font-family: var(--vy-serif); font-weight: 600; font-size: 1.1rem; }
.vy-term__mid { background: repeating-linear-gradient(135deg, var(--vy-blush-soft) 0 8px, transparent 8px 16px); color: var(--vy-soft); display: flex; align-items: center; }
.vy-term__garage { background: var(--vy-pale-soft); }
.vy-term__note { font-size: .9rem; color: var(--vy-soft); }
.vy-imprint dl { display: grid; gap: 0; margin: 0; border-top: 1px solid var(--vy-rule); }
.vy-imprint dl > div { display: grid; gap: 2px 20px; padding: 9px 0; border-bottom: 1px solid var(--vy-rule); }
@media (min-width: 700px) { .vy-imprint dl > div { grid-template-columns: 220px minmax(0, 1fr); } }
.vy-imprint dt { font-weight: 600; }
.vy-imprint dd { margin: 0; }
.vy-reach { display: grid; gap: 22px; }
@media (min-width: 900px) { .vy-reach { grid-template-columns: 1.1fr 1fr 1fr; } }
.vy-reach > div { border-top: 3px solid var(--vy-clay); padding-top: 12px; }
.vy-reach__big { font-family: var(--vy-serif); font-size: 1.6rem; font-weight: 600; }
.vy-reach address { font-style: normal; }
.vy-week { border-collapse: collapse; font-size: .95rem; }
.vy-week caption { text-align: left; color: var(--vy-soft); font-size: .86rem; padding-bottom: 4px; }
.vy-week th, .vy-week td { text-align: left; padding: 4px 14px 4px 0; border-bottom: 1px dotted var(--vy-rule); font-weight: 400; }
.vy-others ul { columns: 2 240px; }

/* ── the request form ───────────────────────────────────────────────────── */
.vy-formband { padding-top: 34px; padding-bottom: 30px; }
.vy-form { background: var(--vy-blush); border-radius: 6px; padding: 20px 18px 12px; max-width: 860px; color: var(--vy-silt); }
.vy-form a { color: var(--vy-silt); }
.vy-form__h { font-size: 1.45rem; margin-bottom: .35em; color: var(--vy-silt); }
.vy-form__intro { font-size: .96rem; }
.vy-fs { border: 0; padding: 0; margin: 0 0 10px; min-width: 0; }
.vy-fs legend { font-family: var(--vy-serif); font-weight: 600; font-size: 1.05rem; padding: 0; margin-bottom: 4px; }
.vy-fs--rides { background: rgba(255, 255, 255, .55); border-radius: 4px; padding: 10px 12px 4px; }
.vy-check { display: flex; gap: 10px; align-items: flex-start; margin: 0 0 .5em; }
.vy-check input { width: 20px; height: 20px; margin: 3px 0 0; flex: none; accent-color: var(--vy-silt); }
.vy-form label { display: block; font-size: .93rem; font-weight: 600; margin-bottom: 3px; }
.vy-check label { font-weight: 400; margin: 0; }
.vy-form input[type="text"], .vy-form input[type="email"], .vy-form input[type="tel"], .vy-form input[type="date"],
.vy-form input[type="time"], .vy-form input[type="week"], .vy-form select, .vy-form textarea {
  width: 100%; font: inherit; font-size: 1rem; color: var(--vy-silt); background: #fff; border: 1px solid rgba(75, 47, 47, .45); border-radius: 3px; padding: 9px 10px; min-height: 44px; }
.vy-form textarea { min-height: 84px; }
.vy-row { display: grid; gap: 0 14px; }
@media (min-width: 560px) { .vy-row { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); } }
.vy-row p { margin: 0 0 .7em; }
.vy-out { display: block; background: #fff; border-radius: 4px; padding: 10px 12px; margin: 0 0 12px; font-size: .95rem; }
.vy-out[hidden] { display: none; }
.vy-out b { font-family: var(--vy-serif); }
.vy-out .vy-graph { display: inline-block; vertical-align: middle; margin-right: 8px; }
.vy-due { background: rgba(255, 255, 255, .6); border-left: 3px solid var(--vy-clay-deep); padding: 6px 10px; font-size: .94rem; }
.vy-reply, .vy-note { font-size: .88rem; }
.vy-btn { font: inherit; font-weight: 600; font-size: 1.05rem; background: var(--vy-silt); color: #fff; border: 0; border-radius: 4px; padding: 12px 22px; cursor: pointer; min-height: 48px; }
.vy-btn:hover { background: var(--vy-clay-deep); }
.vy-pot { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
[data-show][hidden] { display: none; }
.vy-hero__form .vy-form { padding: 18px 16px 10px; }

/* ── footer: the key (form №29) ─────────────────────────────────────────── */
.vy-foot { margin-top: 48px; background: var(--vy-paper); border-top: 1px solid var(--vy-rule); }
.vy-foot__in { max-width: var(--vy-w); margin: 0 auto; padding: 30px var(--vy-gut) 26px; }
.vy-key { position: relative; border: 1.5px solid var(--vy-silt); border-radius: 4px; padding: 26px 18px 8px; }
.vy-key__t { position: absolute; top: -14px; left: 16px; margin: 0; background: var(--vy-paper); padding: 0 10px; font-family: var(--vy-serif); font-weight: 600; font-size: 1.1rem; letter-spacing: .04em; }
.vy-key dl { margin: 0; }
.vy-key__row { display: grid; gap: 4px 20px; padding: 10px 0; border-bottom: 1px dotted var(--vy-rule); }
.vy-key__row:last-child { border-bottom: 0; }
@media (min-width: 760px) { .vy-key__row { grid-template-columns: 190px minmax(0, 1fr); } }
.vy-key dt { font-weight: 600; display: flex; align-items: center; gap: 10px; }
.vy-key dd { margin: 0; font-size: .95rem; }
.vy-key address { font-style: normal; }
.vy-sym { display: inline-block; width: 14px; height: 14px; flex: none; }
.vy-sym--sq { background: var(--vy-silt); }
.vy-sym--di { border: 2px solid var(--vy-clay-deep); transform: rotate(45deg) scale(.82); }
.vy-sym--ci { border: 2px solid var(--vy-sage); border-radius: 50%; }
.vy-sym--sc { height: 8px; border: 2px solid var(--vy-silt); border-top: 0; }
.vy-sym--ar { width: 16px; height: 12px; position: relative; }
.vy-sym--ar::before { content: ""; position: absolute; left: 0; top: 5px; width: 13px; height: 2px; background: var(--vy-clay); }
.vy-sym--ar::after { content: ""; position: absolute; right: 2px; top: 2.5px; width: 7px; height: 7px; border-top: 2px solid var(--vy-clay); border-right: 2px solid var(--vy-clay); transform: rotate(45deg); box-sizing: border-box; }
.vy-scale { display: block; margin: 2px 0 4px; max-width: 100%; }
.vy-scale .s-l, .vy-scale .s-t { stroke: var(--vy-silt); stroke-width: 1.5; fill: none; }
.vy-scale .s-n { fill: var(--vy-sage); }
.vy-scale .s-f { fill: var(--vy-clay); }
.vy-foot__legal { font-weight: 600; }
.vy-foot__copy { margin: 14px 0 0; font-size: .88rem; color: var(--vy-soft); }

@media print { .vy-head, .vy-foot, .vy-form { display: none; } }

/* geometry probe 13.10.2026: the long mailbox broke out of the key at 320px; the pattern link in the read-out was under 24px */
.vy-key__row, .vy-key dd, .vy-reach > div, .vy-imprint dd { min-width: 0; overflow-wrap: break-word; }
.vy-out a { display: inline-block; padding: 3px 0; min-height: 24px; }

/* recheck 13.10.2026: the narrow home form takes one field per row; the band sits under the hours in the left column */
.vy-hero__form .vy-row { grid-template-columns: 1fr; }
.vy-row { align-items: end; }
.vy-band--hero { margin: 18px 0 0; }
