/* =====================================================================
   MARINA SMIR JET CLUB — style.css
   Token system
   ---------------------------------------------------------------------
   Color   : ivory sand base / deep abyss navy / lagoon teal / champagne gold
   Type    : Fraunces (display, italic accents) · Manrope (body) · Space
             Grotesk (telemetry / data / labels)
   Signature: fixed HUD telemetry panel + living WebGL ocean hero
   ===================================================================== */

:root{
  /* --- color --- */
  --ivory:        #F6F1E7;
  --ivory-deep:   #EDE5D2;
  --abyss:        #0A2530;
  --abyss-2:      #0F3242;
  --lagoon:       #1E6E73;
  --lagoon-light: #6FB8B4;
  --turquoise:    #9FD8CF;
  --gold:         #C6A465;
  --gold-light:   #E7D6A8;
  --ink:          #12262B;
  --ink-soft:     #4B5F62;
  --line:         rgba(18,38,43,0.12);
  --line-dark:    rgba(246,241,231,0.14);
  --white:        #FFFDF9;

  /* --- type --- */
  --f-display: 'Fraunces', serif;
  --f-body:    'Manrope', sans-serif;
  --f-mono:    'Space Grotesk', sans-serif;

  /* --- misc --- */
  --ease: cubic-bezier(.16,.84,.44,1);
  --ease-soft: cubic-bezier(.22,.9,.3,1);
  --radius: 18px;
  --radius-sm: 10px;
  --container: 1240px;
}

/* ================= RESET ================= */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
html,body{ height:100%; }
body{
  background:var(--ivory);
  color:var(--ink);
  font-family:var(--f-body);
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
button{ font-family:inherit; background:none; border:none; cursor:pointer; color:inherit; }
svg{ display:block; }
::selection{ background:var(--gold); color:var(--abyss); }

h1,h2,h3{ font-family:var(--f-display); font-weight:500; color:var(--ink); letter-spacing:-0.01em; }
em{ font-style:italic; color:var(--lagoon); }

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

/* ================= LAYOUT HELPERS ================= */
.section-head{ max-width:var(--container); margin:0 auto; padding:0 var(--gutter,6vw) clamp(2rem,4vw,3.5rem); }
.section-head h2{ font-size:clamp(2rem,4vw,3.4rem); line-height:1.1; margin-top:.6rem; }
.section-head__note{ margin-top:1rem; color:var(--ink-soft); font-size:.92rem; max-width:40ch; }

.eyebrow{
  display:flex; align-items:center; gap:.55rem;
  font-family:var(--f-mono); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--lagoon); font-weight:500;
}
.eyebrow i{ width:22px; height:1px; background:var(--gold); display:inline-block; }

section{ position:relative; padding:clamp(4rem,8vw,7rem) 0; }
.about__inner, .contact__inner{ padding-left:6vw; padding-right:6vw; }

/* ================= BUTTONS ================= */
.btn{
  position:relative; display:inline-flex; align-items:center; gap:.6rem;
  padding:1rem 1.7rem; border-radius:100px; font-family:var(--f-mono);
  font-size:.82rem; letter-spacing:.04em; font-weight:500; text-transform:uppercase;
  overflow:hidden; transition:transform .5s var(--ease), box-shadow .5s var(--ease);
  isolation:isolate;
}
.btn span{ position:relative; z-index:2; }
.btn svg{ position:relative; z-index:2; transition:transform .4s var(--ease); }
.btn:hover svg{ transform:translate(2px,-2px); }
.btn:hover{ transform:translateY(-2px); }

.btn--gold{ background:linear-gradient(135deg,var(--gold-light),var(--gold)); color:var(--abyss); box-shadow:0 10px 30px -12px rgba(198,164,101,.7); }
.btn--gold:hover{ box-shadow:0 16px 34px -10px rgba(198,164,101,.85); }

.btn--ghost{ background:transparent; color:var(--ink); border:1px solid var(--line); }
.btn--ghost:hover{ border-color:var(--lagoon); background:rgba(30,110,115,.06); }

.btn--sm{ padding:.8rem 1.3rem; font-size:.74rem; width:100%; justify-content:center; }

