/* ==========================================================================
   FAM Tours — Design System
   Display: Cormorant Garamond   Body/UI: Inter
   Primary #0E1B24  Secondary #687781  Background #F7F6F2  Accent #B3A27C
   No gradients. No glassmorphism. No decorative ornament.
   ========================================================================== */

:root{
  --color-primary:#0E1B24;
  --color-secondary:#687781;
  --color-background:#F7F6F2;
  --color-white:#FFFFFF;
  --color-accent:#B3A27C;

  --font-display:'Cormorant Garamond', Georgia, serif;
  --font-body:'Inter', system-ui, -apple-system, sans-serif;

  --space-1:0.25rem;  --space-2:0.5rem;   --space-3:0.75rem;  --space-4:1rem;
  --space-5:1.25rem;
  --space-6:1.5rem;   --space-8:2rem;     --space-10:2.5rem;  --space-12:3rem;
  --space-16:4rem;    --space-20:5rem;    --space-24:6rem;    --space-32:8rem;

  --ease:cubic-bezier(.4,0,.2,1);
  /* slower, more deliberate deceleration — the luxury signature curve */
  --ease-lux:cubic-bezier(.22,1,.36,1);
  --container:1440px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{
  font-family:var(--font-body);
  background:var(--color-background);
  color:var(--color-primary);
  font-size:1rem;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
ul{list-style:none}

:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}

.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--space-8)}

/* Grid/flex children refuse to shrink below their min-content width by default,
   which lets a wide <select>/<input> push the whole page into horizontal scroll
   on small screens. Allowing them to shrink keeps every breakpoint clean. */
.contact__grid>*,.detail__grid>*,.about__grid>*,.intro__grid>*,
.destinations__inner>*,.cta__inner>*,.footer__grid>*,.policy>*{min-width:0}

/* ---------- typography ---------- */
.eyebrow{
  font-size:.6875rem;font-weight:500;letter-spacing:.22em;
  text-transform:uppercase;color:var(--color-secondary);margin-bottom:var(--space-6);
}
.eyebrow--light{color:rgba(255,255,255,.75)}
.display-hero{
  font-family:var(--font-display);font-weight:300;
  font-size:clamp(3rem,7.5vw,6.5rem);line-height:.98;letter-spacing:-.015em;
  text-transform:uppercase;
}
.display-xl{
  font-family:var(--font-display);font-weight:300;
  font-size:clamp(2.25rem,4.2vw,3.75rem);line-height:1.1;letter-spacing:-.01em;
}
.section-title{
  font-family:var(--font-display);font-weight:300;
  font-size:clamp(2rem,3.6vw,3.25rem);line-height:1.12;letter-spacing:-.01em;
  margin-bottom:var(--space-6);
}
.body-lg{font-size:1.0625rem;line-height:1.7;color:var(--color-secondary);font-weight:300}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.625rem;
  font-size:.75rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;
  padding:1.0625rem 2.125rem;
  transition:all .5s var(--ease-lux);white-space:nowrap;
}
.btn--dark{background:var(--color-primary);color:var(--color-white)}
.btn--dark:hover{
  background:#16293a;
  transform:translateY(-2px);
  box-shadow:0 14px 30px -12px rgba(14,27,36,.6);
}
.btn--outline{color:var(--color-primary);border:1px solid rgba(14,27,36,.3)}
.btn--outline:hover{
  border-color:var(--color-accent);
  background:rgba(179,162,124,.08);
  transform:translateY(-2px);
}
.btn--light-outline{color:var(--color-white);border:1px solid rgba(255,255,255,.45)}
.btn--light-outline:hover{
  border-color:var(--color-accent);
  background:rgba(179,162,124,.14);
  transform:translateY(-2px);
}
.btn--sm{padding:.75rem 1.25rem;font-size:.6875rem}
.btn__arrow{transition:transform .5s var(--ease-lux)}
.btn:hover .btn__arrow{transform:translateX(4px)}

/* whatsapp action — green is a functional signal, used only for WA handoff */
.btn--wa{background:#25D366;color:#0B2A1A}
.btn--wa:hover{background:#1DA851;transform:translateY(-1px)}

.link-arrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-size:.75rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  padding-bottom:.375rem;border-bottom:1px solid var(--color-primary);
  transition:gap .25s var(--ease);
}
.link-arrow:hover{gap:.75rem}

/* ---------- navigation ---------- */
.nav{
  position:absolute;top:0;left:0;right:0;z-index:100;
}
.nav--solid{
  position:relative;background:var(--color-background);
  border-bottom:1px solid rgba(14,27,36,.1);
}
/* inner wrapper keeps the nav content aligned to the same max-width as the
   rest of the page, so the logo lines up with the content on wide screens */
.nav__inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--space-8);
  width:100%;max-width:var(--container);margin:0 auto;
  padding:var(--space-4) var(--space-8);
}
.nav__logo{display:inline-flex;align-items:center;color:var(--color-primary)}
.nav__logo img{display:block;height:66px;width:auto}
.nav--overlay .nav__logo{color:var(--color-white)}
.nav__menu{display:flex;align-items:center;gap:var(--space-10)}
.nav__menu a{
  font-size:.8125rem;letter-spacing:.06em;color:var(--color-secondary);
  transition:color .2s var(--ease);
}
.nav--overlay .nav__menu a{color:rgba(255,255,255,.85)}
.nav__menu a:hover,.nav__menu a.is-active{color:var(--color-primary)}
.nav--overlay .nav__menu a:hover,.nav--overlay .nav__menu a.is-active{color:var(--color-white)}
.nav__right{display:flex;align-items:center;gap:var(--space-6)}
.nav__icon{
  width:36px;height:36px;display:grid;place-items:center;color:var(--color-secondary);
  transition:color .2s var(--ease);
}
.nav--overlay .nav__icon{color:rgba(255,255,255,.85)}
.nav__icon:hover{color:var(--color-primary)}
.nav--overlay .nav__icon:hover{color:var(--color-white)}
.nav__cta{
  background:var(--color-primary);color:var(--color-white);
  padding:.8125rem 1.5rem;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;
  white-space:nowrap;
  transition:background .25s var(--ease);
}
.nav--overlay .nav__cta{background:var(--color-white);color:var(--color-primary)}
.nav__cta:hover{background:var(--color-accent);color:var(--color-white)}
.nav__toggle{display:none;width:40px;height:40px;place-items:center}

