:root{
  --bg:#0b0f14;
  --bg2:#0f1620;
  --card:rgba(255,255,255,.06);
  --card2:rgba(255,255,255,.08);
  --stroke:rgba(255,255,255,.10);
  --text:#eaf0ff;
  --muted:rgba(234,240,255,.72);
  --muted2:rgba(234,240,255,.55);
  --accent:#7cf7d4;
  --accent2:#7aa7ff;
  --danger:#ff6b6b;
  --shadow:0 20px 60px rgba(0,0,0,.45);
  --radius:18px;
  --radius2:26px;
  --container:1180px;
  --font:Manrope,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
}

[data-theme="light"]{
  --bg:#f7f8fb;
  --bg2:#eef1f8;
  --card:rgba(12,18,28,.06);
  --card2:rgba(12,18,28,.08);
  --stroke:rgba(12,18,28,.12);
  --text:#0b1220;
  --muted:rgba(11,18,32,.72);
  --muted2:rgba(11,18,32,.55);
  --accent:#00b894;
  --accent2:#2f66ff;
  --danger:#d64545;
  --shadow:0 24px 70px rgba(12,18,28,.18);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font);
  background:radial-gradient(1200px 800px at 30% -10%, rgba(122,167,255,.18), transparent 50%),
             radial-gradient(900px 700px at 90% 10%, rgba(124,247,212,.14), transparent 55%),
             linear-gradient(180deg,var(--bg),var(--bg2));
  color:var(--text);
  overflow-x:hidden;
}

a{color:inherit; text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%; display:block}

.container{
  width:min(var(--container), calc(100% - 40px));
  margin:0 auto;
}

.skip{
  position:absolute;
  left:-999px;
  top:12px;
  background:var(--text);
  color:var(--bg);
  padding:10px 12px;
  border-radius:12px;
  z-index:9999;
}
.skip:focus{left:12px}

.h1{font-size: clamp(2.1rem, 3.2vw, 3.4rem); line-height:1.05; letter-spacing:-.02em; margin:0 0 16px}
.h2{font-size: clamp(1.5rem, 2.1vw, 2.2rem); line-height:1.15; letter-spacing:-.015em; margin:0 0 10px}
.h3{font-size: 1.12rem; line-height:1.25; margin:0 0 10px}
.lead{font-size:1.06rem; color:var(--muted); line-height:1.6; margin:0 0 18px}
.sublead{font-size:1.02rem; color:var(--muted); line-height:1.7; margin:6px 0 0}
.muted{color:var(--muted); line-height:1.6}
.fineprint{color:var(--muted2); font-size:.88rem; line-height:1.5; margin:10px 0 0}
.mt{margin-top:22px}

.header{
  position:sticky;
  top:0;
  z-index:60;
  backdrop-filter:saturate(180%) blur(16px);
  background:linear-gradient(180deg, rgba(10,14,20,.82), rgba(10,14,20,.42));
  border-bottom:1px solid var(--stroke);
}
[data-theme="light"] .header{
  background:linear-gradient(180deg, rgba(247,248,251,.82), rgba(247,248,251,.55));
}

.header--simple{position:sticky}
.header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 0;
}
.header__actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.brand{
  display:flex;
  gap:12px;
  align-items:center;
  min-width: 220px;
}
.brand__mark{
  width:36px;height:36px;border-radius:14px;
  background:
    radial-gradient(12px 12px at 30% 35%, rgba(255,255,255,.9), transparent 55%),
    radial-gradient(18px 18px at 70% 60%, rgba(124,247,212,.9), transparent 58%),
    radial-gradient(22px 22px at 45% 75%, rgba(122,167,255,.9), transparent 62%),
    linear-gradient(135deg, rgba(255,255,255,.22), rgba(255,255,255,.05));
  box-shadow: 0 14px 30px rgba(0,0,0,.25);
  border:1px solid var(--stroke);
}
.brand__name{font-weight:800; letter-spacing:-.02em}
.brand__tag{display:block; font-size:.82rem; color:var(--muted2); margin-top:2px}
.brand--footer .brand__tag{opacity:.9}

