:root{
  --ink:#16232b;
  --ink-soft:#4b5c63;
  --tile:#0e5c7a;
  --tile-deep:#093f55;
  --tile-light:#2e93a8;
  --saffron:#c8791f;
  --paper:#fbf8f3;
  --sand:#efe6d7;
  --line:#dbcfba;
  --maxw:74rem;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:"Karla",-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:17px;
  line-height:1.65;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--tile)}
a:focus-visible,button:focus-visible{outline:3px solid var(--saffron);outline-offset:2px}

h1,h2,h3,h4{font-family:"Fraunces",Georgia,serif;font-weight:600;line-height:1.15;letter-spacing:-.01em;margin:0 0 .5em}
h1{font-size:clamp(2rem,4.4vw,3.1rem)}
h2{font-size:clamp(1.5rem,2.8vw,2.1rem)}
h3{font-size:1.25rem}

.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;background:var(--tile);color:#fff;padding:.6rem 1rem;z-index:20}

/* ---- Копфзейле ---- */
.topbar{
  position:sticky;top:0;z-index:10;
  display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:center;justify-content:space-between;
  padding:.7rem clamp(1rem,4vw,3rem);
  background:var(--tile-deep);color:#f4eee2;
}
.brand{display:flex;flex-direction:column;text-decoration:none;color:inherit}
.brand-name{font-family:"Fraunces",Georgia,serif;font-size:1.3rem;letter-spacing:.02em}
.brand-sub{font-size:.78rem;color:#a9c8d3}
.nav{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;font-size:.95rem}
.nav a{color:#e8e0d1;text-decoration:none;padding:.2rem 0;border-bottom:2px solid transparent}
.nav a:hover{border-color:var(--saffron)}
.nav-call{color:#fff;background:var(--saffron);padding:.25rem .8rem !important;border-radius:2px}
.nav-call:hover{border-color:transparent;background:#a96314}

/* ---- Hero / Slider ---- */
.hero{position:relative;background:var(--tile-deep)}
.slides{list-style:none;margin:0;padding:0;height:clamp(19rem,62vh,34rem);position:relative}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .55s ease,visibility 0s linear .55s}
.slide.is-active{opacity:1;visibility:visible;z-index:1;transition:opacity .55s ease}
.slide img{width:100%;height:100%;object-fit:cover;filter:saturate(1.05)}
.slide-text{
  position:absolute;left:0;bottom:0;
  max-width:min(34rem,92%);
  padding:1.3rem clamp(1rem,3vw,2rem) 1.6rem;
  background:linear-gradient(to right,rgba(9,63,85,.92),rgba(9,63,85,.72));
  color:#fdf7ec;
}
.slide-text h2{margin-bottom:.25em;color:#fff}
.slide-text p{margin:0 0 .6rem;color:#dbe8ec;font-size:.98rem}
.slide-link{color:#fff;text-decoration:none;border-bottom:2px solid var(--saffron);padding-bottom:2px}
.hero-controls{
  display:flex;align-items:center;gap:.8rem;justify-content:flex-end;
  padding:.55rem clamp(1rem,3vw,2rem);background:var(--tile-deep);
}
.arrow{background:none;border:1px solid #57808f;color:#e8e0d1;font-size:1rem;line-height:1;
  width:2.1rem;height:2.1rem;border-radius:50%;cursor:pointer}
.arrow:hover{background:#0c4f69}
.dots{display:flex;gap:.4rem}
.dots button{width:.6rem;height:.6rem;padding:0;border-radius:50%;border:1px solid #7ba5b2;background:none;cursor:pointer}
.dots button[aria-current="true"]{background:var(--saffron);border-color:var(--saffron)}

/* ---- Введение ---- */
main{display:block}
.intro{
  max-width:var(--maxw);margin:0 auto;padding:clamp(2.5rem,6vw,4.5rem) clamp(1rem,4vw,3rem) 1rem;
}
.intro h1{max-width:20ch}
.intro p{max-width:62ch;font-size:1.06rem}
.intro-meta{color:var(--ink-soft)}

/* ---- Группы и карточки ---- */
.group{max-width:var(--maxw);margin:0 auto;padding:2.5rem clamp(1rem,4vw,3rem)}
.group-head{border-top:3px solid var(--tile);padding-top:1rem;margin-bottom:1.8rem}
.group-head p{max-width:58ch;margin:0;color:var(--ink-soft)}
.cards{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr))}
.card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.card-media img{width:100%;height:13rem;object-fit:cover}
.card-body{padding:1.1rem 1.2rem 1.4rem;display:flex;flex-direction:column;gap:.55rem;flex:1}
.card-kind{margin:0;font-size:.82rem;letter-spacing:.06em;color:var(--saffron)}
.card h3{margin:0;font-size:1.3rem}
.card h3 a{color:var(--ink);text-decoration:none}
.card h3 a:hover{color:var(--tile)}
.card-lead{margin:0;color:var(--ink-soft);font-size:.96rem}
.facts{margin:.2rem 0 0;display:grid;grid-template-columns:auto 1fr;gap:.15rem .8rem;font-size:.9rem}
.facts dt{color:var(--ink-soft)}
.facts dd{margin:0}
.more{margin-top:auto;align-self:start;text-decoration:none;font-weight:700;
  border-bottom:2px solid var(--saffron);padding-bottom:1px}

/* ---- Призыв к действию ---- */
.cta{
  max-width:var(--maxw);margin:2rem auto 4rem;padding:clamp(1.8rem,4vw,2.8rem) clamp(1.2rem,4vw,3rem);
  background:var(--sand);
}
.cta p{max-width:52ch}
.cta-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.2rem}
.btn{display:inline-block;background:var(--tile);color:#fff;text-decoration:none;padding:.6rem 1.2rem;border-radius:2px}
.btn:hover{background:var(--tile-deep)}
.btn-ghost{background:none;color:var(--tile);border:1px solid var(--tile)}
.btn-ghost:hover{background:#e3eff3}

/* ---- Страница тура ---- */
.tour{max-width:58rem;margin:0 auto;padding:clamp(1.5rem,4vw,3rem) clamp(1rem,4vw,3rem)}
.crumb{font-size:.85rem;color:var(--ink-soft);margin:0 0 .6rem}
.tour-lead{font-size:1.1rem;max-width:60ch;color:var(--ink-soft)}
.tour-img{width:100%;height:clamp(14rem,40vh,24rem);object-fit:cover;margin:1.4rem 0}
.tour-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);margin:0 0 2.2rem}
.tour-facts>div{background:var(--paper);padding:.8rem 1rem}
.tour-facts .wide{grid-column:1/-1}
.tour-facts dt{font-size:.8rem;letter-spacing:.05em;color:var(--saffron)}
.tour-facts dd{margin:.15rem 0 0;font-weight:500}

.prose{max-width:none}
.prose h2{margin-top:2.2rem;border-bottom:1px solid var(--line);padding-bottom:.3rem}
.prose h3,.prose h4{margin-top:1.8rem}
.prose p,.prose li{max-width:72ch}
.prose img{margin:1.2rem 0}
.prose ul,.prose ol{padding-left:1.2rem}
.prose a{word-break:break-word}
.table-scroll{overflow-x:auto;margin:1.4rem 0;border:1px solid var(--line);background:#fff}
.prose table{border-collapse:collapse;width:100%;font-size:.95rem}
.prose td,.prose th{border-bottom:1px solid var(--line);padding:.55rem .8rem;vertical-align:top;text-align:left}
.prose tr:last-child td{border-bottom:0}
.prose th,.prose .theader{background:var(--sand)}

/* ---- Вкладки (замена шорткодов {tab}) ---- */
.tabs{margin:1.6rem 0;border:1px solid var(--line);background:#fff}
.tab-buttons{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line);background:var(--sand)}
.tab-btn{
  font:inherit;font-size:.92rem;font-weight:500;color:var(--ink-soft);
  background:none;border:none;border-bottom:3px solid transparent;
  padding:.75rem 1.1rem;cursor:pointer;text-align:left;
}
.tab-btn:hover{color:var(--ink)}
.tab-btn.is-active{color:var(--tile-deep);border-bottom-color:var(--saffron);background:#fff}
.tab-panel{display:none;padding:1.2rem 1.3rem}
.tab-panel.is-active{display:block}
.tab-panel>*:first-child{margin-top:0}
.tab-panel>*:last-child{margin-bottom:0}

.ask{margin-top:3rem;padding:1.6rem;border:1px solid var(--tile);background:#fff}
.ask h2{margin-top:0}
.more-tours{max-width:58rem;margin:0 auto 4rem;padding:0 clamp(1rem,4vw,3rem)}
.tour-list{list-style:none;margin:0;padding:0;display:grid;gap:1rem;
  grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}
.tour-list a{display:block;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line)}
.tour-list img{height:7.5rem;width:100%;object-fit:cover}
.tour-list span{display:block;padding:.6rem .8rem;font-weight:500}
.tour-list em{display:block;font-style:normal;font-size:.85rem;color:var(--ink-soft)}
.tour-list a:hover{border-color:var(--tile)}

/* ---- Футер ---- */
.footer{background:var(--tile-deep);color:#e4dccc;margin-top:3rem;padding:clamp(2rem,5vw,3.4rem) clamp(1rem,4vw,3rem) 1.5rem}
.footer-grid{max-width:var(--maxw);margin:0 auto;display:grid;gap:2rem;
  grid-template-columns:repeat(auto-fit,minmax(15rem,1fr))}
.footer h2{font-size:1.15rem;color:#fff}
.footer a{color:#cfe3e9}
.addr{line-height:1.5}
.big-link{font-size:1.05rem}
.hint{font-size:.85rem;color:#9bb9c4}
.plain{list-style:none;margin:0;padding:0;display:grid;gap:.35rem}
.copy{max-width:var(--maxw);margin:2.5rem auto 0;font-size:.85rem;color:#8fb0bb;
  border-top:1px solid #1d5972;padding-top:1rem}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}