/* ---------- hero ---------- */
.hero{position:relative;height:100vh;height:100svh;min-height:640px;display:flex;align-items:center;overflow:hidden}
.hero__bg{position:absolute;inset:0;background:url('hero.webp') center right/cover no-repeat}
.hero__bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(14,27,36,.9) 0%,rgba(14,27,36,.78) 30%,rgba(14,27,36,.15) 60%,rgba(14,27,36,0) 100%);
}
.hero__slide{position:absolute;inset:0;opacity:0;transition:opacity .8s var(--ease)}
.hero__slide.is-active{opacity:1}
.hero__content{position:relative;z-index:2;color:var(--color-white);width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--space-8)}
.hero__inner{max-width:48%}
.hero__headline{color:var(--color-white);margin-bottom:var(--space-8)}
.hero__headline .line{display:block}
.hero__sub{font-size:1.0625rem;line-height:1.7;color:rgba(255,255,255,.78);font-weight:300;max-width:30rem;margin-bottom:var(--space-10)}
.hero__actions{display:flex;gap:var(--space-4);margin-bottom:var(--space-20);flex-wrap:wrap}
.hero__trust{display:flex;gap:var(--space-16);flex-wrap:wrap;padding-top:var(--space-8);border-top:1px solid rgba(255,255,255,.18)}
.trust{display:flex;align-items:flex-start;gap:var(--space-3)}
.trust__icon{color:var(--color-accent);margin-top:.15rem;flex-shrink:0}
.trust__label{font-size:.8125rem;font-weight:500;color:var(--color-white);letter-spacing:.04em}
.trust__sub{font-size:.75rem;color:rgba(255,255,255,.55);font-weight:300}
.hero__bottom{
  position:absolute;bottom:var(--space-8);left:var(--space-8);right:var(--space-8);z-index:2;
  display:flex;align-items:flex-end;justify-content:space-between;max-width:var(--container);margin:0 auto;
}
.scroll-ind{display:flex;align-items:center;gap:var(--space-3);font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.7)}
.scroll-ind__line{width:52px;height:1px;background:rgba(255,255,255,.4);position:relative;overflow:hidden}
.scroll-ind__line::after{content:'';position:absolute;inset:0;background:var(--color-white);animation:scrollLine 2.4s var(--ease) infinite}
@keyframes scrollLine{0%{transform:translateX(-100%)}50%,100%{transform:translateX(100%)}}
.slider-ind{display:flex;align-items:center;gap:var(--space-6);color:rgba(255,255,255,.85)}
.slider-ind__count{font-family:var(--font-display);font-size:1.5rem;font-weight:300;letter-spacing:.05em}
.slider-ind__count span{opacity:.45}
.slider-ind__arrows{display:flex;gap:var(--space-2)}
.slider-btn{width:40px;height:40px;border:1px solid rgba(255,255,255,.3);display:grid;place-items:center;color:rgba(255,255,255,.8);transition:all .25s var(--ease)}
.slider-btn:hover{border-color:var(--color-white);background:rgba(255,255,255,.1);color:var(--color-white)}

/* ---------- generic page head (inner pages) ---------- */
.page-head{padding:var(--space-24) 0 var(--space-16)}
.page-head__title{font-family:var(--font-display);font-weight:300;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.06;letter-spacing:-.015em;margin-bottom:var(--space-6);max-width:20em}
.page-head__text{font-size:1.0625rem;line-height:1.7;color:var(--color-secondary);font-weight:300;max-width:38rem}
.page-head__stats{display:flex;gap:var(--space-16);margin-top:var(--space-12);padding-top:var(--space-8);border-top:1px solid rgba(14,27,36,.12);flex-wrap:wrap}
.stat__num{font-family:var(--font-display);font-size:2.25rem;font-weight:300;line-height:1}
.stat__label{font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-secondary);margin-top:.25rem}

/* ---------- section head ---------- */
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-12);margin-bottom:var(--space-16)}
.section-head__left{max-width:34rem}
.section-head__text{font-size:1rem;line-height:1.7;color:var(--color-secondary);font-weight:300}
.section-head__arrows{display:flex;gap:var(--space-2);flex-shrink:0}
.arrow-btn{width:44px;height:44px;border:1px solid rgba(14,27,36,.25);display:grid;place-items:center;transition:all .25s var(--ease)}
.arrow-btn:hover{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}
.arrow-btn:disabled{opacity:.3;pointer-events:none}

/* ---------- intro ---------- */
.intro{background:var(--color-background);padding:var(--space-32) 0}
.intro__grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:var(--space-16);align-items:end;margin-bottom:var(--space-20);
}
/* editorial eyebrow with a leading gold hairline */
.eyebrow--gold{display:inline-flex;align-items:center;gap:.875rem}
.eyebrow--gold::before{
  content:'';width:32px;height:1px;background:var(--color-accent);display:inline-block;
}
/* large editorial headline */
.intro__headline{
  font-family:var(--font-display);font-weight:300;
  font-size:clamp(3rem,5.8vw,5rem);line-height:1.05;letter-spacing:-.015em;
  max-width:14em;color:var(--color-primary);margin-top:.25rem;
}
.intro__headline em{font-style:italic}
/* gold editorial rule under the headline */
.intro__rule{
  width:46px;height:2px;background:var(--color-accent);
  margin:var(--space-8) 0 var(--space-10);
}
.intro__right{max-width:32rem}
/* refined body */
.intro__text{
  font-size:1.0625rem;line-height:1.85;color:var(--color-primary);
  font-weight:300;margin-bottom:var(--space-10);
}
/* editorial CTA: gold hairline extends on hover */
.intro__cta{
  display:inline-flex;align-items:center;gap:.875rem;
  font-size:.75rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;
  color:var(--color-primary);
  padding-bottom:.5rem;border-bottom:1px solid var(--color-primary);
  transition:gap .45s var(--ease-lux),border-color .45s var(--ease-lux),
             color .45s var(--ease-lux);
}
.intro__cta-line{width:24px;height:1px;background:var(--color-accent);
  display:inline-block;transition:width .55s var(--ease-lux)}