.nav{display:flex; align-items:center}
.nav__toggle{
  display:none;
  align-items:center;
  gap:10px;
  background:transparent;
  border:1px solid var(--stroke);
  color:var(--text);
  padding:10px 12px;
  border-radius:14px;
  cursor:pointer;
}
.nav__toggleLines{
  width:18px;height:12px; position:relative;
}
.nav__toggleLines::before,.nav__toggleLines::after{
  content:"";
  position:absolute; left:0; right:0;
  height:2px; background:var(--text);
  border-radius:2px;
}
.nav__toggleLines::before{top:0}
.nav__toggleLines::after{bottom:0}
.nav__toggleText{font-weight:700; font-size:.92rem}

.nav__panel{
  display:flex;
  align-items:center;
  gap:14px;
  padding:0 10px;
}
.nav__link{
  color:var(--muted);
  font-weight:700;
  font-size:.95rem;
  padding:10px 10px;
  border-radius:12px;
}
.nav__link:hover{color:var(--text); text-decoration:none; background:var(--card)}
.nav__link--accent{
  background:linear-gradient(135deg, rgba(124,247,212,.22), rgba(122,167,255,.14));
  border:1px solid var(--stroke);
  color:var(--text);
}

.navSimple{display:flex; align-items:center; gap:10px}

.progress{height:2px; width:100%; background:transparent}
.progress__bar{height:2px; width:0%; background:linear-gradient(90deg,var(--accent),var(--accent2)); opacity:.85}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:16px;
  padding:12px 14px;
  font-weight:800;
  border:1px solid var(--stroke);
  background:transparent;
  color:var(--text);
  cursor:pointer;
  transition:transform .12s ease, background .2s ease, border-color .2s ease, opacity .2s ease;
  user-select:none;
}
.btn:hover{transform:translateY(-1px); text-decoration:none}
.btn:active{transform:translateY(0)}
.btn--primary{
  background:linear-gradient(135deg, rgba(124,247,212,.28), rgba(122,167,255,.18));
  border-color:rgba(124,247,212,.35);
}
.btn--soft{
  background:var(--card);
}
.btn--ghost{
  background:transparent;
}
.btn--dark{
  background:linear-gradient(135deg, rgba(0,0,0,.38), rgba(0,0,0,.18));
}
.btn--block{width:100%}
.btn__text{font-weight:800}

