/* Yachtingsail — дизайн-система «Андаман» (см. дизайн-система.md) */
:root{
  --abyss:#061826; --deep:#0B3A53; --sea:#0E6E86; --sea-dark:#0A5A6E; --lagoon:#2BB8AE;
  --slate:#4E6E85; --haze:#C9D6E3; --mist:#EEF3F6; --white:#FFFFFF;
  --ink:#0E1E2A; --muted:#55687A; --line:#D7E0E7;
  --on-dark:#D9E4EC; --on-dark-muted:#A7BACA;
  --glass:rgba(255,255,255,.12); --glass-line:rgba(255,255,255,.4);
  --wa:#17793F; --tg:#1A6A9C;

  --f-display:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --f-body:"Manrope","Segoe UI",Arial,sans-serif;

  --fs-h1:clamp(40px,5.4vw,84px);
  --fs-h2:clamp(30px,4vw,52px);
  --fs-h3:clamp(20px,1.8vw,24px);
  --fs-lead:clamp(17px,1.4vw,19px);

  --container:1320px; --side:clamp(20px,5vw,80px);
  --section-y:clamp(72px,10vw,150px);
  --inset:12px; --header-h:76px;
  --r-sm:14px; --r-md:24px; --r-lg:32px; --r-pill:999px;
  --shadow:0 30px 60px -30px rgba(6,24,38,.5);
  --ease:cubic-bezier(.16,1,.3,1);
}

/* ---------- база ---------- */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 16px);-webkit-text-size-adjust:100%;
  scrollbar-color:var(--sea) var(--mist)}
