
@font-face{font-family:'Grenze';src:url('/a/grenze.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:'BeVietnamPro';src:url('/a/bvp-400.woff2') format('woff2');
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'BeVietnamPro';src:url('/a/bvp-700.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap}

:root{
  --jd-paper:#dad2db; --jd-ink:#2a2430; --jd-ground:#342c40;
  --jd-on:#efeaf0; --jd-accent:#7d3a56; --jd-rule:#b9adbc;
  --jd-soft:#cfc6d1; --jd-band:#e3dde4;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--jd-paper);color:var(--jd-ink);
  font:400 17px/1.62 'BeVietnamPro',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}
h1,h2,h3,h4{font-family:'Grenze',Georgia,'Times New Roman',serif;font-weight:700;
  line-height:1.16;letter-spacing:-.005em;margin:0 0 .5em}
h1{font-size:clamp(30px,4.4vw,52px)}
h2{font-size:clamp(23px,2.7vw,33px);margin-top:1.7em}
h3{font-size:clamp(19px,1.8vw,22px);margin-top:1.4em}
p{margin:0 0 1.05em}
a{color:var(--jd-accent);text-underline-offset:.18em;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
img{max-width:100%;height:auto;display:block}
.jd-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.jd-skip{position:absolute;left:-9999px;top:0;background:var(--jd-ground);color:var(--jd-on);
  padding:10px 16px;z-index:99}
.jd-skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--jd-accent);outline-offset:2px}
/* ⚠️ Два отступа стояли атрибутом style, а `style-src 'self'` его режет: политика молча
   равняла их к нулю. Классы делают ровно то же и переживают политику. */
.jd-mt16{margin-top:16px}
/* ⚠️ Строка доступности в подвале. Подлежащее у неё ФОРМА, а не телефон: в манифесте
   `24_7_requests` истинно, а `24_7_line` ложно, и семейство hours требует обещания срока
   именно потому, что круглосуточной линии нет. Одна фраза несёт обе половины. */
.jd-crate-open{margin:10px 0 0;font-weight:700}
.jd-mt20{margin-top:20px}

/* the flight box: ONE card on the paper, not three slabs inside a fourth */
.jd-fb-card{background:var(--jd-raise,#fff);border:1px solid var(--jd-rule,#d8d2c6);
  border-radius:12px;padding:clamp(17px,1.2vw + 12px,28px);margin:38px 0;
  box-shadow:0 1px 2px rgba(28,26,22,.05),0 18px 34px -26px rgba(28,26,22,.5)}
.jd-fb{margin:0;padding:0 0 21px;border-bottom:1px solid var(--jd-rule,#d8d2c6)}
.jd-fb-head{font-family:'Grenze',Georgia,serif;font-weight:700;font-size:22px;line-height:1.22;
  margin:0 0 17px;padding:0 0 13px;border-bottom:1px solid var(--jd-rule,#d8d2c6)}
.jd-fb-grid{display:grid;gap:19px}
.jd-fb-set{border:0;padding:0;margin:0;min-width:0}
.jd-fb-set + .jd-fb-set{border-top:1px solid var(--jd-rule,#d8d2c6);padding-top:19px}
.jd-fb-set legend{display:block;width:100%;padding:0;margin:0 0 11px;font-size:11px;
  letter-spacing:.14em;text-transform:uppercase;color:var(--jd-accent);font-weight:700}
/* align-items:end сажает поля ряда на одну линию; без него подпись в две строки уводит
   своё поле вниз, и ряд читается как сломанный */
.jd-fb-row{display:grid;gap:15px 16px;align-items:end;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.jd-fb-box{position:relative;display:flex;flex-direction:column;justify-content:flex-end;
  gap:6px;min-width:0}
.jd-fb-box label{font-size:14px;font-weight:700;line-height:1.32}
.jd-fb-aside{display:block;font-size:12px;font-weight:400;line-height:1.3;opacity:.72}
.jd-fb-box input,.jd-fb-box select{font:inherit;font-size:15px;line-height:1.35;min-height:47px;
  padding:9px 13px;width:100%;border:1px solid var(--jd-rule,#d8d2c6);border-radius:7px;
  background:#fff;color:var(--jd-ink);accent-color:var(--jd-accent);
  transition:border-color .14s ease,box-shadow .14s ease}
.jd-fb-box input::placeholder{opacity:.62}
.jd-fb-box input:hover,.jd-fb-box select:hover{border-color:var(--jd-ink)}
/* общее правило страницы рисует толстый outline; здесь он заменён кольцом того же цвета,
   чтобы индикатор фокуса не разрывал скруглённую рамку */
.jd-fb-box input:focus,.jd-fb-box select:focus,
.jd-fb-box input:focus-visible,.jd-fb-box select:focus-visible{outline:0;
  border-color:var(--jd-accent);box-shadow:0 0 0 3px rgba(122,76,42,.24)}
.jd-fb-box.is-short input{border-color:var(--jd-accent);box-shadow:0 0 0 3px rgba(122,76,42,.16)}
.jd-fb-say{margin:0;font-size:13px;line-height:1.4;color:var(--jd-accent);font-weight:700}
.jd-fb-offer{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:30;margin:0;padding:4px;
  list-style:none;background:#fff;border:1px solid var(--jd-rule,#d8d2c6);border-radius:9px;
  max-height:272px;overflow:auto;box-shadow:0 14px 32px -6px rgba(28,26,22,.3)}
.jd-fb-offer li{margin:0}
.jd-fb-offer button{display:block;width:100%;text-align:left;font:inherit;font-size:14px;
  line-height:1.35;padding:8px 10px;border:0;border-radius:5px;background:none;
  color:var(--jd-ink);cursor:pointer}
.jd-fb-offer button:hover,.jd-fb-offer [aria-selected="true"] button{background:var(--jd-paper)}
.jd-fb-offer [aria-selected="true"] button{box-shadow:inset 2px 0 0 var(--jd-accent)}
.jd-fb-code{display:inline-block;min-width:46px;font-weight:700;color:var(--jd-accent);
  font-variant-numeric:tabular-nums}
.jd-fb-days{margin:19px 0 0;padding:12px 15px;font-size:14px;line-height:1.55;
  background:var(--jd-paper);border:1px solid var(--jd-rule,#d8d2c6);
  border-left:3px solid var(--jd-accent);border-radius:0 8px 8px 0}
.jd-fb-go{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:20px}
.jd-fb-go button{font:inherit;font-weight:700;font-size:15px;letter-spacing:.01em;min-height:47px;
  padding:12px 24px;border:0;border-radius:7px;background:var(--jd-accent);color:#fff;
  cursor:pointer;box-shadow:0 1px 2px rgba(28,26,22,.16);
  transition:background .14s ease,box-shadow .14s ease,transform .1s ease}
.jd-fb-go button:hover{box-shadow:0 5px 14px -4px rgba(122,76,42,.55);filter:brightness(.88)}
.jd-fb-go button:active{transform:translateY(1px)}
.jd-fb-go button[disabled],.jd-fb-go button[disabled]:hover{background:var(--jd-rule,#d8d2c6);
  color:var(--jd-ink);opacity:.72;box-shadow:none;cursor:not-allowed;transform:none;filter:none}
.jd-fb-status{margin:0;font-size:14px;line-height:1.45;color:var(--jd-accent);font-weight:700}
.jd-fb-note{margin:19px 0 0;font-size:14px;font-weight:400;line-height:1.62;opacity:.82;
  max-width:80ch}
@media(max-width:560px){
  .jd-fb-card{padding:16px;border-radius:10px}
  .jd-fb-row{grid-template-columns:1fr}
  .jd-fb-go button{width:100%}}

.jd-wrap{max-width:1140px;margin:0 auto;padding:0 22px}
.jd-prose{max-width:68ch}

/* ── шапка ─────────────────────────────────────────────────────── */
.jd-top{background:var(--jd-ground);color:var(--jd-on);padding:9px 0;font-size:14px}
.jd-top a{color:var(--jd-on)}
.jd-top .jd-wrap{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:baseline}
.jd-head{border-bottom:2px solid var(--jd-ink);background:var(--jd-paper)}
.jd-head .jd-wrap{display:flex;flex-wrap:wrap;gap:10px 26px;align-items:center;
  padding-top:16px;padding-bottom:16px}
.jd-mast{font-family:'Grenze',Georgia,serif;font-weight:700;font-size:26px;
  letter-spacing:.01em;color:var(--jd-ink);text-decoration:none;white-space:nowrap}
.jd-mast:hover{color:var(--jd-accent)}
.jd-nav{margin-left:auto}
.jd-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:4px 18px;margin:0;padding:0;
  font-size:15px}
.jd-nav a{color:var(--jd-ink);text-decoration:none;border-bottom:1px solid transparent;
  padding-bottom:2px}
.jd-nav a:hover,.jd-nav a[aria-current]{border-bottom-color:var(--jd-accent);color:var(--jd-accent)}

/* ── герой: кадр 2.95, текст в апертуре под ним ────────────────── */
.jd-hero{position:relative;background:var(--jd-ground);color:var(--jd-on);
  padding-bottom:34px;margin-bottom:0}
.jd-hero-frame{aspect-ratio:2.95;overflow:hidden;background:#2a2430}
.jd-hero-frame img{width:100%;height:100%;object-fit:cover}
.jd-hero-body{padding-top:26px}
.jd-hero h1{color:var(--jd-on);max-width:22ch}
.jd-hero .jd-brow{font-size:14px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--jd-rule);margin:0 0 12px}
.jd-hero .jd-stand{max-width:62ch;font-size:18px;color:var(--jd-on);opacity:.94}
.jd-hero--tall .jd-hero-frame{aspect-ratio:2.95;min-height:min(38vh,420px)}
@media (max-width:900px){
  /* ⚠️ Пропорция обязана выигрывать у min-height: иначе cover показывает около одиннадцати
     процентов кадра, и два разных снимка на телефоне выглядят одинаково. */
  .jd-hero--tall .jd-hero-frame{min-height:0}
}

/* ── полосы ────────────────────────────────────────────────────── */
.jd-band{padding:44px 0}
.jd-band--paper{background:var(--jd-paper)}
.jd-band--soft{background:var(--jd-band)}
.jd-band--dark{background:var(--jd-ground);color:var(--jd-on)}
.jd-band--dark h2,.jd-band--dark h3{color:var(--jd-on)}
.jd-band--dark a{color:#e6c7d4}
.jd-band--rule{border-top:1px solid var(--jd-rule);border-bottom:1px solid var(--jd-rule)}

/* ── строка дня: метка стоит У ЦЕНЫ, не в начале строки ────────── */
.jd-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--jd-rule)}
.jd-row{border-bottom:1px solid var(--jd-rule);padding:14px 0;display:grid;
  grid-template-columns:76px 1fr auto;gap:0 16px;align-items:start}
.jd-row-plate{grid-row:span 2;width:76px;aspect-ratio:.42;overflow:hidden;background:var(--jd-soft)}
.jd-row-plate img{width:100%;height:100%;object-fit:cover}
.jd-row-main{min-width:0}
.jd-row-main h3{margin:0 0 3px;font-size:20px}
.jd-row-main a{text-decoration:none;color:var(--jd-ink)}
.jd-row-main a:hover{color:var(--jd-accent);text-decoration:underline}
.jd-row-meta{font-size:14.5px;color:#544b5c;margin:0}
.jd-row-price{text-align:right;white-space:nowrap;display:flex;align-items:center;gap:9px;
  justify-content:flex-end}
.jd-price{font-family:'Grenze',Georgia,serif;font-weight:700;font-size:25px;
  letter-spacing:.01em;line-height:1}
.jd-price small{display:block;font-family:'BeVietnamPro',sans-serif;font-weight:400;
  font-size:12px;letter-spacing:.04em;color:#544b5c;margin-top:3px}
.jd-row--bare{grid-template-columns:1fr auto}
@media (max-width:620px){
  .jd-row{grid-template-columns:58px 1fr;gap:0 12px}
  .jd-row--bare{grid-template-columns:1fr}
  .jd-row-plate{width:58px}
  .jd-row-price{grid-column:2;justify-content:flex-start;margin-top:8px}
  /* ⚠️ У строки без миниатюры колонки всего одна: цена, посланная во вторую, создавала
     неявную колонку и сжимала заголовок до десяти пикселей, то есть до буквы на строку. */
  .jd-row--bare .jd-row-price{grid-column:1}
}

/* ── кодировка №29: доля обведённой окружности ─────────────────── */
.jd-arc{flex:0 0 auto;display:inline-block;vertical-align:middle}
.jd-arc svg{display:block}
.jd-arc-word{font-size:12.5px;color:#544b5c;letter-spacing:.02em}

/* ── плитки дней с текстом поверх кадра ────────────────────────── */
.jd-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(178px,224px));gap:16px;
  justify-content:start;margin:22px 0 0;padding:0;list-style:none}
.jd-tile{position:relative;overflow:hidden;background:var(--jd-ground)}
.jd-tile img{aspect-ratio:.42;width:100%;object-fit:cover;opacity:.72;transition:opacity .18s}
.jd-tile:hover img{opacity:.86}
.jd-tile-cap{position:absolute;left:0;right:0;bottom:0;padding:16px 15px 14px;
  background:linear-gradient(to top,rgba(42,36,48,.94),rgba(42,36,48,.06));color:#fff}
.jd-tile-cap h3{color:#fff;margin:0 0 4px;font-size:19px}
.jd-tile-cap p{margin:0;font-size:13.5px;color:#e4dbe6}
.jd-tile a{position:absolute;inset:0;text-indent:-9999px;overflow:hidden}

/* ── пиктограммы рисуются кодом ────────────────────────────────── */
.jd-marks{display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:22px;
  margin:22px 0 0;padding:0;list-style:none}
.jd-mark svg{margin-bottom:9px}
.jd-mark h3{margin:0 0 4px;font-size:17px}
.jd-mark p{margin:0;font-size:14.5px;color:#544b5c}
.jd-band--dark .jd-mark p{color:#cfc6d1}

/* ── таблицы и широкие блоки выходят из текстовой колонки ──────── */
.jd-scroll{overflow-x:auto;margin:18px 0}
table{border-collapse:collapse;width:100%;font-size:15px}
th,td{text-align:left;padding:9px 13px;border-bottom:1px solid var(--jd-rule);vertical-align:top}
th{font-family:'Grenze',Georgia,serif;font-weight:700;font-size:16px;white-space:nowrap}
td.jd-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}

/* ── форма: список дней галочками ──────────────────────────────── */
.jd-form{margin:20px 0 0;max-width:62ch}
.jd-form fieldset{border:1px solid var(--jd-rule);padding:16px 16px 6px;margin:0 0 18px}
.jd-form legend{font-family:'Grenze',Georgia,serif;font-weight:700;font-size:19px;padding:0 8px}
.jd-pickgroup{margin:0 0 16px}
.jd-pickgroup > p{font-size:13px;letter-spacing:.1em;text-transform:uppercase;
  color:#544b5c;margin:0 0 7px}
.jd-pick{display:flex;gap:9px;align-items:baseline;padding:4px 0;font-size:15px}
.jd-pick input{margin:0;flex:0 0 auto;width:17px;height:17px;accent-color:var(--jd-accent)}
.jd-pick label{cursor:pointer}
.jd-pick .jd-pick-price{color:#544b5c;font-size:13.5px;white-space:nowrap;margin-left:auto}
.jd-field{margin:0 0 15px}
.jd-field label{display:block;font-weight:700;font-size:15px;margin-bottom:5px}
.jd-field input,.jd-field select,.jd-field textarea{width:100%;padding:10px 11px;
  border:1px solid var(--jd-ink);background:#fff;color:var(--jd-ink);font:inherit;font-size:16px;
  border-radius:0}
.jd-field textarea{min-height:104px;resize:vertical}
.jd-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.jd-send{font:700 17px/1 'Grenze',Georgia,serif;letter-spacing:.02em;background:var(--jd-accent);
  color:#fff;border:0;padding:15px 30px;cursor:pointer}
.jd-send:hover{background:#673047}
.jd-note{font-size:14px;color:#544b5c;margin-top:12px}

/* ── подвал №15: ЯЩИК. Ссылки строкой НАД рамкой, вне её. ──────── */
.jd-foot{background:var(--jd-ground);color:var(--jd-on);padding:34px 0 40px;margin-top:52px}
.jd-foot a{color:#e6c7d4}
.jd-footlinks{font-size:14.5px;line-height:2.05;margin:0 0 22px;padding:0 0 18px;
  border-bottom:1px solid rgba(239,234,240,.28)}
.jd-footlinks a{margin-right:19px;white-space:nowrap;display:inline-block}
html,body{overflow-x:hidden;max-width:100%}
.jd-crate{border:2px solid rgba(239,234,240,.55);padding:19px 22px;width:min(100%,52ch)}
.jd-crate p{margin:0 0 7px;font-size:14.5px}
.jd-crate p:last-child{margin-bottom:0}
.jd-crate .jd-crate-name{font-family:'Grenze',Georgia,serif;font-weight:700;font-size:19px;
  margin-bottom:10px}
.jd-legal{font-size:13px;color:#c3b8c6;margin:20px 0 0;max-width:78ch}

/* ── прочее ────────────────────────────────────────────────────── */
.jd-crumbs{font-size:14px;color:#544b5c;padding:14px 0 0}
.jd-crumbs a{color:#544b5c}
.jd-faq dt{font-family:'Grenze',Georgia,serif;font-weight:700;font-size:19px;margin-top:20px}
.jd-faq dd{margin:6px 0 0}
.jd-figure{margin:22px 0}
.jd-figure figcaption{font-size:13.5px;color:#544b5c;margin-top:7px}
#flight-search:not([hidden]){margin:22px 0}