.intro__cta-arrow{transition:transform .55s var(--ease-lux)}
.intro__cta:hover{color:var(--color-accent);border-color:var(--color-accent);gap:1.125rem}
.intro__cta:hover .intro__cta-line{width:44px}
.intro__cta:hover .intro__cta-arrow{transform:translateX(4px)}

.intro__cards{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
.intro__card{
  position:relative;display:block;overflow:hidden;aspect-ratio:3/4;cursor:pointer;
}
/* gold hairline draws across the base of the card */
.intro__card::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:2px;z-index:3;
  background:var(--color-accent);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .85s var(--ease-lux);
}
.intro__card:hover::after{transform:scaleX(1)}
/* parallax drift instead of a zoom: image is taller than the frame so it can
   travel upward without exposing an edge — reads as a slow, deliberate move */
.intro__card img{
  width:100%;height:108%;object-fit:cover;
  transition:transform 1.3s var(--ease-lux),filter 1.3s var(--ease-lux);
}
.intro__card:hover img{
  transform:translateY(-4%);
  filter:saturate(1.06) brightness(1.03);
}
.intro__card-label{
  position:absolute;bottom:0;left:0;right:0;z-index:2;
  padding:var(--space-6);color:var(--color-white);
  font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  background:linear-gradient(180deg,rgba(14,27,36,0) 0%,rgba(14,27,36,.75) 100%);
  transition:transform .85s var(--ease-lux),letter-spacing .85s var(--ease-lux);
}
.intro__card:hover .intro__card-label{
  transform:translateY(-6px);
  letter-spacing:.2em;
}
/* short gold rule that draws in beneath the label */
.intro__card-label::after{
  content:'';position:absolute;left:var(--space-6);
  bottom:calc(var(--space-6) - .6rem);
  width:26px;height:1px;background:var(--color-accent);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .75s var(--ease-lux) .08s;
}
.intro__card:hover .intro__card-label::after{transform:scaleX(1)}


/* ---------- yacht card ---------- */
.yacht-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
.yacht-card{
  position:relative;cursor:pointer;
  background:var(--color-white);display:flex;flex-direction:column;
  transition:transform .55s var(--ease-lux),box-shadow .55s var(--ease-lux);
}
.yacht-card:hover{
  transform:translateY(-6px);
  box-shadow:0 22px 45px -20px rgba(14,27,36,.3);
}
.yacht-card__media{position:relative;overflow:hidden;aspect-ratio:4/3;background:#e8e6e0}
.yacht-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.yacht-card:hover .yacht-card__media img{transform:scale(1.05)}
.yacht-card__tag{
  position:absolute;top:var(--space-4);left:var(--space-4);background:var(--color-white);
  color:var(--color-primary);font-size:.625rem;letter-spacing:.14em;text-transform:uppercase;
  font-weight:500;padding:.4375rem .875rem;
}
.yacht-card__body{padding:var(--space-6);display:flex;flex-direction:column;flex:1}
.yacht-card__name{font-family:var(--font-display);font-size:1.625rem;font-weight:400;margin-bottom:var(--space-3)}
.yacht-card__price{font-size:.9375rem;font-weight:500;margin-bottom:var(--space-3);display:flex;align-items:baseline;gap:.375rem}
.yacht-card__price span{font-size:.75rem;font-weight:400;color:var(--color-secondary)}
.yacht-card__specs{
  display:flex;flex-wrap:wrap;gap:var(--space-4);padding:var(--space-4) 0;
  border-top:1px solid rgba(14,27,36,.08);border-bottom:1px solid rgba(14,27,36,.08);
  margin-bottom:var(--space-4);
}
.yacht-card__spec{display:flex;align-items:center;gap:.4375rem;font-size:.75rem;color:var(--color-secondary)}
.yacht-card__spec svg{color:var(--color-accent);flex-shrink:0}
.yacht-card__actions{display:flex;gap:var(--space-3);margin-top:auto;flex-wrap:wrap}
.yacht-card__link{
  display:inline-flex;align-items:center;gap:.5rem;font-size:.6875rem;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;padding-bottom:.25rem;
  border-bottom:1px solid transparent;transition:all .25s var(--ease);
}
.yacht-card__link:hover{border-bottom-color:var(--color-accent);gap:.75rem}
/* whole card is a click target: the View Details link's hit area
   stretches across the card; the WhatsApp button sits above it */
.yacht-card__link::after{content:'';position:absolute;inset:0;z-index:1}

.yacht-card__wa{
  position:relative;z-index:2;
  display:inline-flex;align-items:center;gap:.4375rem;font-size:.6875rem;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;padding:.5rem .875rem;
  background:#25D366;color:#0B2A1A;transition:background .25s var(--ease);
}
.yacht-card__wa:hover{background:#1DA851}

/* ---------- fleet filters ---------- */
.filters{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-12);padding-bottom:var(--space-8);border-bottom:1px solid rgba(14,27,36,.12)}
.filter{
  font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;padding:.625rem 1.125rem;
  border:1px solid rgba(14,27,36,.2);color:var(--color-secondary);transition:all .25s var(--ease);
}
.filter:hover{border-color:var(--color-primary);color:var(--color-primary)}
.filter.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-white)}
.catalog__group{margin-bottom:var(--space-20)}
.catalog__group-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-6);padding-bottom:var(--space-6);margin-bottom:var(--space-8);border-bottom:1px solid rgba(14,27,36,.15)}
.catalog__group-title{font-family:var(--font-display);font-weight:400;font-size:clamp(1.75rem,3vw,2.5rem);letter-spacing:-.01em}
.catalog__group-count{font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-secondary)}
.catalog{padding-bottom:var(--space-24)}
.empty-state{padding:var(--space-16) 0;text-align:center;color:var(--color-secondary);font-weight:300}

