@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('../assets/fonts/cormorant-garamond-i500-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('../assets/fonts/cormorant-garamond-i500-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('../assets/fonts/cormorant-garamond-i500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('../assets/fonts/cormorant-garamond-i500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('../assets/fonts/cormorant-garamond-n500-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('../assets/fonts/cormorant-garamond-n500-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('../assets/fonts/cormorant-garamond-n500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('../assets/fonts/cormorant-garamond-n500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('../assets/fonts/manrope-n400-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('../assets/fonts/manrope-n400-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('../assets/fonts/manrope-n400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url('../assets/fonts/manrope-n400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('../assets/fonts/manrope-n700-cyrillic-ext.woff2') format('woff2');unicode-range:U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('../assets/fonts/manrope-n700-cyrillic.woff2') format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('../assets/fonts/manrope-n700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url('../assets/fonts/manrope-n700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
/* ============================================================
   SOZOPOLBOATS - design system
   Premium editorial maritime. No scroll animation - craft only.
   Type: Cormorant Garamond (display) / Manrope (body)
   ============================================================ */

/* ---------- Tokens ---------- */
:root{
  --sea:#0A1F33;          /* deepest navy - page dark bg */
  --sea-2:#0E2A44;        /* raised dark surface */
  --sea-3:#143654;        /* borders/cards on dark */
  --foam:#F7F2E9;         /* warm sand white - light bg / ink on dark */
  --foam-2:#EFE7D8;       /* deeper sand surface */
  --ink:#14283C;          /* text on light */
  --turq:#2FC0B0;         /* action */
  --turq-deep:#249689;    /* action hover */
  --turq-ink:#137065;     /* accessible turquoise on light */
  --gold:#E3A44A;         /* eyebrow / accents (dark bg only) */
  --gold-soft:#EFC98F;
  --wood:#B07D4F;
  --wood-ink:#7A4E27;     /* accessible accent on light bg */
  --mut-d:rgba(247,242,233,.74);
  --mut-l:rgba(20,40,60,.72);
  --line-d:rgba(247,242,233,.16);
  --line-l:rgba(20,40,60,.16);
  --serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --sans:'Manrope','Segoe UI',system-ui,sans-serif;
  --fs-hero:clamp(2.7rem,6.4vw,5.4rem);
  --fs-h2:clamp(2rem,4.2vw,3.3rem);
  --fs-h3:clamp(1.45rem,2.3vw,1.9rem);
  --fs-lead:clamp(1.05rem,1.5vw,1.25rem);
  --sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:32px; --sp-5:48px;
  --sp-6:64px; --sp-7:96px; --sp-8:128px;
  --r:18px; --r-sm:12px;
  --container:1200px;
  --pad:clamp(20px,5vw,64px);
}

/* ---------- Reset / base ---------- */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  background:var(--sea);color:var(--foam);
  font-family:var(--sans);font-size:1rem;line-height:1.7;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block;height:auto}
a{color:inherit}
ul,ol{list-style:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.08;letter-spacing:-.01em}
h1 em,h2 em,h3 em{font-style:italic;font-weight:500;color:var(--gold-soft)}
.light h1 em,.light h2 em,.light h3 em,
.light-2 h1 em,.light-2 h2 em,.light-2 h3 em{color:var(--wood-ink)}
strong{font-weight:700}
::selection{background:var(--turq);color:var(--sea)}

/* Skip link */
.skip{position:absolute;left:-9999px;top:0;z-index:200;background:var(--turq);color:var(--sea);
  padding:10px 18px;border-radius:0 0 var(--r-sm) 0;font-weight:700}
.skip:focus{left:0}

/* ---------- Utilities ---------- */
.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--pad)}
.container--wide{max-width:1360px}
.section{padding-block:clamp(64px,9vw,128px)}
.section--tight{padding-block:clamp(48px,6vw,80px)}
.light{background:var(--foam);color:var(--ink)}
.light-2{background:var(--foam-2);color:var(--ink)}
.dark-2{background:var(--sea-2)}
.eyebrow{
  font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.32em;
  text-transform:uppercase;color:var(--gold);display:block;margin-bottom:var(--sp-3);
}
.light .eyebrow,.light-2 .eyebrow{color:var(--wood-ink)}
.lead{font-size:var(--fs-lead);line-height:1.65;color:var(--mut-d);max-width:58ch}
.light .lead,.light-2 .lead{color:var(--mut-l)}
.muted{color:var(--mut-d)}
.light .muted,.light-2 .muted{color:var(--mut-l)}
.center{text-align:center}
.center .lead{margin-inline:auto}
@media (min-width:768px){.nobr-md{white-space:nowrap}}
.hr{border:none;border-top:1px solid var(--line-d);margin:0}
.light .hr,.light-2 .hr{border-color:var(--line-l)}

/* Static film grain on dark sections - texture, zero per-frame cost */
.grain{position:relative;isolation:isolate}
.grain::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.05;
  mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.grain>*{position:relative;z-index:1}

/* Section header block: centered site-wide */
.shead{max-width:720px;margin-inline:auto;margin-bottom:clamp(36px,5vw,64px);text-align:center}
.shead h1,.shead h2{font-size:var(--fs-h2);margin-bottom:var(--sp-3)}
.shead .lead{margin-inline:auto}
.shead--center{margin-inline:auto;text-align:center}

/* ---------- Buttons / chips ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--sans);font-weight:700;font-size:.95rem;letter-spacing:.02em;
  padding:16px 32px;border-radius:999px;text-decoration:none;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease,transform .15s ease;
  min-height:52px;
}
.btn:active{transform:translateY(1px)}
.btn--primary{background:var(--turq);color:var(--sea)}
.btn--primary:hover{background:var(--turq-deep);color:var(--foam)}
.btn--ghost{border:1px solid var(--line-d);color:var(--foam);background:transparent}
.btn--ghost:hover{border-color:var(--foam);background:rgba(247,242,233,.06)}
.light .btn--ghost,.light-2 .btn--ghost{border-color:var(--line-l);color:var(--ink)}
.light .btn--ghost:hover,.light-2 .btn--ghost:hover{border-color:var(--ink);background:rgba(20,40,60,.05)}
.btn--lg{padding:19px 40px;font-size:1.02rem}
.btn:focus-visible,a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:3px solid var(--turq);outline-offset:3px;border-radius:6px}
.btn:focus-visible{border-radius:999px}

.chips{display:flex;flex-wrap:wrap;gap:12px}
.chip{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--line-d);border-radius:999px;
  padding:9px 18px;font-size:.85rem;font-weight:400;color:var(--mut-d);
}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);flex:none}
.light .chip,.light-2 .chip{border-color:var(--line-l);color:var(--mut-l)}

/* ---------- Header / nav ---------- */
.header{
  position:absolute;top:0;left:0;right:0;z-index:100;
  padding-block:22px;
}
.header .container--wide{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4)}
.brand{display:inline-flex;align-items:baseline;gap:10px;text-decoration:none}
.brand__word{font-family:var(--serif);font-weight:500;font-size:1.35rem;letter-spacing:.22em;text-transform:uppercase;color:var(--foam)}
.brand__mark{
  font-family:var(--serif);font-weight:500;font-size:.7rem;letter-spacing:.05em;
  border:1.5px solid var(--foam);border-radius:50%;width:26px;height:26px;
  display:inline-flex;align-items:center;justify-content:center;color:var(--foam);
  transform:translateY(-8px);
}
.nav{display:flex;align-items:center;gap:6px}
.nav a{
  text-decoration:none;font-size:.92rem;font-weight:400;color:var(--mut-d);
  padding:10px 14px;border-radius:999px;transition:color .2s ease;
}
.nav a:hover,.nav a[aria-current="page"]{color:var(--foam)}
.nav .btn{margin-left:12px;padding:12px 26px;min-height:44px}
.nav a.btn--primary,.nav a.btn--primary[aria-current="page"]{color:var(--sea)}
.nav a.btn--primary:hover{color:var(--foam)}
.nav__group{position:relative}
.nav__group>a::after{content:"›";display:inline-block;transform:rotate(90deg) translateX(1px);margin-left:7px;font-size:.85em;opacity:.6}
.nav__drop{
  position:absolute;top:100%;left:8px;min-width:230px;padding:10px;
  background:var(--sea-2);border:1px solid var(--line-d);border-radius:var(--r-sm);
  box-shadow:0 24px 48px rgba(4,12,22,.5);
  opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .18s ease,transform .18s ease,visibility .18s;
}
.nav__group:hover .nav__drop,.nav__group:focus-within .nav__drop{opacity:1;visibility:visible;transform:none}
.nav__drop a{display:block;padding:11px 14px;border-radius:8px}
.nav__drop a:hover{background:rgba(247,242,233,.07)}
.nav__drop small{display:block;font-size:.76rem;color:var(--mut-d);font-weight:400;margin-top:2px}

/* Burger + mobile overlay */
.burger{display:none;width:48px;height:48px;border-radius:50%;border:1px solid var(--line-d);
  position:relative;z-index:130;flex:none}
.burger span{position:absolute;left:14px;right:14px;height:2px;background:var(--foam);
  transition:transform .25s ease,opacity .2s ease;border-radius:2px}
.burger span:nth-child(1){top:18px}
.burger span:nth-child(2){top:24px}
.burger span:nth-child(3){top:30px}
.nav-open .burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-open .burger span:nth-child(2){opacity:0}
.nav-open .burger span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.mnav{
  position:fixed;inset:0;z-index:120;background:var(--sea);
  display:flex;flex-direction:column;justify-content:center;padding:var(--pad);
  opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s;
}
.nav-open .mnav{opacity:1;visibility:visible}
.nav-open{overflow:hidden}
.mnav a{
  font-family:var(--serif);font-size:clamp(1.7rem,6.5vw,2.6rem);text-decoration:none;
  padding:10px 0;color:var(--foam);border-bottom:1px solid var(--line-d);
  display:flex;justify-content:space-between;align-items:baseline;
}
.mnav a small{font-family:var(--sans);font-size:.8rem;color:var(--mut-d);letter-spacing:.1em}
.mnav a:first-child{border-top:1px solid var(--line-d)}
.mnav .mnav__cta{margin-top:var(--sp-4);display:flex;gap:12px;flex-wrap:wrap}
.mnav .mnav__cta a{border:none;font-family:var(--sans);font-size:.95rem;padding:16px 32px}

/* ---------- Hero ---------- */
.hero{
  position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;
  isolation:isolate;overflow:hidden;
}
.hero--short{min-height:72svh}
.hero__img{position:absolute;inset:0;z-index:-2}
.hero__img img{width:100%;height:100%;object-fit:cover}
.hero__scrim{
  position:absolute;inset:0;z-index:-1;
  background:
    linear-gradient(180deg,rgba(10,31,51,.55) 0%,rgba(10,31,51,.18) 34%,rgba(10,31,51,.34) 62%,rgba(10,31,51,.93) 100%),
    linear-gradient(90deg,rgba(10,31,51,.5) 0%,rgba(10,31,51,0) 32%,rgba(10,31,51,0) 68%,rgba(10,31,51,.5) 100%);
}
/* Stronger scrim for bright/busy hero photos */
.hero__scrim--strong{
  background:
    linear-gradient(180deg,rgba(10,31,51,.7) 0%,rgba(10,31,51,.5) 34%,rgba(10,31,51,.6) 62%,rgba(10,31,51,.94) 100%),
    linear-gradient(90deg,rgba(10,31,51,.55) 0%,rgba(10,31,51,.08) 32%,rgba(10,31,51,.08) 68%,rgba(10,31,51,.55) 100%);
}
.hero__inner{padding-block:clamp(64px,10vh,120px);text-align:center}
.hero h1{font-size:var(--fs-hero);max-width:15ch;text-wrap:balance;margin-bottom:var(--sp-3);margin-inline:auto}
.hero .lead{margin-bottom:var(--sp-5);margin-inline:auto}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:var(--sp-5);justify-content:center}
.hero__chips{border-top:1px solid var(--line-d);padding-top:var(--sp-4);justify-content:center}

/* ---------- Facts bar (tour/boat key facts) ---------- */
.facts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  border-block:1px solid var(--line-d);
}
.light .facts,.light-2 .facts{border-color:var(--line-l)}
.fact{padding:clamp(20px,3vw,32px) clamp(12px,2vw,24px);border-left:1px solid var(--line-d)}
.fact:first-child{border-left:none}
.light .fact,.light-2 .fact{border-color:var(--line-l)}
.fact b{
  display:block;font-family:var(--serif);font-weight:500;
  font-size:clamp(1.3rem,2.4vw,1.8rem);line-height:1.15;margin-bottom:4px;
}
.fact span{font-size:.82rem;letter-spacing:.06em;color:var(--mut-d);text-transform:uppercase;font-weight:400}
.light .fact span,.light-2 .fact span{color:var(--mut-l)}

/* ---------- Editorial split / overlap layouts ---------- */
.split{display:grid;gap:clamp(32px,5vw,72px);align-items:center}
@media (min-width:900px){
  .split{grid-template-columns:1fr 1fr}
  .split--wide-text{grid-template-columns:1.15fr .85fr}
  .split--rev>.split__media{order:2}
}
.split h2{font-size:var(--fs-h2);margin-bottom:var(--sp-3)}
.split p+p{margin-top:var(--sp-2)}
.split__media{position:relative}
.frame{border-radius:var(--r);overflow:hidden}
.frame img{width:100%;height:100%;object-fit:cover}
.frame--tall{aspect-ratio:3/4}
.frame--wide{aspect-ratio:16/11}
/* overlapping second photo */
.stack{position:relative}
.stack .frame--main{width:88%}
.stack .frame--over{
  position:absolute;width:52%;right:0;bottom:-9%;
  border:6px solid var(--sea);box-shadow:0 30px 60px rgba(4,12,22,.45);
}
.light .stack .frame--over,.light-2 .stack .frame--over{border-color:var(--foam)}
.stack--pad{margin-bottom:clamp(28px,4vw,56px)}
.credit{font-size:.72rem;color:var(--mut-d);margin-top:10px;letter-spacing:.04em}
.light .credit,.light-2 .credit{color:var(--mut-l)}

/* ---------- Tour cards (home) ---------- */
.tours{display:grid;gap:clamp(24px,3vw,40px)}
@media (min-width:860px){.tours{grid-template-columns:1fr 1fr}}
.tcard{
  position:relative;border-radius:var(--r);overflow:hidden;isolation:isolate;
  display:flex;flex-direction:column;justify-content:flex-end;min-height:540px;
  text-decoration:none;color:var(--foam);
}
.tcard__img{position:absolute;inset:0;z-index:-2}
.tcard__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.tcard:hover .tcard__img img{transform:scale(1.04)}
.tcard::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(10,31,51,.05) 30%,rgba(10,31,51,.88) 100%)}
.tcard__body{padding:clamp(24px,3.4vw,40px)}
.tcard .eyebrow{margin-bottom:var(--sp-2)}
.tcard h3{font-size:clamp(1.7rem,3vw,2.4rem);margin-bottom:var(--sp-2);max-width:16ch}
.tcard p{color:var(--mut-d);max-width:44ch;margin-bottom:var(--sp-3)}
.tcard__meta{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:.85rem;font-weight:400;
  border-top:1px solid var(--line-d);padding-top:var(--sp-3)}
