/* Шаблон сети dubai-yacht — «Chart & Buoy». Редакционная сетка на линейках, без теней и
   скруглений; палитра: бумага / глубокий морской тил / сигнальный коралл буя / песок.
   Мотивы карты: шкала глубин вдоль прозы, бегущая строка маршрута, пеленги у секций,
   координаты, контурные линии в плейсхолдерах. Переменные dx-*, классы короткие. */
:root{
  --dx-paper:#f4efe6;--dx-paper2:#ebe4d6;--dx-ink:#0f2a2b;--dx-teal:#114b4a;--dx-teal2:#1b6c68;
  --dx-coral:#ff5a36;--dx-coral2:#e8492a;--dx-sand:#d8c7a2;--dx-text:#15201f;--dx-muted:#5e6b69;
  --dx-line:rgba(15,42,43,.16);--dx-line2:rgba(15,42,43,.32);
  --dx-disp:"Fraunces","Iowan Old Style",Georgia,serif;
  --dx-body:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
  --dx-mono:"JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --dx-w:1240px;--dx-gut:clamp(16px,4vw,48px);--dx-r:3px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font:16px/1.6 var(--dx-body);color:var(--dx-text);background:var(--dx-paper)}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3,h4{font-family:var(--dx-disp);font-weight:400;line-height:1.02;margin:0;letter-spacing:-.02em;font-variation-settings:"opsz" 144,"SOFT" 30}
h1{font-size:clamp(40px,6.2vw,88px)}h2{font-size:clamp(28px,3.6vw,48px)}h3{font-size:24px}h4{font-size:15px;font-family:var(--dx-mono);letter-spacing:.14em;text-transform:uppercase}
em,.it{font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 100}
p{margin:0 0 1em}.prose p{font-size:17px;max-width:66ch}.prose p:last-child{margin:0}
.mono,.kicker,.crumbs,.yc__len,.route__dur,.tl__time,.step__n,.spec dt,.pt__t th,.foot h4,.top__coords{font-family:var(--dx-mono);letter-spacing:.12em;text-transform:uppercase;font-size:11px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;background:#fff;padding:8px;z-index:99}

/* кнопки: квадратные, моно, со стрелкой */
.btn{display:inline-flex;align-items:center;gap:10px;padding:14px 18px;border-radius:var(--dx-r);font:600 12px/1 var(--dx-mono);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:1px solid var(--dx-ink);color:var(--dx-ink);background:transparent;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.btn:after{content:"→";font-size:14px;transition:transform .15s}.btn:hover:after{transform:translateX(3px)}
.btn--gold{background:var(--dx-coral);border-color:var(--dx-coral);color:#fff}.btn--gold:hover{background:var(--dx-coral2);border-color:var(--dx-coral2)}
.btn--line{border-color:currentColor}.btn--ghost{border-color:rgba(255,255,255,.4);color:#fff}
.btn--sm{padding:9px 12px;font-size:11px}.btn--block{width:100%;justify-content:space-between}
.hero--full .btn--line,.cta .btn--ghost{color:#fff;border-color:rgba(255,255,255,.55)}

/* шапка: тонкая, на бумаге, с линейкой */
.top{position:sticky;top:0;z-index:40;background:rgba(244,239,230,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--dx-line2)}
.top__in{max-width:var(--dx-w);margin:0 auto;padding:0 var(--dx-gut);display:flex;align-items:stretch;gap:0;height:60px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;padding-right:24px;border-right:1px solid var(--dx-line)}
.logo__m{width:30px;height:30px;color:var(--dx-coral);flex:none}.logo__t{font-family:var(--dx-disp);font-size:21px;letter-spacing:-.01em;white-space:nowrap}
.nav{display:flex;min-width:0;overflow:hidden}.nav a{display:flex;align-items:center;padding:0 14px;text-decoration:none;font-size:14px;font-weight:500;border-right:1px solid var(--dx-line);color:var(--dx-text);white-space:nowrap}
.nav a:hover{background:var(--dx-paper2)}
.top__act{margin-left:auto;display:flex;align-items:center;gap:16px;flex:none}.top__act .btn{white-space:nowrap}
.top__coords{color:var(--dx-muted)}
.burger{display:none;width:40px;height:40px;border:0;background:none;position:relative}
.burger span,.burger span:before,.burger span:after{content:"";position:absolute;left:9px;width:22px;height:1.5px;background:var(--dx-ink)}
.burger span{top:19px}.burger span:before{top:-7px}.burger span:after{top:7px}

/* hero: бумага слева, картинка со скошенной кромкой справа, заголовок наползает на кромку */
.hero{position:relative;max-width:none;padding:0}
.hero--full{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:72vh;background:var(--dx-paper);color:var(--dx-text);isolation:isolate}
.hero--tall{min-height:80vh}.hero--short{min-height:52vh}
.hero__img{grid-column:2;grid-row:1;position:relative;width:100%;height:100%;object-fit:cover;clip-path:polygon(9% 0,100% 0,100% 100%,0 100%);z-index:0}
.hero--full .ph.hero__img{position:relative;inset:auto;height:100%;aspect-ratio:auto!important;padding:18px}
.hero--full:after{display:none}
.hero__in{grid-column:1;grid-row:1;z-index:2;max-width:calc(var(--dx-w)/2);width:100%;margin-left:auto;padding:clamp(40px,6vw,88px) 0 clamp(40px,6vw,88px) var(--dx-gut);display:flex;flex-direction:column;justify-content:center}
.hero__in h1{margin-right:-28%;position:relative;z-index:3}
.hero__in .lead{font-size:clamp(17px,1.45vw,20px);max-width:52ch;color:var(--dx-muted);margin:22px 0 28px}
.hero__in--center{text-align:left;align-items:flex-start}
.hero__act{display:flex;gap:10px;flex-wrap:wrap}
.hero--full .hero__act .btn--line{color:var(--dx-ink);border-color:var(--dx-ink)}
.kicker{color:var(--dx-coral);margin:0 0 18px;display:flex;align-items:center;gap:10px}
.kicker:before{content:"";width:9px;height:9px;background:var(--dx-coral);display:inline-block}
.crumbs{display:flex;gap:10px;color:var(--dx-muted);margin-bottom:22px;letter-spacing:.08em}.crumbs a{text-decoration:none}.crumbs a+a:before{content:"/";margin-right:10px;opacity:.5}
.hero__facts{grid-column:1/-1;grid-row:2;z-index:2;max-width:var(--dx-w);width:100%;margin:0 auto;padding:0 var(--dx-gut)}
.hero--split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;max-width:var(--dx-w);margin:0 auto;padding:clamp(40px,6vw,80px) var(--dx-gut)}
.hero--split .hero__in{padding:0;margin:0;max-width:none}.hero--split h1{margin-right:0}
.porthole{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--dx-r);clip-path:polygon(0 0,100% 6%,100% 100%,0 94%)}
.porthole__img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto!important}.porthole .ph{padding-bottom:12%}
.porthole:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 70%,rgba(15,42,43,.35))}

/* бегущая строка маршрута */
.tick{background:var(--dx-teal);color:var(--dx-paper);overflow:hidden;border-top:1px solid var(--dx-ink);border-bottom:1px solid var(--dx-ink)}
.tick__in{display:flex;width:max-content;animation:tick 42s linear infinite;font-family:var(--dx-mono);font-size:12px;letter-spacing:.18em;text-transform:uppercase;padding:12px 0}
.tick__in span{padding:0 28px;white-space:nowrap}.tick__in span:after{content:"→";margin-left:28px;color:var(--dx-coral)}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tick__in{animation:none}}