/* ---------- destinations ---------- */
.destinations{position:relative;padding:var(--space-32) 0;overflow:hidden}
.destinations__bg{position:absolute;inset:0;background:url('destinations.webp') center/cover no-repeat}
.destinations__bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(14,27,36,.88) 0%,rgba(14,27,36,.7) 42%,rgba(14,27,36,.25) 100%);
}
.destinations__inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center;max-width:var(--container);margin:0 auto;padding:0 var(--space-8)}
.destinations__title{font-family:var(--font-display);font-weight:300;font-size:clamp(2rem,3.6vw,3.25rem);line-height:1.14;letter-spacing:-.01em;color:var(--color-white);margin-bottom:var(--space-6)}
.destinations__text{font-size:1rem;line-height:1.7;color:rgba(255,255,255,.72);font-weight:300;max-width:24rem;margin-bottom:var(--space-8)}
.dest-list{border-top:1px solid rgba(255,255,255,.18)}
.dest-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) 0;border-bottom:1px solid rgba(255,255,255,.18);color:var(--color-white);transition:padding-left .3s var(--ease)}
.dest-item:hover{padding-left:var(--space-3)}
.dest-item__name{font-family:var(--font-display);font-size:1.375rem;font-weight:300}
.dest-item__count{font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.5);margin-left:auto;margin-right:var(--space-6)}
.dest-item__arrow{color:rgba(255,255,255,.6);transition:transform .3s var(--ease),color .3s var(--ease)}
.dest-item:hover .dest-item__arrow{transform:translateX(4px);color:var(--color-white)}

/* destination cards (destinations page) */
.dest-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}
.dest-card{position:relative;overflow:hidden;aspect-ratio:4/5;background:#e8e6e0}
.dest-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.dest-card:hover img{transform:scale(1.05)}
.dest-card__body{position:absolute;inset:auto 0 0 0;padding:var(--space-6);color:var(--color-white);background:linear-gradient(180deg,rgba(14,27,36,0) 0%,rgba(14,27,36,.8) 100%)}
.dest-card__name{font-family:var(--font-display);font-size:1.75rem;font-weight:400;margin-bottom:.25rem}
.dest-card__meta{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;opacity:.8;margin-bottom:var(--space-4)}

/* ---------- difference ---------- */
.difference{background:var(--color-background);padding:var(--space-32) 0}
.difference__head{text-align:center;max-width:40rem;margin:0 auto var(--space-20)}
.benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-8)}
.benefit{padding-top:var(--space-6);border-top:1px solid rgba(14,27,36,.15)}
.benefit__icon{width:44px;height:44px;display:grid;place-items:center;color:var(--color-accent);margin-bottom:var(--space-6)}
.benefit__title{font-family:var(--font-display);font-size:1.375rem;font-weight:400;margin-bottom:var(--space-3)}
.benefit__text{font-size:.875rem;line-height:1.7;color:var(--color-secondary);font-weight:300}

/* ---------- testimonial ---------- */
.testimonial{background:var(--color-white);display:grid;grid-template-columns:45% 55%}
.testimonial__media{position:relative;overflow:hidden;min-height:520px;background:#e8e6e0}
.testimonial__media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;opacity:0;transition:opacity .6s var(--ease)}
.testimonial__media img.is-active{opacity:1}
.testimonial__content{padding:var(--space-20) var(--space-16);display:flex;flex-direction:column;justify-content:center}
.testimonial__quote{font-family:var(--font-display);font-weight:300;font-size:clamp(1.5rem,2.4vw,2.25rem);line-height:1.4;letter-spacing:-.005em;margin-bottom:var(--space-8);font-style:italic}
.testimonial__author{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-10)}
.testimonial__avatar{width:40px;height:40px;border-radius:50%;background:var(--color-primary);color:var(--color-white);display:grid;place-items:center;font-size:.75rem;font-weight:500;flex-shrink:0}
.testimonial__author-name{font-size:.8125rem;font-weight:600;letter-spacing:.04em}
.testimonial__author-loc{font-size:.75rem;color:var(--color-secondary);font-weight:300}

/* ---------- final CTA ---------- */
.cta{position:relative;padding:var(--space-32) 0;overflow:hidden}
.cta__bg{position:absolute;inset:0;background:url('woman-bow.webp') center/cover no-repeat}
.cta__bg::after{
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(14,27,36,.85) 0%,rgba(14,27,36,.55) 50%,rgba(14,27,36,.2) 100%);
}
.cta__inner{position:relative;z-index:2;max-width:var(--container);margin:0 auto;padding:0 var(--space-8);display:flex;align-items:center;justify-content:space-between;gap:var(--space-12)}
.cta__content{color:var(--color-white);max-width:34rem}
.cta__title{font-family:var(--font-display);font-weight:300;font-size:clamp(2rem,3.8vw,3.5rem);line-height:1.1;letter-spacing:-.01em;color:var(--color-white);margin-bottom:var(--space-8)}
.cta__actions{display:flex;align-items:center;gap:var(--space-8);flex-wrap:wrap}
.cta__secondary{display:inline-flex;align-items:center;gap:.5rem;font-size:.8125rem;color:rgba(255,255,255,.8);font-weight:300;transition:color .25s var(--ease)}
.cta__secondary:hover{color:var(--color-white)}