.tcard__meta b{font-weight:700;color:var(--gold-soft)}
.tcard__go{
  position:absolute;top:clamp(18px,2.6vw,28px);right:clamp(18px,2.6vw,28px);
  width:52px;height:52px;border-radius:50%;border:1px solid var(--line-d);
  display:grid;place-items:center;font-size:1.25rem;
  background:rgba(10,31,51,.35);backdrop-filter:blur(6px);
  transition:background-color .2s ease,transform .2s ease;
}
.tcard:hover .tcard__go{background:var(--turq);color:var(--sea);transform:rotate(45deg)}

/* ---------- Fleet panels (home) ---------- */
.fleet{display:grid;gap:clamp(20px,2.6vw,32px)}
@media (min-width:940px){.fleet{grid-template-columns:repeat(3,1fr)}}
.boat{
  background:var(--sea-2);border:1px solid var(--line-d);border-radius:var(--r);
  overflow:hidden;text-decoration:none;color:var(--foam);display:flex;flex-direction:column;
  transition:transform .25s ease,border-color .25s ease;
}
.boat:hover{transform:translateY(-6px);border-color:rgba(47,192,176,.5)}
.boat__img{aspect-ratio:4/3;overflow:hidden}
.boat__img img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.boat:hover .boat__img img{transform:scale(1.05)}
.boat__body{padding:clamp(20px,2.6vw,32px);display:flex;flex-direction:column;gap:10px;flex:1}
.boat__body h3{font-size:var(--fs-h3)}
.boat__body .role{font-size:.78rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:700}
.boat__body p{color:var(--mut-d);font-size:.95rem;flex:1}
.boat__foot{display:flex;justify-content:space-between;align-items:center;
  border-top:1px solid var(--line-d);padding-top:14px;margin-top:6px}