/* ================= PRELOADER ================= */
.preloader{
  position:fixed; inset:0; z-index:9999; background:var(--abyss);
  display:flex; align-items:center; justify-content:center;
  transition:transform 1s var(--ease), opacity .8s ease;
}
.preloader.is-done{ transform:translateY(-100%); }
.preloader__inner{ text-align:center; color:var(--turquoise); }
.preloader__mark{ color:var(--gold); margin-bottom:1.2rem; }
#preloader-path{ stroke-dasharray:220; stroke-dashoffset:220; animation:draw 2s var(--ease) forwards infinite; }
@keyframes draw{ 0%{stroke-dashoffset:220;} 60%{stroke-dashoffset:0;} 100%{stroke-dashoffset:-220;} }
.preloader__label{
  display:flex; justify-content:space-between; width:180px; margin:0 auto .8rem;
  font-family:var(--f-mono); font-size:.72rem; letter-spacing:.14em; color:var(--ivory);
}
.preloader__bar{ width:180px; height:1px; background:rgba(255,255,255,.15); margin:0 auto; }
.preloader__bar span{ display:block; height:100%; width:0%; background:var(--gold); transition:width .25s ease; }

/* ================= CURSOR ================= */
.cursor{
  position:fixed; top:0; left:0; width:34px; height:34px; border-radius:50%;
  border:1px solid var(--gold); pointer-events:none; z-index:9000;
  transform:translate(-50%,-50%); mix-blend-mode:difference;
  transition:width .3s var(--ease), height .3s var(--ease), opacity .3s ease, border-color .3s ease;
  display:none;
}
.cursor span{ position:absolute; inset:0; margin:auto; width:4px; height:4px; border-radius:50%; background:var(--gold); }
.cursor.is-active{ width:60px; height:60px; border-color:var(--turquoise); }
@media (hover:hover) and (pointer:fine){ .cursor{ display:block; } }

/* ================= GRAIN ================= */
.grain{
  position:fixed; inset:-50%; z-index:8000; pointer-events:none; opacity:.035; mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 1s steps(2) infinite;
}
@keyframes grain{ 0%,100%{ transform:translate(0,0);} 50%{ transform:translate(-2%,2%);} }

/* ================= SCROLL PROGRESS ================= */
.scroll-progress{
  position:fixed; top:0; left:0; height:2px; width:0%; z-index:7000;
  background:linear-gradient(90deg,var(--lagoon),var(--gold));
}