body{margin:0;background:var(--white);color:var(--ink);font:400 16px/1.6 var(--f-body);overflow-x:hidden;caret-color:var(--sea)}
::selection{background:var(--lagoon);color:var(--abyss)}
img,video,svg{max-width:100%;display:block}
svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
a{color:inherit;text-underline-offset:.25em}
h1,h2,h3{margin:0;text-wrap:balance}
p{margin:0}
:focus-visible{outline:2px solid var(--lagoon);outline-offset:3px;border-radius:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.container{width:100%;max-width:calc(var(--container) + 2 * var(--side));margin:0 auto;
  padding-left:max(var(--side),env(safe-area-inset-left,0px));padding-right:max(var(--side),env(safe-area-inset-right,0px))}

h2{font:800 var(--fs-h2)/1.04 var(--f-display);text-transform:uppercase;letter-spacing:-.01em}
h3{font:700 var(--fs-h3)/1.2 var(--f-display);letter-spacing:-.01em}

/* ---------- кнопки: капсула с кругом-стрелкой ---------- */
.btn{--h:56px;--i:40px;display:inline-flex;align-items:center;gap:14px;min-height:var(--h);
  padding:0 calc((var(--h) - var(--i)) / 2) 0 26px;border:0;border-radius:var(--r-pill);
  background:var(--sea);color:var(--white);font:600 15.5px/1.2 var(--f-body);text-decoration:none;cursor:pointer;
  transition:background-color .3s var(--ease),box-shadow .3s var(--ease)}
.btn__icon{flex:none;display:grid;place-items:center;width:var(--i);height:var(--i);border-radius:50%;
  background:var(--white);color:var(--sea);transition:transform .35s var(--ease)}
.btn__icon svg{width:18px;height:18px}
.btn:hover{background:var(--sea-dark)}
.btn:hover .btn__icon{transform:translateX(4px)}
.btn:active .btn__icon{transform:translateX(6px)}
.btn--sm{--h:46px;--i:34px;padding-left:20px;font-size:14.5px}
.btn--light{background:var(--white);color:var(--abyss)}
.btn--light .btn__icon{background:var(--sea);color:var(--white)}
.btn--light:hover{background:var(--mist)}
.btn--ghost{background:rgba(6,24,38,.42);color:var(--white);box-shadow:inset 0 0 0 1px var(--glass-line);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
.btn--ghost .btn__icon{background:rgba(255,255,255,.18);color:var(--white);box-shadow:inset 0 0 0 1px var(--glass-line)}
.btn--ghost:hover{background:rgba(6,24,38,.6)}
.btn--wa{background:var(--wa)} .btn--wa .btn__icon{color:var(--wa)} .btn--wa:hover{background:#126433}
.btn--tg{background:var(--tg)} .btn--tg .btn__icon{color:var(--tg)} .btn--tg:hover{background:#155883}
.btn[aria-disabled="true"]{background:var(--mist);color:var(--muted);pointer-events:none}
.btn[aria-disabled="true"] .btn__icon{display:none}

/* ---------- шапка ---------- */
.header{position:fixed;z-index:50;top:var(--inset);left:var(--inset);right:var(--inset);height:var(--header-h);
  color:var(--white);border-radius:var(--r-lg) var(--r-lg) 0 0;
  transition:top .35s var(--ease),left .35s var(--ease),right .35s var(--ease),background-color .35s var(--ease),border-radius .35s var(--ease)}
.header__in{height:100%;display:flex;align-items:center;gap:28px;padding:0 clamp(20px,3vw,40px);
  border-bottom:1px solid var(--glass-line);transition:border-color .35s var(--ease)}
.header.is-solid{top:0;left:0;right:0;border-radius:0;background:var(--white);color:var(--ink);
  box-shadow:0 12px 30px -24px rgba(6,24,38,.5);padding-top:env(safe-area-inset-top,0px);height:calc(var(--header-h) + env(safe-area-inset-top,0px))}
.header.is-solid .header__in{border-color:transparent;max-width:calc(var(--container) + 2 * var(--side));margin:0 auto;padding:0 var(--side)}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;font:800 15px/1 var(--f-display);letter-spacing:.06em;white-space:nowrap}
.logo img{width:40px;height:40px}
.logo__white,.header.is-solid .logo__color{display:block}
.logo__color,.header.is-solid .logo__white{display:none}
.nav{display:flex;gap:30px;margin-left:auto}
.nav a{text-decoration:none;font-weight:500;font-size:15px;padding:6px 0;background:linear-gradient(currentColor,currentColor) left bottom/0 1px no-repeat;transition:background-size .35s var(--ease)}
.nav a:hover{background-size:100% 1px}
.header__right{display:flex;align-items:center;gap:14px}
.lang{display:flex;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px var(--glass-line);padding:3px}
.header.is-solid .lang{box-shadow:inset 0 0 0 1px var(--line)}
.lang button{border:0;background:none;color:inherit;font:700 12.5px/1 var(--f-body);letter-spacing:.04em;padding:8px 11px;border-radius:var(--r-pill);cursor:pointer}
.lang button[aria-pressed="true"]{background:var(--white);color:var(--abyss)}
.header.is-solid .lang button[aria-pressed="true"]{background:var(--abyss);color:var(--white)}
.header.is-solid .header__cta{background:var(--sea);color:var(--white)}
.header.is-solid .header__cta .btn__icon{background:var(--white);color:var(--sea)}
.burger{display:none;width:46px;height:46px;border:0;border-radius:50%;background:none;color:inherit;cursor:pointer;
  flex-direction:column;justify-content:center;align-items:center;gap:6px;box-shadow:inset 0 0 0 1px var(--glass-line)}
.header.is-solid .burger{box-shadow:inset 0 0 0 1px var(--line)}
.burger span{display:block;width:18px;height:1.8px;background:currentColor;border-radius:2px;transition:transform .3s var(--ease)}
.burger[aria-expanded="true"] span:first-child{transform:translateY(3.9px) rotate(45deg)}
.burger[aria-expanded="true"] span:last-child{transform:translateY(-3.9px) rotate(-45deg)}

/* ---------- первый экран ---------- */
.hero{padding:var(--inset);background:var(--white)}
.hero__frame{position:relative;isolation:isolate;overflow:hidden;border-radius:var(--r-lg);background:var(--abyss);color:var(--white);
  min-height:clamp(640px,calc(100svh - 2 * var(--inset)),1000px);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:1fr auto}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 55%;z-index:-2}
.hero__frame::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(6,24,38,.72) 0%,rgba(6,24,38,.28) 38%,rgba(6,24,38,.12) 55%,rgba(6,24,38,.62) 100%)}
.hero__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-content:start;
  padding:calc(var(--header-h) + clamp(40px,7vh,88px)) clamp(20px,3vw,40px) 0}