.iconBtn{
  width:42px;height:42px;border-radius:14px;
  border:1px solid var(--stroke);
  background:var(--card);
  color:var(--text);
  cursor:pointer;
}
.icon{display:inline-block; width:18px; height:18px; background:currentColor; mask-size:contain; -webkit-mask-size:contain; mask-repeat:no-repeat; -webkit-mask-repeat:no-repeat; mask-position:center; -webkit-mask-position:center}
[data-icon="moon"]{mask-image:radial-gradient(circle at 30% 35%, transparent 8px, #000 8.2px)}
[data-icon="close"]{mask-image:linear-gradient(45deg, transparent 45%, #000 45%, #000 55%, transparent 55%), linear-gradient(-45deg, transparent 45%, #000 45%, #000 55%, transparent 55%)}

.section{padding:72px 0}
.section--alt{
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
  border-top:1px solid var(--stroke);
  border-bottom:1px solid var(--stroke);
}

.hero{position:relative; padding:86px 0 70px}
.hero__bg{position:absolute; inset:0; overflow:hidden}
.hero__img{
  width:100%; height:100%;
  object-fit:cover;
  filter:saturate(1.05) contrast(1.05);
  transform:scale(1.04);
}
.hero__overlay{
  position:absolute; inset:0;
  background:
    radial-gradient(800px 600px at 20% 20%, rgba(124,247,212,.18), transparent 60%),
    radial-gradient(900px 800px at 90% 30%, rgba(122,167,255,.16), transparent 60%),
    linear-gradient(180deg, rgba(10,14,20,.85), rgba(10,14,20,.75));
}
[data-theme="light"] .hero__overlay{
  background:
    radial-gradient(900px 700px at 20% 20%, rgba(0,184,148,.16), transparent 60%),
    radial-gradient(900px 700px at 90% 20%, rgba(47,102,255,.14), transparent 60%),
    linear-gradient(180deg, rgba(247,248,251,.86), rgba(247,248,251,.74));
}

.hero__inner{
  position:relative;
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap:24px;
  align-items:start;
}
.eyebrow{display:flex; gap:10px; flex-wrap:wrap; margin:0 0 14px}
.pill{
  font-weight:800;
  font-size:.85rem;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.18);
  color:rgba(255,255,255,.9);
}
[data-theme="light"] .pill{
  background:rgba(255,255,255,.55);
  border:1px solid rgba(11,18,32,.14);
  color:rgba(11,18,32,.92);
}

.hero__cta{display:flex; gap:12px; flex-wrap:wrap; margin:18px 0 16px}

.hero__trust{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:12px;
  margin:18px 0 16px;
}
.stat{
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  padding:14px 14px;
}
[data-theme="light"] .stat{
  background:rgba(255,255,255,.55);
  border:1px solid rgba(11,18,32,.14);
}
.stat__num{font-weight:900; font-size:1.35rem; letter-spacing:-.02em}
.stat__label{color:var(--muted); font-weight:700; font-size:.88rem; margin-top:6px; line-height:1.35}

.hero__chips{display:flex; gap:10px; flex-wrap:wrap}
.chip{
  border-radius:999px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(0,0,0,.18);
  color:rgba(255,255,255,.9);
  font-weight:900;
  cursor:pointer;
}
.chip--solid{
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.25);
  font-weight:800;
  font-size:.82rem;
}
[data-theme="light"] .chip, [data-theme="light"] .chip--solid{
  background:rgba(255,255,255,.55);
  border:1px solid rgba(11,18,32,.14);
  color:rgba(11,18,32,.92);
}

.hero__side{display:flex; flex-direction:column; gap:14px}

.card{
  border-radius:var(--radius2);
  background:var(--card);
  border:1px solid var(--stroke);
  box-shadow:var(--shadow);
  padding:18px;
}
.card--glass{
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
}
.card--accent{
  background:linear-gradient(135deg, rgba(124,247,212,.18), rgba(122,167,255,.12));
  border-color:rgba(124,247,212,.25);
}

.badgeRow{display:flex; flex-wrap:wrap; gap:8px}
.badge{
  font-weight:900;
  font-size:.78rem;
  padding:8px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid var(--stroke);
  color:var(--muted);
}

.divider{height:1px; background:var(--stroke); margin:14px 0}

.field{display:grid; gap:8px}
.field__label{font-weight:900}
.field__control{
  width:100%;
  border-radius:16px;
  border:1px solid var(--stroke);
  background:rgba(0,0,0,.18);
  color:var(--text);
  padding:12px 12px;
  outline:none;
}
[data-theme="light"] .field__control{background:rgba(255,255,255,.7)}
.field__control:focus{border-color:rgba(124,247,212,.38)}
.field__hint{color:var(--muted2); font-size:.86rem; line-height:1.4}

.check{display:flex; align-items:center; gap:10px; color:var(--muted); font-weight:700}
.check input{width:18px;height:18px}
.check--big{margin-top:10px; padding:12px; border-radius:16px; border:1px solid var(--stroke); background:rgba(255,255,255,.04)}

.sectionHead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:20px;
}
.sectionHead__side{display:flex; gap:10px; flex-wrap:wrap}
.filters{display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end}
.filter{
  border-radius:999px;
  padding:10px 12px;
  border:1px solid var(--stroke);
  background:var(--card);
  color:var(--muted);
  font-weight:900;
  cursor:pointer;
}
.filter.is-active{
  color:var(--text);
  border-color:rgba(124,247,212,.32);
  background:linear-gradient(135deg, rgba(124,247,212,.16), rgba(122,167,255,.10));
}

.grid{display:grid; gap:14px}
.grid--routes{grid-template-columns:repeat(4, 1fr)}
.grid--two{grid-template-columns:repeat(2, 1fr)}
.grid--three{grid-template-columns:repeat(3, 1fr)}

.routeCard{
  border-radius:22px;
  overflow:hidden;
  border:1px solid var(--stroke);
  background:rgba(0,0,0,.16);
  box-shadow:var(--shadow);
  transition:transform .16s ease, border-color .2s ease, background .2s ease;
}
[data-theme="light"] .routeCard{background:rgba(255,255,255,.65)}
.routeCard:hover{transform:translateY(-4px); border-color:rgba(124,247,212,.22)}
.routeCard__media{position:relative; height:160px; overflow:hidden}
.routeCard__media img{width:100%; height:100%; object-fit:cover; transform:scale(1.02)}
.routeCard__mediaTop{position:absolute; top:10px; left:10px; display:flex; gap:8px; flex-wrap:wrap}
.routeCard__body{padding:14px 14px 16px}
.meta{display:grid; grid-template-columns:repeat(2, 1fr); gap:10px; margin:14px 0 12px}
.meta__item{background:var(--card); border:1px solid var(--stroke); padding:10px; border-radius:16px}
.meta__item dt{color:var(--muted2); font-weight:900; font-size:.78rem}
.meta__item dd{margin:4px 0 0; font-weight:900}
.routeCard__actions{display:flex; gap:10px; flex-wrap:wrap}

.callout{
  margin-top:18px;
  display:grid;
  grid-template-columns: auto 1fr auto;
  gap:16px;
  align-items:center;
  border-radius:var(--radius2);
  border:1px solid rgba(124,247,212,.22);
  background:linear-gradient(135deg, rgba(124,247,212,.14), rgba(122,167,255,.08));
  padding:16px;
}
.callout__icon{
  width:42px; height:42px; border-radius:16px;
  background:radial-gradient(16px 16px at 30% 40%, rgba(255,255,255,.9), transparent 55%),
             radial-gradient(22px 22px at 75% 60%, rgba(124,247,212,.85), transparent 60%),
             linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.03));
  border:1px solid var(--stroke);
}
.bullets{margin:10px 0 0; padding-left:18px; color:var(--muted); line-height:1.65}
.bullets li{margin:6px 0}
.callout__actions{display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end}