/* ================= HUD ================= */
.hud{
  position:fixed; left:28px; bottom:28px; z-index:400;
  display:flex; align-items:center; gap:14px;
  padding:14px 18px 14px 14px; border-radius:100px;
  background:rgba(10,37,48,.55); backdrop-filter:blur(14px) saturate(140%);
  border:1px solid rgba(255,255,255,.1);
  color:var(--ivory); font-family:var(--f-mono);
  opacity:0; transform:translateY(12px); transition:opacity .6s ease, transform .6s ease;
}
.hud.is-visible{ opacity:1; transform:translateY(0); }
.hud__ring{ position:relative; width:48px; height:48px; flex:none; }
.hud__ring svg{ width:100%; height:100%; transform:rotate(-90deg); }
.hud__ring-bg{ fill:none; stroke:rgba(255,255,255,.15); stroke-width:3; }
.hud__ring-fg{ fill:none; stroke:var(--gold); stroke-width:3; stroke-linecap:round; stroke-dasharray:213.6; stroke-dashoffset:213.6; transition:stroke-dashoffset .1s linear; }
.hud__ring-label{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:.68rem; color:var(--turquoise); }
.hud__data{ display:flex; flex-direction:column; gap:3px; min-width:210px; }
.hud__row{ display:flex; justify-content:space-between; gap:1rem; font-size:.64rem; letter-spacing:.05em; }
.hud__key{ color:rgba(255,255,255,.42); text-transform:uppercase; }
.hud__val{ color:var(--ivory); display:inline-flex; align-items:center; gap:6px; }
.hud__dot{ width:6px; height:6px; border-radius:50%; background:#7CC48C; box-shadow:0 0 8px #7CC48C; display:inline-block; }
.hud__dot.is-closed{ background:#D97C63; box-shadow:0 0 8px #D97C63; }
@media (max-width:1100px){ .hud{ display:none; } }

/* ================= NAV ================= */
.nav{ position:fixed; top:0; left:0; right:0; z-index:900; padding:1.4rem 0; transition:padding .4s var(--ease), background .4s var(--ease); }
.nav__inner{
  max-width:var(--container); margin:0 auto; padding:0 6vw;
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
}
.nav.is-scrolled{ padding:.7rem 0; background:rgba(246,241,231,.7); backdrop-filter:blur(16px) saturate(160%); box-shadow:0 1px 0 var(--line); }

.nav__logo{ display:flex; align-items:center; gap:1rem; line-height:1; }
.nav__logo-img{ display:block; width:44px; height:auto; object-fit:contain; }
.nav__logo-copy{ display:flex; flex-direction:column; }
.nav__logo-main{ font-family:var(--f-display); font-size:1.15rem; letter-spacing:.02em; color:var(--ink); }
.nav__logo-sub{ font-family:var(--f-mono); font-size:.6rem; letter-spacing:.16em; color:var(--gold); margin-top:3px; }

.nav__links{ display:flex; gap:2.1rem; }
.nav__links a{
  position:relative; font-family:var(--f-mono); font-size:.78rem; letter-spacing:.03em;
  color:var(--ink-soft); display:flex; align-items:center; gap:.4rem; transition:color .3s ease;
}
.nav__links a span{ font-size:.6rem; color:var(--gold); }
.nav__links a::after{ content:''; position:absolute; left:0; bottom:-6px; width:0; height:1px; background:var(--lagoon); transition:width .35s var(--ease); }
.nav__links a:hover{ color:var(--ink); }
.nav__links a:hover::after{ width:100%; }

.nav__cta{
  display:inline-flex; align-items:center; gap:.5rem; padding:.7rem 1.2rem; border-radius:100px;
  background:var(--abyss); color:var(--ivory); font-family:var(--f-mono); font-size:.76rem; letter-spacing:.03em;
  transition:transform .4s var(--ease), background .4s ease;
}
.nav__cta:hover{ background:var(--lagoon); transform:translateY(-2px); }

.nav__burger{ display:none; flex-direction:column; gap:5px; width:26px; }
.nav__burger span{ height:1.5px; background:var(--ink); width:100%; transition:transform .35s ease, opacity .35s ease; }
.nav__burger.is-open span:nth-child(1){ transform:translateY(6.5px) rotate(45deg); }
.nav__burger.is-open span:nth-child(2){ opacity:0; }
.nav__burger.is-open span:nth-child(3){ transform:translateY(-6.5px) rotate(-45deg); }

@media (max-width:920px){
  .nav__links{ display:none; }
  .nav__cta{ display:none; }
  .nav__burger{ display:flex; }
}

.mobile-menu{
  position:fixed; inset:0; z-index:850; background:var(--abyss); color:var(--ivory);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2rem;
  transform:translateY(-100%); transition:transform .55s var(--ease); 
}
.mobile-menu.is-open{ transform:translateY(0); }
.mobile-menu nav{ display:flex; flex-direction:column; gap:1.6rem; text-align:center; }
.mobile-menu nav a{ font-family:var(--f-display); font-size:2rem; }
.mobile-menu__call{ font-family:var(--f-mono); color:var(--gold); letter-spacing:.06em; border:1px solid rgba(255,255,255,.2); padding:.8rem 1.6rem; border-radius:100px; }

/* ================= HERO ================= */
.hero{
  position:relative; min-height:100vh; display:flex; flex-direction:column; justify-content:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 30%, rgba(255,255,255,.42), transparent 32%),
    radial-gradient(circle at 25% 18%, rgba(159,216,207,.72), transparent 26%),
    radial-gradient(circle at 82% 12%, rgba(198,164,101,.28), transparent 28%),
    linear-gradient(180deg, rgba(232,246,245,.96), rgba(219,236,234,.96));
}
.hero::before{
  content:''; position:absolute; top:-12%; left:50%; width:760px; height:760px;
  transform:translateX(-50%); border-radius:50%;
  background:radial-gradient(circle at 35% 35%, rgba(46,168,181,.22), transparent 32%),
              radial-gradient(circle at 68% 42%, rgba(248,195,113,.16), transparent 26%);
  pointer-events:none;
}
.hero__overlay{
  position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(ellipse at 30% 50%, rgba(46,168,181,.18), transparent 48%),
    linear-gradient(90deg, rgba(10,37,48,.26), transparent 45%, rgba(10,37,48,.18) 100%);
}
#ocean-canvas{ position:absolute; inset:0; width:100%; height:100%; display:block; z-index:0; }
.hero__bubbles{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.hero__bubbles span{
  position:absolute; display:block; width:24px; height:24px; border-radius:50%;
  background:rgba(255,255,255,.08); box-shadow:0 6px 18px rgba(10,37,48,.08);
  left:12%; bottom:18%; animation:heroRise 8s linear infinite;
}
.hero__bubbles span:nth-child(2){ width:16px; height:16px; left:26%; bottom:10%; animation-duration:10s; animation-delay:1.2s; }
.hero__bubbles span:nth-child(3){ width:20px; height:20px; left:73%; bottom:22%; animation-duration:9s; animation-delay:.6s; }
@keyframes heroRise{ 0%{ transform:translateY(0) scale(.9); opacity:0; } 20%{ opacity:.7; } 55%{ transform:translateY(-20px) scale(1); } 100%{ transform:translateY(-70px); opacity:0; } }
.hero__vignette{
  position:absolute; inset:0; pointer-events:none; z-index:2;
  background:linear-gradient(90deg, rgba(10,37,48,.42), transparent 36%, rgba(10,37,48,.2) 100%);
}
.hero__grid{
  position:absolute; inset:0; pointer-events:none; z-index:2; opacity:.32;
  background-image:linear-gradient(rgba(255,255,255,.22) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.22) 1px, transparent 1px);
  background-size:64px 64px; mask-image:linear-gradient(180deg, black, transparent 72%);
}
.hero__content{
  position:relative; z-index:3; max-width:var(--container); margin:0 auto; padding:0 6vw; width:100%;
}
.hero__panel{
  max-width:760px; padding:2rem 2rem 2.2rem; border-radius:28px;
  background:linear-gradient(135deg, rgba(255,255,255,.58), rgba(255,255,255,.3));
  border:1px solid rgba(18,38,43,.08);
  box-shadow:0 30px 80px -40px rgba(10,37,48,.45);
  backdrop-filter:blur(16px) saturate(150%);
}
.about, .experiences, .fleet, .pricing, .testimonials, .gallery, .contact, .footer{ content-visibility:auto; contain-intrinsic-size:auto 900px; }
.eyebrow.reveal-up{ margin-bottom:1.4rem; }
.hero__title{ font-size:clamp(2.8rem,7.4vw,6.4rem); line-height:.98; color:var(--abyss); max-width:14ch; text-shadow:0 10px 40px rgba(246,241,231,.25); }
.split-line{ display:block; overflow:hidden; }
.split-line__inner{ display:block; transform:translateY(110%); }
.hero__sub{
  max-width:46ch; margin-top:1.8rem; font-size:1.05rem; color:var(--ink-soft);
}
.hero__actions{ display:flex; gap:1rem; margin-top:2.6rem; flex-wrap:wrap; }
.hero__actions .btn{ box-shadow:0 18px 34px -20px rgba(10,37,48,.4); }
.hero__actions .btn--ghost{ background:rgba(255,255,255,.6); backdrop-filter:blur(6px); }
.hero__facts{
  display:flex; gap:1rem; flex-wrap:wrap; margin-top:2rem;
}
.hero__facts div{
  min-width:150px; padding:.9rem 1rem; border-radius:16px;
  background:rgba(10,37,48,.06); border:1px solid rgba(18,38,43,.08);
}
.hero__facts strong{
  display:block; font-family:var(--f-display); font-size:1.25rem; color:var(--lagoon);
}
.hero__facts span{
  display:block; margin-top:.2rem; font-family:var(--f-mono); font-size:.66rem;
  letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft);
}
.hero__meta{
  position:absolute; left:6vw; bottom:4.8rem; z-index:4; display:flex; gap:1.2rem;
  flex-wrap:wrap; padding:1rem 1.2rem; border-radius:22px;
  background:rgba(255,255,255,.82); backdrop-filter:blur(10px);
  border:1px solid rgba(46,168,181,.16); box-shadow:0 18px 40px rgba(17,47,75,.08);
}
.hero__meta-item{ position:relative; padding-right:1.2rem; }
.hero__meta-item:not(:last-child)::after{ content:''; position:absolute; top:50%; right:0; width:1px; height:34px; background:rgba(46,168,181,.16); transform:translateY(-50%); }
.hero__meta-item span{ display:block; font-family:var(--f-mono); font-size:.58rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-soft); }
.hero__meta-item b{ display:block; margin-top:.25rem; font-family:var(--f-display); font-size:1.1rem; color:var(--abyss); }