.boat__foot b{font-family:var(--serif);font-size:1.25rem;font-weight:500}
.boat__foot span{font-size:.85rem;font-weight:700;color:var(--turq)}

/* ---------- Occasions (home / subitiya) ---------- */
.occ{display:grid;gap:clamp(18px,2.4vw,28px)}
@media (min-width:700px){.occ{grid-template-columns:1fr 1fr}}
@media (min-width:1060px){
  .occ{grid-template-columns:repeat(12,1fr)}
  .occ>*:nth-child(1){grid-column:span 7}
  .occ>*:nth-child(2){grid-column:span 5}
  .occ>*:nth-child(3){grid-column:span 5}
  .occ>*:nth-child(4){grid-column:span 7}
}
.ocard{
  position:relative;border-radius:var(--r);overflow:hidden;isolation:isolate;
  min-height:330px;display:flex;align-items:flex-end;
  text-decoration:none;color:var(--foam);
}
.ocard img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.ocard:hover img{transform:scale(1.045)}
.ocard::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(10,31,51,.05) 0%,rgba(10,31,51,.4) 45%,rgba(10,31,51,.92) 100%)}
.ocard__body{padding:clamp(20px,2.8vw,32px)}
.ocard h3{font-size:clamp(1.4rem,2.4vw,1.9rem);margin-bottom:6px}
.ocard p{color:var(--mut-d);font-size:.92rem;max-width:40ch}