.hero__text{grid-column:1 / span 6;display:grid;gap:26px;align-content:start}
.hero h1{font:300 var(--fs-h1)/1.02 var(--f-display);letter-spacing:-.025em;max-width:11ch}
.hero h1 em{display:block;font-style:normal;font-weight:700}
.hero__sub{font-size:var(--fs-lead);line-height:1.55;color:var(--on-dark);max-width:30em}
.hero__cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:4px}
.hero__clip{grid-column:9 / span 4;position:relative;align-self:start;margin-top:8px}
.hero__video{width:100%;aspect-ratio:736/400;object-fit:cover;border-radius:var(--r-md);box-shadow:var(--shadow)}
.bubble{position:absolute;left:-28px;bottom:-22px;display:flex;align-items:baseline;gap:10px;padding:12px 18px;border-radius:var(--r-pill);
  background:rgba(6,24,38,.45);box-shadow:inset 0 0 0 1px var(--glass-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);
  font-size:13.5px;white-space:nowrap}
.bubble b{font:800 17px/1 var(--f-display);color:var(--lagoon)}
.hero__place{display:flex;align-items:center;gap:8px;font:500 15px/1.4 var(--f-body);color:var(--on-dark)}
.hero__place svg{width:18px;height:18px;color:var(--lagoon);flex:none}
.hero__word{margin:0;min-width:0;overflow:hidden;padding:clamp(24px,4vh,48px) clamp(12px,1.6vw,24px) clamp(12px,1.4vw,22px);
  font:800 calc((100vw - 2 * var(--inset) - 2 * clamp(12px,1.6vw,24px)) / 8.6)/.78 var(--f-display);
  letter-spacing:-.02em;text-align:center;white-space:nowrap;color:var(--white);
  animation:word-rise 1.4s var(--ease) both}
@keyframes word-rise{from{transform:translateY(.22em)}to{transform:none}}

/* ---------- общие блоки ---------- */
.section{--pt:var(--section-y);--thread:rgba(14,110,134,.45);position:relative;padding-block:var(--pt) var(--section-y)}
.section--abyss,.section--deep{--thread:rgba(43,184,174,.55)}
/* нить маршрута: один сплошной пунктир в левом поле от первого экрана до заявки, точка у каждого заголовка */
.section::before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--side) / 2 - 1px);border-left:2px dashed var(--thread);pointer-events:none}
.section::after{content:"";position:absolute;top:calc(var(--pt) + 12px);left:calc(var(--side) / 2 - 6px);
  width:12px;height:12px;border-radius:50%;background:var(--thread-dot,var(--sea));pointer-events:none}
.section--abyss,.section--deep{--thread-dot:var(--lagoon)}
.booking::before{bottom:auto;height:calc(var(--pt) + 12px)}
.section--white{background:var(--white)}
.section--mist{background:var(--mist)}
.section--abyss{background:var(--abyss);color:var(--white)}
.section--deep{background:var(--deep);color:var(--white)}
.split-head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.split-head h2{grid-column:1 / span 6}
.split-head p{grid-column:8 / span 5;font-size:var(--fs-lead);color:var(--muted)}