.hero__scrollcue{
  position:absolute; left:6vw; bottom:2.6rem; z-index:2; display:flex; align-items:center; gap:.7rem;
  font-family:var(--f-mono); font-size:.68rem; letter-spacing:.14em; color:var(--ink-soft); text-transform:uppercase;
}
.hero__scrollcue-line{ width:1px; height:42px; background:var(--line); position:relative; overflow:hidden; }
.hero__scrollcue-line i{ position:absolute; top:-100%; left:0; width:100%; height:100%; background:var(--gold); animation:scrollcue 2.2s ease-in-out infinite; }
@keyframes scrollcue{ 0%{ top:-100%; } 50%{ top:0%; } 100%{ top:100%; } }

.hero__coords{
  position:absolute; right:6vw; bottom:2.6rem; z-index:2; font-family:var(--f-mono);
  font-size:.66rem; letter-spacing:.1em; color:var(--ink-soft);
}
@media (max-width:720px){ .hero__coords{ display:none; } }

/* ================= MARQUEE ================= */
.marquee{
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  overflow:hidden; padding:1.1rem 0; background:var(--abyss);
}
.marquee__track{ display:flex; gap:1.4rem; width:max-content; animation:marquee 32s linear infinite; }
.marquee__track span{ font-family:var(--f-display); font-style:italic; font-size:1.3rem; color:var(--turquoise); white-space:nowrap; }
.marquee__track i{ color:var(--gold); font-style:normal; }
@keyframes marquee{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }

/* ================= ABOUT ================= */
.about__inner{
  max-width:var(--container); margin:0 auto; display:grid; grid-template-columns:1.1fr .9fr; gap:5vw; align-items:center;
}
.about__text h2{ font-size:clamp(2.1rem,4.2vw,3.6rem); margin:1rem 0 1.6rem; }
.about__text p{ color:var(--ink-soft); max-width:52ch; margin-bottom:1.1rem; }
.about__stats{ display:flex; gap:2.2rem; margin-top:2.2rem; flex-wrap:wrap; }
.about__stats div{ display:flex; flex-direction:column; gap:.2rem; }
.about__stats strong{ font-family:var(--f-display); font-size:1.9rem; color:var(--lagoon); }
.about__stats span{ font-family:var(--f-mono); font-size:.68rem; letter-spacing:.04em; color:var(--ink-soft); text-transform:uppercase; }
.about__stats .about__stat--experience{
  padding:.85rem 1rem; margin:-.85rem 0; border-radius:14px;
  background:linear-gradient(135deg, rgba(203,165,94,.16), rgba(203,165,94,.04));
  border:1px solid rgba(203,165,94,.35);
}
.about__stats .about__stat--experience strong{ color:var(--gold); }

.about__visual{ display:flex; justify-content:center; }
.porthole{
  position:relative; width:min(420px,80vw); aspect-ratio:1/1; border-radius:50%; overflow:hidden;
  box-shadow:0 0 0 10px var(--white), 0 0 0 12px var(--line), 0 40px 80px -30px rgba(10,37,48,.35);
}
.porthole canvas{ width:100%; height:100%; display:block; }
.porthole__ring{ position:absolute; inset:0; border-radius:50%; box-shadow:inset 0 0 40px rgba(0,0,0,.25); pointer-events:none; }

@media (max-width:920px){
  .about__inner{ grid-template-columns:1fr; }
  .about__visual{ order:-1; margin-bottom:1rem; }
}

/* ================= EXPERIENCES ================= */
.exp-grid{
  max-width:var(--container); margin:0 auto; padding:0 6vw;
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem;
}
.exp-card{
  background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  padding:2.1rem 1.7rem; transition:transform .5s var(--ease), box-shadow .5s var(--ease), border-color .4s ease;
  transform-style:preserve-3d;
}
.exp-card:hover{ box-shadow:0 30px 60px -30px rgba(10,37,48,.3); border-color:transparent; }
.exp-card__icon{ width:46px; height:46px; color:var(--lagoon); margin-bottom:1.6rem; }
.exp-card__tag{ font-family:var(--f-mono); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); }
.exp-card h3{ font-size:1.3rem; margin:.6rem 0 .7rem; }
.exp-card p{ color:var(--ink-soft); font-size:.92rem; }

@media (max-width:1100px){ .exp-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .exp-grid{ grid-template-columns:1fr; } }

/* ================= FLEET ================= */
.fleet{ background:var(--abyss); color:var(--ivory); }
.fleet .eyebrow{ color:var(--turquoise); }
.fleet .eyebrow i{ background:var(--gold); }
.fleet .section-head h2{ color:var(--ivory); }