/* ---------- Value strip / numbered steps ---------- */
.vals{display:grid;gap:1px;background:var(--line-d);border-block:1px solid var(--line-d)}
@media (min-width:820px){.vals{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.vals{grid-template-columns:repeat(4,1fr)}}
.light .vals,.light-2 .vals{background:var(--line-l);border-color:var(--line-l)}
.val{background:var(--sea);padding:clamp(28px,3.4vw,44px) clamp(20px,2.6vw,32px)}
.light .val{background:var(--foam)}
.light-2 .val{background:var(--foam-2)}
.val b{display:block;font-family:var(--serif);font-weight:500;font-size:1.35rem;margin-bottom:10px;line-height:1.2}
.val p{font-size:.93rem;color:var(--mut-d)}
.light .val p,.light-2 .val p{color:var(--mut-l)}

.steps{display:grid;gap:clamp(28px,4vw,48px);counter-reset:step}
@media (min-width:860px){.steps{grid-template-columns:repeat(3,1fr)}}
.step{counter-increment:step;position:relative;padding-top:var(--sp-4)}
.step::before{
  content:"0" counter(step);position:absolute;top:-.35em;left:0;
  font-family:var(--serif);font-weight:500;font-size:clamp(3.4rem,6vw,5rem);
  color:transparent;-webkit-text-stroke:1px var(--gold);opacity:.85;line-height:1;
}
.step h3{font-size:1.3rem;margin-bottom:8px;padding-top:var(--sp-4)}
.step p{color:var(--mut-d);font-size:.95rem}
.light .step p,.light-2 .step p{color:var(--mut-l)}
.light .step::before,.light-2 .step::before{-webkit-text-stroke-color:var(--wood)}

/* ---------- Quote band ---------- */
.quote{
  position:relative;isolation:isolate;overflow:hidden;
  padding-block:clamp(96px,14vw,180px);text-align:center;
}
.quote__img{position:absolute;inset:0;z-index:-2}
.quote__img img{width:100%;height:100%;object-fit:cover}
/* scrim on ::before - ::after belongs to .grain (noise) and carries opacity:.05 */
.quote::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(10,31,51,.74)}
.quote blockquote{
  font-family:var(--serif);font-weight:500;font-style:italic;
  font-size:clamp(1.8rem,4.4vw,3.2rem);line-height:1.25;max-width:24ch;margin-inline:auto;
  text-wrap:balance;
}
.quote cite{display:block;margin-top:var(--sp-4);font-family:var(--sans);font-style:normal;
  font-size:.8rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold)}

