/* ============================================================
   MEGRI YACHTING — shared site stylesheet
   Chrome (nav / menu overlay / footer) + subpage component library
   ============================================================ */

:root{
  --navy:#234250;
  --navy-deep:#0e2a36;
  --ink:#1d2932;
  --ink-soft:#4a5862;
  --ink-mute:#8a929a;
  --bg:#ffffff;
  --bg-warm:#f6f3ec;
  --rule:#d9d4c7;
  --rule-soft:#ece8df;
  --cream:#f3ecd8;
  --sans:"Montserrat", -apple-system, "Helvetica Neue", sans-serif;
  --serif:"Cormorant Garamond", "Times New Roman", serif;
  --ease-out:cubic-bezier(.22,.61,.36,1);
  --ease-soft:cubic-bezier(.4,0,.2,1);
}

/* ============ MOTION ============ */
@media (prefers-reduced-motion: no-preference){
  .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease-out),transform .9s var(--ease-out);will-change:opacity,transform}
  .reveal.in-view{opacity:1;transform:translateY(0)}
  .reveal.delay-1{transition-delay:.08s}
  .reveal.delay-2{transition-delay:.16s}
  .reveal.delay-3{transition-delay:.24s}
  .reveal.delay-4{transition-delay:.32s}
  .reveal.fade{transform:none}
  .reveal.from-left{transform:translateX(-32px)}
  .reveal.from-right{transform:translateX(32px)}
  .reveal.from-left.in-view,.reveal.from-right.in-view{transform:translateX(0)}
  /* image zoom on reveal */
  .slot.reveal img,.slot .photo-real{transition:transform 1.6s var(--ease-out),filter .6s var(--ease-soft)}
  .slot.reveal:not(.in-view) img{transform:scale(1.04)}
  /* hover: gentle image zoom on slot */
  .slot{overflow:hidden}
  .slot:hover img,.fig:hover .slot img{transform:scale(1.035)}
  /* gallery card lift on hover */
  .fig{transition:transform .5s var(--ease-soft)}
  .fig:hover{transform:translateY(-4px)}
  .fig .cap{transition:color .3s var(--ease-soft)}
  .fig:hover .cap .r{color:var(--ink)}
  .dark .fig:hover .cap .r{color:var(--cream)}
  /* video poster hover */
  .video-embed .poster{transition:transform 1.2s var(--ease-out),opacity .3s}
  .video-embed:not(.playing):hover .poster{transform:scale(1.02)}
  /* btn micro */
  .btn{transition:background .3s var(--ease-soft),color .3s var(--ease-soft),border-color .3s var(--ease-soft),transform .2s var(--ease-soft)}
  .btn:active{transform:translateY(1px)}
  /* itin / amenity cards already have hover; smooth them */
  .itin-card,.amenity{transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out),border-color .3s var(--ease-soft),background .3s var(--ease-soft)}
  /* press list cards */
  .press-list a{transition:background .35s var(--ease-soft),transform .3s var(--ease-soft)}
  .press-list a:hover{transform:translateY(-2px)}
  /* spec row subtle highlight */
  .spec .row{transition:background-color .25s var(--ease-soft)}
  .spec .row:hover{background:rgba(35,66,80,.03)}
  .dark .spec .row:hover{background:rgba(243,236,216,.04)}
  /* nav links underline animation */
  nav.top a.nlink{position:relative}
  nav.top a.nlink::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease-out)}
  nav.top a.nlink:hover::after,nav.top a.nlink.active::after{transform:scaleX(1)}
  nav.top a.nlink.active{border-bottom:0}
  /* menu overlay smoother */
  .menu-overlay .mcol a{transition:transform .35s var(--ease-out),color .25s var(--ease-soft),letter-spacing .35s var(--ease-out)}
  .menu-overlay .mcol a:hover{letter-spacing:.01em}
  /* sub-nav active border smoother */
  .subnav a{transition:color .25s var(--ease-soft),border-color .35s var(--ease-out)}
}
/* respect users who want reduced motion */
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none}
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
}

/* image variant: soft black-and-white tint for archive/heritage shots */
.bw-shot{filter:grayscale(.85) contrast(1.04) brightness(.95)}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}