.fleet-grid{ max-width:var(--container); margin:0 auto; padding:0 6vw; display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.fleet-card{
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius);
  padding:2.2rem 1.8rem; position:relative; overflow:hidden; transition:transform .5s var(--ease), border-color .4s ease;
}
.fleet-card:hover{ border-color:rgba(198,164,101,.5); }
.fleet-card--featured{ background:linear-gradient(160deg, rgba(198,164,101,.14), rgba(255,255,255,.03)); border-color:rgba(198,164,101,.4); }
.fleet-card__top{ display:flex; justify-content:space-between; align-items:center; margin-bottom:1.4rem; }
.fleet-card__index{ font-family:var(--f-mono); color:rgba(255,255,255,.35); font-size:.8rem; }
.fleet-card__badge{ font-family:var(--f-mono); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; padding:.35rem .7rem; border-radius:100px; border:1px solid rgba(255,255,255,.2); color:var(--turquoise); }
.fleet-card__badge--gold{ color:var(--abyss); background:var(--gold); border-color:transparent; }
.fleet-card h3{ color:var(--ivory); font-size:1.5rem; margin-bottom:.6rem; }
.fleet-card p{ color:rgba(255,253,249,.62); font-size:.9rem; margin-bottom:1.6rem; min-height:3.4em; }

.specs{ display:flex; flex-direction:column; gap:.75rem; margin-bottom:1.6rem; }
.specs li{ display:grid; grid-template-columns:90px 1fr; align-items:center; gap:.9rem; }
.specs li span{ font-family:var(--f-mono); font-size:.64rem; letter-spacing:.04em; color:rgba(255,253,249,.5); text-transform:uppercase; }
.specs__bar{ height:4px; border-radius:2px; background:rgba(255,255,255,.1); overflow:hidden; }
.specs__bar i{ display:block; height:100%; width:0%; background:linear-gradient(90deg,var(--lagoon-light),var(--gold)); border-radius:2px; transition:width 1.4s var(--ease); }
.specs__bar.is-filled i{ width:var(--v); }

.fleet-card__foot{ font-family:var(--f-mono); font-size:.7rem; letter-spacing:.05em; color:var(--gold); text-transform:uppercase; padding-top:1rem; border-top:1px solid rgba(255,255,255,.08); }

@media (max-width:1000px){ .fleet-grid{ grid-template-columns:1fr; } }