/* ---------- Pricing ---------- */
.prices{display:grid;gap:clamp(20px,2.6vw,32px)}
@media (min-width:900px){.prices{grid-template-columns:repeat(3,1fr)}}
@media (min-width:900px){.prices--two{grid-template-columns:repeat(2,1fr);max-width:860px;margin-inline:auto}}
.price{
  border:1px solid var(--line-l);border-radius:var(--r);padding:clamp(24px,3vw,36px);
  background:var(--foam);display:flex;flex-direction:column;gap:14px;
}
.price--hl{background:var(--sea);color:var(--foam);border-color:var(--sea)}
.price__tag{font-size:.74rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--wood-ink)}
.price--hl .price__tag{color:var(--gold)}
.price h3{font-size:1.45rem}
.price__num{font-family:var(--serif);font-weight:500;font-size:clamp(2.4rem,4vw,3.2rem);line-height:1}
.price__num small{font-family:var(--sans);font-size:.9rem;font-weight:500;color:var(--mut-l);letter-spacing:.02em}
.price--hl .price__num small{color:var(--mut-d)}
.price ul{display:flex;flex-direction:column;gap:9px;font-size:.93rem;color:var(--mut-l);flex:1}
.price--hl ul{color:var(--mut-d)}
.price li{padding-left:24px;position:relative}
.price li::before{content:"·";position:absolute;left:0;color:var(--turq-ink);font-weight:700}
.price--hl li::before{color:var(--turq)}
.price .btn{margin-top:6px}