.planner{
  display:grid;
  grid-template-columns: 1.08fr .92fr;
  gap:14px;
  align-items:start;
}
.planner__form{border-radius:var(--radius2); border:1px solid var(--stroke); background:var(--card); box-shadow:var(--shadow); overflow:hidden}
.steps{padding:18px}
.step{display:none}
.step.is-active{display:block}
.fieldsGrid{display:grid; grid-template-columns:repeat(2, 1fr); gap:12px; margin-top:12px}
.stepActions{display:flex; justify-content:space-between; gap:10px; margin-top:14px}

.recommendations{display:grid; gap:12px; margin-top:12px}
.rec{
  border-radius:18px;
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.04);
  padding:14px;
}
.rec__top{display:flex; justify-content:space-between; gap:10px; align-items:flex-start}
.rec__title{font-weight:900; margin:0}
.rec__badges{display:flex; gap:8px; flex-wrap:wrap; justify-content:flex-end}
.rec__badge{font-weight:900; font-size:.78rem; padding:8px 10px; border-radius:999px; border:1px solid var(--stroke); background:var(--card); color:var(--muted)}
.rec__meta{display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin-top:10px}
.rec__meta div{border:1px solid var(--stroke); border-radius:16px; padding:10px; background:var(--card)}
.rec__meta strong{display:block; font-weight:900}
.rec__meta span{color:var(--muted2); font-size:.82rem; font-weight:900}
.rec__text{color:var(--muted); line-height:1.65; margin:10px 0 0}