/* ================= PRICING ================= */
.pricing-grid{ max-width:var(--container); margin:0 auto; padding:0 6vw; display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.price-card{
  position:relative; background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  padding:2.4rem 2rem; display:flex; flex-direction:column; transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.price-card:hover{ transform:translateY(-6px); box-shadow:0 30px 60px -30px rgba(10,37,48,.25); }
.price-card--gold{ background:linear-gradient(165deg,var(--abyss),var(--abyss-2)); color:var(--ivory); border-color:transparent; }
.price-card--gold h3{ color:var(--ivory); }
.price-card--gold .price-card__duration{ color:rgba(255,253,249,.6); }
.price-card--gold ul li{ color:rgba(255,253,249,.75); }
.price-card--gold ul li::before{ color:var(--gold); }
.price-card__ribbon{
  position:absolute; top:1.4rem; right:-2.6rem; transform:rotate(40deg); background:var(--gold); color:var(--abyss);
  font-family:var(--f-mono); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; padding:.35rem 3rem;
}
.price-card h3{ font-size:1.3rem; }
.price-card__duration{ font-family:var(--f-mono); font-size:.78rem; color:var(--ink-soft); margin:.5rem 0 1.4rem; letter-spacing:.04em; text-transform:uppercase; }
.price-card__amount{ display:flex; align-items:baseline; gap:.5rem; font-family:var(--f-display); margin-bottom:1.8rem; }
.price-card__amount .cur{ font-family:var(--f-mono); font-size:.8rem; color:var(--gold); }
.price-card__amount .num{ font-size:3rem; }
.price-card ul{ display:flex; flex-direction:column; gap:.7rem; margin-bottom:2rem; flex:1; }
.price-card ul li{ font-size:.9rem; padding-left:1.3rem; position:relative; }
.price-card ul li::before{ content:'—'; position:absolute; left:0; color:var(--lagoon); }

@media (max-width:1000px){ .pricing-grid{ grid-template-columns:1fr; } .price-card__ribbon{ right:-3rem; } }

/* ================= GALERIE ================= */
.gallery{ background:linear-gradient(180deg, rgba(234,243,241,.7), rgba(220,237,234,.55)); color:var(--ink); }
.gallery-3d{
  max-width:var(--container); margin:0 auto; padding:0 4vw; perspective:1600px; overflow:hidden;
}
.gallery-track{
  display:flex; gap:1.1rem; width:max-content; min-width:100%;
  transform-style:preserve-3d; animation:galleryDrift 48s linear infinite;
}
.gallery-track:hover{ animation-play-state:paused; }
.gallery-item{
  position:relative; flex:none; width:280px; height:380px; overflow:hidden;
  border-radius:22px; background:linear-gradient(135deg, rgba(30,110,115,.18), rgba(255,255,255,.5));
  border:1px solid rgba(255,255,255,.18); box-shadow:0 24px 54px -30px rgba(10,37,48,.4);
  transform-style:preserve-3d; transition:transform .5s var(--ease), box-shadow .5s var(--ease);
}
.gallery-item:hover{ transform:rotateY(10deg) scale(1.04); box-shadow:0 34px 70px -24px rgba(46,168,181,.2); }
.gallery-item img{ width:100%; height:100%; object-fit:cover; display:block; opacity:.94; }
.gallery-item__caption{
  position:absolute; left:0; right:0; bottom:0; padding:1.2rem 1.15rem 1.25rem;
  background:linear-gradient(transparent, rgba(247,250,252,.96));
}
.gallery-item__caption h4{ font-family:var(--f-display); font-size:1.1rem; color:var(--ink); }
.gallery-item__caption p{ font-family:var(--f-mono); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--lagoon); margin-top:.35rem; }
.gallery-item--video{ width:420px; background:transparent; border:none; box-shadow:none; }
.gallery-item__video-card{ background:var(--abyss); border-radius:22px; overflow:hidden; border:1px solid rgba(255,255,255,.12); box-shadow:0 24px 54px -30px rgba(10,37,48,.4); height:100%; }
.gallery-item__video-card video{ width:100%; height:100%; min-height:380px; display:block; object-fit:cover; }
@keyframes galleryDrift{ 0% { transform:translateX(0) rotateY(-4deg); } 100% { transform:translateX(-50%) rotateY(-4deg); } }
.gallery__more{ display:flex; justify-content:center; margin:2.5rem 6vw 0; }

/* ================= GALLERY PAGE ================= */
.gallery-page{ min-height:100vh; background:linear-gradient(180deg, var(--ivory), #dceDEA); }
.gallery-page__header{ max-width:var(--container); margin:0 auto; padding:1.4rem 6vw; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.gallery-page__brand{ font-family:var(--f-display); font-size:1.25rem; color:var(--abyss); }
.gallery-page__brand small{ display:block; margin-top:.18rem; font-family:var(--f-mono); font-size:.58rem; letter-spacing:.15em; color:var(--gold); }
.gallery-page__back{ font-family:var(--f-mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--lagoon); }
.gallery-page__intro{ max-width:var(--container); margin:0 auto; padding:clamp(3rem,7vw,6rem) 6vw 3.5rem; }
.gallery-page__intro h1{ max-width:12ch; margin-top:.8rem; font-size:clamp(2.7rem,6vw,5.5rem); line-height:.96; }
.gallery-page__intro p:last-child{ max-width:50ch; margin-top:1.3rem; color:var(--ink-soft); }
.gallery-page__grid{ max-width:var(--container); margin:0 auto; padding:0 6vw 6rem; display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.gallery-page__item{ position:relative; min-height:300px; overflow:hidden; border-radius:20px; background:var(--abyss); box-shadow:0 22px 44px -30px rgba(10,37,48,.55); }
.gallery-page__item:nth-child(3n+2){ margin-top:2.5rem; }
.gallery-page__item img, .gallery-page__item video{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; transition:transform .6s var(--ease); }
.gallery-page__item:hover img, .gallery-page__item:hover video{ transform:scale(1.05); }
.gallery-page__item figcaption{ position:absolute; left:0; right:0; bottom:0; z-index:1; padding:2.6rem 1.2rem 1.1rem; color:var(--ivory); font-family:var(--f-mono); font-size:.65rem; letter-spacing:.1em; text-transform:uppercase; background:linear-gradient(transparent, rgba(10,37,48,.8)); }
.gallery-page__item--video{ grid-column:span 2; min-height:420px; }
.gallery-page__item--video video{ position:relative; }
.gallery-page__item--video figcaption{ pointer-events:none; }
@media (max-width:800px){ .gallery-page__grid{ grid-template-columns:1fr 1fr; } .gallery-page__item:nth-child(3n+2){ margin-top:0; } .gallery-page__item--video{ grid-column:span 2; } }
@media (max-width:560px){ .gallery-page__header{ padding-top:1rem; } .gallery-page__grid{ grid-template-columns:1fr; gap:1rem; } .gallery-page__item, .gallery-page__item--video{ grid-column:span 1; min-height:340px; } }

/* ================= TESTIMONIALS ================= */
.tm-slider{ max-width:var(--container); margin:0 auto; padding:0 6vw; overflow:hidden; }
.tm-track{ display:flex; gap:1.6rem; transition:transform .7s var(--ease); }
.tm-card{
  flex:0 0 min(560px,88vw); background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  padding:2.6rem; display:flex; flex-direction:column; gap:1.4rem; justify-content:space-between; min-height:220px;
}
.tm-card p{ font-family:var(--f-display); font-size:1.25rem; font-style:italic; line-height:1.5; color:var(--ink); }
.tm-card__rating{ display:flex; gap:.3rem; color:var(--gold); font-size:1rem; line-height:1; }
.tm-card__rating span{ display:inline-flex; align-items:center; justify-content:center; width:1.15em; height:1.15em; }
.tm-card cite{ font-family:var(--f-mono); font-size:.76rem; letter-spacing:.05em; color:var(--gold); font-style:normal; }
.tm-dots{ display:flex; gap:.5rem; margin-top:2rem; justify-content:center; }
.tm-dots button{ width:8px; height:8px; border-radius:50%; background:var(--line); transition:background .3s ease, transform .3s ease; }
.tm-dots button.is-active{ background:var(--gold); transform:scale(1.3); }
.testimonials__review-cta{ display:flex; align-items:center; justify-content:center; gap:1rem; margin-top:2.2rem; }
.testimonials__review-cta > span{ font-family:var(--f-mono); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft); }
@media (max-width:560px){ .testimonials__review-cta{ flex-direction:column; text-align:center; } }

/* ================= CONTACT ================= */
.contact__inner{ max-width:var(--container); margin:0 auto; display:grid; grid-template-columns:1.05fr .95fr; gap:5vw; align-items:center; }
.contact__info h2{ font-size:clamp(2.1rem,4vw,3.4rem); margin:1rem 0 1.4rem; }
.contact__addr{ color:var(--ink-soft); margin-bottom:2rem; max-width:40ch; }
.contact__grid{ display:grid; grid-template-columns:1fr 1fr; gap:1.4rem 2rem; margin-bottom:2.4rem; }
.contact__block{ display:flex; flex-direction:column; gap:.35rem; }
.contact__label{ font-family:var(--f-mono); font-size:.64rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); }
.contact__block a, .contact__block span{ font-size:.98rem; }
#contactStatus{ display:inline-flex; align-items:center; gap:.5rem; }
.contact__actions{ display:flex; gap:.9rem; flex-wrap:wrap; }

.contact__map{ border-radius:var(--radius); overflow:hidden; box-shadow:0 30px 70px -30px rgba(10,37,48,.35); border:1px solid var(--line); aspect-ratio:4/5; }
.contact__map iframe{ width:100%; height:100%; border:0; filter:saturate(.85) contrast(1.02); }

@media (max-width:920px){ .contact__inner{ grid-template-columns:1fr; } .contact__grid{ grid-template-columns:1fr 1fr; } }

/* ================= FOOTER ================= */
.footer{ background:var(--abyss); color:var(--ivory); padding:4.5rem 6vw 2rem; }
.footer__top{ max-width:var(--container); margin:0 auto; display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:3rem; padding-bottom:3rem; border-bottom:1px solid rgba(255,255,255,.1); }
.footer__brand p{ margin-top:1rem; color:rgba(255,253,249,.55); font-size:.9rem; }
.footer__links{ display:flex; flex-direction:column; gap:.8rem; }
.footer__links a{ color:rgba(255,253,249,.7); font-size:.92rem; transition:color .3s ease; }
.footer__links a:hover{ color:var(--gold); }
.footer__contact{ display:flex; flex-direction:column; gap:.7rem; font-family:var(--f-mono); font-size:.78rem; color:rgba(255,253,249,.65); }
.footer__contact a{ color:var(--turquoise); }

.footer__bottom{ max-width:var(--container); margin:0 auto; display:flex; justify-content:space-between; align-items:center; padding-top:2rem; font-size:.78rem; color:rgba(255,253,249,.45); }
.footer__top-btn{ width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,.2); display:flex; align-items:center; justify-content:center; color:var(--ivory); transition:background .3s ease, transform .3s ease; }
.footer__top-btn:hover{ background:var(--gold); color:var(--abyss); transform:translateY(-3px); }

@media (max-width:800px){ .footer__top{ grid-template-columns:1fr; gap:2rem; } }

/* ================= REVEAL ANIMATIONS ================= */
.reveal-up{ opacity:0; transform:translateY(28px); }
.reveal-up.is-in{ opacity:1; transform:translateY(0); transition:opacity 1s var(--ease-soft), transform 1s var(--ease-soft); }

[data-tilt]{ will-change:transform; }