/* Simple def-list table (Chris rental terms) */
.terms{border-top:1px solid var(--line-l);max-width:760px;margin-inline:auto}
.terms div{display:flex;justify-content:space-between;gap:var(--sp-3);align-items:baseline;
  padding:18px 0;border-bottom:1px solid var(--line-l)}
.terms dt{font-weight:500;color:var(--mut-l)}
.terms dd{font-family:var(--serif);font-weight:500;font-size:1.3rem;text-align:right}
.dark-terms .terms,.dark-terms .terms div{border-color:var(--line-d)}
.dark-terms .terms dt{color:var(--mut-d)}

/* ---------- Itinerary timeline ---------- */
.itin{position:relative;max-width:760px;padding-left:clamp(28px,4vw,44px);margin-inline:auto}
.itin::before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:1px;
  background:linear-gradient(180deg,var(--gold),var(--line-d))}
.light .itin::before,.light-2 .itin::before{background:linear-gradient(180deg,var(--wood),var(--line-l))}
.itin li{position:relative;padding-bottom:clamp(28px,4vw,44px)}
.itin li:last-child{padding-bottom:0}
.itin li::before{content:"";position:absolute;left:calc(-1*clamp(28px,4vw,44px) + 3px);top:7px;
  width:11px;height:11px;border-radius:50%;background:var(--sea);border:2px solid var(--gold)}
.light .itin li::before,.light-2 .itin li::before{background:var(--foam);border-color:var(--wood)}
.itin time{font-size:.78rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.light .itin time,.light-2 .itin time{color:var(--wood-ink)}
.itin h3{font-size:1.35rem;margin:6px 0 6px}
.itin p{color:var(--mut-d);font-size:.96rem;max-width:56ch}
.light .itin p,.light-2 .itin p{color:var(--mut-l)}

/* ---------- Route map ---------- */
.route{display:grid;gap:clamp(32px,5vw,64px);align-items:center}
@media (min-width:940px){.route{grid-template-columns:.9fr 1.1fr}}
.route__map{border-radius:var(--r);overflow:hidden;border:1px solid var(--line-d);background:var(--sea-2)}
.route__map svg{display:block;width:100%;height:auto}
.route__stops{display:flex;flex-direction:column}
.route__stops li{display:flex;gap:18px;padding:16px 0;border-bottom:1px solid var(--line-d);align-items:baseline}
.route__stops li:last-child{border-bottom:none}
.route__stops .n{font-family:var(--serif);font-style:italic;font-weight:500;color:var(--gold);
  font-size:1.15rem;flex:none;width:26px}
.route__stops b{display:block;font-weight:700;font-size:1rem}
.route__stops p{font-size:.9rem;color:var(--mut-d)}
.light .route__stops li,.light-2 .route__stops li{border-color:var(--line-l)}
.light .route__stops p,.light-2 .route__stops p{color:var(--mut-l)}
.light .route__stops .n,.light-2 .route__stops .n{color:var(--wood-ink)}

/* ---------- Gallery ---------- */
.gallery{display:grid;gap:clamp(14px,1.8vw,22px);grid-template-columns:repeat(2,1fr)}
@media (min-width:900px){.gallery{grid-template-columns:repeat(4,1fr)}
  .gallery>*:nth-child(4n+1){grid-row:span 2}}
.gallery figure{border-radius:var(--r-sm);overflow:hidden;margin:0;position:relative;min-height:180px}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gallery figure:hover img{transform:scale(1.04)}

/* ---------- FAQ (native details) ---------- */
.faq{max-width:820px;border-top:1px solid var(--line-l);margin-inline:auto}
.faq details{border-bottom:1px solid var(--line-l)}
.faq summary{
  list-style:none;display:flex;justify-content:space-between;gap:var(--sp-3);align-items:baseline;
  padding:clamp(18px,2.6vw,26px) 0;cursor:pointer;
  font-family:var(--serif);font-weight:500;font-size:clamp(1.1rem,1.8vw,1.35rem);
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--sans);font-weight:400;font-size:1.5rem;
  color:var(--turq-ink);flex:none;line-height:1;transition:transform .2s ease}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq details p{padding:0 0 clamp(18px,2.6vw,26px);color:var(--mut-l);max-width:62ch}
.dark-faq .faq{border-color:var(--line-d)}
.dark-faq .faq details{border-color:var(--line-d)}
.dark-faq .faq summary::after{color:var(--turq)}
.dark-faq .faq details p{color:var(--mut-d)}