/* факты: линейка из четырёх колонок, большие цифры */
.facts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));border-top:1px solid var(--dx-ink);border-bottom:1px solid var(--dx-ink)}
.facts__i{padding:22px 22px 22px 0;display:flex;flex-direction:column;gap:6px;border-right:1px solid var(--dx-line);margin-right:22px}
.facts__i:last-child{border-right:0;margin-right:0}
.facts__i b{font-family:var(--dx-disp);font-weight:300;font-size:clamp(32px,3.2vw,44px);line-height:1;letter-spacing:-.03em;color:var(--dx-ink)}
.facts__i span{font:11px/1.4 var(--dx-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dx-muted)}
main>.facts{max-width:calc(var(--dx-w) - 2*var(--dx-gut));margin:0 auto}
.hero__facts .facts{border-top:1px solid var(--dx-ink)}

/* секции и пеленги */
section{max-width:var(--dx-w);margin:0 auto;padding:clamp(44px,6vw,80px) var(--dx-gut)}
.hero,.cta,.gal,.tick{max-width:none}
.sec__head{display:grid;grid-template-columns:auto 1fr;gap:8px 22px;align-items:end;margin-bottom:28px;padding-top:14px;border-top:1px solid var(--dx-ink)}
.sec__head--wide{grid-template-columns:auto 1fr auto}
.more{font:600 11px var(--dx-mono);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:var(--dx-coral);white-space:nowrap;align-self:end;padding-bottom:6px}
.brg{display:inline-flex;align-items:baseline;gap:8px;font-family:var(--dx-mono);font-size:12px;letter-spacing:.14em;color:var(--dx-muted);padding-bottom:6px}
.brg b{font-weight:600;color:var(--dx-coral)}.brg i{font-style:normal;font-size:10px}
.rail{max-width:var(--dx-w);margin:0 auto;padding:0 var(--dx-gut);position:relative}
.rail .sec{padding:clamp(28px,4vw,52px) 0 clamp(28px,4vw,52px) 92px;position:relative}
/* шкала глубин: короткие риски каждые 12px, длинная каждые 60px */
.rail .sec:before{content:"";position:absolute;left:28px;top:0;bottom:0;width:18px;
  background:repeating-linear-gradient(to bottom,var(--dx-line2) 0 1px,transparent 1px 12px) left/8px 100% no-repeat,repeating-linear-gradient(to bottom,var(--dx-line2) 0 1px,transparent 1px 60px) left/18px 100% no-repeat;border-left:1px solid var(--dx-ink)}