/* ---------- даты ---------- */
.dates{--pt:clamp(64px,8vw,112px)}
.dates__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start;margin-bottom:clamp(36px,4vw,56px)}
.dates__head h2{grid-column:1 / span 5}
.dates__aside{grid-column:7 / span 6;display:grid;gap:28px}
.dates__aside>p{font-size:var(--fs-lead);color:var(--muted)}
.facts{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.facts li{display:grid;gap:6px;padding:0 28px;border-left:1px solid var(--line)}
.facts li:first-child{padding-left:0;border-left:0}
.facts b{font:800 clamp(34px,3.4vw,48px)/1 var(--f-display);color:var(--sea);font-variant-numeric:tabular-nums}
.facts span{font-size:13.5px;line-height:1.35;color:var(--muted);max-width:11ch}
.dates__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.date{display:grid;gap:18px;padding:24px;border-radius:var(--r-md);background:var(--white);box-shadow:inset 0 0 0 1px var(--line);
  transition:box-shadow .3s var(--ease)}
.date:hover{box-shadow:inset 0 0 0 1px var(--sea)}
.date__top{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.date__range{font:700 21px/1.2 var(--f-display);letter-spacing:-.01em}
.date__status{font-size:14px;font-weight:600;color:var(--sea);white-space:nowrap}
.date--full .date__range,.date--full .date__status{color:var(--muted)}
.date__cabins{display:flex;gap:8px}
.cab-dot{display:inline-block;width:16px;height:16px;border-radius:50%;background:var(--lagoon)}
.cab-dot--busy{background:transparent;box-shadow:inset 0 0 0 1.5px var(--haze)}
.date .btn{justify-self:start}
.dates__empty{grid-column:1/-1;color:var(--muted)}
.dates__legend{display:flex;align-items:center;gap:8px;margin-top:20px;font-size:14px;color:var(--muted)}
.dates__legend .cab-dot{width:12px;height:12px}
.dates__legend .cab-dot--busy{margin-left:16px}

/* ---------- почему ---------- */
.why__in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:center}
.why__photo{grid-column:1 / span 5;margin:0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5}
.why__photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.why__photo:hover img{transform:scale(1.03)}
.why__body{grid-column:7 / span 6}
.why__list{list-style:none;margin:clamp(32px,4vw,48px) 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:36px 28px}
.why__list li{display:grid;gap:10px;align-content:start;padding-top:20px;border-top:1px solid var(--haze)}
.why__list h3{font-size:19px}
.why__list p{color:var(--muted);font-size:15.5px}

/* ---------- маршрут ---------- */
.route__head{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:end;margin-bottom:clamp(40px,5vw,72px)}
.route__head h2{grid-column:1 / span 6}
.route__head p{grid-column:8 / span 5;font-size:var(--fs-lead);color:var(--on-dark-muted)}
.route__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.map{grid-column:1 / span 5;margin:0;position:sticky;top:calc(var(--header-h) + 20px)}
.map__shore{mask:url(#shoreFade)}
.map__shore path{fill:rgba(201,214,227,.16);stroke:rgba(201,214,227,.28);stroke-width:1;stroke-linejoin:round}
.map svg{width:100%;height:auto;max-height:calc(100svh - var(--header-h) - 120px);stroke:none}
.map__route{fill:none;stroke:rgba(201,214,227,.35);stroke-width:2;stroke-dasharray:6 6;stroke-linecap:round}
.map__progress{fill:none;stroke:var(--lagoon);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;
  stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.1s var(--ease)}
.map__night{fill:var(--abyss);stroke:var(--lagoon);stroke-width:2;transition:fill .4s var(--ease)}
.map__num{fill:var(--lagoon);font:700 12.5px var(--f-display);text-anchor:middle;dominant-baseline:central;pointer-events:none;transition:fill .4s var(--ease)}
.map__stop.is-on .map__night,.map__stop:hover .map__night,.map__stop:focus .map__night{fill:var(--lagoon)}
.map__stop.is-on .map__num,.map__stop:hover .map__num,.map__stop:focus .map__num{fill:var(--abyss)}
.route__strip{display:none}
.map__pass{fill:var(--abyss);stroke:var(--haze);stroke-width:2}
.map__lbl{fill:var(--on-dark);font:600 15px var(--f-body)}
.map__sea{fill:var(--on-dark-muted);font:italic 400 14px var(--f-body);letter-spacing:.04em}
.map__land{fill:var(--on-dark-muted);font:700 12px var(--f-display);letter-spacing:.2em}
.map__scale{stroke:var(--on-dark-muted);stroke-width:1.5;fill:none}
.map__small{fill:var(--on-dark-muted);font:500 12px var(--f-body)}
.map__legend{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:13px;color:var(--on-dark-muted);margin-top:8px}
.map__legend>span{display:inline-flex;align-items:center;gap:8px}
.map__legend i{width:12px;height:12px;border-radius:50%;background:var(--lagoon)}
.map__legend i.o{background:none;box-shadow:inset 0 0 0 2px var(--haze)}

.days{grid-column:7 / span 6;list-style:none;margin:0;padding:0;position:relative;display:grid;gap:clamp(48px,6vw,80px)}
.days::before{content:"";position:absolute;left:21px;top:22px;bottom:22px;border-left:2px dashed rgba(43,184,174,.35)}
.day{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:24px;scroll-margin-top:calc(var(--header-h) + 24px)}
.day__marker{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;
  background:var(--abyss);box-shadow:inset 0 0 0 2px var(--lagoon);color:var(--lagoon);font:700 16px/1 var(--f-display);
  transition:background-color .4s var(--ease),color .4s var(--ease)}
.day.is-on .day__marker{background:var(--lagoon);color:var(--abyss)}
.day__body{display:grid;gap:16px;min-width:0;padding-top:6px}
.day h3{font-size:clamp(22px,2.2vw,28px)}
.day__body>p{color:var(--on-dark);max-width:62ch}
.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.chips li{font-size:13.5px;line-height:1.3;padding:7px 14px;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px rgba(201,214,227,.3);color:var(--on-dark)}
.chips .chip--day{background:var(--lagoon);color:var(--abyss);box-shadow:none;font-weight:700}
.day__photos{display:grid;grid-template-columns:1.3fr 1fr;gap:10px;margin-top:6px}
.day__photos img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:20px;background:var(--deep)}

/* ---------- яхта ---------- */
.yacht__gallery{display:grid;grid-template-columns:6fr 3fr 3fr;grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;aspect-ratio:2.15/1;
  grid-template-areas:"m a a" "m b c"}
.yacht__gallery img{width:100%;height:100%;object-fit:cover;border-radius:var(--r-md)}
.yacht__main{grid-area:m;border-radius:var(--r-lg)!important}
.yacht__gallery img:nth-child(2){grid-area:a}
.yacht__gallery img:nth-child(3){grid-area:b}
.yacht__gallery img:nth-child(4){grid-area:c}
.features{list-style:none;margin:clamp(40px,5vw,64px) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.features li{display:grid;gap:10px;align-content:start;padding-top:20px;border-top:1px solid var(--line)}
.features h3{font-size:18px}
.features p{color:var(--muted);font-size:15.5px}

/* ---------- капитаны ---------- */
.crew__title{margin-bottom:clamp(40px,5vw,64px)}
.crew .captain__stats li{border-color:rgba(201,214,227,.3)}
.crew .captain__stats b{color:var(--lagoon)}
.crew .captain__stats span{color:var(--on-dark-muted)}
.crew .captain>p{color:var(--on-dark)}
.crew__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,4vw,56px)}
.captain{display:grid;gap:22px;align-content:start}
.captain__photo{position:relative;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:5/4;background:var(--deep)}
.captain__photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.captain__photo::after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(180deg,transparent,rgba(6,24,38,.75))}
.captain__name{position:absolute;z-index:1;left:28px;bottom:22px;color:var(--white);font:800 clamp(30px,3.2vw,44px)/1 var(--f-display);text-transform:uppercase}
.captain__stats{list-style:none;margin:0;padding:0;display:flex;gap:0}
.captain__stats li{display:grid;gap:4px;padding:0 24px;border-left:1px solid var(--haze)}
.captain__stats li:first-child{padding-left:0;border-left:0}
.captain__stats b{font:800 24px/1.1 var(--f-display);color:var(--sea);font-variant-numeric:tabular-nums}
.captain__stats span{font-size:13.5px;line-height:1.35;color:var(--muted)}
.captain>p{font-size:16px;max-width:60ch}