/* ============ NAV ============ */
nav.top{position:absolute;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;padding:30px 56px;color:#fff}
nav.top .left{display:flex;align-items:center;gap:44px}
nav.top .burger{display:flex;align-items:center;gap:14px;font-size:12px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;cursor:pointer;padding:0 22px 0 0;border-right:1px solid rgba(255,255,255,.35);border-top:0;border-bottom:0;border-left:0;background:transparent;color:#fff;font-family:var(--sans);transition:opacity .25s}
nav.top .burger:hover{opacity:.7}
nav.top .burger .lines{display:flex;flex-direction:column;gap:5px}
nav.top .burger .lines i{display:block;width:22px;height:1px;background:#fff;transition:transform .3s ease}
nav.top a.nlink{font-size:12px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;opacity:.95;transition:opacity .25s;font-family:var(--sans);color:#fff;text-decoration:none}
nav.top a.nlink:hover{opacity:.65}
nav.top a.nlink.active{opacity:1;border-bottom:1px solid rgba(255,255,255,.6);padding-bottom:3px}
nav.top .brand img{height:26px;width:auto;display:block}
/* dark-text variant for pages with a light hero (rare) */
nav.top.on-light{color:var(--navy)}
nav.top.on-light .burger{color:var(--navy);border-right-color:rgba(35,66,80,.3)}
nav.top.on-light .burger .lines i{background:var(--navy)}
nav.top.on-light a.nlink{color:var(--navy)}
nav.top.on-light .brand img{filter:none}

/* ============ MENU OVERLAY ============ */
.menu-overlay{position:fixed;inset:0;z-index:80;background:var(--navy);color:var(--cream);transform:translateY(-100%);transition:transform .55s cubic-bezier(.7,0,.2,1);overflow-y:auto;visibility:hidden}
.menu-overlay.open{transform:translateY(0);visibility:visible}
.menu-overlay .mhead{display:flex;align-items:center;justify-content:space-between;padding:30px 56px;border-bottom:1px solid rgba(243,236,216,.1)}
.menu-overlay .mhead .brand img{height:26px;width:auto;display:block}
.menu-overlay .mclose{font-family:var(--sans);font-size:12px;letter-spacing:.32em;text-transform:uppercase;font-weight:500;color:var(--cream);background:transparent;border:0;cursor:pointer;display:flex;align-items:center;gap:14px;padding:0;transition:opacity .25s}
.menu-overlay .mclose:hover{opacity:.65}
.menu-overlay .mclose .x{position:relative;width:22px;height:22px;display:inline-block}
.menu-overlay .mclose .x::before,.menu-overlay .mclose .x::after{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background:var(--cream)}
.menu-overlay .mclose .x::before{transform:rotate(45deg)}
.menu-overlay .mclose .x::after{transform:rotate(-45deg)}
.menu-overlay .mbody{padding:80px 56px 60px;max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1.05fr 2fr;gap:80px;align-items:start}
.menu-overlay .feature{font-family:var(--serif);font-weight:300;font-size:42px;line-height:1.15;letter-spacing:.005em;color:var(--cream);max-width:380px}
.menu-overlay .feature .eyebrow{display:block;font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:#cdc4ab;margin-bottom:28px}
.menu-overlay .feature .meta{margin-top:48px;font-family:var(--sans);font-size:12px;line-height:1.95;letter-spacing:.04em;color:#cdc4ab;font-weight:300;text-transform:none}
.menu-overlay .mcols{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 48px}
.menu-overlay .mcol h6{font-family:var(--sans);font-weight:500;font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:#9b8e6e;margin:0 0 22px;padding-bottom:14px;border-bottom:1px solid rgba(243,236,216,.12)}
.menu-overlay .mcol a{display:block;font-family:var(--serif);font-weight:300;font-size:22px;line-height:1.5;color:var(--cream);text-decoration:none;padding:5px 0;transition:transform .25s,color .25s;letter-spacing:.005em}
.menu-overlay .mcol a:hover{transform:translateX(6px);color:#fff}
.menu-overlay .mcol a.active{color:#d8c89a}
.menu-overlay .mfoot{border-top:1px solid rgba(243,236,216,.1);margin:60px auto 0;padding:28px 56px 40px;max-width:1400px;display:flex;justify-content:space-between;align-items:center;font-family:var(--sans);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#9b8e6e}
.menu-overlay .mfoot .langs{display:flex;gap:14px;align-items:center}
.menu-overlay .mfoot .langs a{color:#9b8e6e;cursor:pointer;transition:color .2s;text-decoration:none}
.menu-overlay .mfoot .langs a.active,.menu-overlay .mfoot .langs a:hover{color:var(--cream)}
body.menu-open{overflow:hidden}

/* ============ SUBPAGE HERO ============ */
.subhero{position:relative;background:var(--navy-deep);color:var(--cream);padding:200px 56px 110px;overflow:hidden;text-align:center;min-height:520px;display:flex;flex-direction:column;justify-content:center}
.subhero::before{content:"";position:absolute;inset:0;background:
  radial-gradient(ellipse at 50% 0%, rgba(35,66,80,.6), transparent 62%),
  radial-gradient(ellipse at 100% 120%, rgba(35,66,80,.4), transparent 55%);pointer-events:none}
.subhero.has-img .bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:grayscale(.55) contrast(1.02) brightness(.32)}
.subhero.has-img::after{content:"";position:absolute;inset:0;background:
  radial-gradient(ellipse 70% 55% at 50% 50%, rgba(4,14,20,.55), rgba(4,14,20,.15) 80%),
  linear-gradient(180deg,rgba(4,14,20,.55) 0%,rgba(4,14,20,.35) 40%,rgba(4,14,20,.55) 70%,rgba(4,14,20,.85) 100%);pointer-events:none}
.subhero.has-img .lede{color:#f0e8d5}
.subhero.has-img h1{text-shadow:0 2px 32px rgba(0,0,0,.7),0 1px 2px rgba(0,0,0,.5)}
.subhero.has-img .lede,.subhero.has-img .eyebrow-rule .txt,.subhero.has-img .crumb,.subhero.has-img .meta-line{text-shadow:0 1px 2px rgba(0,0,0,.95),0 2px 14px rgba(0,0,0,.7)}
.subhero > *{position:relative;z-index:2}
/* breadcrumb pinned to top — out of the way of the hero composition */
.subhero .crumb{position:absolute;top:96px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:10px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:#9fb0b8;font-weight:400;margin:0;z-index:2}
.subhero .crumb a{color:#9fb0b8;transition:color .2s}
.subhero .crumb a:hover{color:var(--cream)}
.subhero .crumb .sep{opacity:.5}
.subhero .eyebrow-rule{display:flex;align-items:center;justify-content:center;gap:22px;margin-bottom:38px}
.subhero .eyebrow-rule .ln{width:64px;height:1px;background:rgba(232,224,207,.35)}
.subhero .eyebrow-rule .txt{font-family:var(--sans);font-weight:400;font-size:10.5px;letter-spacing:.4em;text-transform:uppercase;color:#c9c0a8}
.subhero h1{font-family:var(--serif);font-weight:400;font-size:78px;line-height:1.02;letter-spacing:.005em;color:var(--cream)}
.subhero .lede{margin:42px auto 0;max-width:560px;font-size:14px;line-height:1.95;color:#cdc4ab;font-weight:300;letter-spacing:.03em}
/* meta-line pinned to bottom — separated visually from the title */
.subhero .meta-line{position:absolute;left:24px;right:24px;bottom:36px;display:flex;align-items:center;justify-content:center;gap:22px;font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;color:#a8b8c0;font-weight:400;flex-wrap:wrap;margin:0;z-index:2}
.subhero .meta-line .dot{width:3px;height:3px;background:#7e8d96;border-radius:50%;flex:none}

/* ============ QUEEN OF MAKRI SUB-NAV (tabs) ============ */
.subnav{position:sticky;top:0;z-index:40;background:var(--navy-deep);border-bottom:1px solid rgba(243,236,216,.12)}
.subnav .inner{max-width:1340px;margin:0 auto;padding:0 56px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.subnav .inner::-webkit-scrollbar{display:none}
.subnav a{flex:none;padding:42px 20px;font-size:10px;letter-spacing:.26em;text-transform:uppercase;font-weight:500;color:#8fa2ab;border-bottom:1px solid transparent;transition:color .2s,border-color .2s;white-space:nowrap}
.subnav a:hover{color:var(--cream)}
.subnav a.active{color:var(--cream);border-bottom-color:#d8c89a}

/* ============ GENERIC SECTIONS ============ */
.section{padding:120px 56px}
.section.warm{background:var(--bg-warm)}
.section.dark{background:var(--navy-deep);color:var(--cream)}
.wrap{max-width:1180px;margin:0 auto}
.wrap-narrow{max-width:760px;margin:0 auto}
.eyebrow{font-size:10px;letter-spacing:.36em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}
.dark .eyebrow{color:#a8b8c0}
.section-head{text-align:center;margin-bottom:78px}
.section-head h2{font-family:var(--serif);font-weight:300;font-size:50px;line-height:1.12;letter-spacing:.005em;margin-top:18px;color:var(--ink)}
.dark .section-head h2{color:var(--cream)}
.section-head .sub{margin:26px auto 0;max-width:560px;font-size:14px;line-height:1.95;color:var(--ink-soft);font-weight:300;letter-spacing:.02em}
.dark .section-head .sub{color:#bcc2b8}

/* editorial prose */
.prose{max-width:680px;margin:0 auto}
.prose.lead p:first-of-type{font-family:var(--serif);font-weight:300;font-size:26px;line-height:1.5;color:var(--ink);letter-spacing:.005em;margin-bottom:30px}
.prose p{font-size:14px;line-height:2;color:var(--ink-soft);font-weight:300;letter-spacing:.02em}
.prose p + p{margin-top:22px}
.dark .prose p{color:#bcc2b8}
.dark .prose.lead p:first-of-type{color:var(--cream)}
.prose h3{font-family:var(--serif);font-weight:300;font-size:30px;color:var(--ink);margin:54px 0 22px;letter-spacing:.005em}
.dark .prose h3{color:var(--cream)}

/* two-column split: image + text */
.split{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;max-width:1240px;margin:0 auto}
.split.reverse .split-text{order:-1}
.split-text .eyebrow{margin-bottom:24px}
.split-text h3{font-family:var(--serif);font-weight:300;font-size:38px;line-height:1.18;color:var(--ink);letter-spacing:.005em;margin-bottom:26px}
.dark .split-text h3{color:var(--cream)}
.split-text p{font-size:14px;line-height:2;color:var(--ink-soft);font-weight:300;letter-spacing:.02em;max-width:480px}
.dark .split-text p{color:#bcc2b8}
.split-text p + p{margin-top:20px}
.split + .split{margin-top:120px}

/* ============ ELEGANT IMAGE PLACEHOLDER ============ */
.ph{position:relative;width:100%;background:
  linear-gradient(135deg,#1c3a48 0%,#16313d 55%,#0f2630 100%);
  overflow:hidden;display:flex;align-items:center;justify-content:center}
.ph::before{content:"";position:absolute;left:18px;top:18px;right:18px;bottom:18px;border:1px solid rgba(243,236,216,.18);pointer-events:none}
.ph .lbl{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:rgba(243,236,216,.55);font-weight:500;text-align:center;line-height:1.8;padding:0 20px}
.ph .lbl .n{display:block;font-family:var(--serif);font-size:30px;letter-spacing:.04em;color:rgba(243,236,216,.4);margin-bottom:8px;font-weight:300}
.ph.r43{aspect-ratio:4/3}
.ph.r169{aspect-ratio:16/9}
.ph.r11{aspect-ratio:1/1}
.ph.r34{aspect-ratio:3/4}
.ph.r2110{aspect-ratio:21/10}
.ph.tall{aspect-ratio:3/4.4}
.photo-real{width:100%;height:100%;object-fit:cover}

/* embedded map (contact) */
.map-embed{position:relative;width:100%;aspect-ratio:21/10;overflow:hidden;background:#16313d}
.map-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;filter:grayscale(.25) contrast(1.02)}

/* ============ VIDEO EMBED ============ */
.video-embed{position:relative;width:100%;background:#0a1b22;overflow:hidden;box-shadow:0 40px 80px -30px rgba(0,0,0,.55)}
.video-embed.r169{aspect-ratio:16/9}
.video-embed.r2110{aspect-ratio:21/10}
.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.video-embed .poster{position:absolute;inset:0;background-size:cover;background-position:center;transition:opacity .3s,transform .8s ease;cursor:pointer}
.video-embed.playing .poster{opacity:0;pointer-events:none}
.video-embed .poster::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15) 0%,rgba(0,0,0,.45) 100%)}
.video-embed .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88px;height:88px;border-radius:50%;background:rgba(243,236,216,.92);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .25s,background .25s;z-index:2;border:0;padding:0}
.video-embed .play:hover{transform:translate(-50%,-50%) scale(1.06);background:#fff}
.video-embed .play svg{width:30px;height:30px;fill:#0e2a36;transform:translateX(2px)}
.video-embed.playing .play{display:none}
.video-embed .vmeta{position:absolute;left:24px;bottom:22px;display:flex;align-items:center;gap:18px;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:rgba(243,236,216,.92);font-weight:500;z-index:2;text-shadow:0 1px 8px rgba(0,0,0,.6);pointer-events:none}
.video-embed.playing .vmeta{display:none}
.video-embed .vmeta .dot{width:3px;height:3px;background:rgba(243,236,216,.6);border-radius:50%}
/* "Watch on YouTube" badge in top-right of the poster */
.video-embed::after{content:"Watch on YouTube ↗";position:absolute;right:24px;top:22px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:rgba(243,236,216,.92);font-weight:500;z-index:2;text-shadow:0 1px 8px rgba(0,0,0,.6);background:rgba(0,0,0,.42);padding:8px 14px;backdrop-filter:blur(8px);border-radius:2px;pointer-events:none;opacity:.85;transition:opacity .3s var(--ease-soft)}
.video-embed:hover::after{opacity:1}
.video-embed.playing::after{display:none}
@media (max-width:560px){.video-embed::after{right:14px;top:14px;font-size:9px;letter-spacing:.22em;padding:6px 10px}}

/* ============ DECK PLAN SVG ============ */
.deckplan{background:#f6f3ec;padding:48px 56px;border:1px solid var(--rule);position:relative}
.deckplan svg{width:100%;height:auto;display:block;font-family:var(--sans)}
.deckplan svg text{font-size:9px;letter-spacing:.18em;text-transform:uppercase;fill:#4a5862;font-weight:500}
.deckplan svg .lbl-room{font-size:8px;letter-spacing:.22em;fill:#234250}
.deckplan svg .lbl-axis{font-size:7.5px;letter-spacing:.32em;fill:#8a929a;font-weight:400}
.deckplan svg .room{fill:#fff;stroke:#234250;stroke-width:.6}
.deckplan svg .room.acc{fill:#ece8df}
.deckplan svg .room.crew{fill:#e8e3d3}
.deckplan svg .hull{fill:none;stroke:#1d2932;stroke-width:1.4}
.deckplan svg .center-line{stroke:#234250;stroke-width:.3;stroke-dasharray:2 3;fill:none}
.deckplan .deck-caption{margin-top:18px;display:flex;justify-content:space-between;align-items:baseline;font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-mute);font-weight:400}
.deckplan .deck-caption .nm{font-family:var(--sans);font-weight:500;color:var(--navy)}
@media (max-width:680px){.deckplan{padding:24px}}

/* ============ ITINERARY CARDS ============ */
.itin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1180px;margin:0 auto}
.itin-card{background:#fff;border:1px solid var(--rule);padding:34px 32px;display:flex;flex-direction:column;gap:14px;transition:transform .3s,box-shadow .3s,border-color .3s}
.dark .itin-card{background:rgba(255,255,255,.04);border-color:rgba(243,236,216,.18)}
.itin-card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -30px rgba(15,35,45,.25);border-color:var(--navy)}
.dark .itin-card:hover{border-color:#d8c89a;box-shadow:0 30px 60px -30px rgba(0,0,0,.55)}
.itin-card .days{font-family:var(--sans);font-weight:300;font-size:34px;color:var(--navy);letter-spacing:-.01em;line-height:1;font-variant-numeric:tabular-nums}
.dark .itin-card .days{color:#d8c89a}
.itin-card .days small{font-size:11px;color:var(--ink-mute);font-weight:400;margin-left:6px;letter-spacing:.06em}
.dark .itin-card .days small{color:#9aa6ad}
.itin-card .route{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.3;color:var(--ink);letter-spacing:.005em}
.dark .itin-card .route{color:var(--cream)}
.itin-card p{font-size:13px;line-height:1.85;color:var(--ink-soft);font-weight:300;letter-spacing:.02em}
.dark .itin-card p{color:#bcc2b8}
.itin-card .stops{margin-top:auto;padding-top:18px;border-top:1px solid var(--rule-soft);font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-mute);font-weight:400}
.dark .itin-card .stops{border-top-color:rgba(243,236,216,.12);color:#8fa2ab}
@media (max-width:980px){.itin-grid{grid-template-columns:1fr;gap:18px}}

/* ============ AMENITY GRID ============ */
.amenity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rule-soft);border:1px solid var(--rule-soft);max-width:1180px;margin:0 auto}
.amenity{background:#fff;padding:34px 28px;display:flex;flex-direction:column;gap:12px;min-height:170px}
.dark .amenity{background:var(--navy-deep)}
.amenity h6{font-family:var(--sans);font-weight:500;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--navy)}
.dark .amenity h6{color:#d8c89a}
.amenity p{font-size:13px;line-height:1.7;color:var(--ink-soft);font-weight:300;letter-spacing:.01em}
.dark .amenity p{color:#bcc2b8}
.amenity .ic{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--navy);font-family:var(--serif);font-weight:300;font-size:22px;line-height:1}
.dark .amenity .ic{color:#d8c89a}
@media (max-width:980px){.amenity-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.amenity-grid{grid-template-columns:1fr}}

/* ============ CREW STRIP ============ */
.crew-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:32px;max-width:1080px;margin:0 auto}
.crew-strip .role .title{font-family:var(--serif);font-weight:400;font-size:22px;color:var(--ink);letter-spacing:.005em;margin-bottom:8px}
.dark .crew-strip .role .title{color:var(--cream)}
.crew-strip .role .n{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--navy);font-weight:500}
.dark .crew-strip .role .n{color:#d8c89a}
.crew-strip .role p{margin-top:14px;font-size:12.5px;line-height:1.75;color:var(--ink-soft);font-weight:300;letter-spacing:.02em}
.dark .crew-strip .role p{color:#bcc2b8}
@media (max-width:980px){.crew-strip{grid-template-columns:repeat(2,1fr);gap:28px}}
@media (max-width:560px){.crew-strip{grid-template-columns:1fr}}

/* archive panel for older photos we don't have */
.archive-panel{position:relative;width:100%;background:
  radial-gradient(circle at 30% 30%, rgba(35,66,80,.18), transparent 60%),
  linear-gradient(135deg,#e8e3d3 0%,#d9d4c7 100%);overflow:hidden;display:flex;align-items:center;justify-content:center}
.archive-panel::before{content:"";position:absolute;left:18px;top:18px;right:18px;bottom:18px;border:1px solid rgba(35,66,80,.25);pointer-events:none}
.archive-panel.r43{aspect-ratio:4/3}
.archive-panel.r169{aspect-ratio:16/9}
.archive-panel.r11{aspect-ratio:1/1}
.archive-panel.r2110{aspect-ratio:21/10}
.archive-panel.tall{aspect-ratio:3/4.4}
.archive-panel .lbl{text-align:center;padding:0 24px;color:#234250}
.archive-panel .lbl .n{display:block;font-family:var(--serif);font-weight:300;font-size:34px;color:rgba(35,66,80,.5);margin-bottom:10px;letter-spacing:.04em}
.archive-panel .lbl .t{font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:rgba(35,66,80,.85);font-weight:500;line-height:1.8}
.archive-panel .lbl .s{display:block;margin-top:6px;font-size:9px;letter-spacing:.28em;color:rgba(35,66,80,.55);font-weight:400}

/* drag-and-drop image slot (user-fillable) */
.slot{position:relative;width:100%;display:block;background:linear-gradient(135deg,#ece8df 0%,#e2ddd0 100%);overflow:hidden;color:var(--ink-soft)}
.slot.r43{aspect-ratio:4/3}
.slot.r169{aspect-ratio:16/9}
.slot.r11{aspect-ratio:1/1}
.slot.r34{aspect-ratio:3/4}
.slot.r2110{aspect-ratio:21/10}
.slot.tall{aspect-ratio:3/4.4}
.slot.span2{grid-column:span 2}
.slot image-slot{display:block;width:100%;height:100%}
.fig{position:relative}
.fig .cap{margin-top:16px;display:flex;justify-content:space-between;align-items:baseline;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-mute);font-weight:400}
.dark .fig .cap{color:#8fa2ab}
.fig .cap .r{color:var(--navy)}
.dark .fig .cap .r{color:#d8c89a}

/* gallery grid */
.gallery{display:grid;gap:28px;max-width:1280px;margin:0 auto}
.gallery.g2{grid-template-columns:repeat(2,1fr)}
.gallery.g3{grid-template-columns:repeat(3,1fr)}
.gallery .span2{grid-column:span 2}

/* facts / stat row */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:48px;max-width:1080px;margin:0 auto;border-top:1px solid var(--rule);padding-top:56px}
.dark .facts{border-top-color:rgba(243,236,216,.22)}
.fact .n{font-family:var(--sans);font-weight:300;font-size:46px;color:var(--navy);line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.dark .fact .n{color:#d8c89a}
.fact .n small{font-family:var(--sans);font-size:16px;font-weight:300;color:var(--ink-mute);margin-left:4px;letter-spacing:.02em}
.fact .l{margin-top:14px;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-soft);font-weight:400;line-height:1.6}
.dark .fact .l{color:#a8b8c0}

/* spec table (light + dark) */
.spec{max-width:880px;margin:0 auto;border-top:1px solid var(--rule)}
.dark .spec{border-top-color:rgba(243,236,216,.5)}
.spec .row{display:grid;grid-template-columns:1.1fr 1fr;padding:20px 0;border-bottom:1px solid var(--rule-soft);align-items:baseline}
.dark .spec .row{border-bottom-color:rgba(243,236,216,.12)}
.spec .row .k{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-mute);font-weight:400}
.dark .spec .row .k{color:#9aa6ad}
.spec .row .v{font-family:var(--sans);font-weight:300;font-size:15px;color:var(--ink);letter-spacing:.04em;font-variant-numeric:tabular-nums}
.dark .spec .row .v{color:var(--cream)}
.spec .row .v small{font-size:11px;color:var(--ink-mute);font-weight:300;margin-left:3px;letter-spacing:.06em}

/* pull quote */
.pullquote{max-width:900px;margin:0 auto;text-align:center}
.pullquote blockquote{font-family:var(--serif);font-weight:300;font-size:38px;line-height:1.35;color:var(--ink);letter-spacing:.005em}
.dark .pullquote blockquote{color:var(--cream)}
.pullquote .by{margin-top:30px;font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-soft);font-weight:500}
.dark .pullquote .by{color:#a8b8c0}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:16px;padding:19px 38px;font-size:10.5px;letter-spacing:.34em;text-transform:uppercase;font-weight:500;border:1px solid var(--ink);color:var(--ink);background:transparent;transition:background .25s,color .25s,border-color .25s;cursor:pointer}
.btn:hover{background:var(--ink);color:#fff}
.btn .arr{transition:transform .25s}
.btn:hover .arr{transform:translateX(4px)}
.btn.light{border-color:rgba(243,236,216,.4);color:var(--cream)}
.btn.light:hover{background:var(--cream);color:var(--navy-deep);border-color:var(--cream)}
.btn.solid{background:var(--navy);border-color:var(--navy);color:#fff}
.btn.solid:hover{background:var(--navy-deep);border-color:var(--navy-deep)}
.btn-row{display:flex;gap:18px;flex-wrap:wrap;justify-content:center}

/* CTA band (BlueMore etc.) */
.ctaband{background:var(--navy);color:var(--cream);text-align:center;padding:120px 56px}
.ctaband .eyebrow{color:#a8b8c0;margin-bottom:24px}
.ctaband h2{font-family:var(--serif);font-weight:300;font-size:54px;line-height:1.1;color:var(--cream);letter-spacing:.005em;max-width:780px;margin:0 auto}
.ctaband p{margin:28px auto 46px;max-width:520px;font-size:14px;line-height:1.95;color:#cdc4ab;font-weight:300}

/* FAQ accordion */
.faq{max-width:820px;margin:0 auto;border-top:1px solid var(--rule)}
.faq details{border-bottom:1px solid var(--rule-soft)}
.faq summary{list-style:none;cursor:pointer;padding:30px 0;display:flex;justify-content:space-between;align-items:center;gap:24px;font-family:var(--serif);font-weight:400;font-size:24px;color:var(--ink);letter-spacing:.005em}
.faq summary::-webkit-details-marker{display:none}
.faq summary .ic{flex:none;width:22px;height:22px;position:relative;transition:transform .3s}
.faq summary .ic::before,.faq summary .ic::after{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;background:var(--navy)}
.faq summary .ic::after{transform:rotate(90deg);transition:transform .3s}
.faq details[open] summary .ic::after{transform:rotate(0)}
.faq details[open] summary{color:var(--navy)}
.faq .a{padding:0 0 30px;max-width:660px}
.faq .a p{font-size:14px;line-height:2;color:var(--ink-soft);font-weight:300;letter-spacing:.02em}

/* contact layout */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;max-width:1180px;margin:0 auto;align-items:start}
.contact-block + .contact-block{margin-top:48px}
.contact-block h5{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--navy);font-weight:600;margin-bottom:16px}
.contact-block p{font-size:14px;line-height:1.9;color:var(--ink-soft);font-weight:300}
.contact-block a{color:var(--ink);border-bottom:1px solid var(--rule);transition:border-color .2s}
.contact-block a:hover{border-color:var(--navy)}
.field{margin-bottom:26px}
.field label{display:block;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--ink-soft);font-weight:500;margin-bottom:10px}
.field input,.field textarea{width:100%;border:0;border-bottom:1px solid var(--rule);background:transparent;padding:10px 0;font-family:var(--sans);font-size:15px;font-weight:300;color:var(--ink);transition:border-color .2s}
.field input:focus,.field textarea:focus{outline:none;border-bottom-color:var(--navy)}
.field textarea{resize:vertical;min-height:90px}

/* legal / longform text */
.legal{max-width:760px;margin:0 auto}
.legal h2{font-family:var(--serif);font-weight:300;font-size:30px;color:var(--ink);margin:48px 0 18px;letter-spacing:.005em}
.legal h2:first-child{margin-top:0}
.legal p{font-size:14px;line-height:2;color:var(--ink-soft);font-weight:300;letter-spacing:.02em;margin-bottom:18px}
.legal .updated{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-mute);margin-bottom:48px}

/* anchor divider (reused from home) */
.anchor-line{width:1px;background:var(--ink);height:110px;margin:0 auto;position:relative}
.anchor-line.dot::before{content:"";position:absolute;left:50%;top:0;transform:translate(-50%,-50%);width:9px;height:9px;border-radius:50%;background:var(--ink)}
.dark .anchor-line{background:var(--cream)}
.dark .anchor-line.dot::before{background:var(--cream)}

/* press logo wall (clickable) */
.logo-wall{display:flex;justify-content:center;align-items:center;gap:clamp(30px,5vw,70px);flex-wrap:wrap;row-gap:52px;max-width:1120px;margin:0 auto}
.logo-wall a{flex:0 0 auto;opacity:.82;transition:opacity .25s,transform .25s;display:block}
.logo-wall a:hover{opacity:1;transform:translateY(-3px)}
.logo-wall img{display:block;filter:saturate(0)}
.logo-wall a:hover img{filter:none}

/* press article cards */
.press-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule-soft);border:1px solid var(--rule-soft);max-width:1120px;margin:0 auto}
.press-list a{background:var(--bg);padding:44px 44px 40px;display:flex;flex-direction:column;gap:18px;transition:background .25s}
.press-list a:hover{background:var(--bg-warm)}
.press-list .pub{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--navy);font-weight:600}
.press-list h3{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.25;color:var(--ink);letter-spacing:.005em}
.press-list .meta{margin-top:auto;display:flex;justify-content:space-between;align-items:baseline;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-mute);font-weight:400}
.press-list .meta .read{color:var(--navy)}
@media (max-width:680px){ .press-list{grid-template-columns:1fr} }

/* ============ FOOTER ============ */
footer.site{position:relative;color:#cdd5db;padding:140px 56px 50px;overflow:hidden;
  background:
    linear-gradient(180deg,rgba(2,12,20,.30) 0%,rgba(2,12,20,.50) 50%,rgba(2,12,20,.70) 100%),
    url("footer-bg.png") center/cover no-repeat,
    #04111a}
footer.site .mark{display:flex;justify-content:center;margin-bottom:110px;position:relative}
footer.site .mark img{width:62px;height:auto;opacity:.95}
footer.site .cols{display:grid;grid-template-columns:repeat(3,1fr);column-gap:64px;row-gap:64px;max-width:980px;margin:0 auto;position:relative}
footer.site .col h6{font-family:var(--sans);font-weight:400;font-size:11px;color:#7a8893;margin-bottom:24px;letter-spacing:.30em;text-transform:uppercase}
footer.site .col a{display:block;font-size:11px;letter-spacing:.26em;text-transform:uppercase;padding:8px 0;color:#e6ebee;font-weight:400;transition:color .2s,opacity .2s}
footer.site .col a:hover{color:#fff;opacity:.7}
footer.site .bottom{max-width:980px;margin:120px auto 0;display:flex;justify-content:space-between;align-items:center;padding-top:28px;border-top:1px solid rgba(255,255,255,.08);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:#7b8893;font-weight:300;position:relative}
footer.site .bottom .langs{display:flex;justify-content:center;width:100%;gap:18px;position:absolute;left:50%;top:-42px;transform:translateX(-50%);padding-bottom:18px}
footer.site .bottom .langs a{color:#9ba6ae;letter-spacing:.28em}
footer.site .bottom .langs a.active{color:#fff}
footer.site .bottom .langs span{opacity:.4}

/* "Built by Refabrika" mark — replaces the old social placeholder */
.refmark{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:#9ba6ae;opacity:.78;transition:opacity .25s var(--ease-soft, ease)}
.refmark:hover{opacity:1}
.refmark .rl{font-size:9.5px;letter-spacing:.28em;text-transform:uppercase;font-weight:400;color:#9ba6ae;line-height:1}
.refmark img{height:11px;width:auto;display:block;opacity:.85;filter:brightness(0) invert(1);transition:opacity .25s var(--ease-soft, ease)}
.refmark:hover img{opacity:1}
/* in the menu overlay it sits on a cream/navy background */
.menu-overlay .mfoot .refmark{color:#9b8e6e}
.menu-overlay .mfoot .refmark .rl{color:#9b8e6e}
.menu-overlay .mfoot .refmark img{filter:none;opacity:.78}
.menu-overlay .mfoot .refmark:hover .rl{color:var(--cream)}
.menu-overlay .mfoot .refmark:hover img{opacity:1}

/* ============ RESPONSIVE ============ */
@media (max-width:980px){
  nav.top{padding:22px 24px}
  nav.top .left{gap:24px}
  nav.top a.nlink{display:none}
  .menu-overlay .mhead{padding:22px 24px}
  .menu-overlay .mbody{padding:48px 24px;grid-template-columns:1fr;gap:48px}
  .menu-overlay .feature{font-size:32px}
  .menu-overlay .mcols{grid-template-columns:repeat(2,1fr);gap:40px 24px}
  .menu-overlay .mcol a{font-size:18px}
  .menu-overlay .mfoot{padding:24px;flex-direction:column;gap:14px;align-items:flex-start}
  .subhero{padding:170px 24px 100px;min-height:460px}
  .subhero h1{font-size:48px}
  .subhero .crumb{top:74px}
  .subhero .meta-line{bottom:28px;gap:14px;font-size:9.5px}
  .subnav .inner{padding:0 24px}
  .section{padding:80px 24px}
  .ctaband{padding:80px 24px}
  .split,.contact-grid{grid-template-columns:1fr;gap:48px}
  .split.reverse .split-text{order:0}
  .section-head h2{font-size:38px}
  .ctaband h2{font-size:38px}
  .facts{grid-template-columns:repeat(2,1fr);gap:36px}
  .gallery.g3{grid-template-columns:repeat(2,1fr)}
  .pullquote blockquote{font-size:28px}
  footer.site{padding-left:24px;padding-right:24px}
  footer.site .cols{grid-template-columns:repeat(2,1fr);gap:36px}
}
@media (max-width:560px){
  .gallery.g2,.gallery.g3{grid-template-columns:1fr}
  .gallery .span2{grid-column:span 1}
  .facts{grid-template-columns:1fr 1fr}
  .subhero h1{font-size:38px}
}