.rail .sec .sec__head{border-top:0;padding-top:0;grid-template-columns:1fr;margin-bottom:18px}
.rail .sec .brg{position:absolute;left:0;top:clamp(28px,4vw,52px);writing-mode:vertical-rl;transform:rotate(180deg);padding:0;color:var(--dx-coral)}
.rail .sec .brg i{display:none}
.rail--tight .sec{padding-left:72px}
.sec__body{max-width:66ch}

/* карточки яхт: галерея + имя + три ячейки характеристик + цена и действие */
.grid{display:grid;gap:32px 28px;border-top:1px solid var(--dx-ink);padding-top:28px}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}
.yc{display:flex;flex-direction:column;background:var(--dx-paper);border:1px solid var(--dx-line2);border-radius:var(--dx-r);overflow:hidden}
.yc__gal{position:relative;background:var(--dx-paper2)}
.yc__pic{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:var(--dx-paper2)}
.yc__pic img{width:100%;height:100%;object-fit:cover}
.yc__cnt{position:absolute;right:8px;top:8px;background:rgba(15,42,43,.75);color:var(--dx-paper);font:600 10px var(--dx-mono);letter-spacing:.1em;padding:4px 7px;border-radius:var(--dx-r);pointer-events:none}
.gnav{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:var(--dx-r);background:rgba(244,239,230,.92);color:var(--dx-ink);font:300 26px/1 var(--dx-disp);cursor:pointer;display:grid;place-items:center;opacity:0;transition:opacity .15s;z-index:2}
.gnav--l{left:8px}.gnav--r{right:8px}
.yc__gal:hover .gnav,.bgal__main:hover .gnav,.gnav:focus-visible{opacity:1}
@media (hover:none){.gnav{opacity:1}}
.thumbs{display:flex;gap:4px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px;scrollbar-width:none;background:var(--dx-paper)}.thumbs::-webkit-scrollbar{display:none}
.thumbs__i{flex:0 0 56px;aspect-ratio:4/3;border:0;padding:0;border-radius:2px;overflow:hidden;cursor:pointer;scroll-snap-align:start;opacity:.55;transition:opacity .15s;outline:2px solid transparent;outline-offset:-2px;background:var(--dx-paper2)}
.thumbs__i img{width:100%;height:100%;object-fit:cover}
.thumbs__i:hover{opacity:.9}.thumbs__i.is-on{opacity:1;outline-color:var(--dx-coral)}
.thumbs--lg{gap:6px;padding:8px 0}.thumbs--lg .thumbs__i{flex-basis:112px;border-radius:var(--dx-r)}
.yc__body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:14px;flex:1}
.yc__top{display:flex;flex-direction:column;gap:4px}
.yc__name{font-size:26px;line-height:1.05}.yc__name a{text-decoration:none}.yc__name a:hover{color:var(--dx-coral)}
.yc__kind{font:11px var(--dx-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dx-muted)}
.yc__spec{display:grid;grid-template-columns:repeat(3,1fr);margin:0;border-top:1px solid var(--dx-line);border-bottom:1px solid var(--dx-line)}
.yc__spec div{padding:10px 0;border-right:1px solid var(--dx-line);padding-right:10px;margin-right:10px}.yc__spec div:last-child{border-right:0;margin-right:0;padding-right:0}
.yc__spec dt{font:11px var(--dx-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dx-muted)}.yc__spec dd{margin:2px 0 0;font:300 22px/1.1 var(--dx-disp);letter-spacing:-.02em}
.yc__foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:10px}
.yc__price b{display:block;font:400 24px/1 var(--dx-disp);letter-spacing:-.02em;color:var(--dx-ink)}.yc__price span{display:block;margin-top:4px;font:11px var(--dx-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dx-coral)}
.yc__note{font-size:13px;color:var(--dx-muted);margin:0}

/* шаги: контурные цифры за текстом */
.steps__l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0 28px;border-top:1px solid var(--dx-ink)}
.step{position:relative;padding:36px 0 26px;border-bottom:1px solid var(--dx-line)}
.step__n{position:absolute;top:10px;left:0;font:300 64px/1 var(--dx-disp);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px var(--dx-line2);text-transform:none}
.step b{display:block;position:relative;font-family:var(--dx-disp);font-weight:400;font-size:24px;line-height:1.1;margin:40px 0 10px}.step p{font-size:14px;color:var(--dx-muted);margin:0}