/* ---------- CTA band ---------- */
.cta{
  position:relative;isolation:isolate;overflow:hidden;text-align:center;
  padding-block:clamp(80px,12vw,160px);
}
.cta__img{position:absolute;inset:0;z-index:-2}
.cta__img img{width:100%;height:100%;object-fit:cover}
.cta::before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(10,31,51,.64),rgba(10,31,51,.86))}
.cta h2{font-size:clamp(2.2rem,5.4vw,4rem);max-width:18ch;margin-inline:auto;margin-bottom:var(--sp-3);text-wrap:balance}
.cta .lead{margin-inline:auto;margin-bottom:var(--sp-5)}
.cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:var(--sp-4)}
.cta__alt{font-size:.92rem;color:var(--mut-d)}
.cta__alt a{color:var(--foam);font-weight:700;text-decoration-color:var(--turq);text-underline-offset:4px}

/* ---------- Footer ---------- */
.footer{background:#081827;border-top:1px solid var(--line-d);padding-block:clamp(48px,7vw,88px) 0}
.footer__grid{display:grid;gap:clamp(32px,5vw,64px);padding-bottom:clamp(40px,6vw,72px)}
@media (min-width:860px){.footer__grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr}}
.footer .footer__h{font-size:.78rem;font-family:var(--sans);font-weight:700;letter-spacing:.28em;
  text-transform:uppercase;color:var(--gold);margin-bottom:var(--sp-3);max-width:none}
.footer ul{display:flex;flex-direction:column;gap:10px}
.footer a{text-decoration:none;color:var(--mut-d);font-size:.94rem;transition:color .2s ease}
.footer a:hover{color:var(--foam)}
.footer .brand{margin-bottom:var(--sp-3);display:inline-flex}
.footer p{color:var(--mut-d);font-size:.92rem;max-width:34ch}
.footer__bar{border-top:1px solid var(--line-d);padding-block:22px;
  display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:space-between;
  font-size:.8rem;color:rgba(247,242,233,.62)}
.footer__bar a{font-size:.8rem;color:rgba(247,242,233,.74)}

/* ---------- Sticky mobile CTA bar ---------- */
.stickybar{
  position:fixed;left:0;right:0;bottom:0;z-index:90;display:none;
  background:rgba(8,24,39,.92);backdrop-filter:blur(10px);
  border-top:1px solid var(--line-d);
  padding:10px max(12px,env(safe-area-inset-left)) max(10px,env(safe-area-inset-bottom));
  grid-template-columns:auto auto 1fr;gap:10px;align-items:center;
}
.stickybar a{min-height:48px;display:inline-flex;align-items:center;justify-content:center;
  border-radius:999px;text-decoration:none;font-weight:700;font-size:.9rem}
.stickybar__ico{width:48px;border:1px solid var(--line-d);color:var(--foam)}
.stickybar__main{background:var(--turq);color:var(--sea);padding-inline:20px}
@media (max-width:860px){
  .stickybar{display:grid}
  body{padding-bottom:74px}
}