/* ---------- yacht detail ---------- */
.detail{padding:var(--space-16) 0 var(--space-24)}
.detail__grid{display:grid;grid-template-columns:1.15fr .85fr;gap:var(--space-16);align-items:start}
.gallery__main{position:relative;overflow:hidden;aspect-ratio:4/3;background:#e8e6e0;margin-bottom:var(--space-3)}
.gallery__main img{width:100%;height:100%;object-fit:cover}
.gallery__thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-3)}
.gallery__thumb{aspect-ratio:4/3;overflow:hidden;background:#e8e6e0;padding:0;border:2px solid transparent;transition:border-color .25s var(--ease)}
.gallery__thumb img{width:100%;height:100%;object-fit:cover}
.gallery__thumb.is-active,.gallery__thumb:hover{border-color:var(--color-primary)}

/* Long-form legal / policy copy — readable prose, no layout surprises */
.legal{font-size:1rem;line-height:1.8;font-weight:300;color:var(--color-secondary)}
.legal h1,.legal h2,.legal h3,.legal h4{
  font-family:var(--font-display);font-weight:400;color:var(--color-primary);
  line-height:1.25;margin:var(--space-8) 0 var(--space-4);
}
.legal h1{font-size:clamp(1.5rem,2.4vw,2rem)}
.legal h2{font-size:clamp(1.25rem,2vw,1.625rem)}
.legal h3{font-size:1.125rem}
.legal h4{font-size:1rem;letter-spacing:.02em}
.legal p{margin-bottom:var(--space-4)}
.legal ul,.legal ol{margin:0 0 var(--space-4) var(--space-6);padding-left:var(--space-4)}
.legal li{margin-bottom:var(--space-2)}
.legal a{color:var(--color-primary);border-bottom:1px solid var(--color-accent)}
.legal a:hover{color:var(--color-accent)}
.legal strong{font-weight:500;color:var(--color-primary)}

/* ---------- policy / legal pages (TOC + prose) ---------- */
.policy-wrap{padding-bottom:var(--space-24)}
.policy{display:grid;grid-template-columns:minmax(190px,250px) minmax(0,1fr);gap:var(--space-16);align-items:start}
.policy__toc{position:sticky;top:1.5rem;border-top:2px solid var(--color-primary);padding-top:var(--space-4)}
.policy__toc-title{font-size:.6875rem;letter-spacing:.2em;text-transform:uppercase;color:var(--color-secondary);margin-bottom:var(--space-4)}
.policy__toc ol{list-style:none;counter-reset:toc;margin:0;padding:0}
.policy__toc li{counter-increment:toc;margin-bottom:.5rem}
.policy__toc ol a{display:inline-flex;gap:.5rem;font-size:.8125rem;line-height:1.4;color:var(--color-secondary);transition:color .25s var(--ease)}
.policy__toc ol a::before{content:counter(toc,decimal-leading-zero);font-size:.6875rem;letter-spacing:.08em;color:var(--color-accent)}
.policy__toc ol a:hover{color:var(--color-primary)}
.policy__toc-cta{margin-top:var(--space-6)}
.policy__body{max-width:46rem;min-width:0}
.policy__updated{display:inline-block;font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-8)}
.policy__body section{padding-bottom:var(--space-8);margin-bottom:var(--space-8);border-bottom:1px solid rgba(14,27,36,.1);scroll-margin-top:5rem}
.policy__body section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.policy__body h2{display:flex;align-items:baseline;gap:.75rem;font-family:var(--font-display);font-weight:400;font-size:clamp(1.375rem,2.2vw,1.75rem);line-height:1.25;color:var(--color-primary);margin-bottom:var(--space-4)}
.policy__num{flex-shrink:0;font-family:var(--font-body);font-size:.75rem;font-weight:500;letter-spacing:.1em;color:var(--color-accent)}
.policy__body h3{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--color-primary);margin:var(--space-6) 0 var(--space-3)}
.policy__body p{font-size:1rem;line-height:1.8;font-weight:300;color:var(--color-secondary);margin-bottom:var(--space-4)}
.policy__body ul{margin:0 0 var(--space-4);padding-left:1.1rem;list-style:none}
.policy__body ul li{position:relative;font-size:1rem;line-height:1.8;font-weight:300;color:var(--color-secondary);margin-bottom:.625rem}
.policy__body ul li::before{content:'';position:absolute;left:-1.1rem;top:.72em;width:7px;height:1px;background:var(--color-accent)}
.policy__body ol{margin:0 0 var(--space-4);padding-left:1.4rem;list-style:decimal}
.policy__body ol li{font-size:1rem;line-height:1.8;font-weight:300;color:var(--color-secondary);margin-bottom:.625rem}
.policy__body a{color:var(--color-primary);border-bottom:1px solid var(--color-accent);transition:color .25s var(--ease)}
.policy__body a:hover{color:var(--color-accent)}
.policy__body strong{font-weight:600;color:var(--color-primary)}
.policy__body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em;background:rgba(14,27,36,.06);padding:.1em .4em;border-radius:3px;color:var(--color-primary)}
.policy__callout{border-left:2px solid var(--color-accent);background:var(--color-white);padding:var(--space-6);margin:var(--space-6) 0;font-size:.9375rem;line-height:1.75;font-weight:300;color:var(--color-secondary)}
.policy__callout strong{color:var(--color-primary)}
.policy-links{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-top:var(--space-12);padding-top:var(--space-10);border-top:1px solid rgba(14,27,36,.12)}
.policy-links a{display:block;padding:var(--space-6);background:var(--color-white);border:1px solid rgba(14,27,36,.08);transition:border-color .4s var(--ease-lux),transform .4s var(--ease-lux)}
.policy-links a:hover{border-color:var(--color-accent);transform:translateY(-3px)}
.policy-links .t{font-family:var(--font-display);font-size:1.125rem;color:var(--color-primary);margin-bottom:.25rem}
.policy-links .d{font-size:.75rem;line-height:1.5;font-weight:300;color:var(--color-secondary)}

/* FAQ accordion-free list — plain, readable, fully crawlable */
.faq__item{
  padding:var(--space-8) 0;
  border-bottom:1px solid rgba(14,27,36,.12);
}
.faq__item:first-child{border-top:1px solid rgba(14,27,36,.12)}
.faq__q{
  font-family:var(--font-display);font-size:clamp(1.25rem,2vw,1.625rem);
  font-weight:400;line-height:1.25;margin-bottom:var(--space-4);
  color:var(--color-primary);
}
.faq__a{
  font-size:1rem;line-height:1.75;font-weight:300;
  color:var(--color-secondary);max-width:46rem;
}

/* Breadcrumb trail — visible + matches BreadcrumbList JSON-LD */
.crumbs{
  font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--color-secondary);margin-bottom:var(--space-8);
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;
}
.crumbs a{color:var(--color-secondary);border-bottom:1px solid transparent;transition:color .2s var(--ease),border-color .2s var(--ease)}
.crumbs a:hover{color:var(--color-primary);border-bottom-color:var(--color-accent)}
.crumbs span[aria-current="page"]{color:var(--color-primary)}