/* ---------- цены ---------- */
.plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.plan{position:relative;isolation:isolate;overflow:hidden;display:grid;gap:18px;align-content:start;padding:clamp(28px,3vw,44px);
  border-radius:var(--r-lg);background:var(--mist)}
.plan--photo{color:var(--white);background:var(--abyss)}
.plan__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.plan--photo::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(160deg,rgba(6,24,38,.88),rgba(6,24,38,.55))}
.plan__top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.plan h3{font:800 clamp(28px,3vw,40px)/1 var(--f-display);text-transform:uppercase}
.plan__tag{font-size:13.5px;font-weight:600;padding:7px 14px;border-radius:var(--r-pill);box-shadow:inset 0 0 0 1px var(--haze);color:var(--slate)}
.plan--photo .plan__tag{box-shadow:inset 0 0 0 1px var(--glass-line);color:var(--on-dark)}
.plan__price{display:grid;gap:4px;padding-block:6px 4px}
.plan__price span{font:700 clamp(24px,2.4vw,32px)/1.1 var(--f-display);font-variant-numeric:tabular-nums}
.plan__price small{font-size:14px;color:var(--muted)}
.plan--photo .plan__price small{color:var(--on-dark-muted)}
.plan__text{color:var(--muted);max-width:44ch}
.plan--photo .plan__text{color:var(--on-dark)}
.plan .btn{justify-self:start;margin-top:8px}
.incl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 40px;margin-top:clamp(40px,5vw,56px)}
.incl h3{font-size:19px;margin-bottom:16px}
.incl__list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.incl__list li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:start}
.incl__list svg{width:28px;height:28px;padding:5px;border-radius:50%;stroke-width:2.2}
.incl__list--yes svg{background:var(--sea);color:var(--white)}
.incl__list--no svg{box-shadow:inset 0 0 0 1px var(--haze);color:var(--slate)}
.incl__list span{padding-top:2px}