.bag__grid{display:grid; grid-template-columns:repeat(2, 1fr); gap:8px; margin:10px 0}
.bag__result{
  border-radius:18px;
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.04);
  padding:12px;
  margin:10px 0;
}
.bag__kg{font-weight:900; font-size:1.2rem}
.bag__advice{color:var(--muted); margin-top:8px; line-height:1.55}

.numbers{margin:10px 0 0; padding-left:20px; color:var(--muted); line-height:1.65}
.numbers li{margin:8px 0}

.accordion{display:grid; gap:10px}
.accItem{border-radius:22px; border:1px solid var(--stroke); background:var(--card); overflow:hidden}
.accBtn{
  width:100%;
  text-align:left;
  padding:16px 16px;
  font-weight:900;
  font-size:1rem;
  background:transparent;
  border:none;
  color:var(--text);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.accIcon{
  width:18px;height:18px; position:relative;
}
.accIcon::before,.accIcon::after{
  content:"";
  position:absolute;
  inset:8px 0 auto 0;
  height:2px;
  background:var(--text);
  border-radius:2px;
}
.accIcon::after{
  transform:rotate(90deg);
}
.accItem.is-open .accIcon::after{opacity:0}
.accPanel{padding:0 16px 16px}
.accContent{padding-top:6px}

.tabs{border-radius:var(--radius2); border:1px solid var(--stroke); background:var(--card); box-shadow:var(--shadow); overflow:hidden}
.tabs__bar{display:flex; gap:8px; padding:12px; border-bottom:1px solid var(--stroke); flex-wrap:wrap}
.tab{
  border-radius:999px;
  padding:10px 12px;
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.04);
  color:var(--muted);
  font-weight:900;
  cursor:pointer;
}
.tab.is-active{
  color:var(--text);
  border-color:rgba(124,247,212,.30);
  background:linear-gradient(135deg, rgba(124,247,212,.14), rgba(122,167,255,.10));
}
.tabs__panes{padding:16px}

.gallery{margin-top:18px}
.gallery__head{display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-bottom:12px}
.gallery__grid{display:grid; grid-template-columns:repeat(6, 1fr); gap:10px}
.gItem{
  border-radius:18px;
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.04);
  padding:0;
  overflow:hidden;
  cursor:pointer;
  transition:transform .14s ease;
}
.gItem:hover{transform:translateY(-2px)}
.gItem img{width:100%; height:120px; object-fit:cover}

.mapWrap{
  display:grid;
  grid-template-columns: .85fr 1.15fr;
  gap:14px;
  align-items:stretch;
}
.mapWrap__embed{
  border-radius:var(--radius2);
  overflow:hidden;
  border:1px solid var(--stroke);
  box-shadow:var(--shadow);
  background:var(--card);
}
.mapWrap__embed iframe{width:100%; height:100%; min-height:420px; border:0}
.kv{display:grid; gap:10px; margin-top:10px}
.kv__row{display:flex; justify-content:space-between; gap:10px; padding:10px 12px; border-radius:16px; border:1px solid var(--stroke); background:rgba(255,255,255,.04)}
.kv__row span{color:var(--muted2); font-weight:900; font-size:.85rem}
.kv__row strong{font-weight:900}
.kv--small .kv__row{padding:9px 10px}
.miniNote{margin-top:10px; padding:12px; border-radius:18px; border:1px dashed rgba(124,247,212,.35); color:var(--muted); background:rgba(124,247,212,.07)}

.faqGrid{display:grid; grid-template-columns:repeat(3, 1fr); gap:14px}
.faq{border-radius:var(--radius2); border:1px solid var(--stroke); background:var(--card); box-shadow:var(--shadow); padding:16px}