/* пакеты: посадочные талоны в столбик */
.pack__g{display:grid;gap:14px}
.ticket{position:relative;display:grid;grid-template-columns:240px 1fr auto;align-items:center;gap:0 28px;background:var(--dx-paper2);border:1px solid var(--dx-ink);border-radius:var(--dx-r);overflow:hidden}
.ticket__h{display:flex;flex-direction:column;gap:6px;padding:24px 22px;background:var(--dx-teal);color:var(--dx-paper);align-self:stretch;justify-content:center;border-right:1px dashed rgba(244,239,230,.45)}
.ticket__h b{font-family:var(--dx-disp);font-weight:400;font-size:30px;line-height:1}.ticket__h span{font:11px var(--dx-mono);letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.ticket__p{grid-column:3;grid-row:1;padding:0 24px 0 0;font:300 34px var(--dx-disp);letter-spacing:-.02em;text-align:right;color:var(--dx-ink)}
.ticket__l{list-style:none;margin:0;padding:18px 0;display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px}
.ticket__l li:before{content:"+";color:var(--dx-coral);font-weight:700;margin-right:8px;font-family:var(--dx-mono)}
.ticket .btn{grid-column:3;grid-row:2;margin:0 24px 20px 0;justify-self:end}
.ticket__h,.ticket__l{grid-row:1/3}
.ticket--best .ticket__h{background:var(--dx-coral);border-right-color:rgba(255,255,255,.5)}
.ticket__tag{position:absolute;top:0;left:0;background:var(--dx-ink);color:var(--dx-paper);font:600 10px var(--dx-mono);letter-spacing:.14em;text-transform:uppercase;padding:6px 10px}
.ticket--best .ticket__h{padding-top:34px}

/* галерея */
.gal{padding:0 var(--dx-gut)}.gal__g{max-width:var(--dx-w);margin:0 auto;display:grid;gap:10px}
.gal__g--3{grid-template-columns:1.6fr 1fr 1fr}.gal__g--4{grid-template-columns:repeat(4,1fr)}
.gal__i{margin:0;border-radius:var(--dx-r);overflow:hidden}.gal__img{width:100%;height:100%;object-fit:cover;aspect-ratio:4/3}
.gal__g--3 .gal__i:first-child .gal__img{aspect-ratio:16/10}
.gal__g--4 .gal__i:nth-child(2n) .gal__img{aspect-ratio:3/4}

/* маршруты: строки с точками */
.routes__g{display:grid;border-top:1px solid var(--dx-ink)}
.route{display:grid;grid-template-columns:110px 1fr;gap:4px 24px;align-items:baseline;text-decoration:none;padding:20px 0;border-bottom:1px solid var(--dx-line);position:relative}
.route:hover{background:linear-gradient(90deg,var(--dx-paper2),transparent)}
.route__dur{color:var(--dx-coral);grid-row:1/3}
.route__n{font-family:var(--dx-disp);font-weight:400;font-size:28px;line-height:1.05}
.route__pts{grid-column:2;display:flex;flex-wrap:wrap;gap:4px 10px;font-size:13px;color:var(--dx-muted)}.route__pts i{font-style:normal}.route__pts i+i:before{content:"→ ";opacity:.5}

/* FAQ: нумерованные вопросы на линейках */
.faq__list{max-width:860px;border-top:1px solid var(--dx-ink);counter-reset:q}
.faq__i{border-bottom:1px solid var(--dx-line);counter-increment:q}
.faq__i summary{cursor:pointer;list-style:none;padding:18px 0 18px 54px;position:relative;font-family:var(--dx-disp);font-size:23px;line-height:1.15;display:flex;justify-content:space-between;gap:12px}
.faq__i summary:before{content:counter(q,decimal-leading-zero);position:absolute;left:0;top:23px;font:12px var(--dx-mono);letter-spacing:.12em;color:var(--dx-coral)}
.faq__i summary::-webkit-details-marker{display:none}.faq__i summary:after{content:"+";font:300 26px var(--dx-disp);color:var(--dx-muted)}.faq__i[open] summary:after{content:"–"}
.faq__a{padding:0 0 20px 54px;color:var(--dx-muted)}.faq__a p{font-size:15px}

/* смотрите также, кольцо */
.also__t{font-size:15px;font-family:var(--dx-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dx-muted);margin-bottom:12px}
.also__l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 28px;border-top:1px solid var(--dx-ink)}
.also__l a{display:flex;flex-direction:column;gap:4px;text-decoration:none;padding:16px 0;border-bottom:1px solid var(--dx-line)}
.also__l b{font-family:var(--dx-disp);font-weight:400;font-size:21px}.also__l span{font-size:13px;color:var(--dx-muted)}
.also__l a:hover b{color:var(--dx-coral)}
.ring__track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;scrollbar-width:thin}
.ring__i{flex:0 0 250px;scroll-snap-align:start;position:relative;border-radius:var(--dx-r);overflow:hidden;aspect-ratio:3/4;background:var(--dx-paper2);text-decoration:none;color:#fff}
.ring__i img{width:100%;height:100%;object-fit:cover}
.ring__cap{position:absolute;inset:auto 0 0;padding:40px 14px 14px;background:linear-gradient(180deg,transparent,rgba(15,42,43,.9));display:flex;flex-direction:column;gap:3px}
.ring__cap b{font-family:var(--dx-disp);font-weight:400;font-size:22px}.ring__cap i{font:11px var(--dx-mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.8);font-style:normal}

/* CTA: тёмная полоса, курсив */
.cta{background:var(--dx-ink);color:var(--dx-paper);padding:0;border-top:4px solid var(--dx-coral)}
.cta__in{max-width:var(--dx-w);margin:0 auto;padding:clamp(44px,6vw,72px) var(--dx-gut);display:grid;grid-template-columns:1.4fr 1fr;align-items:center;gap:30px}
.cta__txt h2{font-style:italic;font-variation-settings:"opsz" 144,"SOFT" 100;max-width:20ch;font-size:clamp(30px,3.8vw,52px)}.cta__txt p{color:rgba(244,239,230,.7);max-width:48ch;margin:14px 0 0}
.cta__act{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

/* локация */
.place{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
.place__map{border-radius:var(--dx-r);overflow:hidden}.place__img{aspect-ratio:2/1;width:100%;object-fit:cover}
.place__list{list-style:none;margin:16px 0 0;padding:0;border-top:1px solid var(--dx-ink)}
.place__list li{display:grid;grid-template-columns:100px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid var(--dx-line);font-size:15px}.place__list b{color:var(--dx-coral);font:600 11px/1.8 var(--dx-mono);letter-spacing:.12em;text-transform:uppercase}

/* экскурсия: таймлайн */
.itin{display:grid;grid-template-columns:1fr .85fr;gap:48px;align-items:start}
.tl{list-style:none;margin:0;padding:0;border-top:1px solid var(--dx-ink)}
.tl__i{display:grid;grid-template-columns:72px 1fr;gap:2px 20px;padding:18px 0;border-bottom:1px solid var(--dx-line)}
.tl__time{color:var(--dx-coral);grid-row:1/3;padding-top:8px}
.tl__i b{font-family:var(--dx-disp);font-weight:400;font-size:26px;line-height:1.05}.tl__i p{font-size:14px;color:var(--dx-muted);margin:0}
.itin__map{position:sticky;top:76px;display:grid;gap:12px}.itin__img{border-radius:var(--dx-r);aspect-ratio:2/1;width:100%;object-fit:cover}
.itin__book{background:var(--dx-teal);color:var(--dx-paper);border-radius:var(--dx-r);padding:22px;display:grid;gap:8px}
.itin__book b{font:300 30px var(--dx-disp);letter-spacing:-.02em}.itin__book span{font:11px var(--dx-mono);letter-spacing:.12em;text-transform:uppercase;opacity:.75}.itin__book .btn{margin-top:8px;justify-content:space-between}

/* прайс */
.chips{display:flex;gap:6px;flex-wrap:wrap}.chips--wrap{margin-bottom:22px}
.chip{border:1px solid var(--dx-line2);background:transparent;border-radius:var(--dx-r);padding:8px 12px;font:600 11px var(--dx-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dx-text);cursor:pointer;text-decoration:none}
.chip.is-on{background:var(--dx-ink);color:var(--dx-paper);border-color:var(--dx-ink)}
.pt__wrap{overflow-x:auto;border-top:1px solid var(--dx-ink)}
.pt__t{width:100%;border-collapse:collapse;font-size:14px;min-width:780px}
.pt__t th{position:sticky;top:60px;background:var(--dx-paper);color:var(--dx-muted);text-align:left;padding:12px 14px 12px 0;border-bottom:1px solid var(--dx-ink)}
.pt__t td{padding:14px 14px 14px 0;border-bottom:1px solid var(--dx-line);vertical-align:top;white-space:nowrap;font-variant-numeric:tabular-nums}
.pt__t td a{font-family:var(--dx-disp);font-size:21px;text-decoration:none}.pt__t td small{display:block;color:var(--dx-muted);font:11px var(--dx-mono);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}
.pt__p{font:300 22px var(--dx-disp);color:var(--dx-ink)}.pt__note{font-size:13px;color:var(--dx-muted);margin-top:14px;max-width:70ch}
.pt__t tr[hidden]{display:none}

/* сравнение */
.cmp__t{width:100%;border-collapse:collapse;border-top:1px solid var(--dx-ink);font-size:15px}
.cmp__t th,.cmp__t td{padding:14px 18px 14px 0;text-align:left;border-bottom:1px solid var(--dx-line)}
.cmp__t thead th{font-family:var(--dx-disp);font-weight:400;font-size:24px;border-bottom:1px solid var(--dx-ink)}
.cmp__t tbody th{font:600 11px var(--dx-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dx-muted);width:28%}
.cmp__t tbody td:nth-child(2){color:var(--dx-teal2);font-weight:600}

/* каталог: весь флот группами по длине */
.cat__g{margin-top:36px}.cat__g[hidden],.yc[hidden]{display:none}
.cat__empty{padding:40px 0;color:var(--dx-muted);font-size:15px}

/* карточка судна: главное фото + лента миниатюр */
.bgal{max-width:var(--dx-w);margin:0 auto;padding:18px var(--dx-gut) 0}
.bgal__main{position:relative;border-radius:var(--dx-r);overflow:hidden;aspect-ratio:16/9;background:var(--dx-paper2)}.bgal__main img,.bgal__img{width:100%;height:100%;object-fit:cover;cursor:zoom-in}
.bgal__main .gnav{width:44px;height:44px;font-size:32px}
.bgal__cnt{position:absolute;left:12px;bottom:12px;background:rgba(15,42,43,.75);color:var(--dx-paper);font:600 11px var(--dx-mono);letter-spacing:.1em;padding:6px 9px;border-radius:var(--dx-r)}
.bgal__zoom{position:absolute;right:12px;bottom:12px;background:rgba(244,239,230,.92);border:0;color:var(--dx-ink);font:600 11px var(--dx-mono);letter-spacing:.1em;text-transform:uppercase;padding:8px 10px;min-height:40px;border-radius:var(--dx-r);cursor:pointer}
.bgal__strip{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:6px}
.gnav--s{position:static;transform:none;opacity:1;background:transparent;border:1px solid var(--dx-line2)}
/* лайтбокс */
.lb{position:fixed;inset:0;z-index:100;background:rgba(15,42,43,.96);display:grid;place-items:center;padding:56px 72px}
.lb[hidden]{display:none}
.lb__fig{margin:0;max-width:100%;max-height:100%;display:flex;flex-direction:column;gap:12px;align-items:center}
.lb__fig img{max-width:min(1400px,100%);max-height:calc(100vh - 140px);object-fit:contain;border-radius:var(--dx-r)}
.lb__cap{display:flex;gap:18px;color:var(--dx-paper);font:11px var(--dx-mono);letter-spacing:.12em;text-transform:uppercase}
.lb__x{position:absolute;top:14px;right:14px;width:44px;height:44px;border:1px solid rgba(244,239,230,.4);background:transparent;color:var(--dx-paper);font:300 30px/1 var(--dx-disp);cursor:pointer;border-radius:var(--dx-r)}
.lb__nav{opacity:1;width:44px;height:44px;font-size:32px}.lb .gnav--l{left:14px}.lb .gnav--r{right:14px}
.boat{display:grid;grid-template-columns:1fr 340px;gap:48px;align-items:start}
.boat__main,.boat__body{grid-column:1;min-width:0}.boat__main{grid-row:1}.boat__body{grid-row:2}.boat>.book{grid-column:2;grid-row:1/span 2}
.boat__main .kicker{margin-top:14px}
.boat h1{font-size:clamp(32px,3.8vw,54px)}
.spec{display:grid;grid-template-columns:repeat(4,1fr);gap:0 20px;border-top:1px solid var(--dx-ink);margin:26px 0}
.spec div{padding:12px 0 14px;border-bottom:1px solid var(--dx-line)}.spec dt{color:var(--dx-muted)}.spec dd{margin:4px 0 0;font:300 24px var(--dx-disp);letter-spacing:-.02em}
.inc{padding:0;margin:8px 0 10px}.inc__t{font:600 11px var(--dx-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dx-muted);margin-bottom:12px}
.inc__l{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.inc__l li{border:1px solid var(--dx-line2);border-radius:var(--dx-r);padding:6px 10px;font-size:13px}
.book{position:sticky;top:76px;display:grid;gap:14px}
.book__card{background:var(--dx-teal);color:var(--dx-paper);border-radius:var(--dx-r);padding:24px;display:grid;gap:12px}
.book__p b{font:300 40px var(--dx-disp);letter-spacing:-.03em;display:block;line-height:1}.book__p span{font:11px var(--dx-mono);letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.book__est{list-style:none;margin:0;padding:0;display:grid;font-size:14px}.book__est li{display:flex;justify-content:space-between;border-bottom:1px dashed rgba(244,239,230,.3);padding:8px 0}.book__est b{font-family:var(--dx-disp);font-size:18px;font-weight:400}
.book .btn--line{border-color:rgba(244,239,230,.5);color:var(--dx-paper)}
.book__note{font-size:12px;opacity:.75;margin:0}
.book__trust{display:grid;gap:6px;font:11px var(--dx-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dx-muted)}.book__trust span:before{content:"■";color:var(--dx-coral);margin-right:8px;font-size:8px;vertical-align:middle}

/* подвал: контурный логотип-гигант */
.foot{background:var(--dx-ink);color:rgba(244,239,230,.8);margin-top:48px;position:relative;overflow:hidden}
.foot:before{content:attr(data-word);position:absolute;left:-2%;bottom:-.25em;font:400 clamp(90px,16vw,230px)/1 var(--dx-disp);letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(244,239,230,.14);white-space:nowrap;pointer-events:none}
.foot__in{max-width:var(--dx-w);margin:0 auto;padding:56px var(--dx-gut) 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px;position:relative}
.foot__col{display:flex;flex-direction:column;gap:8px}.foot__col h4{color:var(--dx-coral);margin-bottom:6px}.foot__col a{text-decoration:none;font-size:14px;color:rgba(244,239,230,.75)}.foot__col a:hover{color:#fff}
.rose{width:64px;color:var(--dx-coral)}.foot__brand{font-family:var(--dx-disp);font-size:24px;color:#fff;margin:8px 0 0}.foot__addr,.foot__hours{font:11px/1.7 var(--dx-mono);letter-spacing:.08em;text-transform:uppercase;color:rgba(244,239,230,.5)}
.foot__bar{border-top:1px solid rgba(244,239,230,.12);padding:16px var(--dx-gut);text-align:center;font:11px var(--dx-mono);letter-spacing:.1em;text-transform:uppercase;color:rgba(244,239,230,.5);position:relative}.foot__bar a{color:inherit}.foot__sep{margin:0 10px}
.float{position:fixed;right:18px;bottom:18px;width:52px;height:52px;border-radius:var(--dx-r);background:var(--dx-ink);color:var(--dx-paper);display:grid;place-items:center;z-index:30;border:1px solid rgba(244,239,230,.2)}.float svg{width:26px;height:26px}

/* плейсхолдеры: бумага с контурными линиями карты и подписью */
.ph{position:relative;width:100%;overflow:hidden;background:var(--dx-paper2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='320' height='320' viewBox='0 0 320 320'%3E%3Cg fill='none' stroke='%231b6c68' stroke-opacity='.35' stroke-width='1'%3E%3Cpath d='M-20 60c60-40 120 10 180-20s100-30 180 10M-20 120c60-40 120 10 180-20s100-30 180 10M-20 180c60-40 120 10 180-20s100-30 180 10M-20 240c60-40 120 10 180-20s100-30 180 10M-20 300c60-40 120 10 180-20s100-30 180 10M-20 0c60-40 120 10 180-20s100-30 180 10'/%3E%3C/g%3E%3C/svg%3E") center/320px;color:var(--dx-ink);display:flex;flex-direction:column;justify-content:flex-end;padding:12px;gap:2px;border:1px solid var(--dx-line)}
.ph__wave{display:none}
.ph__label{font:600 10px var(--dx-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dx-coral);background:var(--dx-paper);padding:4px 6px;align-self:flex-start}
.ph__hint{font:11px var(--dx-mono);color:var(--dx-muted);background:var(--dx-paper);padding:2px 6px;align-self:flex-start;max-width:90%}
.pv{position:fixed;left:14px;bottom:14px;z-index:50;display:flex;align-items:center;gap:10px;background:var(--dx-ink);color:#fff;border-radius:var(--dx-r);padding:6px 10px 6px 6px;font:11px var(--dx-mono);letter-spacing:.1em}
.pv__b{border:1px solid var(--dx-coral);background:transparent;color:var(--dx-coral);border-radius:var(--dx-r);padding:6px 10px;font:600 11px var(--dx-mono);letter-spacing:.1em;cursor:pointer;text-transform:uppercase}
.dx--preview.show-slots [data-slot]{outline:1px dashed var(--dx-coral);outline-offset:3px;position:relative}
.dx--preview.show-slots [data-slot]:before{content:attr(data-slot);position:absolute;top:-15px;left:0;font:600 9px var(--dx-mono);color:#fff;background:var(--dx-coral);padding:1px 5px;z-index:5;white-space:nowrap;letter-spacing:.06em}

/* адаптив */
@media (max-width:1200px){.top__coords{display:none}}
@media (max-width:1024px){.hero__in h1{margin-right:0}}
@media (max-width:960px){
  .grid--3,.grid--4,.steps__l,.also__l{grid-template-columns:repeat(2,1fr)}
  .hero--full{grid-template-columns:1fr}.hero__img{grid-column:1;grid-row:1;height:46vh;clip-path:none}.hero__in{grid-row:2;max-width:none;padding:28px var(--dx-gut) 36px}.hero__facts{grid-row:3}
  .logo__t{font-size:17px;white-space:nowrap}.logo{padding-right:14px}
  .hero--split,.place,.itin,.boat,.cta__in{grid-template-columns:1fr}
  .boat__main,.boat__body,.boat>.book{grid-column:auto;grid-row:auto}.cta__act{justify-content:flex-start}
  .porthole{max-width:480px}.itin__map,.book{position:static}
  .foot__in{grid-template-columns:1fr 1fr}.spec{grid-template-columns:repeat(2,1fr)}
  .nav{display:none}.burger{display:block}.top__coords{display:none}
  .top.is-open .nav{display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;background:var(--dx-paper);border-bottom:1px solid var(--dx-ink)}.top.is-open .nav a{padding:14px var(--dx-gut);border-right:0;border-bottom:1px solid var(--dx-line)}
  .gal__g--3,.gal__g--4{grid-template-columns:1fr 1fr}
  .ticket{grid-template-columns:1fr}.ticket__h,.ticket__l,.ticket__p,.ticket .btn{grid-column:1;grid-row:auto}.ticket__p{text-align:left;padding:14px 22px 0}.ticket__l{padding:12px 22px}.ticket .btn{margin:0 22px 22px;justify-self:start}.ticket__h{border-right:0;border-bottom:1px dashed rgba(244,239,230,.45)}
}
@media (max-width:640px){
  /* шапка: кнопка + бургер + лого не влезали в 390 px (scrollWidth 434, 17.10) — кнопку в шапке
     прячем, CTA остаётся плавающей кнопкой; моно-подписи 11px → 12px (читаемость на мобильном);
     ссылки подвала/крошек/«more» — зона касания не ниже 32 px */
  .top__act .btn{display:none}.top__in{gap:0}.logo{padding-right:8px}
  .mono,.kicker,.crumbs,.yc__len,.route__dur,.tl__time,.step__n,.spec dt,.pt__t th,.foot h4,.top__coords,.facts__i span,.brg,.ph__label,.more,.yc__kind,.yc__price span,.tick__in span,.foot__addr,.foot__hours,.lb__cap,.book__trust,.book__p span,.ring__cap i,.cta__sub,.pv{font-size:12px}
  .foot__col a,.crumbs a,.also__l a{display:inline-block;padding:6px 0}.yc__foot .btn{padding:10px 12px}
  /* прайс: заголовок сжимался в колонку рядом с чипами; таблица — только имя, длина, минимум, цена */
  .sec__head--wide{grid-template-columns:auto 1fr}.sec__head--wide .chips,.sec__head--wide .more{grid-column:1/-1}
  .pt__t th:nth-child(3),.pt__t td:nth-child(3),.pt__t th:nth-child(n+6),.pt__t td:nth-child(n+6){display:none}
  .pt__t{table-layout:fixed;width:100%;min-width:0}.pt__wrap{overflow:visible}.pt__t th:first-child,.pt__t td:first-child{width:44%}.pt__t td{padding:10px 6px;font-size:14px}.pt__t th{padding:8px 4px;font-size:10px;letter-spacing:.04em;word-break:normal}.pt__t td a{font-size:15px;white-space:normal;overflow-wrap:anywhere;display:block}
  .grid--3,.grid--4,.steps__l,.also__l,.gal__g--3,.gal__g--4{grid-template-columns:1fr}
  .facts{grid-template-columns:1fr 1fr}.facts__i{margin-right:14px;padding-right:10px}
  .lb{padding:56px 8px}.lb__nav{top:auto;bottom:10px;transform:none}
  .foot__in{grid-template-columns:1fr}.rail .sec{padding-left:56px}.rail .sec:before{left:14px}
  .route{grid-template-columns:1fr}.route__dur{grid-row:auto}.tl__i{grid-template-columns:1fr}.tl__time{grid-row:auto}
}

/* переключатель языка (18.10): выпадающий список — языков будет несколько; ссылки в разметке без JS, видны поисковику; только у страниц с языковой парой */
.lsw{position:relative;display:inline-block;margin-right:10px;font:600 12px/1 var(--dx-mono);letter-spacing:.06em}.lsw summary{list-style:none;cursor:pointer;padding:7px 22px 7px 9px;border-radius:6px;box-shadow:inset 0 0 0 1px currentColor;opacity:.8;position:relative}.lsw summary::-webkit-details-marker{display:none}.lsw summary::after{content:"";position:absolute;right:8px;top:50%;width:5px;height:5px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:translateY(-70%) rotate(45deg)}.lsw[open] summary{opacity:1}.lsw__list{position:absolute;right:0;top:calc(100% + 6px);z-index:60;min-width:160px;margin:0;padding:6px;list-style:none;background:var(--dx-paper,#fff);color:var(--dx-text,#111);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.18)}.lsw__list a{display:flex;gap:10px;align-items:center;padding:9px 10px;border-radius:7px;color:inherit;text-decoration:none;font:500 14px/1.2 var(--dx-body);letter-spacing:0}.lsw__list a b{font:600 11px/1 var(--dx-mono);opacity:.6;min-width:20px}.lsw__list a:hover,.lsw__list a[aria-current]{background:rgba(127,127,127,.12)}
/* шапка с переключателем языка: русская кнопка «Забронировать яхту» + RU не помещались рядом
   с меню и координатами — «Рыбалка» наезжала на координаты (18.10); координаты декоративные */
@media (max-width:1680px){.top__act:has(.lsw) .top__coords{display:none}}

/* 19.10 аудит: перенос длинных слов на мобильном («Политика конфиденциальности» в H1 шире 390px) и лента «кольца» не раздвигает родителя */
h1,h2,h3{overflow-wrap:break-word;hyphens:auto}
.ring,.ring__track{min-width:0;max-width:100%}
/* 19.10: мобильная шапка — кнопка «Забронировать» вместо переключателя языков; языки в бургер-меню */
.btn__s,.nav__langs{display:none}
@media (max-width:960px){
  .top__act .lsw{display:none}
  .top.is-open .nav .nav__langs{display:flex;flex-wrap:wrap;gap:8px;padding:14px var(--dx-gut);border-bottom:1px solid var(--dx-line)}
  .top.is-open .nav .nav__langs a{padding:8px 12px;border:1px solid var(--dx-line);border-radius:var(--dx-r);font-size:14px}
  .top.is-open .nav .nav__langs a b{font-family:var(--dx-mono);font-weight:600;margin-right:4px}
  .top.is-open .nav .nav__langs a[aria-current]{border-color:var(--dx-ink);background:var(--dx-ink);color:var(--dx-paper)}
}
@media (max-width:640px){
  .top__act .btn{display:inline-flex;white-space:nowrap;padding:9px 12px;font-size:12px}
  .top__act .btn:after{display:none}
  .btn__l{display:none}.btn__s{display:inline}
  .top__act{gap:6px}.logo__t{font-size:17px}
}
@media (max-width:380px){.logo__t{font-size:15px}.top__act .btn{padding:8px 10px;font-size:11px}}
/* 19.10 аудит: телефоны 360 px — таблица цен с прокруткой внутри блока, длинные слова в вопросах FAQ переносятся */
@media (max-width:400px){.pt__wrap{overflow-x:auto;max-width:100%}.pt__t td{font-size:13px;padding:8px 4px}}
.faq__i,.faq__i summary,.faq summary{min-width:0;overflow-wrap:break-word;hyphens:auto}