.detail__eyebrow{font-size:.6875rem;letter-spacing:.22em;text-transform:uppercase;color:var(--color-secondary);margin-bottom:var(--space-4)}
.detail__title{font-family:var(--font-display);font-weight:300;font-size:clamp(2rem,4vw,3.25rem);line-height:1.08;letter-spacing:-.01em;margin-bottom:var(--space-4)}
.detail__price{font-size:1.25rem;font-weight:500;margin-bottom:var(--space-6);display:flex;align-items:baseline;gap:.5rem}
.detail__price span{font-size:.8125rem;font-weight:400;color:var(--color-secondary)}
.detail__desc{font-size:1rem;line-height:1.75;color:var(--color-secondary);font-weight:300;margin-bottom:var(--space-8)}
.detail__desc p{margin-bottom:var(--space-4)}
.detail__desc p:last-child{margin-bottom:0}
.detail__summary{color:var(--color-secondary)}
.detail__gallery-label{
  font-size:.6875rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--color-accent);font-weight:500;margin:var(--space-8) 0 var(--space-3);
}

/* Description image gallery — interior/exterior photos from fam-tours.com */
.desc-gallery{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(180px,1fr));
  gap:var(--space-3);
  margin:var(--space-6) 0;
}
.desc-gallery img{
  width:100%;
  aspect-ratio:3/2;
  object-fit:cover;
  border-radius:6px;
  cursor:pointer;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),opacity .3s var(--ease);
  box-shadow:0 1px 4px rgba(14,27,36,.08);
}
.desc-gallery img:hover{
  transform:translateY(-3px) scale(1.02);
  box-shadow:0 8px 24px rgba(14,27,36,.18);
  opacity:.92;
}

/* Lightbox overlay for description images */
.lightbox{
  position:fixed;
  inset:0;
  z-index:1000;
  background:rgba(14,27,36,0);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:var(--space-8);
  cursor:zoom-out;
  transition:background .3s var(--ease);
}
.lightbox.is-open{background:rgba(14,27,36,.85)}
.lightbox img{
  max-width:90vw;
  max-height:85vh;
  object-fit:contain;
  border-radius:8px;
  box-shadow:0 20px 60px rgba(0,0,0,.4);
  transform:scale(.92);
  opacity:0;
  transition:transform .35s var(--ease),opacity .35s var(--ease);
}
.lightbox.is-open img{
  transform:scale(1);
  opacity:1;
}

.spec-table{width:100%;border-collapse:collapse;margin-bottom:var(--space-8)}
.spec-table th,.spec-table td{text-align:left;padding:var(--space-3) 0;border-bottom:1px solid rgba(14,27,36,.1);font-size:.875rem}
.spec-table th{font-weight:500;width:45%;letter-spacing:.04em}
.spec-table td{color:var(--color-secondary)}

.booking{background:var(--color-white);padding:var(--space-8);position:sticky;top:var(--space-8)}
.booking__title{font-family:var(--font-display);font-size:1.5rem;font-weight:400;margin-bottom:var(--space-2)}
.booking__note{font-size:.75rem;color:var(--color-secondary);margin-bottom:var(--space-6);font-weight:300}
.field{margin-bottom:var(--space-4)}
.field label{display:block;font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--color-secondary);margin-bottom:var(--space-2)}
.field input,.field select,.field textarea{
  width:100%;min-width:0;padding:.75rem 1rem;border:1px solid rgba(14,27,36,.2);
  background:var(--color-background);font-family:inherit;font-size:.875rem;color:var(--color-primary);
  transition:border-color .2s var(--ease);
}
.field select{text-overflow:ellipsis}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--color-primary)}
/* Keep a real focus ring for keyboard users — the border change alone is too
   subtle to satisfy WCAG 2.4.7 on its own. */
.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible{
  outline:2px solid var(--color-accent);outline-offset:2px;
}
.field textarea{resize:vertical;min-height:80px}
.booking__summary{font-size:.8125rem;color:var(--color-secondary);margin:var(--space-4) 0;line-height:1.6}
.booking__actions{display:flex;flex-direction:column;gap:var(--space-3)}
.btn--block{width:100%}

.related{padding:var(--space-16) 0 0;border-top:1px solid rgba(14,27,36,.12)}

/* ---------- contact ---------- */
.contact__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);padding-bottom:var(--space-24)}
.contact__info-item{padding:var(--space-6) 0;border-bottom:1px solid rgba(14,27,36,.12)}
.contact__label{font-size:.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--color-secondary);margin-bottom:var(--space-2)}
.contact__value{font-size:1rem;line-height:1.6}
.contact__value a:hover{color:var(--color-accent)}
.form-card{background:var(--color-white);padding:var(--space-8)}
.form-card__title{font-family:var(--font-display);font-size:1.75rem;font-weight:400;margin-bottom:var(--space-2)}
.form-card__note{font-size:.8125rem;color:var(--color-secondary);font-weight:300;margin-bottom:var(--space-6)}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}

/* ---------- about ---------- */
.about__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center;padding-bottom:var(--space-20)}
.about__media{aspect-ratio:4/5;overflow:hidden;background:#e8e6e0}
.about__media img{width:100%;height:100%;object-fit:cover}
.about__body p{font-size:1rem;line-height:1.8;color:var(--color-secondary);font-weight:300;margin-bottom:var(--space-4)}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);padding-bottom:var(--space-20)}
.value{padding-top:var(--space-6);border-top:1px solid rgba(14,27,36,.15)}
.value__title{font-family:var(--font-display);font-size:1.375rem;font-weight:400;margin-bottom:var(--space-3)}