/* ---------- Wizard (booking form) ---------- */
.wizard{
  background:var(--foam);color:var(--ink);border-radius:var(--r);
  padding:clamp(24px,3.6vw,48px);max-width:760px;
  box-shadow:0 40px 80px rgba(4,12,22,.45);
}
.wizard__progress{height:4px;background:rgba(20,40,60,.12);border-radius:999px;overflow:hidden;margin-bottom:clamp(24px,3vw,36px)}
.wizard__progress i{display:block;height:100%;width:var(--p,20%);background:var(--turq);border-radius:999px;transition:width .3s ease}
.wstep h2{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:6px}
.wstep>p{color:var(--mut-l);margin-bottom:var(--sp-4);font-size:.95rem}
.wstep{animation:wstep .28s ease}
@keyframes wstep{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.wstep{animation:none}.wizard__progress i{transition:none}}
.wcards{display:grid;gap:12px}
@media (min-width:560px){.wcards{grid-template-columns:1fr 1fr}}
.wcards--3{grid-template-columns:repeat(2,1fr)}
@media (min-width:560px){.wcards--3{grid-template-columns:repeat(3,1fr)}}
.wcard{
  border:1.5px solid var(--line-l);border-radius:var(--r-sm);padding:18px 20px;text-align:left;
  display:flex;flex-direction:column;gap:4px;min-height:64px;justify-content:center;
  transition:border-color .15s ease,background-color .15s ease;background:#fff;
}
.wcard b{font-weight:700;font-size:.98rem}
.wcard small{color:var(--mut-l);font-size:.82rem}
.wcard:hover{border-color:var(--turq)}
.wcard[aria-pressed="true"]{border-color:var(--turq);background:rgba(47,192,176,.12)}
.wcard[aria-pressed="true"] b{color:var(--turq-ink)}
.wfield{display:block;margin-bottom:16px}
.wfield span{display:block;font-size:.85rem;font-weight:700;margin-bottom:7px}
.wfield input,.wfield textarea,.wfield select{
  width:100%;border:1.5px solid var(--line-l);border-radius:var(--r-sm);
  padding:14px 16px;font:inherit;background:#fff;color:var(--ink);
}
.wfield input:focus,.wfield textarea:focus,.wfield select:focus{outline:3px solid rgba(47,192,176,.4);border-color:var(--turq)}
.wizard__nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:var(--sp-4)}
.wizard__nav .btn--primary{margin-left:auto}
.wback{color:var(--mut-l);font-weight:700;font-size:.9rem;padding:12px 0;display:inline-flex;gap:8px;align-items:center}
.wback:hover{color:var(--ink)}
.wstatus{margin-top:14px;font-size:.9rem;font-weight:500;color:#B4432F;min-height:1.4em}
.whp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* summary / fallback screen */
.wsum{background:#fff;border:1px solid var(--line-l);border-radius:var(--r-sm);padding:20px 22px;margin-bottom:var(--sp-3)}
.wsum dl{display:grid;grid-template-columns:auto 1fr;gap:6px 18px;font-size:.93rem}
.wsum dt{color:var(--mut-l);font-weight:500}
.wsum dd{font-weight:700}
.walt{display:grid;gap:10px}
@media (min-width:560px){.walt{grid-template-columns:1fr 1fr}}
.walt .btn{width:100%}
.btn--viber{background:#7360F2;color:#fff}
.btn--viber:hover{background:#5b49d6;color:#fff}
.btn--wa{background:#25D366;color:#08331b}
.btn--wa:hover{background:#1fb457;color:#08331b}

/* ---------- Contact page ---------- */
.ccards{display:grid;gap:clamp(18px,2.4vw,28px)}
@media (min-width:700px){.ccards{grid-template-columns:1fr 1fr}}
.ccard{border:1px solid var(--line-l);border-radius:var(--r);padding:clamp(24px,3vw,36px);
  background:var(--foam);color:var(--ink)}
.ccard .eyebrow{color:var(--wood-ink)}
.ccard .btn--ghost{border-color:var(--line-l);color:var(--ink)}
.ccard .btn--ghost:hover{border-color:var(--ink);background:rgba(20,40,60,.05)}
.ccard h2{font-size:1.3rem;margin-bottom:8px}
.ccard p{color:var(--mut-l);font-size:.94rem;margin-bottom:14px}
.ccard a.big{
  font-family:var(--serif);font-weight:500;font-size:clamp(1.4rem,2.6vw,1.9rem);
  color:var(--ink);text-decoration-color:var(--turq);text-underline-offset:5px;
}

/* ---------- Misc ---------- */
.pagehead{padding-top:clamp(120px,18vh,180px)}
.center-page{min-height:88svh;display:grid;place-items:center;text-align:center;padding-block:var(--sp-8)}
.center-page h1{font-size:clamp(2.4rem,6vw,4.4rem);margin-bottom:var(--sp-3)}
.center-page .lead{margin-inline:auto;margin-bottom:var(--sp-5)}
.tag-note{font-size:.8rem;letter-spacing:.06em;color:var(--mut-d)}

@media (max-width:1023px){
  .nav{display:none}
  .burger{display:block}
}
@media (min-width:1024px){
  .mnav{display:none}
}

/* ---------- Mobile: centered layout ---------- */
@media (max-width:767px){
  .split>div{text-align:center}
  .split .lead,.split p{margin-inline:auto}
  .chips{justify-content:center}
  .credit{text-align:center}
  .fact{text-align:center}
  .val{text-align:center}
  .step{text-align:center}
  .step::before{left:50%;transform:translateX(-50%)}
  .step p{margin-inline:auto}
  .tcard__body{text-align:center}
  .tcard h3,.tcard p{margin-inline:auto}
  .tcard__meta{justify-content:center}
  .boat__body{text-align:center}
  .boat__foot{justify-content:center;gap:10px 22px}
  .ocard__body{text-align:center;width:100%}
  .ocard p{margin-inline:auto}
  .price{text-align:center}
  .price li{padding-left:0}
  .price li::before{position:static;margin-right:8px}
  .ccard{text-align:center}
  .footer__grid{text-align:center}
  .footer p{margin-inline:auto}
  .footer__bar{justify-content:center;text-align:center}
}