/* ---------- вопросы ---------- */
.faq__in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.faq__in h2{grid-column:1 / span 4;position:sticky;top:calc(var(--header-h) + 24px)}
.faq__list{grid-column:6 / span 7;display:grid;gap:12px}
.faq details{background:var(--white);border-radius:var(--r-md);padding:0 24px;transition:box-shadow .3s var(--ease)}
.faq details[open]{box-shadow:inset 0 0 0 1px var(--haze)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-weight:600;font-size:17px}
.faq summary::-webkit-details-marker{display:none}
.faq summary svg{flex:none;width:38px;height:38px;padding:9px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--haze);color:var(--sea);transition:transform .35s var(--ease),background-color .3s var(--ease)}
.faq summary:hover svg{background:var(--mist)}
.faq details[open] summary svg{transform:rotate(45deg)}
.faq details p{padding-bottom:24px;color:var(--muted);max-width:60ch}

/* ---------- заявка ---------- */
.booking__in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;align-items:start}
.booking__intro{grid-column:1 / span 5;display:grid;gap:20px}
.booking__intro>p{color:var(--on-dark);font-size:var(--fs-lead)}
.contacts{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:10px}
.contacts a{display:inline-flex;align-items:center;gap:12px;text-decoration:none;font-weight:600}
.contacts a:hover{text-decoration:underline}
.contacts i{width:10px;height:10px;border-radius:50%;background:var(--lagoon)}
.form{grid-column:7 / span 6;background:var(--white);color:var(--ink);border-radius:var(--r-lg);padding:clamp(24px,3vw,40px);
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.field{display:grid;gap:8px;margin:0;padding:0;border:0;min-width:0}
.field--full{grid-column:1/-1}
.field label,.field legend{font-size:14px;font-weight:600;padding:0}
.field input,.field select,.field textarea{width:100%;font:500 16px/1.4 var(--f-body);color:var(--ink);background:var(--white);
  border:1px solid var(--haze);border-radius:var(--r-sm);padding:13px 16px;min-height:52px;transition:border-color .2s,box-shadow .2s}
.field textarea{resize:vertical;min-height:96px}
.field select{-webkit-appearance:none;appearance:none;padding-right:48px;cursor:pointer;
  background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230E6E86' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center/20px}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--slate)}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--sea);outline:none;box-shadow:0 0 0 3px rgba(14,110,134,.18)}
.field [aria-invalid="true"]{border-color:#B3261E}
.seg{display:grid;grid-template-columns:1fr 1fr;background:var(--mist);border-radius:var(--r-pill);padding:4px;min-height:52px}
.seg label{position:relative;display:grid;cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:grid;place-items:center;border-radius:var(--r-pill);font-weight:600;font-size:15px;color:var(--muted);transition:background-color .25s,color .25s}
.seg input:checked+span{background:var(--abyss);color:var(--white)}
.seg input:focus-visible+span{outline:2px solid var(--lagoon);outline-offset:2px}
.form__actions{display:flex;flex-wrap:wrap;gap:12px}
.form__actions .btn{flex:1 1 220px;justify-content:space-between}
.field--trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form{position:relative}
.btn[aria-busy="true"]{opacity:.75;cursor:progress}
.btn[aria-busy="true"] .btn__icon svg{animation:pulse-x 1s var(--ease) infinite alternate}
@keyframes pulse-x{to{transform:translateX(4px)}}
.form__error{grid-column:1/-1;color:#B3261E;font-weight:600;font-size:15px}
.form__note{color:var(--sea);font-weight:600;font-size:15px}

/* ---------- подвал ---------- */
.footer{background:var(--abyss);color:var(--on-dark-muted);padding-block:44px calc(44px + env(safe-area-inset-bottom,0px))}
.footer__in{display:flex;flex-wrap:wrap;align-items:center;gap:16px 36px}
.footer .logo{color:var(--white)}
.footer__copy{margin-left:auto;font-size:14px}

.sticky-cta{display:none}

/* ---------- адаптив ---------- */
@media (max-width:1100px){
  .nav{gap:20px}
  .hero__text{grid-column:1 / span 7}
  .hero__clip{grid-column:9 / span 4}
  .features{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why__list{grid-template-columns:1fr}
}
@media (max-width:900px){
  :root{--inset:8px;--header-h:68px}
  .burger{display:flex}
  .header__cta{display:none}
  .nav{position:fixed;top:calc(var(--header-h) + var(--inset));left:var(--inset);right:var(--inset);flex-direction:column;gap:0;margin:0;
    background:var(--white);color:var(--ink);border-radius:var(--r-md);padding:8px 24px 16px;box-shadow:var(--shadow);
    opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s,transform .25s var(--ease),visibility .25s}
  .header.is-solid .nav{top:var(--header-h);left:0;right:0;border-radius:0 0 var(--r-md) var(--r-md)}
  .nav.is-open{opacity:1;visibility:visible;transform:none}
  .nav a{padding:15px 0;border-bottom:1px solid var(--line);font-size:18px;background:none}
  .nav a:last-child{border-bottom:0}
  .header__right{margin-left:auto}

  .hero__frame{border-radius:var(--r-md);min-height:calc(100svh - 2 * var(--inset))}
  .hero__grid{grid-template-columns:minmax(0,1fr);padding-top:calc(var(--header-h) + 40px)}
  .hero__text,.hero__place{grid-column:1}
  .hero__clip{display:none}
  .hero__bg{object-position:62% 50%}
  .hero__frame::before{background:linear-gradient(180deg,rgba(6,24,38,.78) 0%,rgba(6,24,38,.45) 50%,rgba(6,24,38,.7) 100%)}
  .hero__cta .btn{flex:1 1 100%;justify-content:space-between}
  .hero__word{animation:none;padding-bottom:12px;line-height:.85}

  .dates__head,.split-head,.route__head,.why__in,.route__grid,.faq__in,.booking__in{grid-template-columns:minmax(0,1fr);row-gap:20px}
  .dates__head>*,.split-head>*,.route__head>*,.why__in>*,.route__grid>*,.faq__in>*,.booking__in>*{grid-column:1!important}
  .dates__list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .why__in{row-gap:40px}
  .why__photo{aspect-ratio:4/3}
  .map{position:static;max-width:560px;margin-bottom:32px}
  .map svg{max-height:none}
  .section::before,.section::after{display:none}
  .route__strip{display:block;position:sticky;z-index:5;top:var(--header-h);margin:0 calc(-1 * var(--side)) 32px;
    padding:14px var(--side);background:var(--abyss);box-shadow:0 1px 0 rgba(201,214,227,.12)}
  .route__bar{position:absolute;left:calc(var(--side) + 14px);right:calc(var(--side) + 14px);top:50%;height:0;border-top:2px dashed rgba(43,184,174,.35)}
  .route__bar i{position:absolute;left:0;top:-2px;height:2px;width:var(--fill,0%);background:var(--lagoon);transition:width .8s var(--ease)}
  .route__dots{position:relative;list-style:none;margin:0;padding:0;display:flex;justify-content:space-between}
  .route__dots li{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--abyss);
    box-shadow:inset 0 0 0 2px var(--lagoon);color:var(--lagoon);font:700 12px/1 var(--f-display);transition:background-color .4s,color .4s}
  .route__dots li.is-on{background:var(--lagoon);color:var(--abyss)}
  .faq__in h2{position:static;margin-bottom:12px}
  .yacht__gallery{aspect-ratio:auto;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto;grid-template-areas:"m m m" "a b c"}
  .yacht__main{aspect-ratio:16/11}
  .yacht__gallery img:not(.yacht__main){aspect-ratio:1}
  .crew__grid,.plans,.incl{grid-template-columns:minmax(0,1fr)}
  .booking__intro{margin-bottom:28px}

  .sticky-cta{position:fixed;z-index:40;left:var(--inset);right:var(--inset);bottom:calc(var(--inset) + env(safe-area-inset-bottom,0px));
    display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 8px 8px 20px;border-radius:var(--r-pill);
    background:var(--abyss);color:var(--white);text-decoration:none;box-shadow:var(--shadow);
    transform:translateY(calc(100% + 24px));transition:transform .4s var(--ease)}
  .sticky-cta.is-visible{transform:none}
  .sticky-cta>span{font-size:13.5px;line-height:1.3;color:var(--on-dark)}
  .sticky-cta b{flex:none;display:inline-flex;align-items:center;gap:8px;background:var(--lagoon);color:var(--abyss);border-radius:var(--r-pill);padding:12px 16px 12px 18px;font-size:14.5px}
  .sticky-cta svg{width:16px;height:16px;stroke-width:2.2}
  .footer{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
}
@media (max-width:560px){
  .logo span{display:none}
  .dates__list{grid-template-columns:minmax(0,1fr)}
  .facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .facts li{padding:0 12px}
  .map__lbl{font-size:21px}
  .map__lbl--aopo{text-anchor:start;transform:translate(46px,-24px)}
  .map__sea{font-size:18px}
  .map__land,.map__small{font-size:17px}
  .map__num{font-size:16px}
  .day{grid-template-columns:36px minmax(0,1fr);column-gap:16px}
  .day__marker{width:36px;height:36px;font-size:14px}
  .days::before{left:17px}
  .day__photos{grid-template-columns:1fr 1fr;gap:8px}
  .day__photos img{border-radius:14px}
  .features{grid-template-columns:minmax(0,1fr)}
  .form{grid-template-columns:minmax(0,1fr)}
  .captain__name{left:20px;bottom:16px}
  .footer__copy{margin-left:0}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