/* ============ FOOTER — light ground, matches site theme ============ */
.footer{
  background:var(--color-white);
  color:var(--color-secondary);
  padding:var(--space-20) 0 var(--space-8);
  border-top:1px solid rgba(14,27,36,.12);
}
.footer__top{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--space-12);
  padding-bottom:var(--space-10);
  border-bottom:1px solid rgba(14,27,36,.1);
  margin-bottom:var(--space-12);
}
.footer__logo{
  display:inline-flex;align-items:center;
  color:var(--color-primary);
}
.footer__logo img{display:block;height:72px;width:auto}
.footer__nav{display:flex;gap:var(--space-8);flex-wrap:wrap}
.footer__nav a{
  font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--color-secondary);
  position:relative;padding-bottom:.25rem;
  transition:color .4s var(--ease-lux);
}
.footer__nav a::after{
  content:'';position:absolute;left:0;bottom:0;height:1px;width:0;
  background:var(--color-accent);
  transition:width .5s var(--ease-lux);
}
.footer__nav a:hover{color:var(--color-primary)}
.footer__nav a:hover::after{width:100%}
.footer__socials{display:flex;gap:var(--space-3)}
.social{
  width:38px;height:38px;
  border:1px solid rgba(14,27,36,.18);
  display:grid;place-items:center;color:var(--color-secondary);
  transition:all .45s var(--ease-lux);
}
.social:hover{
  border-color:var(--color-accent);
  background:var(--color-accent);
  color:var(--color-primary);
  transform:translateY(-2px);
}
.footer__bottom{
  display:flex;align-items:center;justify-content:space-between;
  gap:var(--space-6);flex-wrap:wrap;
}
.footer__copy{
  font-size:.75rem;font-weight:300;
  color:var(--color-secondary);letter-spacing:.02em;
}
.footer__legal{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-6)}
.footer__legal a{
  font-size:.75rem;font-weight:300;
  color:var(--color-secondary);
  position:relative;padding-bottom:.25rem;
  transition:color .4s var(--ease-lux);
}
.footer__legal a::after{
  content:'';position:absolute;left:0;bottom:0;height:1px;width:0;
  background:var(--color-accent);
  transition:width .5s var(--ease-lux);
}
.footer__legal a:hover{color:var(--color-primary)}
.footer__legal a:hover::after{width:100%}

/* ============ EXPANDED FOOTER ============ */
.footer__grid{
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:var(--space-12);
  padding-bottom:var(--space-12);
  border-bottom:1px solid rgba(14,27,36,.1);
  margin-bottom:var(--space-8);
}
.footer__col-title{
  font-family:var(--font-display);
  font-size:1.375rem;font-weight:400;letter-spacing:.02em;
  color:var(--color-primary);
  margin-bottom:var(--space-5);
}
.footer__col p{
  font-size:.875rem;line-height:1.85;
  color:var(--color-secondary);font-weight:300;
  margin-bottom:var(--space-3);
}
.footer__col ul li{margin-bottom:.625rem}
.footer__col ul a{
  font-size:.875rem;font-weight:300;
  color:var(--color-secondary);
  position:relative;display:inline-block;padding-bottom:2px;
  transition:color .4s var(--ease-lux);
}
.footer__col ul a::after{
  content:'';position:absolute;left:0;bottom:0;height:1px;width:0;
  background:var(--color-accent);
  transition:width .5s var(--ease-lux);
}
.footer__col ul a:hover{color:var(--color-primary)}
.footer__col ul a:hover::after{width:100%}
.footer__col .link-arrow{
  font-size:.6875rem;letter-spacing:.16em;
  color:var(--color-primary);
  border-bottom-color:rgba(14,27,36,.28);
}
.footer__col .link-arrow:hover{color:var(--color-primary);border-bottom-color:var(--color-accent)}
.footer__contact-line{
  display:flex;align-items:center;gap:.625rem;
  font-size:.875rem;font-weight:300;
  color:var(--color-secondary);
  margin-bottom:.625rem;
}
.footer__contact-line svg{color:var(--color-accent);flex-shrink:0}
.footer__contact-line a{
  font-size:inherit;color:inherit;
  transition:color .35s var(--ease-lux);
}
.footer__contact-line a:hover{color:var(--color-primary)}
@media (max-width:1024px){.footer__grid{grid-template-columns:1fr 1fr;gap:var(--space-10)}}
@media (max-width:768px){
  .footer__grid{grid-template-columns:1fr;gap:var(--space-8)}
  .footer__logo{letter-spacing:.24em}
}

/* ============================================================
   LUXURY MOTION SYSTEM — premium micro-interactions
   Slow deliberate easing, gold accent sweeps, layered reveals
   ============================================================ */

/* --- keyframes --- */
@keyframes luxFadeUp{
  from{opacity:0;transform:translateY(26px)}
  to{opacity:1;transform:none}
}
@keyframes luxFadeIn{
  from{opacity:0}
  to{opacity:1}
}

/* --- hero / page-head entrance: staggered fade-up --- */
.hero__bg{animation:luxFadeIn 1.5s var(--ease-lux) both}
.hero__inner > *{animation:luxFadeUp 1.05s var(--ease-lux) both}
.hero__inner > *:nth-child(1){animation-delay:.08s}
.hero__inner > *:nth-child(2){animation-delay:.20s}
.hero__inner > *:nth-child(3){animation-delay:.32s}
.hero__inner > *:nth-child(4){animation-delay:.44s}
.hero__inner > *:nth-child(5){animation-delay:.56s}
.page-head > *{animation:luxFadeUp .95s var(--ease-lux) both}
.page-head > *:nth-child(1){animation-delay:.06s}
.page-head > *:nth-child(2){animation-delay:.18s}
.page-head > *:nth-child(3){animation-delay:.30s}

/* --- navigation: smooth hover + lift --- */
.nav__logo,.nav__menu a,.nav__cta,.nav__icon{
  transition:color .4s var(--ease-lux),opacity .4s var(--ease-lux),
             transform .4s var(--ease-lux),border-color .4s var(--ease-lux);
}
.nav__menu a:hover{opacity:.72}
.nav__cta:hover{transform:translateY(-2px)}
.nav__icon:hover{transform:translateY(-2px)}

/* --- yacht cards: lift + image zoom on the luxury curve --- */
.yacht-card{
  transition:transform .7s var(--ease-lux),box-shadow .7s var(--ease-lux);
}
.yacht-card:hover{
  transform:translateY(-6px);
  box-shadow:0 24px 48px -22px rgba(14,27,36,.30);
}
.yacht-card__media img{transition:transform 1.15s var(--ease-lux)}
.yacht-card:hover .yacht-card__media img{transform:scale(1.06)}
.yacht-card__name{transition:color .4s var(--ease-lux)}
.yacht-card__tag{
  transition:background-color .45s var(--ease-lux),color .45s var(--ease-lux);
}

/* --- destination / media cards: gentle zoom --- */
.dest-card img,.about__media img,.testimonial__media img{
  transition:transform 1.15s var(--ease-lux);
}
.dest-card:hover img,.about__media:hover img{transform:scale(1.04)}