.booking{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:14px;
  align-items:start;
}
.booking__form{
  border-radius:var(--radius2);
  border:1px solid var(--stroke);
  background:var(--card);
  box-shadow:var(--shadow);
  padding:18px;
}
.booking__actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:12px}
.formMsg{
  margin-top:12px;
  border-radius:18px;
  border:1px solid var(--stroke);
  background:rgba(255,255,255,.04);
  padding:12px;
  color:var(--muted);
  display:none;
}
.formMsg.is-show{display:block}
.formMsg.is-error{border-color:rgba(255,107,107,.35)}

.final{
  display:grid;
  grid-template-columns: 1.05fr .95fr;
  gap:14px;
  align-items:stretch;
}
.final__card{
  border-radius:var(--radius2);
  border:1px solid var(--stroke);
  background:linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.03));
  box-shadow:var(--shadow);
  padding:18px;
}
.final__cta{display:flex; gap:12px; flex-wrap:wrap; margin-top:12px}
.quote__text{color:var(--muted); line-height:1.75; margin:0}
.quote__author{color:var(--muted2); font-weight:900; margin:12px 0 0}
.miniStats{display:grid; gap:10px}
.miniStat{display:flex; gap:12px; align-items:flex-start}
.miniStat__num{width:34px;height:34px;border-radius:14px; display:flex; align-items:center; justify-content:center; border:1px solid var(--stroke); background:var(--card); font-weight:900}
.miniStat__label{color:var(--muted); line-height:1.5; font-weight:800}

.footer{
  border-top:1px solid var(--stroke);
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
  padding:40px 0 22px;
}
.footer__grid{
  display:grid;
  grid-template-columns: 1.2fr .8fr .6fr .8fr;
  gap:14px;
  align-items:start;
}
.footer__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid var(--stroke);
}
.footer__bottomActions{display:flex; gap:10px; flex-wrap:wrap}
.footer--simple{padding:18px 0}
.footer--simple .footer__bottom{margin-top:0; padding-top:0; border-top:none}

.linkList{display:grid; gap:8px}
.linkList a{color:var(--muted); font-weight:800}
.linkList a:hover{color:var(--text); text-decoration:none}

.toastHost{
  position:fixed;
  right:14px;
  bottom:14px;
  display:grid;
  gap:10px;
  z-index:80;
}
.toast{
  width:min(360px, calc(100vw - 28px));
  border-radius:18px;
  border:1px solid var(--stroke);
  background:rgba(0,0,0,.45);
  backdrop-filter:saturate(160%) blur(18px);
  color:var(--text);
  padding:12px;
  box-shadow:var(--shadow);
}
[data-theme="light"] .toast{background:rgba(255,255,255,.75)}
.toast__title{font-weight:900}
.toast__text{color:var(--muted); margin-top:6px; line-height:1.55}

.modalHost{position:fixed; inset:0; z-index:90}
.modalOverlay{position:absolute; inset:0; background:rgba(0,0,0,.55)}
.modal{
  position:absolute;
  left:50%; top:50%;
  transform:translate(-50%,-50%);
  width:min(860px, calc(100vw - 28px));
  max-height: min(78vh, 760px);
  overflow:auto;
  border-radius:24px;
  border:1px solid var(--stroke);
  background:linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.06));
  box-shadow:var(--shadow);
}
[data-theme="light"] .modal{background:rgba(247,248,251,.95)}
.modal__head{
  position:sticky;
  top:0;
  background:rgba(0,0,0,.22);
  border-bottom:1px solid var(--stroke);
  padding:14px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  backdrop-filter:saturate(160%) blur(14px);
}
[data-theme="light"] .modal__head{background:rgba(255,255,255,.8)}
.modal__body{padding:16px}
.modal__foot{padding:0 16px 16px}

.cookieBanner{
  position:fixed;
  left:12px; right:12px;
  bottom:12px;
  z-index:70;
}
.cookieBanner__inner{
  width:min(var(--container), 100%);
  margin:0 auto;
  border-radius:24px;
  border:1px solid var(--stroke);
  background:rgba(0,0,0,.55);
  backdrop-filter:saturate(160%) blur(18px);
  box-shadow:var(--shadow);
  padding:14px;
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
}
[data-theme="light"] .cookieBanner__inner{background:rgba(255,255,255,.85)}
.cookieBanner__actions{display:flex; gap:10px; flex-wrap:wrap; justify-content:flex-end}