/* --- links: gold underline sweep + arrow slide --- */
.link-arrow{
  transition:gap .35s var(--ease-lux),color .4s var(--ease-lux),
             border-color .4s var(--ease-lux);
}

/* --- buttons: layered hover --- */
.btn{transition:all .5s var(--ease-lux)}
.btn__arrow{transition:transform .5s var(--ease-lux)}
.btn:hover .btn__arrow{transform:translateX(5px)}

/* --- images: subtle zoom wherever they sit in a framed media box --- */
.yacht-card__media,.dest-card,.about__media,.testimonial__media{overflow:hidden}

@media (prefers-reduced-motion:reduce){
  .hero__bg,.hero__inner > *,.page-head > *{
    animation:none!important;opacity:1!important;transform:none!important;
  }
}

/* ---------- floating whatsapp ---------- */
.wa-float{
  position:fixed;right:var(--space-6);bottom:var(--space-6);z-index:200;
  display:inline-flex;align-items:center;gap:.5rem;
  background:#25D366;color:#0B2A1A;
  padding:.875rem 1.125rem;font-size:.75rem;font-weight:600;letter-spacing:.06em;
  box-shadow:0 4px 18px rgba(0,0,0,.18);transition:transform .25s var(--ease);
}
.wa-float:hover{transform:translateY(-2px)}

/* ---------- toast ---------- */
.toast{
  position:fixed;left:50%;bottom:var(--space-8);transform:translate(-50%,1rem);z-index:300;
  background:var(--color-primary);color:var(--color-white);
  padding:.875rem 1.5rem;font-size:.8125rem;opacity:0;pointer-events:none;
  transition:opacity .3s var(--ease),transform .3s var(--ease);
}
.toast.is-visible{opacity:1;transform:translate(-50%,0)}

/* ---------- scroll reveal ---------- */
.reveal{
  opacity:0;transform:translateY(22px);
  transition:opacity .9s var(--ease-lux),transform .9s var(--ease-lux);
}
.reveal.is-visible{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1100px){
  .hero__inner{max-width:62%}
  .benefits{grid-template-columns:repeat(2,1fr);gap:var(--space-10)}
  .dest-grid{grid-template-columns:repeat(2,1fr)}
  .values{grid-template-columns:repeat(2,1fr)}
  .detail__grid{grid-template-columns:1fr}
  .booking{position:static}
  .desc-gallery{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}
}
@media (max-width:1024px){
  .nav__menu{
    display:none;position:absolute;top:100%;left:0;right:0;
    background:var(--color-background);flex-direction:column;align-items:flex-start;
    gap:0;padding:var(--space-4) var(--space-8);border-bottom:1px solid rgba(14,27,36,.12);
  }
  .nav__menu.is-open{display:flex}
  .nav__menu li{width:100%;border-bottom:1px solid rgba(14,27,36,.08)}
  .nav__menu a{display:block;padding:var(--space-3) 0;color:var(--color-primary)!important}
  .nav__toggle{display:grid}
  .nav--overlay .nav__menu{background:var(--color-primary)}
  .intro__grid{grid-template-columns:1fr;gap:var(--space-8);align-items:start}
  .yacht-grid{grid-template-columns:repeat(2,1fr)}
  .destinations__inner{grid-template-columns:1fr;gap:var(--space-12)}
  .testimonial{grid-template-columns:1fr}
  .testimonial__media{min-height:340px}
  .cta__inner{flex-direction:column;align-items:flex-start}
  .about__grid,.contact__grid{grid-template-columns:1fr}
  .policy{grid-template-columns:1fr;gap:var(--space-10)}
  .policy__toc{position:static;border:1px solid rgba(14,27,36,.12);border-top:2px solid var(--color-primary);padding:var(--space-6);background:var(--color-white)}
  .policy__toc ol{display:grid;grid-template-columns:1fr 1fr;gap:.25rem .75rem}
  .policy-links{grid-template-columns:1fr 1fr}
  .nav__logo img{height:56px}
  .footer__logo img{height:66px}
}
@media (max-width:768px){
  .container{padding:0 var(--space-6)}
  .nav{padding:var(--space-6)}
  .hero__content,.destinations__inner,.cta__inner{padding:0 var(--space-6)}
  .hero__inner{max-width:100%}
  .hero__actions{flex-direction:column;align-items:flex-start}
  .hero__trust{gap:var(--space-8)}
  .hero__bottom{left:var(--space-6);right:var(--space-6);bottom:var(--space-6)}
  .scroll-ind{display:none}
  .intro,.destinations,.difference,.cta{padding:var(--space-20) 0}
  .intro__cards{grid-template-columns:1fr}
  .yacht-grid{grid-template-columns:1fr}
  .dest-grid{grid-template-columns:1fr}
  .benefits,.values{grid-template-columns:1fr}
  .section-head{flex-direction:column;align-items:flex-start;gap:var(--space-6)}
  .footer__top{flex-direction:column;align-items:flex-start;gap:var(--space-8)}
  .footer__nav{gap:var(--space-6)}
  .testimonial__content{padding:var(--space-12) var(--space-6)}
  .page-head{padding:var(--space-16) 0 var(--space-12)}
  .form__row{grid-template-columns:1fr}
  .gallery__thumbs{grid-template-columns:repeat(3,1fr)}
  .policy__toc ol{grid-template-columns:1fr}
  .policy-links{grid-template-columns:1fr}
  .nav__inner{padding:var(--space-3) var(--space-6);gap:var(--space-4)}
  .nav__logo img{height:48px}
  .footer__logo img{height:60px}
  .hero{height:auto;min-height:0;padding:7rem 0 4rem;align-items:flex-start}
  .footer__legal{justify-content:flex-start}
  .contact__grid{padding-bottom:var(--space-16)}
  .nav__right{gap:var(--space-3)}
  .nav__cta{padding:.6875rem 1rem}
}
/* very small screens: the floating WhatsApp button already covers chat, so the
   header keeps just the logo, the primary CTA and the menu toggle */
@media (max-width:560px){
  .nav__icon{display:none}
  .nav__cta{padding:.625rem .875rem;font-size:.625rem;letter-spacing:.08em}
  .nav__logo img{height:44px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .reveal{opacity:1!important;transform:none!important;transition:none!important}
}