.doc{padding:50px 0}
.doc__grid{display:grid; grid-template-columns: .7fr 1.3fr; gap:14px; align-items:start}
.doc__content{
  border-radius:var(--radius2);
  border:1px solid var(--stroke);
  background:var(--card);
  box-shadow:var(--shadow);
  padding:18px;
}
.doc__content section{margin-top:18px}
.doc__content p{line-height:1.75}
.doc__actions{display:flex; gap:10px; flex-wrap:wrap; margin-top:18px}
.toc{display:grid; gap:8px}
.toc a{color:var(--muted); font-weight:900}
.toc a:hover{color:var(--text); text-decoration:none}
.toc a.is-active{color:var(--text)}
.kv--small .kv__row strong{font-family:var(--mono); font-size:.92rem}

@media (max-width: 1080px){
  .grid--routes{grid-template-columns:repeat(2, 1fr)}
  .hero__inner{grid-template-columns:1fr; gap:14px}
  .planner,.booking,.final,.mapWrap{grid-template-columns:1fr}
  .gallery__grid{grid-template-columns:repeat(3, 1fr)}
  .faqGrid{grid-template-columns:1fr}
  .footer__grid{grid-template-columns:1fr 1fr}
  .doc__grid{grid-template-columns:1fr}
}
@media (max-width: 820px){
  .nav__toggle{display:inline-flex}
  .nav__panel{
    position:absolute;
    right:20px;
    top:62px;
    width:min(420px, calc(100vw - 40px));
    display:none;
    flex-direction:column;
    align-items:stretch;
    padding:12px;
    border-radius:22px;
    border:1px solid var(--stroke);
    background:rgba(0,0,0,.62);
    backdrop-filter:saturate(160%) blur(18px);
    box-shadow:var(--shadow);
  }
  [data-theme="light"] .nav__panel{background:rgba(255,255,255,.88)}
  .nav__panel.is-open{display:flex}
  .nav__link{padding:12px 12px}
  .header__actions{display:none}
  .hero__trust{grid-template-columns:1fr; }
  .fieldsGrid{grid-template-columns:1fr}
  .gallery__grid{grid-template-columns:repeat(2, 1fr)}
  .cookieBanner__inner{flex-direction:column; align-items:stretch}
  .cookieBanner__actions{justify-content:flex-start}
}
.hero__overlay {
  background: rgba(0, 0, 0, 0.55); 
  z-index: 1;
}

.hero__inner {
    z-index: 5;
}

/* ===== Footer mobile ===== */
@media (max-width: 768px) {
  .footer {
    padding: 32px 0 24px;
  }

  .footer__grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .footer__col {
    text-align: left;
  }

  .brand--footer {
    margin-bottom: 12px;
  }

  .footer .muted {
    font-size: 14px;
    line-height: 1.5;
  }

  /* Навігація / документи */
  .linkList {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 16px;
  }

  .linkList a {
    font-size: 14px;
  }

  /* Контакти */
  .kv {
    gap: 8px;
    margin-bottom: 12px;
  }

  .kv__row {
    display: flex;
    flex-direction: column;
    gap: 2px;
  }

  .kv__row span {
    font-size: 12px;
  }

  .kv__row strong {
    font-size: 14px;
  }

  /* Кнопка */
  .btn--block {
    width: 100%;
  }

  /* Нижня частина футера */
  .footer__bottom {
    margin-top: 24px;
    padding-top: 16px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);

    display: flex;
    flex-direction: column;
    gap: 12px;
  }

  .fineprint {
    font-size: 12px;
  }

  .footer__bottomActions {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .footer__bottomActions .btn {
    width: 100%;
    justify-content: center;
  }
}
