
  :root{
    --cream:#F2E9D6;
    --cream-soft:#FAF5E9;
    --navy:#123049;
    --navy-deep:#0A2036;
    --rust:#C1512C;
    --gold:#C69A46;
    --ink:#123049;
    --bg:var(--cream);
    --bg-soft:var(--cream-soft);
    --panel:var(--cream-soft);
    --panel-ink:var(--navy);
    --text:var(--navy);
    --text-soft:#3E5A72;
    --line: rgba(18,48,73,0.18);
    color-scheme: light;
  }

  *{box-sizing:border-box;}
  html{
    scroll-behavior:smooth;
    scroll-padding-top: calc(76px + env(safe-area-inset-top, 0px));
  }
  body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:'Lora', serif;
    font-size:17px;
    line-height:1.6;
    padding-top:env(safe-area-inset-top, 0px);
    padding-bottom:env(safe-area-inset-bottom, 0px);
    overflow-x:hidden;
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%; display:block;}
  a{color:inherit;}
  button{font:inherit;}
  .wrap{max-width:1180px; margin:0 auto; padding:0 28px;}

  h1,h2,h3,h4{
    font-family:'Cinzel', Georgia, serif;
    margin:0;
    font-weight:700;
    letter-spacing:0.01em;
    line-height:1.05;
  }
  .eyebrow{
    font-family:'Archivo', sans-serif;
    font-weight:600;
    font-size:0.78rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--rust);
  }

  /* ---------- NAV: transparent over the hero, solid blue banner after ---------- */
  header.site-nav{
    position:fixed; top:0; left:0; right:0; z-index:50;
    padding-top:env(safe-area-inset-top, 0px);
    background:rgba(18,48,73,0); border-bottom:1px solid rgba(255,255,255,0);
    transition:background .35s ease, box-shadow .35s ease, border-color .35s ease;
  }
  header.site-nav::before{
    content:""; position:absolute; inset:0 0 -40px 0; pointer-events:none; z-index:-1;
    background:linear-gradient(180deg, rgba(8,26,44,0.5), rgba(8,26,44,0));
    transition:opacity .35s ease;
  }
  header.site-nav.solid{
    background:var(--navy); border-bottom-color:rgba(255,255,255,0.12);
    box-shadow:0 10px 30px -18px rgba(8,26,44,0.7);
  }
  header.site-nav.solid::before{opacity:0;}
  .nav-inner{
    max-width:1180px; margin:0 auto; padding:22px 28px; transition:padding .45s ease;
    display:flex; align-items:center; justify-content:space-between; gap:20px;
  }
  .brand{display:flex; align-items:center; gap:14px; color:#fff; text-decoration:none;}
  header.site-nav.solid .nav-inner{padding-top:12px; padding-bottom:12px;}
  .brand-mark{
    position:relative; flex-shrink:0; width:66px; height:66px;
    transition:width .45s cubic-bezier(.3,.7,.2,1), height .45s cubic-bezier(.3,.7,.2,1), transform .5s ease;
  }
  .brand-mark img{position:absolute; inset:0; width:100%; height:100%; object-fit:contain; transition:opacity .45s ease;}
  .brand-mark .mark-white{filter:drop-shadow(0 2px 10px rgba(8,26,44,0.4));}
  .brand-mark .mark-gold{opacity:0;}
  header.site-nav.solid .brand-mark{width:44px; height:44px;}
  header.site-nav.solid .brand-mark .mark-white{opacity:0;}
  header.site-nav.solid .brand-mark .mark-gold{opacity:1;}
  .brand:hover .brand-mark{transform:rotate(-10deg);}
  .brand-text{
    font-family:'Cinzel', Georgia, serif; font-weight:700;
    font-size:1.38rem; letter-spacing:0.06em; color:#fff; line-height:1.1;
    text-shadow:0 1px 10px rgba(8,26,44,0.3); transition:font-size .45s ease;
  }
  header.site-nav.solid .brand-text{font-size:1.12rem; text-shadow:none;}
  header.site-nav.solid .brand-text small{color:#D6B068;}
  .brand-text small{
    display:block; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:600;
    font-size:0.72rem; letter-spacing:0.28em; text-transform:uppercase;
    color:rgba(255,255,255,0.82); margin-top:3px; transition:color .45s ease;
  }
  nav.links{display:flex; align-items:center; gap:28px;}
  nav.links a{
    font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:1rem;
    letter-spacing:0.12em; text-transform:uppercase; position:relative;
    color:#fff; text-decoration:none; opacity:0.88; text-shadow:0 1px 8px rgba(8,26,44,0.3);
  }
  nav.links a::after{
    content:""; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:#fff;
    transform:scaleX(0); transform-origin:left; transition:transform .3s ease;
  }
  nav.links a:hover::after, nav.links a.current::after{transform:scaleX(1);}
  nav.links a:hover{opacity:1;}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    font-family:'Archivo', sans-serif; font-weight:600; font-size:0.82rem;
    letter-spacing:0.04em; text-decoration:none;
    padding:11px 22px; border-radius:3px; border:1.5px solid transparent;
    cursor:pointer; background:none; position:relative; overflow:hidden;
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .btn::before{
    content:""; position:absolute; top:0; left:-60%; width:40%; height:100%;
    background:linear-gradient(115deg, transparent, rgba(255,255,255,0.35), transparent);
    transform:skewX(-20deg); transition:left .65s ease;
  }
  .btn:hover::before{left:130%;}
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:var(--rust); color:#fff;}
  .btn-primary:hover{background:#a9451f; box-shadow:0 10px 24px -8px rgba(193,81,44,0.55);}
  .btn-outline{border-color:var(--gold); color:var(--panel-ink);}
  .btn-outline:hover{background:rgba(198,154,70,0.15); box-shadow:0 10px 24px -10px rgba(198,154,70,0.4);}
  .nav-cta{display:none;}
  @media(min-width:640px){ .nav-cta{display:inline-flex;} }
  @media(max-width:860px){
    .nav-inner{flex-wrap:wrap; row-gap:8px; padding:12px 18px 10px;}
    nav.links{order:3; width:100%; gap:22px; overflow-x:auto; scrollbar-width:none;}
    nav.links a{font-size:0.9rem; white-space:nowrap;}
    .brand-mark{width:50px; height:50px;}
    header.site-nav.solid .brand-mark{width:38px; height:38px;}
    .brand-text{font-size:1.15rem;}
    header.site-nav.solid .brand-text{font-size:1rem;}
  }
  .btn-ghost{border-color:rgba(255,255,255,0.85); color:#fff; background:rgba(255,255,255,0.08); backdrop-filter:blur(4px);}
  .btn-ghost:hover{background:rgba(255,255,255,0.18);}

  /* ---------- HERO (home) ---------- */
  .hero{
    position:relative; min-height:100vh; min-height:100svh; display:flex; align-items:flex-end;
    color:#fff; overflow:hidden; background:var(--navy);
  }
  .hero-img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% 55%;
    transform:scale(1.04); animation:heroDrift 18s ease-out forwards;}
  @keyframes heroDrift{ to{ transform:scale(1); } }
  @media (prefers-reduced-motion: reduce){ .hero-img{animation:none; transform:none;} }
  .hero-shade{
    position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(20deg, rgba(8,26,44,0.82) 0%, rgba(8,26,44,0.4) 40%, rgba(8,26,44,0) 68%);
  }
  .hero-inner{position:relative; width:100%; padding-bottom:clamp(56px, 11vh, 120px);}
  .hero .eyebrow{display:block; color:#F3D9A4; margin-bottom:14px;}
  .hero h1{
    font-size:clamp(2.6rem, 6.6vw, 5.2rem); text-transform:uppercase; line-height:1.02;
    max-width:13ch; color:#fff; text-shadow:0 2px 28px rgba(8,26,44,0.35);
  }
  .hero p{max-width:46ch; font-size:1.12rem; color:rgba(255,255,255,0.92); margin-top:18px;}
  .hero-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-top:30px;}
  .hero-cue{
    position:absolute; right:28px; bottom:28px; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700;
    font-size:0.86rem; letter-spacing:0.2em; text-transform:uppercase; color:rgba(255,255,255,0.85);
    text-decoration:none; display:flex; align-items:center; gap:8px;
  }
  .hero-cue span{display:inline-block; animation:cue 1.8s ease-in-out infinite;}
  @keyframes cue{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(5px); } }
  @media(max-width:640px){
    .hero-cue{display:none;} .hero-img{object-position:58% 55%;}
    .hero-shade{background:linear-gradient(0deg, rgba(8,26,44,0.9) 0%, rgba(8,26,44,0.62) 48%, rgba(8,26,44,0.15) 75%, rgba(8,26,44,0.25) 100%);}
  }

  /* game tab sits below the fixed banner */
  #view-game .intro{padding-top:150px;}
  @media(max-width:860px){ #view-game .intro{padding-top:140px;} }

  /* ---------- SCROLL REVEAL ---------- */
  .reveal{
    opacity:0; transform:translateY(26px);
    transition:opacity .8s cubic-bezier(.2,.7,.3,1), transform .8s cubic-bezier(.2,.7,.3,1);
  }
  .reveal.in{opacity:1; transform:translateY(0);}
  @media (prefers-reduced-motion: reduce){
    .reveal{opacity:1; transform:none; transition:none;}
  }

  /* ---------- LANDING: THREE WAYS, EXPANDING COLUMNS (light) ---------- */
  .ways{background:var(--cream); color:var(--navy); padding:72px 0 0; position:relative;}
  .ways::before{
    content:""; position:absolute; inset:0; pointer-events:none;
    background:radial-gradient(ellipse 900px 420px at 50% 0%, rgba(198,154,70,0.16), transparent 70%);
  }
  .ways-intro{position:relative; text-align:center; padding:0 28px 48px; max-width:860px; margin:0 auto;}
  .ways-intro .eyebrow{display:block; margin-bottom:14px; color:var(--rust);}
  .ways-intro h1, .ways-intro h2{
    font-size:clamp(2.1rem,5.4vw,3.6rem); color:var(--navy); text-transform:uppercase;
    letter-spacing:0.02em; line-height:1.05;
  }
  .ways-intro p{color:var(--text-soft); margin:18px auto 0; max-width:54ch;}

  .ways-row{
    position:relative; display:flex; height:clamp(700px, 88vh, 900px);
    border-top:1px solid rgba(198,154,70,0.55); border-bottom:1px solid rgba(198,154,70,0.55);
  }
  .way{
    position:relative; flex:1 1 0; min-width:0; overflow:hidden; cursor:pointer;
    border-right:1px solid rgba(198,154,70,0.55); background:var(--cream-soft);
    transition:flex-grow .7s cubic-bezier(.22,.7,.2,1); scroll-margin-top:84px;
  }
  .way:last-child{border-right:none;}
  .way.open{flex-grow:3.6; cursor:default;}
  .way::after{
    content:""; position:absolute; left:0; right:0; top:0; height:4px; z-index:3;
    background:var(--rust); transform:scaleX(0); transform-origin:left; transition:transform .5s ease .2s;
  }
  .way.open::after{transform:scaleX(1);}

  .way-bg{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    filter:brightness(0.98) saturate(1.05); transition:transform .9s ease, filter .6s ease;
  }
  .way:not(.open):hover .way-bg{transform:scale(1.05); filter:brightness(1.06) saturate(1.12);}
  .way.open .way-bg{filter:brightness(1.05) saturate(0.85); transform:scale(1.03);}
  .way-shade{
    position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(180deg, rgba(250,245,233,0) 0%, rgba(250,245,233,0) 38%, rgba(250,245,233,0.9) 66%, rgba(250,245,233,0.97) 100%);
  }
  .way.open .way-shade{background:linear-gradient(90deg, rgba(250,245,233,0.96), rgba(250,245,233,0.92));}

  /* compressed column = tab */
  .way-face{
    position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end;
    align-items:flex-start; gap:7px; padding:28px 22px; background:none; border:none;
    color:var(--navy); text-align:left; cursor:pointer; font:inherit;
    transition:opacity .3s ease, visibility 0s linear 0s;
  }
  .way.open .way-face{opacity:0; pointer-events:none; visibility:hidden; transition:opacity .25s ease, visibility 0s linear .25s;}
  .way-top{display:flex; align-items:center; gap:12px; margin-bottom:auto;}
  .way-classlabel{
    font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:1.02rem; letter-spacing:0.2em;
    text-transform:uppercase; color:var(--navy); background:rgba(250,245,233,0.92);
    padding:4px 12px 3px; border:1px solid rgba(198,154,70,0.7); border-radius:3px;
  }
  .way-meaning{
    font-family:'Cormorant Garamond', Georgia, serif; font-style:italic; font-weight:600; font-size:1.02rem; color:var(--rust); line-height:1.25;
  }
  .way-numeral{
    width:44px; height:44px; border:2px solid var(--gold); border-radius:50%; flex-shrink:0;
    display:flex; align-items:center; justify-content:center; background:rgba(250,245,233,0.95);
    font-family:'Cinzel', Georgia, serif; font-weight:900; color:var(--rust); font-size:0.95rem;
  }
  .way-face .eyebrow{color:var(--rust);}
  .way-face h3{
    font-size:clamp(1.05rem,1.55vw,1.4rem); overflow-wrap:anywhere; text-transform:uppercase; letter-spacing:0.02em; color:var(--navy);
  }
  .way-tagline{
    font-family:'Cormorant Garamond', Georgia, serif; font-style:italic; font-weight:600; color:var(--text-soft); font-size:1.05rem; line-height:1.3;
  }
  .way-face-price{font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; color:var(--rust); font-size:0.98rem; letter-spacing:0.02em;}
  .way-open-pill{
    margin-top:6px; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:0.86rem;
    letter-spacing:0.16em; text-transform:uppercase; color:#fff; background:var(--rust);
    padding:9px 18px; border-radius:3px; transition:background .2s ease;
  }
  .way:hover .way-open-pill{background:#a9451f;}

  /* expanded column */
  .way-content{
    position:absolute; inset:0; min-width:560px; padding:34px 38px 26px; display:flex; flex-direction:column;
    opacity:0; pointer-events:none; transition:opacity .2s ease;
  }
  .way.open .way-content{opacity:1; pointer-events:auto; transition:opacity .4s ease .35s;}
  .way-toplabel{display:flex; align-items:center; gap:12px;}
  .way-toplabel .way-numeral{width:38px; height:38px; font-size:0.85rem;}
  .way-toplabel .way-classlabel{font-size:1.08rem;}
  .way-head h2{
    font-size:clamp(1.9rem,3.2vw,2.7rem); text-transform:uppercase; letter-spacing:0.04em;
    color:var(--navy); margin-top:14px;
  }
  .way-head .way-meaning{display:block; margin-top:6px; font-size:1.15rem;}
  .way-content .way-tagline{display:block; margin-top:4px; font-size:1.08rem; color:var(--text-soft);}
  .way-tabs{display:flex; gap:4px; margin-top:22px; border-bottom:1px solid rgba(18,48,73,0.2);}
  .way-tab{
    background:none; border:none; border-bottom:2px solid transparent; margin-bottom:-1px; cursor:pointer;
    font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:0.98rem; letter-spacing:0.14em;
    text-transform:uppercase; color:var(--text-soft); padding:12px 18px; transition:color .2s ease;
  }
  .way-tab:hover{color:var(--navy);}
  .way-tab.active{color:var(--rust); border-bottom-color:var(--rust);}
  .way-body{
    flex:1; overflow-y:auto; padding:26px 8px 8px 0;
    scrollbar-width:thin; scrollbar-color:rgba(198,154,70,0.7) transparent;
  }

  .way-story{color:#243F58; font-size:1.06rem; line-height:1.8; max-width:62ch;}
  .way-next{
    margin-top:26px; background:none; border:none; padding:0; cursor:pointer;
    font-family:'Archivo',sans-serif; font-weight:700; font-size:0.74rem; letter-spacing:0.12em;
    text-transform:uppercase; color:var(--rust);
  }
  .way-next:hover{color:var(--navy);}

  .stay-price{font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; color:var(--rust); font-size:clamp(1.9rem,3.6vw,2.8rem); line-height:1.05;}
  .stay-price small{font-family:'Archivo',sans-serif; font-weight:600; font-size:0.8rem; color:var(--text-soft); letter-spacing:0.04em;}
  .stay-note{font-family:'Archivo',sans-serif; font-size:0.74rem; color:var(--text-soft); margin-top:6px;}
  .cost-note{font-size:0.86rem !important; color:var(--text-soft) !important; line-height:1.55;}
  .stay-chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:18px;}
  .stay-chip{
    font-family:'Archivo',sans-serif; font-weight:700; font-size:0.66rem; letter-spacing:0.08em;
    text-transform:uppercase; color:var(--navy); background:rgba(198,154,70,0.2);
    border:1px solid rgba(198,154,70,0.6); border-radius:3px; padding:5px 11px;
  }
  .stay-label{
    display:block; font-family:'Archivo',sans-serif; font-weight:700; font-size:0.66rem;
    letter-spacing:0.12em; text-transform:uppercase; color:var(--rust); margin-bottom:6px;
  }
  .stay-sleeps{margin-top:24px; max-width:56ch;}
  .stay-sleeps p{margin:0; color:#243F58; font-size:0.98rem;}
  .stay-stats{margin-top:24px; max-width:340px; display:flex; flex-direction:column; gap:10px;}
  .stay-stats .pip{width:10px; height:10px;}
  .way-actions{display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:30px;}
  .way-actions .way-next{margin-top:0;}

  /* stat pips */
  .stat-row{display:flex; align-items:center; justify-content:space-between; gap:10px;}
  .stat-row-label{
    font-family:'Archivo',sans-serif; font-weight:600; font-size:0.62rem; letter-spacing:0.09em;
    text-transform:uppercase; color:var(--text-soft);
  }
  .stat-pips{display:flex; gap:3px;}
  .pip{width:7px; height:7px; border-radius:50%; background:rgba(18,48,73,0.16);}
  .pip.filled{background:var(--gold);}

  /* quests: xp bar + cards */
  .xp-bar{
    margin:0 0 24px; text-align:center; padding:16px 20px;
    background:rgba(198,154,70,0.16); border:1px solid rgba(198,154,70,0.55); border-radius:6px;
    display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:22px;
  }
  .xp-bar .xp-stat{display:flex; flex-direction:column; align-items:center; gap:2px;}
  .xp-bar .xp-stat-value{font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; color:var(--rust); font-size:1.55rem; line-height:1;}
  .xp-bar .xp-stat-label{
    font-family:'Archivo',sans-serif; font-weight:600; font-size:0.62rem; letter-spacing:0.09em;
    text-transform:uppercase; color:var(--text-soft);
  }
  .xp-bar-note{flex-basis:100%; margin:4px 0 0; font-size:0.8rem; color:var(--text-soft); text-align:center;}

  .way-cards{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;}
  @media(max-width:1100px){ .way-cards{grid-template-columns:repeat(2, 1fr);} }
  .quest-card{
    display:flex; flex-direction:column; background:rgba(255,255,255,0.88);
    border:1.5px solid rgba(198,154,70,0.6);
    clip-path:polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
    overflow:hidden; text-align:left; padding:0; cursor:pointer;
    transition:border-color .25s ease, transform .25s ease, box-shadow .25s ease;
  }
  .quest-card:hover{border-color:var(--rust); transform:translateY(-3px);}
  .quest-card.is-logged{border-color:#4E9A73; box-shadow:0 0 0 2px rgba(78,154,115,0.35);}
  .quest-card-thumb{width:100%; aspect-ratio:16/10; overflow:hidden; position:relative;}
  .quest-card-thumb img{width:100%; height:100%; object-fit:cover; object-position:center 30%;}
  .quest-card-badge{
    position:absolute; top:10px; right:10px; font-family:'Archivo',sans-serif; font-weight:700;
    font-size:0.6rem; letter-spacing:0.06em; text-transform:uppercase; padding:5px 10px; border-radius:3px;
    background:rgba(250,245,233,0.94); color:var(--navy); border:1px solid rgba(18,48,73,0.25);
  }
  .quest-card.is-logged .quest-card-badge{background:#4E9A73; color:#fff; border-color:#4E9A73;}
  .quest-card-body{padding:14px 16px 18px;}
  .quest-card-body h4{font-size:0.98rem; font-weight:700; color:var(--navy); text-transform:uppercase; letter-spacing:0.02em;}
  .quest-card-difficulty{
    display:inline-block; margin-top:8px; font-family:'Archivo',sans-serif; font-weight:700;
    font-size:0.6rem; letter-spacing:0.08em; text-transform:uppercase; padding:3px 9px; border-radius:3px;
    border:1px solid currentColor;
  }
  .quest-card-difficulty.diff-explorer{color:#2F7F55;}
  .quest-card-difficulty.diff-adventure{color:#9A6F14;}
  .quest-card-difficulty.diff-legendary{color:#C1512C;}
  .quest-card-expect{display:block; margin-top:10px; font-size:0.84rem; color:var(--text-soft); line-height:1.45;}
  .quest-card-stats{display:flex; flex-direction:column; gap:4px; margin-top:12px;}
  .quest-card-stats .stat-row-label{font-size:0.58rem;}
  .quest-card-stats .pip{width:6px; height:6px;}

  @media(max-width:900px){
    .ways{padding-top:56px;}
    .ways-row{flex-direction:column; height:auto;}
    .way{flex:none; height:150px; border-right:none; border-bottom:1px solid rgba(198,154,70,0.55); transition:none;}
    .way:last-child{border-bottom:none;}
    .way.open{height:auto; min-height:150px;}
    .way-shade{background:linear-gradient(90deg, rgba(250,245,233,0.96) 0%, rgba(250,245,233,0.88) 70%, rgba(250,245,233,0.6) 100%);}
    .way-face{justify-content:center; gap:5px; padding:0 20px;}
    .way-top{margin-bottom:4px;}
    .way-numeral{width:34px; height:34px; font-size:0.8rem;}
    .way-classlabel{font-size:0.86rem;}
    .way-face .way-tagline, .way-face .way-meaning{display:none;}
    .way-open-pill{display:none;}
    .way-content{position:relative; inset:auto; min-width:0; padding:28px 22px 32px; display:none; opacity:1; transition:none;}
    .way.open .way-content{display:flex; pointer-events:auto; transition:none;}
    .way.open .way-face{display:none;}
    .way-body{overflow:visible; padding:22px 0 0;}
    .way-tab{padding:11px 10px; font-size:0.9rem; letter-spacing:0.1em;}
  }
  @media(max-width:560px){
    .way-cards{grid-template-columns:1fr;}
    .way-face .way-tagline{display:none;}
  }
  @media (prefers-reduced-motion: reduce){
    .way, .way-bg, .way-content, .way-face{transition:none !important;}
  }

  /* ---------- INTRO: OCEAN REALMS + HOW THE GAME WORKS ---------- */
  .intro{background:var(--cream-soft); padding:84px 0 92px; border-bottom:1px solid rgba(198,154,70,0.45);}
  .intro-hero{display:grid; grid-template-columns:1.05fr 0.95fr; gap:60px; align-items:center;}
  @media(max-width:900px){ .intro-hero{grid-template-columns:1fr; gap:44px;} }
  .intro-copy .eyebrow{display:block; margin-bottom:14px; color:var(--rust);}
  .intro-copy h1{
    font-size:clamp(2.3rem,5.6vw,4rem); text-transform:uppercase; letter-spacing:0.02em;
    line-height:1.02; color:var(--navy);
  }
  .intro-copy h1 em{font-family:'Cormorant Garamond', Georgia, serif; font-style:italic; font-weight:600; text-transform:none; letter-spacing:0; color:var(--rust); font-size:1.12em;}
  .intro-copy p{color:var(--text-soft); font-size:1.08rem; margin-top:20px; max-width:52ch;}
  .intro-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-top:30px;}
  .intro-figure{position:relative; margin:0;}
  .intro-figure img{
    width:100%; aspect-ratio:4/3.2; object-fit:cover; display:block; border:2px solid var(--gold);
    clip-path:polygon(18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%, 0 18px);
  }
  .hud-chip{
    position:absolute; left:-18px; bottom:28px; min-width:220px; display:flex; flex-direction:column; gap:2px;
    background:rgba(250,245,233,0.97); border:1.5px solid var(--gold); padding:12px 16px;
    box-shadow:0 18px 34px -16px rgba(10,32,54,0.45);
  }
  .hud-chip .k{font-family:'Archivo',sans-serif; font-weight:700; font-size:0.6rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--rust);}
  .hud-chip strong{font-family:'Cinzel', Georgia, serif; color:var(--navy); font-size:1.05rem;}
  .hud-chip .xp{font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:0.9rem !important; color:#2F7F55; font-size:0.78rem;}
  .hud-chip.top{left:auto; right:-14px; top:24px; bottom:auto; min-width:190px;}
  .hud-bar{height:6px; background:rgba(18,48,73,0.12); border-radius:3px; overflow:hidden; margin-top:6px;}
  .hud-bar span{display:block; height:100%; width:64%; background:var(--gold);}
  @media(max-width:900px){ .hud-chip{left:10px;} .hud-chip.top{right:10px;} }

  .how{margin-top:88px;}
  .how-head{text-align:center; max-width:640px; margin:0 auto 38px;}
  .how-head .eyebrow{display:block; color:var(--rust); margin-bottom:12px;}
  .how-head h2{font-size:clamp(1.8rem,3.6vw,2.5rem); color:var(--navy);}
  .how-head p{color:var(--text-soft); margin-top:12px;}
  .how-steps{display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;}
  @media(max-width:980px){ .how-steps{grid-template-columns:repeat(2, 1fr);} }
  @media(max-width:560px){ .how-steps{grid-template-columns:1fr;} }
  .how-step{
    background:#fff; border:1.5px solid rgba(198,154,70,0.55); padding:24px 20px 22px;
    clip-path:polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);
  }
  .how-step .num{font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; color:var(--rust); font-size:2rem; line-height:1;}
  .how-step h3{font-size:1.08rem; margin-top:10px; color:var(--navy);}
  .how-step p{font-size:0.9rem; color:var(--text-soft); margin-top:8px; line-height:1.55;}
  .ranks-title{
    text-align:center; margin:44px 0 14px; font-family:'Archivo',sans-serif; font-weight:700;
    font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--rust);
  }
  .ranks{
    display:grid; grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)); gap:1px;
    background:rgba(198,154,70,0.5); border:1px solid rgba(198,154,70,0.5);
  }
  .rank{background:#fff; padding:16px 14px; text-align:center;}
  .rank .lvl{font-family:'Archivo',sans-serif; font-weight:700; font-size:0.6rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-soft);}
  .rank strong{display:block; font-family:'Cinzel', Georgia, serif; color:var(--navy); font-size:1.02rem; margin-top:4px;}
  .rank .req{display:block; font-family:'Rajdhani', 'Archivo', sans-serif; font-size:0.9rem !important; font-size:0.74rem; color:var(--rust); font-weight:700; margin-top:2px;}
  .rank .opens{display:block; font-size:0.78rem; color:var(--text-soft); margin-top:4px;}

  /* ---------- NAV PLAYER ---------- */
  .nav-player{display:flex; align-items:center; gap:10px;}
  .player-chip{
    display:flex; align-items:center; gap:10px; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.5); backdrop-filter:blur(6px);
    padding:5px 14px 5px 5px; border-radius:40px;
  }
  .player-avatar{
    width:32px; height:32px; border-radius:50%; background:var(--rust); color:#fff; flex-shrink:0;
    display:flex; align-items:center; justify-content:center; font-family:'Cinzel', Georgia, serif; font-weight:900;
  }
  .player-meta{display:flex; flex-direction:column; line-height:1.15;}
  .player-meta strong{font-family:'Archivo',sans-serif; font-size:0.78rem; color:#fff;}
  .player-meta span{font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:600; font-size:0.78rem; color:rgba(255,255,255,0.82);}
  .player-signout{
    background:none; border:none; cursor:pointer; font-family:'Archivo',sans-serif; font-size:0.66rem;
    letter-spacing:0.08em; text-transform:uppercase; color:rgba(255,255,255,0.8); text-decoration:underline;
  }
  @media(max-width:640px){
    .brand-text small{display:none;}
    .player-meta span, .player-signout{display:none;}
    .nav-player .btn{padding:9px 14px; font-size:0.74rem;}
  }

  /* ---------- REGISTRATION MODAL ---------- */
  .reg-overlay{
    position:fixed; inset:0; z-index:200; background:rgba(10,32,54,0.55);
    display:flex; align-items:center; justify-content:center; padding:20px;
    opacity:0; pointer-events:none; transition:opacity .2s ease;
  }
  .reg-overlay.open{opacity:1; pointer-events:auto;}
  .reg-modal{
    position:relative; background:var(--cream-soft); max-width:470px; width:100%; max-height:90vh; overflow-y:auto;
    padding:34px 32px 28px; border:2px solid var(--gold); box-shadow:0 30px 60px -20px rgba(10,32,54,0.55);
  }
  .reg-close{
    position:absolute; top:12px; right:12px; width:34px; height:34px; border-radius:50%;
    border:1px solid rgba(18,48,73,0.2); background:#fff; cursor:pointer; color:var(--navy);
    display:flex; align-items:center; justify-content:center;
  }
  .reg-modal .eyebrow{display:block; color:var(--rust);}
  .reg-modal h2{font-size:1.7rem; margin-top:8px; color:var(--navy);}
  .reg-modal > p{color:var(--text-soft); font-size:0.95rem; margin-top:10px;}
  .reg-perks{display:flex; flex-wrap:wrap; gap:8px; margin-top:14px;}
  .reg-perks span{
    font-family:'Archivo',sans-serif; font-weight:700; font-size:0.62rem; letter-spacing:0.08em; text-transform:uppercase;
    color:var(--navy); background:rgba(198,154,70,0.2); border:1px solid rgba(198,154,70,0.6); border-radius:3px; padding:5px 10px;
  }
  form.reg-form{display:flex; flex-direction:column; gap:14px; margin-top:20px;}
  form.reg-form .btn{align-self:flex-start;}
  .reg-note{font-size:0.78rem; color:var(--text-soft);}

  /* ---------- TOAST ---------- */
  .toast{
    position:fixed; left:50%; bottom:calc(24px + env(safe-area-inset-bottom, 0px)); z-index:250;
    transform:translate(-50%, 16px); max-width:90vw; text-align:center;
    background:var(--navy); color:#FBF7EE; border:1px solid var(--gold); padding:12px 20px;
    font-family:'Archivo',sans-serif; font-size:0.86rem; opacity:0; pointer-events:none; transition:opacity .3s ease, transform .3s ease;
  }
  .toast.show{opacity:1; transform:translate(-50%, 0);}

  /* ---------- QUEST GATE + QUEST STATES ---------- */
  .quest-gate{
    text-align:center; padding:28px 24px 30px; margin-bottom:22px;
    background:#fff; border:1.5px dashed rgba(198,154,70,0.85);
  }
  .gate-lock{
    width:48px; height:48px; border-radius:50%; background:var(--navy);
    display:inline-flex; align-items:center; justify-content:center;
  }
  .gate-lock svg{width:22px; height:22px; stroke:var(--gold); fill:none; stroke-width:2;}
  .quest-gate h3{margin-top:12px; font-size:1.3rem; color:var(--navy);}
  .quest-gate p{color:var(--text-soft); max-width:52ch; margin:8px auto 18px; font-size:0.95rem;}
  .skeleton-card{
    height:170px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
    background:repeating-linear-gradient(135deg, rgba(18,48,73,0.04) 0 10px, rgba(18,48,73,0.08) 10px 20px);
    border:1.5px solid rgba(198,154,70,0.35);
    clip-path:polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  }
  .skeleton-card span{font-family:'Cinzel', Georgia, serif; font-weight:900; font-size:2rem; color:rgba(18,48,73,0.3);}
  .skeleton-card small{font-family:'Archivo',sans-serif; font-weight:700; font-size:0.6rem; letter-spacing:0.12em; text-transform:uppercase; color:rgba(18,48,73,0.4);}

  .rank-track{flex-basis:100%; height:6px; background:rgba(18,48,73,0.12); border-radius:3px; overflow:hidden;}
  .rank-fill{height:100%; background:var(--gold); transition:width .5s ease;}
  .reset-link{
    background:none; border:none; cursor:pointer; padding:0; font:inherit; font-size:0.76rem;
    color:var(--text-soft); text-decoration:underline;
  }

  .quest-card{cursor:default;}
  .quest-card-body{display:flex; flex-direction:column; flex:1; padding:14px 16px 16px;}
  .quest-card-meta{display:flex; align-items:center; gap:10px; margin-top:8px;}
  .quest-card-meta .quest-card-difficulty{margin-top:0;}
  .quest-card-xp{font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:0.86rem; color:#2F7F55;}
  .quest-lock-note{display:block; margin-top:10px; font-size:0.84rem; color:var(--text-soft); font-style:italic;}
  .quest-actions{margin-top:auto; padding-top:14px;}
  .quest-btn{
    width:100%; font-family:'Archivo',sans-serif; font-weight:700; font-size:0.7rem; letter-spacing:0.1em;
    text-transform:uppercase; padding:10px 12px; border-radius:3px; cursor:pointer;
    border:1.5px solid var(--rust); background:var(--rust); color:#fff; transition:background .2s ease;
  }
  .quest-btn:hover:not(:disabled){background:#a9451f; border-color:#a9451f;}
  .quest-btn.secondary{background:transparent; color:var(--rust);}
  .quest-btn.secondary:hover{background:rgba(193,81,44,0.08); color:#a9451f;}
  .quest-btn:disabled{opacity:0.45; cursor:not-allowed;}
  .quest-fine{display:block; margin-top:6px; font-size:0.72rem; color:var(--text-soft); text-align:center;}
  .quest-done{display:block; text-align:center; font-family:'Archivo',sans-serif; font-weight:700; font-size:0.74rem; color:#2F7F55;}

  .quest-card.is-unlocked{border-color:var(--rust); box-shadow:0 0 0 2px rgba(193,81,44,0.2);}
  .quest-card.is-unlocked .quest-card-badge{background:var(--rust); color:#fff; border-color:var(--rust);}
  .quest-card.is-done{border-color:#4E9A73; box-shadow:0 0 0 2px rgba(78,154,115,0.3);}
  .quest-card.is-done .quest-card-badge{background:#4E9A73; color:#fff; border-color:#4E9A73;}
  .quest-card.is-locked{border-color:rgba(18,48,73,0.2); background:rgba(255,255,255,0.6);}
  .quest-card.is-locked:hover{transform:none; border-color:rgba(18,48,73,0.3);}
  .quest-card.is-locked .quest-card-thumb img{filter:grayscale(1) blur(2px); opacity:0.55;}
  .quest-card.is-locked h4{color:var(--text-soft);}


  /* ---------- SPOTLIGHT: featured location (full-bleed, parallax) ---------- */
  .spotlight{position:relative; min-height:100vh; min-height:100svh; overflow:hidden; color:#fff; display:flex; align-items:center; background:var(--navy);}
  .spot-media{position:absolute; inset:-12% 0; will-change:transform;}
  .spot-media img{width:100%; height:100%; object-fit:cover; object-position:50% 62%;}
  .spot-shade{
    position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(90deg, rgba(8,26,44,0.78) 0%, rgba(8,26,44,0.5) 38%, rgba(8,26,44,0.05) 70%),
               linear-gradient(0deg, rgba(8,26,44,0.35) 0%, rgba(8,26,44,0) 30%);
  }
  .spot-inner{position:relative; width:100%; padding-top:110px; padding-bottom:90px;}
  .spot-card{max-width:520px;}
  .spot-kicker{display:flex; align-items:center; gap:12px; flex-wrap:wrap;}
  .spot-kicker .way-numeral{width:38px; height:38px; font-size:0.85rem;}
  .spot-kicker .way-classlabel{font-size:0.95rem; letter-spacing:0.16em; background:rgba(250,245,233,0.94);}
  .spotlight h2{font-size:clamp(2.2rem, 5vw, 3.8rem); text-transform:uppercase; line-height:1.02; margin-top:20px; color:#fff; text-shadow:0 2px 24px rgba(8,26,44,0.35);}
  .spot-meta{
    display:block; margin-top:10px; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:0.95rem;
    letter-spacing:0.16em; text-transform:uppercase; color:#F3D9A4;
  }
  .spot-card p{margin-top:18px; font-size:1.06rem; line-height:1.7; color:rgba(255,255,255,0.92);}
  .spot-card p em{font-family:'Cormorant Garamond', Georgia, serif; font-size:1.15em; color:#F3D9A4;}
  .spot-facts{display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px 18px; margin:22px 0 0; padding:0; list-style:none;}
  .spot-facts li{border-left:2px solid #D6B068; padding:2px 0 2px 12px;}
  .spot-facts strong{display:block; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:1.25rem; line-height:1.1; color:#fff;}
  .spot-facts span{font-size:0.82rem; color:rgba(255,255,255,0.78);}
  .spot-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-top:28px;}
  .spot-note{display:block; margin-top:16px; font-size:0.78rem; color:rgba(255,255,255,0.65);}
  @media(max-width:760px){
    .spot-media img{object-position:48% 64%;}
    .spot-shade{background:linear-gradient(0deg, rgba(8,26,44,0.9) 0%, rgba(8,26,44,0.65) 55%, rgba(8,26,44,0.2) 100%);}
    .spotlight{align-items:flex-end;}
  }
  @media (prefers-reduced-motion: reduce){ .spot-media{transform:none !important;} }

  /* featured stay inside the Stay tab */
  .stay-feature{
    margin-top:24px; max-width:56ch; display:flex; gap:16px; align-items:center;
    background:rgba(255,255,255,0.85); border:1.5px solid rgba(198,154,70,0.6); padding:12px;
  }
  .stay-feature img{width:88px; height:88px; object-fit:cover; object-position:50% 62%; flex-shrink:0;}
  .stay-feature strong{display:block; font-family:'Cinzel', Georgia, serif; color:var(--navy); font-size:1.02rem;}
  .stay-feature span{display:block; font-size:0.86rem; color:var(--text-soft);}
  .stay-feature a{font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; font-size:0.84rem; color:var(--rust); text-decoration:none;}


  /* ---------- LANDING SLIDER: full-screen slides you can swipe, drag or step through ---------- */
  .hero-slider{position:relative; background:var(--navy);}
  .slides{
    display:flex; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-behavior:smooth;
    scrollbar-width:none; overscroll-behavior-x:contain; cursor:grab; outline:none;
  }
  .slides::-webkit-scrollbar{display:none;}
  .slides.dragging{cursor:grabbing; scroll-snap-type:none; scroll-behavior:auto; user-select:none;}
  .slides.dragging img{pointer-events:none;}
  .slide{flex:0 0 100%; min-width:0; scroll-snap-align:start; scroll-snap-stop:always;}
  .slider-ui{
    position:absolute; right:28px; bottom:26px; z-index:5; display:flex; align-items:center; gap:18px; color:#fff;
    font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; letter-spacing:0.14em; text-transform:uppercase;
  }
  .slider-count{font-size:0.95rem; display:flex; align-items:baseline; gap:6px;}
  .slider-count b{font-size:1.5rem; color:#F3D9A4;}
  .slider-name{font-size:0.86rem; opacity:0.9; min-width:10ch;}
  .slider-dots{display:flex; gap:6px;}
  .slider-dots button{width:28px; height:3px; border:none; padding:0; background:rgba(255,255,255,0.4); cursor:pointer; transition:background .3s ease, width .3s ease;}
  .slider-dots button.active{background:#F3D9A4; width:44px;}
  .slider-arrow{
    width:44px; height:44px; border-radius:50%; border:1.5px solid rgba(255,255,255,0.7); background:rgba(8,26,44,0.25);
    color:#fff; cursor:pointer; display:flex; align-items:center; justify-content:center; backdrop-filter:blur(4px);
    transition:background .25s ease, opacity .25s ease;
  }
  .slider-arrow:hover{background:rgba(255,255,255,0.18);}
  .slider-arrow:disabled{opacity:0.35; cursor:default;}
  .slider-arrow svg{width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:2;}
  .slider-hint{font-size:0.78rem; opacity:0.75; transition:opacity .4s ease;}
  .slider-hint.gone{opacity:0;}

  /* multi-photo featured location */
  .spot-media.multi img{position:absolute; inset:0; opacity:0; transition:opacity .7s ease;}
  .spot-media.multi img.is-on{opacity:1;}
  .spot-thumbs{display:flex; gap:10px; margin-top:18px;}
  .spot-thumb{
    display:flex; flex-direction:column; gap:5px; padding:0; background:none; border:none; cursor:pointer; color:#fff;
    font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:0.78rem; letter-spacing:0.12em; text-transform:uppercase; text-align:left;
  }
  .spot-thumb img{display:block; width:72px; height:50px; object-fit:cover; border:2px solid rgba(255,255,255,0.55); border-radius:3px; opacity:0.7; box-shadow:0 8px 18px -8px rgba(8,26,44,0.7); transition:opacity .25s ease, border-color .25s ease, transform .25s ease;}
  .spot-thumb:hover img{opacity:1; transform:translateY(-2px);}
  .spot-thumb.active img{opacity:1; border-color:#D6B068; transform:translateY(-3px);}
  .spot-thumb:focus-visible{outline:2px solid #F3D9A4; outline-offset:3px;}
  .spot-thumb.active span{color:#F3D9A4;}
  .spot-title-long{font-size:clamp(1.9rem, 3.4vw, 2.9rem) !important;}
  @media(min-width:1100px){
    .spotlight .spot-thumbs{position:absolute; right:28px; bottom:118px; top:auto; z-index:2; transform:none; flex-direction:row; gap:10px; margin:0;}
    .spotlight .spot-thumb img{width:104px; height:70px;}
    .spotlight .spot-thumb span{text-shadow:0 1px 8px rgba(8,26,44,0.6);}
  }
  @media(min-width:761px){
    .hero-slider .slide{height:100vh; height:100svh; min-height:660px;}
    .hero-slider .hero .hero-inner{padding-bottom:118px;}
    .hero-slider .spot-inner{padding-top:108px; padding-bottom:96px;}
    .hero-slider .spot-card{max-width:640px;}
    .hero-slider .spot-kicker .way-numeral{width:34px; height:34px;}
    .hero-slider .spotlight h2{font-size:clamp(2rem, 3.6vw, 3.1rem); margin-top:14px;}
    .hero-slider .spot-meta{margin-top:8px;}
    .hero-slider .spot-card p{font-size:1rem; line-height:1.6; margin-top:12px;}
    .hero-slider .spot-facts{grid-template-columns:repeat(4, minmax(0, 1fr)); margin-top:18px;}
    .hero-slider .spot-facts strong{font-size:1.12rem;}
    .hero-slider .spot-ctas{margin-top:20px;}
    .hero-slider .spot-note{margin-top:10px;}
  }
  @media(min-width:761px) and (max-height:780px){
    .hero-slider .spot-inner{padding-top:118px; padding-bottom:84px;}
    .hero-slider .spotlight h2{font-size:clamp(1.8rem, 3vw, 2.5rem); margin-top:10px;}
    .hero-slider .spot-card p{font-size:0.94rem; line-height:1.55; margin-top:9px;}
    .hero-slider .spot-facts{margin-top:14px;}
    .hero-slider .spot-ctas{margin-top:14px;}
  }
  @media(max-width:760px){
    .slider-ui{left:18px; right:18px; bottom:18px; justify-content:space-between; gap:10px;}
    .slider-name, .slider-hint{display:none;}
    .hero{align-items:center;}
    .hero-inner{padding-bottom:40px; padding-top:120px;}
    .spot-inner{padding-top:120px; padding-bottom:96px;}
    .spot-card p{font-size:0.98rem;}
  }

  /* ---------- STAY GALLERY (scrollable) ---------- */
  .vessel{margin-top:28px;}
  .vessel-head{display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap;}
  .vessel-head h3{font-size:1.35rem; color:var(--navy); margin-top:4px;}
  .vessel-blurb{color:#243F58; font-size:0.96rem; max-width:62ch; margin-top:10px;}
  .gal-controls{display:flex; align-items:center; gap:10px; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; letter-spacing:0.12em; color:var(--navy);}
  .gal-controls .gal-count b{color:var(--rust); font-size:1.15rem;}
  .gal-btn{
    width:38px; height:38px; border-radius:50%; border:1.5px solid rgba(18,48,73,0.35); background:#fff; color:var(--navy);
    cursor:pointer; display:flex; align-items:center; justify-content:center;
  }
  .gal-btn:hover:not(:disabled){border-color:var(--rust); color:var(--rust);}
  .gal-btn:disabled{opacity:0.35; cursor:default;}
  .gal-btn svg{width:16px; height:16px; stroke:currentColor; fill:none; stroke-width:2;}
  .gallery{
    display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-behavior:smooth;
    margin-top:16px; padding-bottom:6px; scrollbar-width:thin; scrollbar-color:rgba(198,154,70,0.7) transparent; cursor:grab;
  }
  .gallery.dragging{cursor:grabbing; scroll-snap-type:none; scroll-behavior:auto; user-select:none;}
  .gallery.dragging img{pointer-events:none;}
  .gal-item{flex:0 0 78%; max-width:560px; scroll-snap-align:start; margin:0;}
  .gal-item img{width:100%; aspect-ratio:3/2; object-fit:cover; display:block; border:1.5px solid rgba(198,154,70,0.6);}
  .gal-item figcaption{margin-top:10px;}
  .gal-item figcaption strong{display:block; font-family:'Cinzel', Georgia, serif; font-size:0.98rem; color:var(--navy);}
  .gal-item figcaption span{display:block; font-size:0.86rem; color:var(--text-soft); line-height:1.5; margin-top:3px;}
  @media(max-width:560px){ .gal-item{flex-basis:88%;} }


  /* premium featured stays with rates, amenities and facilities */
  .stay-premium{margin-top:26px; max-width:760px;}
  .resort-detail{margin-top:12px; background:rgba(255,255,255,0.9); border:1.5px solid rgba(198,154,70,0.6);}
  .resort-detail summary{display:flex; align-items:center; gap:16px; padding:12px; cursor:pointer; list-style:none;}
  .resort-detail summary::-webkit-details-marker{display:none;}
  .resort-detail summary img{width:92px; height:92px; object-fit:cover; flex-shrink:0;}
  .rd-sum{flex:1; min-width:0; display:flex; flex-direction:column; gap:3px;}
  .rd-sum strong{font-family:'Cinzel', Georgia, serif; color:var(--navy); font-size:1.04rem;}
  .rd-sum > span{font-size:0.86rem; color:var(--text-soft);}
  .rd-sum em{font-style:normal; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; color:var(--rust); font-size:1.05rem;}
  .rd-sum em small{font-weight:600; font-size:0.8rem; color:var(--text-soft);}
  .rd-toggle{
    flex-shrink:0; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:0.82rem; letter-spacing:0.12em;
    text-transform:uppercase; color:var(--rust); border:1px solid rgba(193,81,44,0.5); padding:7px 12px; border-radius:3px;
  }
  .rd-toggle::after{content:" +";}
  .resort-detail[open] .rd-toggle::after{content:" \2212";}
  .rd-body{padding:6px 18px 18px; border-top:1px solid rgba(198,154,70,0.4);}
  .rd-body p{margin:0; font-size:0.93rem; color:#243F58; line-height:1.6;}
  .rd-rate, .rd-block{margin-top:16px;}
  .rd-block dl{margin:0; display:grid; grid-template-columns:minmax(150px, 0.8fr) 2fr; gap:6px 16px;}
  .rd-block dt{font-family:'Cinzel', Georgia, serif; font-weight:700; font-size:0.9rem; color:var(--navy);}
  .rd-block dd{margin:0; font-size:0.9rem; color:var(--text-soft);}
  .rd-block ul{margin:0; padding-left:18px;}
  .rd-block li{font-size:0.9rem; color:#243F58; margin:3px 0;}
  .rd-grid{display:grid; grid-template-columns:1fr 1fr; gap:0 22px;}
  .rd-note{margin-top:16px !important; font-size:0.8rem !important; color:var(--text-soft) !important;}
  .rd-note a{color:var(--rust); font-weight:600;}
  @media(max-width:640px){
    .rd-grid, .rd-block dl{grid-template-columns:1fr;}
    .resort-detail summary{flex-wrap:wrap;}
    .resort-detail summary img{width:72px; height:72px;}
    .rd-toggle{width:100%; text-align:center;}
  }
  .spot-ctas{align-items:center;}
  .spot-link{
    background:none; border:none; padding:6px 0; cursor:pointer; color:#fff; font-family:'Rajdhani', 'Archivo', sans-serif;
    font-weight:700; font-size:0.95rem; letter-spacing:0.12em; text-transform:uppercase; border-bottom:1.5px solid #D6B068;
  }
  .spot-link:hover{color:#F3D9A4;}


  /* teaser slides: picture-led, minimal text */
  .spotlight.teaser{align-items:flex-end;}
  .spotlight.teaser .spot-inner{padding-top:120px; padding-bottom:118px !important;}
  .spotlight.teaser .spot-shade{background:linear-gradient(20deg, rgba(8,26,44,0.82) 0%, rgba(8,26,44,0.42) 40%, rgba(8,26,44,0) 68%);}
  .spotlight.teaser .spot-card{max-width:560px;}
  .spotlight.teaser h2{font-size:clamp(2.2rem, 5vw, 4rem) !important;}
  .spotlight.teaser .spot-title-long{font-size:clamp(2rem, 4.2vw, 3.3rem) !important;}
  .spot-teaser{margin-top:14px !important; font-family:'Cormorant Garamond', Georgia, serif; font-style:italic; font-weight:600; font-size:1.35rem !important; line-height:1.35 !important; color:#fff !important;}
  .spotlight.teaser .spot-ctas{margin-top:24px !important;}
  .rd-about p + p{margin-top:10px;}
  @media(max-width:760px){
    .spotlight.teaser .spot-inner{padding-bottom:96px !important;}
    .spotlight.teaser .spot-shade{background:linear-gradient(0deg, rgba(8,26,44,0.88) 0%, rgba(8,26,44,0.45) 50%, rgba(8,26,44,0.1) 100%);}
  }

  /* ---------- CONTACT ---------- */
  .contact{background:#E3EEF1; color:var(--navy); padding:100px 0;}
  .contact .wrap{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;}
  @media(max-width:900px){ .contact .wrap{grid-template-columns:1fr; gap:44px;} }
  .contact-intro .eyebrow{margin-bottom:14px; color:var(--rust);}
  .contact h2{color:var(--navy); font-size:clamp(2rem,4vw,2.7rem);}
  .contact-intro p{color:var(--text-soft); margin-top:18px; max-width:44ch;}
  .direct-contacts{margin-top:34px; display:flex; flex-direction:column; gap:14px;}
  .direct-contacts a{
    display:flex; align-items:flex-start; gap:12px; text-decoration:none;
    color:var(--panel-ink); font-family:'Archivo', sans-serif; font-size:0.95rem; font-weight:500;
    padding-bottom:12px; border-bottom:1px solid rgba(18,48,73,0.18); line-height:1.4;
  }
  .direct-contacts svg{width:19px; height:19px; stroke:var(--gold); fill:none; flex-shrink:0; margin-top:1px;}

  form.enquiry{display:flex; flex-direction:column; gap:16px;}
  .field{display:flex; flex-direction:column; gap:7px;}
  .field label{
    font-family:'Archivo', sans-serif; font-size:0.72rem; font-weight:600;
    letter-spacing:0.1em; text-transform:uppercase; color:var(--rust);
  }
  .field input, .field select, .field textarea{
    font-family:'Lora', serif; font-size:1rem;
    background:#FFFFFF;
    border:1px solid rgba(18,48,73,0.25);
    border-radius:3px; padding:12px 14px; color:var(--panel-ink);
  }
  .field input::placeholder, .field textarea::placeholder{color:#7B90A2;}
  .field select{appearance:none;}
  .field textarea{resize:vertical; min-height:96px;}
  .two-col{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  @media(max-width:520px){ .two-col{grid-template-columns:1fr;} }
  form.enquiry .btn{margin-top:6px; align-self:flex-start;}
  .form-note{font-size:0.82rem; color:var(--text-soft); margin-top:2px;}

  /* ---------- FOOTER ---------- */
  footer{background:var(--bg-soft); padding:44px 0; border-top:1px solid var(--line);}
  footer .wrap{display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;}
  .footer-logo{height:44px; width:auto;}
  footer .fine{font-family:'Archivo', sans-serif; font-size:0.78rem; color:var(--text-soft);}

  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{transition:none !important;}
  }

  /* ---------- SEAMLESS BLENDING between sections ---------- */
  body{background:var(--cream-soft);}
  /* 1. the landing slider sinks into deep navy at its lower edge (slider controls stay on top) */
  .hero-slider::after{
    content:""; position:absolute; left:0; right:0; bottom:0; height:160px; z-index:4; pointer-events:none;
    background:linear-gradient(180deg, rgba(10,32,54,0) 0%, rgba(10,32,54,0.55) 55%, var(--navy-deep) 100%);
  }
  /* 2. the Three Ways section picks up that navy and melts into cream */
  .ways{
    padding-top:190px;
    background:
      radial-gradient(ellipse 900px 420px at 50% 230px, rgba(198,154,70,0.14), transparent 70%),
      linear-gradient(180deg, var(--navy-deep) 0px, #1C3A55 55px, #6F8290 115px, #CFCBBE 175px, var(--cream-soft) 240px, var(--cream-soft) 100%);
  }
  .ways::before{display:none;}
  .ways-row{border-top:1px solid rgba(198,154,70,0.35); border-bottom:none;}
  /* 3. cream flows into sea-blue through Contact, and the footer carries it on */
  .contact{
    background:linear-gradient(180deg, var(--cream-soft) 0%, #F1F1EA 22%, #E6EFEF 60%, #DCEAED 100%);
    padding-top:120px;
  }
  footer{background:linear-gradient(180deg, #DCEAED 0%, #CFE2E7 100%); border-top:none;}
  /* 4. the Game tab: soft fade under the banner and into the footer */
  .intro{border-bottom:none; background:linear-gradient(180deg, #EDEAE0 0px, var(--cream-soft) 180px, var(--cream-soft) 70%, #DCEAED 100%);}
  @media(max-width:900px){
    .ways{padding-top:150px;}
  }

  /* ---------- ABOUT US page ---------- */
  .about{padding:150px 0 110px; background:linear-gradient(180deg, #EDEAE0 0px, var(--cream-soft) 180px, var(--cream-soft) 75%, #DCEAED 100%);}
  .about .eyebrow{display:block; color:var(--rust); margin-bottom:12px;}
  .about-hero{display:grid; grid-template-columns:1.05fr 0.95fr; gap:60px; align-items:center;}
  .about-copy h1{font-size:clamp(2.2rem, 5vw, 3.6rem); text-transform:uppercase; line-height:1.05; color:var(--navy);}
  .about-copy h1 em{display:block; font-family:'Cormorant Garamond', Georgia, serif; font-style:italic; font-weight:600; text-transform:none; letter-spacing:0; color:var(--rust); font-size:0.9em; margin-top:6px;}
  .about-copy p{color:var(--text-soft); font-size:1.06rem; margin-top:18px; max-width:54ch;}
  .about-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-top:28px;}
  .about-figure{margin:0;}
  .about-figure img{width:100%; aspect-ratio:4/3.3; object-fit:cover; display:block; border:2px solid var(--gold);
    clip-path:polygon(18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%, 0 18px);}
  .about-head{text-align:center; max-width:640px; margin:0 auto 32px;}
  .about-head h2{font-size:clamp(1.7rem, 3.4vw, 2.4rem); color:var(--navy);}
  .about-values, .about-ways{margin-top:90px;}
  .value-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;}
  .value-card{background:#fff; border:1.5px solid rgba(198,154,70,0.55); padding:24px 20px 22px;
    clip-path:polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px);}
  .value-card .num{font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; color:var(--rust); font-size:2rem; line-height:1;}
  .value-card h3{font-size:1.06rem; margin-top:10px; color:var(--navy);}
  .value-card p{font-size:0.92rem; color:var(--text-soft); margin-top:8px; line-height:1.55;}
  .ways-mini{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;}
  .way-mini{display:flex; flex-direction:column; gap:8px; padding:24px 22px; text-decoration:none; color:inherit;
    background:rgba(255,255,255,0.7); border:1.5px solid rgba(198,154,70,0.55); transition:transform .25s ease, border-color .25s ease;}
  .way-mini:hover{transform:translateY(-3px); border-color:var(--rust);}
  .way-mini .way-numeral{width:40px; height:40px; margin:0;}
  .way-mini strong{font-family:'Cinzel', Georgia, serif; font-size:1.25rem; color:var(--navy);}
  .way-mini span:last-child{font-size:0.92rem; color:var(--text-soft);}
  .about-company{margin-top:90px; display:flex; justify-content:space-between; align-items:center; gap:30px; flex-wrap:wrap;
    padding:30px 32px; background:var(--navy); color:#fff; border:1.5px solid rgba(198,154,70,0.6);}
  .about-company .eyebrow{color:#F3D9A4;}
  .about-company h2{color:#fff; font-size:1.6rem;}
  .about-company p{color:rgba(255,255,255,0.8); margin-top:8px;}
  .about-company ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px;}
  .about-company li span{display:block; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:0.8rem; letter-spacing:0.14em; text-transform:uppercase; color:#D6B068;}
  .about-company a{color:#fff; text-decoration:none; font-size:1.05rem;}
  .about-company a:hover{text-decoration:underline;}
  @media(max-width:980px){ .value-grid{grid-template-columns:repeat(2, 1fr);} }
  @media(max-width:900px){ .about-hero{grid-template-columns:1fr; gap:40px;} .ways-mini{grid-template-columns:1fr;} .about{padding-top:140px;} }
  @media(max-width:560px){ .value-grid{grid-template-columns:1fr;} .about-company{padding:24px 20px;} }

  /* ---------- LOGO-WAVE SECTION DIVIDERS ---------- */
  .wave-defs{position:absolute; width:0; height:0; overflow:hidden;}
  .ways, .contact, .intro, .about{position:relative;}
  .ways > *:not(.wave-divider), .contact > *:not(.wave-divider), .intro > *:not(.wave-divider), .about > *:not(.wave-divider){position:relative; z-index:1;}
  .wave-divider{position:absolute; left:0; right:0; height:140px; z-index:0; pointer-events:none;}
  .wave-divider svg{display:block; width:100%; height:100%; overflow:visible;}
  .wave-divider.wd-top{top:38px;}
  .wave-divider.wd-bottom{bottom:6px;}
  .wave-divider.wd-flip svg{transform:scaleX(-1);}
  /* colours taken from the sections either side of each join */
  .wd-dusk {--w1:rgba(214,176,104,0.85); --w2:rgba(214,176,104,0.55); --w3:rgba(250,245,233,0.55); --w4:rgba(250,245,233,0.9);}
  .wd-shore{--w1:rgba(214,176,104,0.55); --w2:rgba(214,176,104,0.32); --w3:rgba(120,168,186,0.32); --w4:rgba(120,168,186,0.5);}
  .wd-deep {--w1:rgba(214,176,104,0.45); --w2:rgba(120,168,186,0.45); --w3:rgba(60,110,140,0.35); --w4:rgba(18,48,73,0.28);}
  .ways{padding-top:210px;}
  .contact{padding-top:175px; padding-bottom:170px;}
  .intro, .about{padding-bottom:190px;}
  @media(max-width:900px){
    .wave-divider{height:110px;}
    .wave-divider.wd-top{top:30px;}
    .ways{padding-top:165px;}
    .contact{padding-top:150px; padding-bottom:140px;}
    .intro, .about{padding-bottom:160px;}
  }

  /* quest levels, placeholders and notes */
  .level-head{display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin:28px 0 14px; padding-bottom:8px; border-bottom:1px solid rgba(198,154,70,0.45);}
  .level-head .quest-card-difficulty{margin:0; font-size:0.72rem;}
  .level-head > span:last-child{font-family:'Cormorant Garamond', Georgia, serif; font-style:italic; font-weight:600; font-size:1.05rem; color:var(--text-soft);}
  .xp-bar + .level-head{margin-top:6px;}
  .quest-card-thumb.is-placeholder{
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; color:rgba(18,48,73,0.4);
    background:repeating-linear-gradient(135deg, rgba(18,48,73,0.035) 0 12px, rgba(18,48,73,0.07) 12px 24px);
    border-bottom:1px dashed rgba(198,154,70,0.6);
  }
  .quest-card-thumb.is-placeholder .ph-icon svg{width:34px; height:34px; display:block;}
  .quest-card-thumb.is-placeholder .ph-text{font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:0.78rem; letter-spacing:0.16em; text-transform:uppercase;}
  .quest-card-note{display:block; margin-top:8px; padding-left:10px; border-left:2px solid rgba(198,154,70,0.7); font-size:0.8rem; line-height:1.45; color:var(--text-soft); font-style:italic;}
  .quest-card-difficulty.diff-explorer{color:#2F7F55;}
  .quest-card-difficulty.diff-adventure{color:#9A6F14;}
  .quest-card-difficulty.diff-legendary{color:#C1512C;}

  /* Game page: completion, achievements, rules */
  .game-block{margin-top:90px;}
  .proof-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:10px;}
  .proof-grid span{background:#fff; border:1px solid rgba(198,154,70,0.5); padding:12px 14px; font-size:0.9rem; color:var(--navy);}
  .level-cards{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px; margin-top:26px;}
  .level-card{background:rgba(255,255,255,0.7); border:1.5px solid rgba(198,154,70,0.5); padding:18px 20px;}
  .level-card p{margin-top:10px; color:var(--text-soft); font-size:0.94rem;}
  .realm-titles{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;}
  .realm-titles > div{display:flex; flex-direction:column; gap:6px; background:var(--navy); color:#fff; padding:22px; border:1.5px solid rgba(198,154,70,0.6);}
  .realm-titles .way-numeral{width:38px; height:38px; margin:0 0 4px;}
  .realm-titles strong{font-family:'Cinzel', Georgia, serif; font-size:1.15rem; color:#F3D9A4;}
  .realm-titles span:last-child{font-size:0.9rem; color:rgba(255,255,255,0.8);}
  .pathway{display:grid; grid-template-columns:repeat(5, 1fr); gap:1px; margin-top:22px; background:rgba(198,154,70,0.5); border:1px solid rgba(198,154,70,0.5);}
  .pathway > div{background:#fff; padding:16px 12px; text-align:center; display:flex; flex-direction:column; gap:4px;}
  .pathway b{font-family:'Rajdhani', 'Archivo', sans-serif; font-size:1.7rem; color:var(--rust); line-height:1;}
  .pathway strong{font-family:'Cinzel', Georgia, serif; font-size:0.95rem; color:var(--navy);}
  .pathway span{font-size:0.8rem; color:var(--text-soft);}
  .game-rules{display:grid; grid-template-columns:repeat(3, 1fr); gap:24px;}
  .game-rules > div{background:rgba(255,255,255,0.75); border:1.5px solid rgba(198,154,70,0.5); padding:22px;}
  .game-rules h3{font-size:1.1rem; color:var(--navy); margin-top:4px;}
  .game-rules ul{margin:12px 0 0; padding-left:18px;}
  .game-rules li{font-size:0.9rem; color:#243F58; margin:6px 0; line-height:1.5;}
  @media(max-width:980px){ .proof-grid{grid-template-columns:repeat(2, 1fr);} .pathway{grid-template-columns:repeat(2, 1fr);} .game-rules, .realm-titles, .level-cards{grid-template-columns:1fr;} }
  @media(max-width:560px){ .proof-grid, .pathway{grid-template-columns:1fr;} }

  /* freemium quest system */
  .level-head em{margin-left:auto; font-style:normal; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:0.78rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-soft);}
  .quest-price{display:block; margin-top:10px; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:1.02rem; color:var(--rust);}
  .quest-price small{display:block; font-family:'Lora', Georgia, serif; font-weight:400; font-size:0.74rem; color:var(--text-soft);}
  .link-btn{background:none; border:none; padding:0; font:inherit; color:var(--rust); text-decoration:underline; cursor:pointer;}
  .quest-card.is-new{border-color:#D6B068; box-shadow:0 0 0 2px rgba(214,176,104,0.45);}
  .quest-card.is-new .quest-card-badge{background:#D6B068; color:var(--navy); border-color:#D6B068;}
  .quest-card.is-free .quest-card-badge{background:#2F7F55; color:#fff; border-color:#2F7F55;}
  .trip-bar{display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap; margin:0 0 8px; padding:14px 18px;
    background:var(--navy); color:#fff; border:1.5px solid rgba(214,176,104,0.6);}
  .trip-bar > div{display:flex; flex-direction:column; gap:3px;}
  .trip-bar strong{font-family:'Cinzel', Georgia, serif; font-size:1rem; color:#F3D9A4;}
  .trip-bar span{font-size:0.86rem; color:rgba(255,255,255,0.85);}
  .trip-bar .trip-bundle{color:#D6B068; font-weight:600;}
  .trip-bar.is-empty{background:rgba(255,255,255,0.7); color:var(--text-soft); border-color:rgba(198,154,70,0.5);}
  .trip-bar.is-empty span{color:var(--text-soft);}
  .includes-grid{display:grid; grid-template-columns:repeat(5, 1fr); gap:10px; list-style:none; counter-reset:inc; margin:0; padding:0;}
  .includes-grid li{counter-increment:inc; background:#fff; border:1px solid rgba(198,154,70,0.5); padding:14px; font-size:0.9rem; color:var(--navy);}
  .includes-grid li::before{content:counter(inc, decimal-leading-zero); display:block; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; color:var(--rust); font-size:1.2rem; margin-bottom:4px;}
  .pass-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:16px;}
  .pass{background:#fff; border:1.5px solid rgba(198,154,70,0.55); padding:20px;}
  .pass strong{display:block; font-family:'Cinzel', Georgia, serif; color:var(--navy); font-size:1.02rem;}
  .pass-deal{display:inline-block; margin-top:8px; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; font-size:0.8rem; color:#fff; background:var(--rust); padding:3px 10px; border-radius:3px;}
  .pass p{margin-top:10px; font-size:0.88rem; color:var(--text-soft); line-height:1.5;}
  .pass-best{border-color:var(--rust); box-shadow:0 0 0 2px rgba(193,81,44,0.2);}
  .addon-row{display:grid; grid-template-columns:repeat(4, 1fr); gap:1px; margin-top:18px; background:rgba(198,154,70,0.5); border:1px solid rgba(198,154,70,0.5);}
  .addon-row > div{background:rgba(255,255,255,0.85); padding:14px 16px; display:flex; flex-direction:column; gap:3px;}
  .addon-row strong{font-size:0.92rem; color:var(--navy);}
  .addon-row span{font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; color:var(--rust);}
  .addon-row em{font-size:0.8rem; color:var(--text-soft);}
  .rules-note{margin-top:10px; font-size:0.85rem; font-style:italic; color:var(--text-soft);}
  .about-partners{margin-top:90px;}
  .about-partners .about-head p{color:var(--text-soft); margin-top:10px;}
  .partner-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;}
  .partner-grid > div{background:rgba(255,255,255,0.75); border:1.5px solid rgba(198,154,70,0.5); padding:20px 22px;}
  .partner-grid strong{font-family:'Cinzel', Georgia, serif; color:var(--navy); font-size:1.08rem;}
  .partner-grid p{margin-top:8px; font-size:0.92rem; color:var(--text-soft);}
  .partner-cta{text-align:center; margin-top:22px;}
  @media(max-width:980px){ .includes-grid{grid-template-columns:repeat(2, 1fr);} .pass-grid, .addon-row{grid-template-columns:repeat(2, 1fr);} .partner-grid{grid-template-columns:1fr;} }
  @media(max-width:560px){ .includes-grid, .pass-grid, .addon-row{grid-template-columns:1fr;} .level-head em{margin-left:0; width:100%;} }

  /* ---------- OPEN REALM: clearer top, lighter justified descriptions ---------- */
  .way.open .way-bg{filter:brightness(1.04) saturate(0.95);}
  .way.open .way-shade{
    background:linear-gradient(180deg,
      rgba(250,245,233,0.30) 0%,
      rgba(250,245,233,0.55) 14%,
      rgba(250,245,233,0.82) 30%,
      rgba(250,245,233,0.93) 46%,
      rgba(250,245,233,0.95) 100%);
  }
  /* keep the heading crisp where the photo shows through */
  .way.open .way-head h2{text-shadow:0 1px 14px rgba(250,245,233,0.9), 0 0 2px rgba(250,245,233,0.8);}
  .way.open .way-head .way-meaning, .way.open .way-content .way-tagline{text-shadow:0 1px 10px rgba(250,245,233,0.95);}
  .way.open .way-tabs{background:linear-gradient(180deg, rgba(250,245,233,0) 0%, rgba(250,245,233,0.55) 100%);}

  .way-story, .stay-sleeps p, .vessel-blurb, .rd-about p, .rd-rate p{
    font-family:'Cormorant Garamond', 'Lora', Georgia, serif; font-weight:500;
    color:#2E4458; text-align:justify; text-justify:inter-word; text-align-last:left;
    hyphens:auto; -webkit-hyphens:auto; overflow-wrap:break-word;
  }
  .way-story{font-size:1.24rem; line-height:1.72; max-width:64ch; letter-spacing:0.005em;}
  .stay-sleeps p{font-size:1.12rem; line-height:1.6;}
  .vessel-blurb{font-size:1.1rem; line-height:1.6;}
  .rd-about p, .rd-rate p{font-size:1.06rem !important; line-height:1.6 !important;}
  @media(max-width:560px){ .way-story{font-size:1.14rem; line-height:1.68;} }

  /* ---------- collapse the open realm back to three equal columns ---------- */
  .way-head{position:relative;}
  .way-collapse{
    position:absolute; top:0; right:0; z-index:2; display:inline-flex; align-items:center; gap:8px;
    font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:0.86rem; letter-spacing:0.14em; text-transform:uppercase;
    color:var(--navy); background:rgba(250,245,233,0.9); border:1px solid rgba(198,154,70,0.7); border-radius:3px;
    padding:7px 14px; cursor:pointer; transition:background .2s ease, color .2s ease;
  }
  .way-collapse span{font-size:1.1rem; line-height:1;}
  .way-collapse:hover{background:var(--rust); color:#fff; border-color:var(--rust);}
  .way.open .way-head .way-toplabel, .way.open .way-head h2, .way.open .way-head .way-meaning{cursor:pointer;}
  .way.open .way-head h2:hover{color:var(--rust);}
  @media(max-width:900px){ .way-collapse{padding:6px 10px; font-size:0.78rem;} }

  /* ---------- LEGENDARY TITLE FACE for the realm names ---------- */
  .way-face h3, .way-head h2, .way-mini strong{
    font-family:'Cinzel Decorative', 'Cinzel', Georgia, serif; font-weight:900;
    text-transform:none; letter-spacing:0.04em; line-height:1.08;
  }
  .way-face h3{
    font-size:clamp(1.12rem, 1.6vw, 1.5rem);
    text-shadow:0 1px 0 rgba(214,176,104,0.55), 0 0 12px rgba(250,245,233,0.85);
  }
  .way.open .way-head h2{
    font-size:clamp(2rem, 3.6vw, 3rem); letter-spacing:0.05em;
    text-shadow:0 2px 0 rgba(214,176,104,0.5), 0 1px 14px rgba(250,245,233,0.9), 0 0 2px rgba(250,245,233,0.8);
  }
  .way-head h2::after{
    content:""; display:block; width:74px; height:2px; margin-top:8px;
    background:linear-gradient(90deg, #C69A46, rgba(198,154,70,0));
  }
  .way-mini strong{font-size:1.35rem; text-shadow:0 1px 0 rgba(214,176,104,0.5);}
  @media(max-width:900px){ .way-face h3{font-size:1.22rem;} }

  /* ---------- ALL COLLAPSED: white names, larger, near the top ---------- */
  @media(min-width:901px){
    .ways-row.all-collapsed .way-top{margin-bottom:0;}
    .ways-row.all-collapsed .way-face h3{
      order:0; margin:26px 0 auto; color:#fff;
      font-size:clamp(2rem, 2.9vw, 2.9rem) !important; line-height:1.02;
      text-shadow:0 2px 18px rgba(8,26,44,0.7), 0 1px 2px rgba(8,26,44,0.6);
      transition:color .3s ease, font-size .3s ease;
    }
    .ways-row.all-collapsed .way-classlabel{box-shadow:0 4px 14px -6px rgba(8,26,44,0.6);}
  }

  /* ---------- SMOOTHER EXPAND / COLLAPSE (desktop columns) ---------- */
  @media(min-width:901px){
    .way{transition:flex-grow .95s cubic-bezier(.65,.05,.36,1);}
    .way-bg{transition:transform 1.3s cubic-bezier(.4,0,.2,1), filter .9s ease;}
    .way::after{transition:transform .6s cubic-bezier(.4,0,.2,1) .35s;}

    /* the open realm's content waits for the column to widen, then fades and rises in */
    .way-content{opacity:0; transform:translateY(16px); transition:opacity .22s ease, transform .22s ease;}
    .way.open .way-content{opacity:1; transform:none; transition:opacity .6s ease .55s, transform .8s cubic-bezier(.2,.7,.2,1) .55s;}

    /* the column face fades out quickly on open, and eases back in after collapsing */
    .way-face{isolation:isolate; transition:opacity .5s ease .4s, visibility 0s linear 0s;}
    .way.open .way-face{transition:opacity .2s ease, visibility 0s linear .2s;}

    /* the dark top fade used by the overview dissolves instead of snapping */
    .way-face::before{
      content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:0;
      background:linear-gradient(180deg, rgba(8,26,44,0.62) 0%, rgba(8,26,44,0.32) 22%, rgba(8,26,44,0) 38%);
      transition:opacity .6s ease;
    }
    .ways-row.all-collapsed .way-face::before{opacity:1;}

    /* names crossfade between their overview and column positions */
    .ways-row .way-face h3, .ways-row.all-collapsed .way-face h3{transition:opacity .45s ease, color .45s ease;}
    .ways-row.titles-fading .way-face h3, .ways-row.titles-fading.all-collapsed .way-face h3{opacity:0; transition:opacity .2s ease;}
  }
  @media (prefers-reduced-motion: reduce){
    .way, .way-bg, .way-content, .way-face, .way-face::before, .way-face h3{transition:none !important;}
  }

  /* ---------- CLASS LABELS: no boxes or circles — white type joined by a white line ---------- */
  .way-top, .way-toplabel, .spot-kicker{display:flex; align-items:center; gap:0;}
  .way-top .way-numeral, .way-toplabel .way-numeral, .spot-kicker .way-numeral{
    width:auto !important; height:auto !important; border:none; border-radius:0; background:none; box-shadow:none;
    font-family:'Cinzel', Georgia, serif; font-weight:700; font-size:1.1rem !important; color:#fff; letter-spacing:0.08em;
    text-shadow:0 1px 10px rgba(8,26,44,0.75), 0 0 2px rgba(8,26,44,0.6);
  }
  .way-top .way-numeral::after, .way-toplabel .way-numeral::after, .spot-kicker .way-numeral::after{
    content:""; display:inline-block; width:38px; height:1.5px; margin:0 14px; vertical-align:middle;
    background:linear-gradient(90deg, rgba(255,255,255,0.95), rgba(255,255,255,0.6));
    box-shadow:0 0 6px rgba(8,26,44,0.5);
  }
  .way-top .way-classlabel, .way-toplabel .way-classlabel, .spot-kicker .way-classlabel{
    background:none !important; border:none; padding:0; border-radius:0; box-shadow:none !important;
    color:#fff; font-size:1.02rem; letter-spacing:0.24em;
    text-shadow:0 1px 10px rgba(8,26,44,0.75), 0 0 2px rgba(8,26,44,0.6);
  }
  .way-toplabel .way-classlabel{font-size:1.08rem !important;}
  .spot-kicker .way-classlabel{font-size:0.95rem !important;}

  /* a soft dark fade at the top of every column keeps the white label readable */
  .way-face::before{
    content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:1;
    background:linear-gradient(180deg, rgba(8,26,44,0.6) 0%, rgba(8,26,44,0.28) 16%, rgba(8,26,44,0) 30%);
  }
  .way-face{isolation:isolate;}
  .ways-row.all-collapsed .way-face::before{
    background:linear-gradient(180deg, rgba(8,26,44,0.62) 0%, rgba(8,26,44,0.32) 22%, rgba(8,26,44,0) 38%);
  }

  /* open realm: a dark band at the very top for the label, melting into the frosted panel */
  .way.open .way-shade{
    background:linear-gradient(180deg,
      rgba(8,26,44,0.58) 0px, rgba(8,26,44,0.3) 64px, rgba(250,245,233,0.3) 118px,
      rgba(250,245,233,0.55) 170px, rgba(250,245,233,0.82) 260px, rgba(250,245,233,0.93) 46%, rgba(250,245,233,0.95) 100%);
  }

  /* phones: collapsed strips become a navy wash so all their text can be white */
  @media(max-width:900px){
    .way:not(.open) .way-shade{background:linear-gradient(90deg, rgba(8,26,44,0.88) 0%, rgba(8,26,44,0.7) 62%, rgba(8,26,44,0.35) 100%);}
    .way:not(.open) .way-face::before{display:none;}
    .way:not(.open) .way-face h3{color:#fff; text-shadow:0 1px 8px rgba(8,26,44,0.7);}
    .way:not(.open) .way-face-price{color:#F3D9A4;}
    .way-top .way-numeral::after, .way-toplabel .way-numeral::after{width:26px; margin:0 10px;}
    .way-top .way-classlabel{font-size:0.86rem;}
  }

  /* narrow columns (another realm is open): tighter label, names kept to one line */
  @media(min-width:901px){
    .ways-row:not(.all-collapsed) .way:not(.open) .way-top .way-numeral{font-size:0.95rem !important;}
    .ways-row:not(.all-collapsed) .way:not(.open) .way-top .way-numeral::after{width:18px; margin:0 9px;}
    .ways-row:not(.all-collapsed) .way:not(.open) .way-top .way-classlabel{font-size:0.84rem; letter-spacing:0.14em;}
    .ways-row:not(.all-collapsed) .way:not(.open) .way-face h3{white-space:nowrap; overflow-wrap:normal;}
    .ways-row:not(.all-collapsed) .way:not(.open) .way-face h3{font-size:clamp(1rem, 1.35vw, 1.3rem) !important;}
  }

  /* phones: keep the class label clear of the Collapse button, and the tabs on one line */
  @media(max-width:900px){
    .way-toplabel{padding-right:118px;}
    .way-toplabel .way-classlabel{font-size:0.8rem !important; letter-spacing:0.14em;}
    .way-toplabel .way-numeral{font-size:0.95rem !important;}
    .way-tabs{gap:0;}
    .way-tab{white-space:nowrap; font-size:0.8rem !important; letter-spacing:0.06em !important; padding:11px 9px !important;}
  }

  @media(max-width:380px){
    .way-tab{font-size:0.74rem !important; letter-spacing:0.04em !important; padding:11px 6px !important;}
    .way-tabs{overflow-x:auto; scrollbar-width:none;}
  }

  /* ---------- ONE TITLE FACE, NO GLOW ---------- */
  .way-face h3, .way-head h2, .way.open .way-head h2, .way-mini strong,
  .ways-row.all-collapsed .way-face h3, .way:not(.open) .way-face h3{
    font-family:'Cinzel Decorative', 'Cinzel', Georgia, serif !important; font-weight:900 !important;
    text-shadow:none !important;
  }
  .way.open .way-head .way-meaning, .way.open .way-content .way-tagline{text-shadow:none;}

  /* ---------- MORE SPACE: between page sections ---------- */
  .ways{padding-top:240px;}
  .ways-intro{padding-bottom:84px;}
  .ways-intro p{margin-top:22px;}
  .contact{padding-top:220px; padding-bottom:200px;}
  .how{margin-top:130px;}
  .how-head{margin-bottom:48px;}
  .game-block, .about-values, .about-ways, .about-partners, .about-company{margin-top:140px;}
  .about-head{margin-bottom:44px;}
  .ranks-title{margin-top:64px;}

  /* ---------- MORE SPACE: inside the realm columns ---------- */
  .way-face{padding:38px 30px 36px; gap:10px;}
  .way-face .way-meaning{margin-top:6px;}
  .way-face-price{margin-top:6px;}
  .way-open-pill{margin-top:16px;}
  @media(min-width:901px){
    .ways-row.all-collapsed .way-face h3{margin-top:44px;}
  }

  /* ---------- MORE SPACE: the open realm ---------- */
  .way-content{padding:42px 48px 32px;}
  .way-head h2{margin-top:26px;}
  .way-head h2::after{margin-top:16px;}
  .way-head .way-meaning{margin-top:14px;}
  .way-content .way-tagline{margin-top:6px;}
  .way-tabs{margin-top:34px;}
  .way-body{padding-top:36px;}

  @media(max-width:900px){
    .ways{padding-top:180px;}
    .ways-intro{padding-bottom:56px;}
    .contact{padding-top:170px; padding-bottom:160px;}
    .how{margin-top:90px;}
    .game-block, .about-values, .about-ways, .about-partners, .about-company{margin-top:100px;}
    .way-face{padding:0 22px; gap:6px;}
    .way-content{padding:32px 22px 34px;}
    .way-head h2{margin-top:18px;}
    .way-tabs{margin-top:26px;}
    .way-body{padding-top:26px;}
  }

  /* narrow columns (another realm open): keep the roomier spacing vertically, but slimmer sides */
  @media(min-width:901px){
    .ways-row:not(.all-collapsed) .way:not(.open) .way-face{padding-left:20px; padding-right:14px;}
  }
  @media(min-width:901px) and (max-width:1180px){
    .ways-row:not(.all-collapsed) .way:not(.open) .way-top .way-numeral::after{width:12px; margin:0 7px;}
    .ways-row:not(.all-collapsed) .way:not(.open) .way-top .way-classlabel{font-size:0.78rem; letter-spacing:0.1em;}
  }

  /* ---------- OPEN REALM: picture banner with the name around its middle ---------- */
  @media(min-width:901px){
    .way-head{min-height:360px; display:flex; flex-direction:column;}
    .way-head .way-toplabel{flex:none;}
    .way-head h2{margin-top:auto !important;}
    .way-head .way-tagline{margin-bottom:auto;}
    .way-tabs{margin-top:40px !important;}
    /* picture shows clearly to ~300px, then the panel turns cream before the tabs */
    .way.open .way-shade{
      background:linear-gradient(180deg,
        rgba(8,26,44,0.5) 0px, rgba(8,26,44,0.14) 120px, rgba(8,26,44,0.24) 240px, rgba(8,26,44,0.5) 300px,
        rgba(250,245,233,0.93) 342px, rgba(250,245,233,0.95) 100%) !important;
    }
  }
  @media(max-width:900px){
    .way-head{min-height:280px; display:flex; flex-direction:column;}
    .way-head h2{margin-top:auto !important;}
    .way-head .way-tagline{margin-bottom:auto;}
    .way-tabs{margin-top:36px !important;}
    .way.open .way-shade{
      background:linear-gradient(180deg, rgba(8,26,44,0.55) 0px, rgba(8,26,44,0.2) 110px, rgba(8,26,44,0.5) 228px,
        rgba(250,245,233,0.93) 262px, rgba(250,245,233,0.96) 100%) !important;
    }
  }
  .way.open .way-head h2{color:#fff !important;}
  .way.open .way-head h2::after{background:linear-gradient(90deg, #F3D9A4, rgba(243,217,164,0));}
  .way.open .way-head .way-meaning{color:#F3D9A4 !important;}
  .way.open .way-head .way-tagline, .way.open .way-content .way-head .way-tagline{color:rgba(255,255,255,0.88) !important;}
  .way.open .way-head h2:hover{color:#F3D9A4 !important;}
  .way-tabs{background:none !important;}

  /* ---------- smaller body writing ---------- */
  .way-story{font-size:1.06rem !important; line-height:1.68 !important;}
  .stay-sleeps p, .sleep-card p{font-size:0.96rem !important; line-height:1.58 !important;}
  .vessel-blurb{font-size:0.96rem !important;}
  .rd-about p, .rd-rate p{font-size:0.94rem !important;}
  @media(max-width:560px){ .way-story{font-size:1rem !important;} }

  /* ---------- THE STAY: price card, icon grid, sleep card ---------- */
  .stay-hero{display:grid; grid-template-columns:minmax(0, 1.15fr) minmax(0, 0.85fr); gap:22px; align-items:stretch;}
  .stay-price-card{background:rgba(255,255,255,0.88); border:1.5px solid rgba(198,154,70,0.55); padding:18px 20px 20px;}
  .stay-price-card .stay-price{margin-top:4px;}
  .stay-price-card .btn{margin-top:14px;}
  .stay-hero .stay-stats{background:rgba(255,255,255,0.6); border:1px solid rgba(198,154,70,0.35); padding:16px 18px; margin:0; display:flex; flex-direction:column; justify-content:center; gap:10px;}
  .stay-section-label{display:block; margin:28px 0 12px;}
  .get-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); gap:10px;}
  .get-tile{display:flex; align-items:center; gap:12px; padding:12px 14px; background:rgba(255,255,255,0.78); border:1px solid rgba(198,154,70,0.4);}
  .get-ico{flex:none; width:40px; height:40px; display:grid; place-items:center; color:var(--rust); background:rgba(193,81,44,0.08); border-radius:10px;}
  .get-ico .ico{width:22px; height:22px;}
  .get-text{display:flex; flex-direction:column; gap:2px; min-width:0;}
  .get-text strong{font-family:'Archivo', sans-serif; font-weight:600; font-size:0.9rem; color:var(--navy); line-height:1.25;}
  .get-text small{font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-soft);}
  .sleep-card{display:flex; gap:14px; align-items:flex-start; margin-top:22px; padding:16px 18px; background:rgba(255,255,255,0.7); border:1px solid rgba(198,154,70,0.4);}
  .sleep-card p{margin:4px 0 0; color:#2E4458; font-family:'Cormorant Garamond', 'Lora', Georgia, serif; font-weight:500; text-align:justify; hyphens:auto;}
  .quests-note{background:rgba(255,255,255,0.55);}
  @media(max-width:700px){ .stay-hero{grid-template-columns:1fr;} .get-grid{grid-template-columns:1fr 1fr;} }
  @media(max-width:420px){ .get-grid{grid-template-columns:1fr;} }

  /* ---------- ABOUT US: full-screen hero ---------- */
  .ab-hero{position:relative; min-height:100vh; min-height:100svh; display:flex; align-items:flex-end; overflow:hidden; background:#04263f; color:#fff;}
  .ab-hero-media{position:absolute; inset:-4% 0 -12%; will-change:transform;}
  .ab-hero-img{width:100%; height:100%; object-fit:cover; object-position:42% 38%; animation:abZoom 24s ease-out both;}
  @keyframes abZoom{ from{ transform:scale(1.14); } to{ transform:scale(1); } }
  /* sunlight rippling through the water */
  .ab-hero-light{
    position:absolute; inset:-20%; pointer-events:none; mix-blend-mode:screen; opacity:0.38;
    background:
      radial-gradient(ellipse 28% 60% at 30% 0%, rgba(190,240,255,0.55), transparent 70%),
      radial-gradient(ellipse 22% 55% at 62% 0%, rgba(170,230,255,0.45), transparent 70%),
      radial-gradient(ellipse 18% 50% at 85% 0%, rgba(200,245,255,0.4), transparent 70%);
    animation:abRays 14s ease-in-out infinite alternate;
  }
  @keyframes abRays{ 0%{ transform:translateX(-4%) skewX(-6deg); opacity:0.28; } 50%{ opacity:0.45; } 100%{ transform:translateX(5%) skewX(6deg); opacity:0.3; } }
  .ab-hero-shade{
    position:absolute; inset:0; pointer-events:none;
    background:
      linear-gradient(180deg, rgba(4,30,52,0.55) 0%, rgba(4,30,52,0) 22%),
      linear-gradient(270deg, rgba(4,30,52,0.82) 0%, rgba(4,30,52,0.55) 34%, rgba(4,30,52,0) 62%),
      linear-gradient(0deg, rgba(4,30,52,0.6) 0%, rgba(4,30,52,0) 35%);
  }
  .ab-hero-inner{position:relative; width:100%; display:flex; justify-content:flex-end; padding-bottom:clamp(90px, 14vh, 150px);}
  .ab-hero-copy{max-width:520px;}
  .ab-hero-copy .eyebrow{display:block; color:#F3D9A4; margin-bottom:16px;}
  .ab-hero-copy h1{font-size:clamp(2.6rem, 5.6vw, 4.6rem); text-transform:uppercase; line-height:1.02; color:#fff;}
  .ab-hero-copy h1 em{display:block; margin-top:8px; font-family:'Cormorant Garamond', Georgia, serif; font-style:italic; font-weight:600; text-transform:none; letter-spacing:0; color:#F3D9A4; font-size:0.8em;}
  .ab-hero-copy p{margin-top:20px; font-size:1.06rem; line-height:1.7; color:rgba(255,255,255,0.9);}
  .ab-hero-copy .about-ctas{margin-top:28px;}
  /* the headline rises in, line by line */
  .ab-hero-copy > *{opacity:0; transform:translateY(22px); animation:abRise .9s cubic-bezier(.2,.7,.2,1) forwards;}
  .ab-hero-copy > *:nth-child(1){animation-delay:.25s;}
  .ab-hero-copy > *:nth-child(2){animation-delay:.45s;}
  .ab-hero-copy > *:nth-child(3){animation-delay:.7s;}
  .ab-hero-copy > *:nth-child(4){animation-delay:.9s;}
  @keyframes abRise{ to{ opacity:1; transform:none; } }
  .ab-cue{
    position:absolute; left:50%; bottom:30px; transform:translateX(-50%); z-index:2;
    font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:0.9rem; letter-spacing:0.22em; text-transform:uppercase;
    color:rgba(255,255,255,0.88); text-decoration:none; display:flex; flex-direction:column; align-items:center; gap:4px;
  }
  .ab-cue span{display:block; animation:cue 1.8s ease-in-out infinite;}
  /* the About section now follows the hero */
  .about{padding-top:120px !important;}
  .about-statement{max-width:820px; margin:0 auto; text-align:center;}
  .about-statement .eyebrow{display:block; color:var(--rust); margin-bottom:18px;}
  .statement-lead{font-family:'Cormorant Garamond', 'Lora', Georgia, serif; font-weight:500; font-size:clamp(1.5rem, 2.6vw, 2.1rem); line-height:1.45; color:var(--navy);}
  .about-values{margin-top:130px !important;}
  @media(max-width:900px){
    .ab-hero-inner{justify-content:flex-start; padding-bottom:110px;}
    .ab-hero-img{object-position:48% 30%;}
    .ab-hero-shade{background:linear-gradient(0deg, rgba(4,30,52,0.9) 0%, rgba(4,30,52,0.6) 45%, rgba(4,30,52,0.15) 75%, rgba(4,30,52,0.45) 100%);}
    .about{padding-top:90px !important;}
    .about-values{margin-top:100px !important;}
  }
  @media (prefers-reduced-motion: reduce){
    .ab-hero-img, .ab-hero-light, .ab-hero-copy > *, .ab-cue span{animation:none !important; opacity:1; transform:none;}
  }

  /* compact hero copy, anchored in the open water at the lower right */
  .ab-hero-copy{max-width:600px;}
  .ab-hero-copy h1{font-size:clamp(2.4rem, 4.4vw, 3.8rem);}
  .ab-hero-copy h1 em{font-size:0.74em; margin-top:6px;}
  .ab-hero-copy .about-ctas{margin-top:26px;}
  .ab-hero-inner{padding-bottom:clamp(96px, 13vh, 130px);}
  @media(min-width:901px){ .ab-hero-copy h1{white-space:nowrap;} }
  .statement-body{margin-top:22px; font-family:'Lora', Georgia, serif; font-size:1.02rem; line-height:1.75; color:var(--text-soft); max-width:680px; margin-left:auto; margin-right:auto;}

  /* new photo: diver on the left, coral on the right; the headline sits in the open water below her */
  .ab-hero-media{inset:-14% 0 0 0 !important;}
  .ab-hero-img{object-position:42% 50% !important;}
  .ab-hero-inner{justify-content:flex-start !important; padding-bottom:clamp(92px, 12vh, 120px) !important;}
  .ab-hero-shade{
    background:
      linear-gradient(180deg, rgba(4,30,52,0.5) 0%, rgba(4,30,52,0) 20%),
      linear-gradient(0deg, rgba(4,30,52,0.85) 0%, rgba(4,30,52,0.45) 26%, rgba(4,30,52,0) 48%),
      linear-gradient(90deg, rgba(4,30,52,0.5) 0%, rgba(4,30,52,0) 46%) !important;
  }
  .ab-hero-light{opacity:0.22;}
  @media(max-width:900px){
    .ab-hero-img{object-position:24% 42% !important;}
    .ab-hero-shade{background:linear-gradient(0deg, rgba(4,30,52,0.92) 0%, rgba(4,30,52,0.62) 34%, rgba(4,30,52,0.1) 62%, rgba(4,30,52,0.45) 100%) !important;}
  }

  /* NOOE slide: keep the text column clear of the couple on the beach */
  @media(min-width:761px){
    #nooe .spot-card{max-width:400px;}
    #nooe .spot-title-long{font-size:clamp(2rem, 3.3vw, 2.8rem) !important;}
    #nooe .spot-teaser{font-size:1.2rem !important;}
  }

  /* push the couple and the heart setup to the right, away from the text */
  @media(min-width:761px){
    #nooe .spot-media img{transform:scale(1.28); transform-origin:0% 62%;}
  }

  /* NOOE: the class marker stays on one line even though the text column is narrow */
  @media(min-width:700px){ #nooe .spot-kicker{flex-wrap:nowrap; white-space:nowrap; width:max-content;} }

/* ===================== Ocean Realms v2 components ===================== */
:root{ --lagoon:#1E8FA3; --ivory:#FAF5E9; --ink:#1B2F42; --line:rgba(198,154,70,0.45); }
.skip-link{position:absolute; left:12px; top:-60px; z-index:200; background:var(--navy); color:#fff; padding:10px 16px; border-radius:4px; text-decoration:none;}
.skip-link:focus{top:12px;}
:focus-visible{outline:3px solid #D6B068; outline-offset:3px;}
.btn{min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:8px;}
.btn-outline{border:1.5px solid var(--navy); color:var(--navy); background:transparent;}
.btn-outline:hover{background:var(--navy); color:#fff;}
.link-btn{background:none; border:none; padding:6px 2px; font:inherit; color:var(--rust); text-decoration:underline; cursor:pointer; min-height:32px;}
.eyebrow{font-family:'Rajdhani','Archivo',sans-serif; font-weight:700; letter-spacing:.18em; text-transform:uppercase; font-size:.82rem; color:var(--rust);}
.wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
.ph, .placeholder{background:repeating-linear-gradient(135deg, rgba(193,81,44,.06) 0 10px, rgba(193,81,44,.12) 10px 20px); border:1px dashed rgba(193,81,44,.6); color:#8a3a1f; padding:2px 8px; border-radius:3px; font-family:'Archivo',sans-serif; font-size:.82em;}
.placeholder{display:block; padding:16px 18px; line-height:1.5;}

/* ---------- header: actions, mobile menu ---------- */
.nav-actions{display:flex; align-items:center; gap:14px;}
.nav-cta{padding:10px 18px; font-size:.86rem;}
.journey-count{display:inline-grid; place-items:center; min-width:22px; height:22px; padding:0 6px; border-radius:11px; background:#fff; color:var(--rust); font-size:.75rem; font-weight:700;}
.nav-register, .player-chip-link{font-family:'Rajdhani','Archivo',sans-serif; font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:.85rem; color:#fff; text-decoration:none; padding:10px 4px; opacity:.88;}
.nav-register:hover, .player-chip-link:hover{opacity:1; text-decoration:underline;}
.nav-menu-cta{display:none;}
.nav-toggle{display:none; width:44px; height:44px; border:1px solid rgba(255,255,255,.5); border-radius:6px; background:rgba(255,255,255,.08); cursor:pointer; flex-direction:column; justify-content:center; align-items:center; gap:5px;}
.nav-toggle span{display:block; width:20px; height:2px; background:#fff; transition:transform .25s ease, opacity .25s ease;}
body.menu-open .nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg);}
body.menu-open .nav-toggle span:nth-child(2){opacity:0;}
body.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
nav.links a[aria-current="page"]::after{transform:scaleX(1);}
@media(max-width:980px){
  .nav-inner{flex-wrap:nowrap !important; padding:12px 18px !important;}
  .nav-toggle{display:flex;}
  .nav-cta{display:none;}
  .nav-player{display:none;}
  nav.links{display:none !important; position:fixed; left:0; right:0; top:68px; bottom:0; z-index:60; flex-direction:column; align-items:stretch !important; gap:0 !important;
    background:var(--navy); padding:12px 22px 40px; overflow-y:auto; width:auto !important;}
  body.menu-open nav.links{display:flex !important;}
  nav.links a{padding:16px 4px !important; font-size:1.1rem !important; border-bottom:1px solid rgba(255,255,255,.12); white-space:normal !important;}
  nav.links a::after{display:none;}
  .nav-menu-cta{display:block; margin-top:18px; text-align:center; background:var(--rust); border-radius:4px; border-bottom:none !important;}
  body.menu-open{overflow:hidden;}
  body.menu-open header.site-nav{background:var(--navy) !important;}
}

/* ---------- floating WhatsApp (mobile) ---------- */
.wa-float{position:fixed; right:16px; bottom:calc(16px + env(safe-area-inset-bottom, 0px)); z-index:70; display:none; align-items:center; gap:8px;
  background:#1F8F5F; color:#fff; text-decoration:none; padding:12px 16px; border-radius:30px; box-shadow:0 10px 26px -10px rgba(8,26,44,.7);
  font-family:'Archivo',sans-serif; font-weight:600; font-size:.92rem; min-height:48px;}
.wa-float svg{width:22px; height:22px; fill:none; stroke:#fff; stroke-width:1.6;}
@media(max-width:980px){ .wa-float{display:inline-flex;} }

/* ---------- breadcrumbs + page heroes ---------- */
.crumbs{padding-top:18px; padding-bottom:6px;}
.crumbs ol{display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:0; padding:0; font-family:'Archivo',sans-serif; font-size:.85rem; color:var(--text-soft);}
.crumbs li+li::before{content:"›"; margin-right:6px; color:var(--gold);}
.crumbs a{color:var(--navy);}
.page-top{padding-top:76px; background:var(--ivory);}
.page-hero{position:relative; min-height:clamp(320px, 52vh, 520px); display:flex; align-items:flex-end; color:#fff; overflow:hidden; background:var(--navy);}
.page-hero picture, .page-hero picture img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.page-hero::after{content:""; position:absolute; inset:0; background:linear-gradient(0deg, rgba(8,26,44,.86) 0%, rgba(8,26,44,.35) 55%, rgba(8,26,44,.15) 100%);}
.page-hero .wrap{position:relative; z-index:1; padding-bottom:44px; width:100%;}
.page-hero h1{font-size:clamp(2rem, 5vw, 3.6rem); line-height:1.05; color:#fff; text-transform:none;}
.page-hero .eyebrow{color:#F3D9A4;}
.page-hero p.lead{max-width:62ch; margin-top:14px; font-size:1.08rem; color:rgba(255,255,255,.92);}
.page-head{padding:40px 0 10px;}
.page-head h1{font-size:clamp(2rem, 4.6vw, 3.2rem); color:var(--navy); line-height:1.08;}
.page-head p.lead{max-width:66ch; margin-top:14px; color:var(--text-soft); font-size:1.08rem;}
.section{padding:72px 0;}
.section.alt{background:#F1EBDD;}
.section-head{max-width:720px; margin-bottom:34px;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}
.section-head h2{font-size:clamp(1.7rem, 3.4vw, 2.5rem); color:var(--navy); margin-top:8px;}
.section-head p{margin-top:12px; color:var(--text-soft); font-size:1.04rem;}
.prose p{max-width:68ch; margin:0 0 14px; color:#2E4458; line-height:1.75;}
.prose h2{color:var(--navy); margin:34px 0 12px; font-size:1.6rem;}
.prose h3{color:var(--navy); margin:24px 0 8px; font-size:1.2rem;}
.prose ul{max-width:68ch; color:#2E4458; line-height:1.7;}

/* ---------- quest cards ---------- */
.quest-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:22px;}
.qcard{display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:6px; overflow:hidden;}
.qcard-media{position:relative; aspect-ratio:16/10; background:#E8EEF0;}
.qcard-media picture, .qcard-media img{width:100%; height:100%; object-fit:cover; display:block;}
.qcard-ph{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; color:rgba(18,48,73,.45);
  background:repeating-linear-gradient(135deg, rgba(18,48,73,.04) 0 12px, rgba(18,48,73,.08) 12px 24px); font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:.14em; text-transform:uppercase; font-size:.78rem;}
.qcard-ph svg{width:34px; height:34px;}
.qcard-level{position:absolute; left:12px; top:12px; padding:4px 10px; border-radius:3px; font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:.12em; text-transform:uppercase; font-size:.78rem; color:#fff; background:#2F7F55;}
.level-adventure .qcard-level{background:#9A6F14;} .level-legendary .qcard-level{background:var(--rust);}
.qcard-body{display:flex; flex-direction:column; gap:8px; padding:16px 18px 18px; flex:1;}
.qcard-realm{margin:0; font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:.78rem; color:var(--text-soft);}
.qcard-realm a{color:var(--rust); text-decoration:none;}
.qcard-title{margin:0; font-family:'Cinzel',Georgia,serif; font-size:1.18rem; color:var(--navy);}
.qcard-desc, .qcard-goal, .qcard-incl{margin:0; font-size:.9rem; line-height:1.55; color:#2E4458;}
.qcard-facts{display:grid; grid-template-columns:1fr 1fr; gap:6px 14px; margin:4px 0; padding:10px 0; border-top:1px solid rgba(198,154,70,.3); border-bottom:1px solid rgba(198,154,70,.3);}
.qcard-facts dt{font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:.7rem; color:var(--text-soft);}
.qcard-facts dd{margin:0; font-size:.86rem; color:var(--navy);}
.qcard-foot{margin-top:auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; padding-top:8px;}
.qcard-price{font-family:'Rajdhani',sans-serif; font-weight:700; font-size:1.05rem; color:var(--rust);}
.qcard-price small{display:block; font-family:'Lora',serif; font-weight:400; font-size:.74rem; color:var(--text-soft);}
.qcard-price.free{color:#2F7F55;}
.qcard-add.is-added{background:var(--navy); border-color:var(--navy);}
.realm-group{margin-top:42px;}
.realm-group-head{display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:16px; border-bottom:1px solid var(--line); padding-bottom:10px;}
.realm-group-head h3{font-family:'Cinzel Decorative','Cinzel',Georgia,serif; font-size:1.5rem; color:var(--navy); margin:0;}
.realm-group-head a{font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:.85rem; color:var(--rust);}

/* ---------- how it works ---------- */
.steps4{display:grid; grid-template-columns:repeat(4, 1fr); gap:18px; counter-reset:st; list-style:none; padding:0; margin:0;}
.steps4 li{counter-increment:st; background:#fff; border:1px solid var(--line); border-radius:6px; padding:22px 20px;}
.steps4 li::before{content:counter(st, decimal-leading-zero); display:block; font-family:'Rajdhani',sans-serif; font-weight:700; font-size:2rem; color:var(--rust); line-height:1;}
.steps4 h3{margin:10px 0 6px; font-size:1.08rem; color:var(--navy);}
.steps4 p{margin:0; font-size:.94rem; color:var(--text-soft);}

/* ---------- quiz ---------- */
.quiz{max-width:860px; margin:0 auto; background:#fff; border:1px solid var(--line); border-radius:8px; padding:30px clamp(18px, 4vw, 40px) 34px; box-shadow:0 20px 50px -34px rgba(8,26,44,.6);}
.quiz-progress{height:4px; background:#EFE6D3; border-radius:2px; overflow:hidden; margin-bottom:24px;}
.quiz-progress span{display:block; height:100%; width:0; background:linear-gradient(90deg, var(--gold), var(--rust)); transition:width .35s ease;}
.quiz-step{border:none; margin:0; padding:0;}
.quiz-step legend{font-family:'Cinzel',Georgia,serif; font-size:clamp(1.2rem, 2.6vw, 1.6rem); color:var(--navy); margin-bottom:6px; outline:none;}
.quiz-step .quiz-count{display:block; font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:.14em; text-transform:uppercase; font-size:.8rem; color:var(--text-soft); margin-bottom:16px;}
.quiz-options{display:grid; grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)); gap:12px;}
.quiz-options label{position:relative; display:flex; flex-direction:column; gap:4px; padding:16px 16px 16px 46px; border:1.5px solid rgba(198,154,70,.5); border-radius:6px; cursor:pointer; min-height:64px; background:var(--ivory); transition:border-color .2s, background .2s;}
.quiz-options label:hover{border-color:var(--rust);}
.quiz-options input{position:absolute; left:16px; top:18px; width:18px; height:18px; accent-color:var(--rust);}
.quiz-options strong{color:var(--navy); font-family:'Archivo',sans-serif; font-size:.98rem;}
.quiz-options span{font-size:.84rem; color:var(--text-soft);}
.quiz-options input:checked + strong{color:var(--rust);}
.quiz-nav{margin-top:18px;}
.quiz-result h3{font-family:'Cinzel Decorative','Cinzel',serif; font-size:clamp(1.8rem, 4vw, 2.5rem); color:var(--navy); margin:4px 0 8px;}
.quiz-result h3 span{font-family:'Rajdhani',sans-serif; font-size:1rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-soft);}
.quiz-result{outline:none;}
.quiz-why, .quiz-second{color:#2E4458;}
.quiz-cols{display:grid; grid-template-columns:1fr 1fr; gap:26px; margin:20px 0;}
.quiz-cols h4{font-family:'Rajdhani',sans-serif; letter-spacing:.14em; text-transform:uppercase; font-size:.85rem; color:var(--rust); margin:0 0 8px;}
.quiz-cols ol, .quiz-cols ul{margin:0; padding-left:20px; color:#2E4458; font-size:.94rem; line-height:1.6;}
.quiz-season, .quiz-price{font-size:.92rem; color:var(--text-soft); margin-top:12px;}
.cta-row{display:flex; flex-wrap:wrap; align-items:center; gap:14px;}

/* ---------- featured stays ---------- */
.stay-cards{display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:20px;}
.stay-card{display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:6px; overflow:hidden; text-decoration:none; color:inherit; transition:transform .25s ease, box-shadow .25s ease;}
.stay-card:hover{transform:translateY(-3px); box-shadow:0 18px 40px -28px rgba(8,26,44,.7);}
.stay-card picture, .stay-card img{display:block; width:100%; aspect-ratio:4/3; object-fit:cover;}
.stay-card div{padding:16px 18px 18px;}
.stay-card .eyebrow{font-size:.74rem;}
.stay-card h3{font-family:'Cinzel',serif; font-size:1.14rem; color:var(--navy); margin:6px 0;}
.stay-card p{margin:0; font-size:.9rem; color:var(--text-soft);}
.stay-card .from{margin-top:8px; font-family:'Rajdhani',sans-serif; font-weight:700; color:var(--rust);}

/* ---------- quest log preview ---------- */
.log-preview{display:grid; grid-template-columns:1fr 1.1fr; gap:40px; align-items:center;}
.log-page{position:relative; background:#FFFDF6; border:1px solid var(--line); border-radius:6px; padding:26px 28px; box-shadow:0 26px 60px -40px rgba(8,26,44,.7); font-size:.9rem;}
.log-page::before{content:""; position:absolute; inset:8px; border:1px solid rgba(198,154,70,.35); border-radius:4px; pointer-events:none;}
.log-page h3{font-family:'Cinzel',serif; color:var(--navy); margin:0 0 4px; font-size:1.3rem;}
.log-page dl{display:grid; grid-template-columns:auto 1fr; gap:6px 16px; margin:14px 0;}
.log-page dt{font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:.72rem; color:var(--text-soft);}
.log-page dd{margin:0; color:var(--navy);}
.log-row{display:grid; grid-template-columns:1.2fr 1fr; gap:14px; margin-top:12px;}
.log-box{border:1px dashed rgba(198,154,70,.7); border-radius:4px; padding:12px; min-height:84px; color:var(--text-soft); font-size:.84rem;}
.log-stamp{display:grid; place-items:center; text-align:center; width:96px; height:96px; border:2px solid var(--rust); border-radius:50%; color:var(--rust); font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:.7rem; transform:rotate(-12deg);}
.log-foot{display:flex; justify-content:space-between; align-items:flex-end; gap:12px; margin-top:12px; font-size:.8rem; color:var(--text-soft);}
.log-qr{width:58px; height:58px; background:repeating-conic-gradient(var(--navy) 0 25%, transparent 0 50%) 0 0/14px 14px; opacity:.55; border-radius:2px;}

/* ---------- why / trust ---------- */
.why-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:18px;}
.why-grid div{background:#fff; border:1px solid var(--line); border-radius:6px; padding:20px;}
.why-grid h3{font-size:1.04rem; color:var(--navy); margin:0 0 6px;}
.why-grid p{margin:0; font-size:.92rem; color:var(--text-soft);}
.trust{margin-top:34px; background:var(--navy); color:#fff; border-radius:8px; padding:28px clamp(18px, 4vw, 36px);}
.trust h3{color:#F3D9A4; margin:0 0 14px; font-family:'Cinzel',serif;}
.trust ul{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2, 1fr); gap:10px 26px;}
.trust li{display:flex; gap:10px; font-size:.94rem; color:rgba(255,255,255,.9);}
.trust li::before{content:"✓"; color:#D6B068; font-weight:700;}
.trust .ph{color:#FFD9C9; background:rgba(193,81,44,.25); border-color:rgba(255,190,160,.6);}
.trust a{color:#F3D9A4;}
.reviews{display:grid; grid-template-columns:repeat(3, 1fr); gap:18px;}
.reviews figure{margin:0; background:#fff; border:1px solid var(--line); border-radius:6px; padding:20px;}
.reviews blockquote{margin:0 0 10px; font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:var(--navy);}

/* ---------- FAQ ---------- */
.faq{max-width:860px; margin:0 auto;}
.faq details{border-bottom:1px solid var(--line);}
.faq summary{list-style:none; cursor:pointer; padding:18px 40px 18px 0; position:relative; font-family:'Archivo',sans-serif; font-weight:600; font-size:1.02rem; color:var(--navy); min-height:44px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+"; position:absolute; right:6px; top:14px; font-size:1.4rem; color:var(--rust);}
.faq details[open] summary::after{content:"−";}
.faq details p{margin:0 0 18px; color:#2E4458; line-height:1.7; max-width:72ch;}

/* ---------- CTA band ---------- */
.cta-band{background:linear-gradient(135deg, #0A2036, #123049 60%, #164B66); color:#fff; padding:70px 0; text-align:center;}
.cta-band h2{color:#fff; font-size:clamp(1.7rem, 3.6vw, 2.6rem);}
.cta-band p{max-width:60ch; margin:12px auto 26px; color:rgba(255,255,255,.88);}
.cta-band .cta-row{justify-content:center;}
.cta-link{color:#F3D9A4; font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:.1em; text-transform:uppercase; text-decoration:none; padding:10px 4px;}
.cta-link:hover{text-decoration:underline;}

/* ---------- enquiry form ---------- */
.enquiry-wrap{display:grid; grid-template-columns:.9fr 1.3fr; gap:44px; align-items:start;}
.enquiry-aside h2{color:var(--navy); font-size:clamp(1.6rem, 3vw, 2.2rem);}
.enquiry-aside p{color:var(--text-soft);}
.enquiry-aside .contact-lines{list-style:none; padding:0; margin:20px 0; display:grid; gap:10px;}
.enquiry-aside .contact-lines a{color:var(--navy); font-weight:600;}
.respond{display:inline-block; margin-top:6px; padding:8px 12px; background:rgba(47,127,85,.1); color:#24694A; border-radius:4px; font-size:.9rem;}
.enquiry-form{background:#fff; border:1px solid var(--line); border-radius:8px; padding:26px clamp(18px, 3vw, 30px);}
.enquiry-form .grid2{display:grid; grid-template-columns:1fr 1fr; gap:14px 18px;}
.enquiry-form .grid3{display:grid; grid-template-columns:repeat(3, 1fr); gap:14px 18px;}
.enquiry-form .f{display:flex; flex-direction:column; gap:6px; margin-bottom:14px;}
.enquiry-form label, .enquiry-form legend{font-family:'Archivo',sans-serif; font-weight:600; font-size:.88rem; color:var(--navy);}
.enquiry-form .req{color:var(--rust);}
.enquiry-form input, .enquiry-form select, .enquiry-form textarea{font:inherit; font-size:1rem; padding:12px 14px; min-height:46px; border:1px solid #C9C2B2; border-radius:4px; background:#fff; color:var(--ink); width:100%;}
.enquiry-form textarea{min-height:110px; resize:vertical;}
.enquiry-form [aria-invalid="true"]{border-color:#B23A1E; box-shadow:0 0 0 2px rgba(178,58,30,.15);}
.field-error{margin:0; color:#B23A1E; font-size:.84rem;}
.enquiry-form .consent{display:flex; gap:10px; align-items:flex-start; font-weight:400; font-size:.9rem; color:#2E4458;}
.enquiry-form .consent input{width:20px; height:20px; min-height:0; margin-top:2px; flex:none; accent-color:var(--rust);}
.enquiry-form .hp{position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden;}
.journey-box{border:1px solid var(--line); border-radius:6px; background:var(--ivory); padding:12px 14px; margin-bottom:14px;}
.journey-box ul{list-style:none; margin:0; padding:0; display:grid; gap:6px;}
.journey-box li{display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:.9rem; color:#2E4458;}
.journey-empty{margin:0; font-size:.9rem; color:var(--text-soft);}
.form-foot{display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:6px;}
.form-foot p{margin:0; font-size:.88rem; color:var(--text-soft);}

/* ---------- stay pages ---------- */
.stay-layout{display:grid; grid-template-columns:1.6fr 1fr; gap:40px; align-items:start;}
.stay-aside{position:sticky; top:96px; background:#fff; border:1px solid var(--line); border-radius:8px; padding:22px;}
.stay-aside .big{font-family:'Rajdhani',sans-serif; font-weight:700; font-size:2rem; color:var(--rust); line-height:1;}
.stay-aside dl{margin:16px 0; display:grid; gap:10px;}
.stay-aside dt{font-family:'Rajdhani',sans-serif; font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:.74rem; color:var(--text-soft);}
.stay-aside dd{margin:2px 0 0; color:var(--navy); font-size:.94rem;}
.stay-aside .btn{width:100%; margin-top:8px;}
.facts-list{columns:2; column-gap:26px; padding-left:18px; color:#2E4458; line-height:1.7;}
.types{display:grid; gap:12px; margin:0;}
.types div{background:#fff; border:1px solid var(--line); border-radius:6px; padding:14px 16px;}
.types dt{font-family:'Cinzel',serif; font-weight:700; color:var(--navy);}
.types dd{margin:4px 0 0; color:var(--text-soft); font-size:.94rem;}
.gallery{display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:10px;}
.gallery picture, .gallery img{display:block; width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:4px;}
.map-embed{width:100%; aspect-ratio:16/9; border:0; border-radius:6px; background:#DDE7EA;}
.note{font-size:.88rem; color:var(--text-soft); font-style:italic;}

/* ---------- realm pages ---------- */
.get-tiles{display:grid; grid-template-columns:repeat(auto-fill, minmax(210px, 1fr)); gap:12px; list-style:none; padding:0; margin:0;}
.get-tiles li{background:#fff; border:1px solid var(--line); border-radius:6px; padding:14px 16px; color:var(--navy); font-weight:600; font-size:.94rem;}
.price-panel{display:flex; flex-wrap:wrap; align-items:baseline; gap:12px; margin:18px 0 6px;}
.price-panel strong{font-family:'Rajdhani',sans-serif; font-size:2.2rem; color:var(--rust);}
.legend-teaser{background:var(--navy); color:#fff; border-radius:8px; padding:30px; margin-top:20px;}
.legend-teaser p{color:rgba(255,255,255,.88); max-width:70ch;}
.legend-teaser a{color:#F3D9A4;}

/* ---------- legal + misc ---------- */
.legal .placeholder{margin:10px 0 18px;}
.thanks{min-height:60vh; display:flex; align-items:center;}
.site-footer{background:#0A2036; color:rgba(255,255,255,.82); padding:56px 0 24px; border-top:none !important;}
.footer-grid{display:grid; grid-template-columns:1.6fr repeat(4, 1fr); gap:28px;}
.site-footer h2{font-family:'Rajdhani',sans-serif; font-size:.9rem; letter-spacing:.16em; text-transform:uppercase; color:#D6B068; margin:0 0 12px;}
.site-footer ul{list-style:none; margin:0; padding:0; display:grid; gap:8px;}
.site-footer a{color:rgba(255,255,255,.86); text-decoration:none;}
.site-footer a:hover{color:#fff; text-decoration:underline;}
.site-footer address{font-style:normal; font-size:.9rem; line-height:1.7; margin-top:12px;}
.footer-brand img{background:#FAF5E9; padding:8px 10px; border-radius:6px;}
.footer-brand p{font-size:.92rem;}
.footer-reg{font-size:.8rem;}
.site-footer .ph{color:#FFD9C9; background:rgba(193,81,44,.2); border-color:rgba(255,190,160,.5);}
.footer-base{display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; margin-top:36px; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); font-size:.82rem;}

@media(max-width:1000px){
  .steps4, .why-grid{grid-template-columns:1fr 1fr;}
  .log-preview, .enquiry-wrap, .stay-layout{grid-template-columns:1fr;}
  .stay-aside{position:static;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .reviews{grid-template-columns:1fr;}
}
@media(max-width:640px){
  .wrap{padding:0 18px;}
  .section{padding:54px 0;}
  .steps4, .why-grid, .trust ul, .quiz-cols, .enquiry-form .grid2, .enquiry-form .grid3{grid-template-columns:1fr;}
  .quest-grid{grid-template-columns:1fr;}
  .facts-list{columns:1;}
  .footer-grid{grid-template-columns:1fr;}
  .qcard-facts{grid-template-columns:1fr 1fr;}
}
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important;}
}

/* grid children must be allowed to shrink below their content width on small screens */
.stay-layout > *, .log-preview > *, .enquiry-wrap > *, .quiz-cols > *, .why-grid > *, .steps4 > *, .footer-grid > *, .quest-grid > *, .stay-cards > *{min-width:0;}
.why-grid.three{grid-template-columns:repeat(3, 1fr);}
@media(max-width:1000px){ .why-grid.three{grid-template-columns:1fr;} }

/* comfortable tap targets for the desktop nav links */
@media(min-width:981px){ nav.links a{padding-top:12px; padding-bottom:12px;} nav.links a::after{bottom:4px;} }

.journey-count[hidden]{display:none !important;}

.qcard-note{margin:8px 0 0; font-size:0.86rem; color:var(--text-soft, #4a5f73); line-height:1.5;}

/* =====================================================================
   HOMEPAGE v3 — simplified layout
   ===================================================================== */
:root{ --explorer:#13707F; --adventure:#C1512C; --legendary:#C69A46; }
.sr-only{position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}
.btn-sm{padding:10px 16px !important; font-size:0.86rem !important;}
.btn-quiet{background:none; border:1px solid rgba(18,48,73,0.25); color:var(--navy);}
.btn-quiet:hover{border-color:var(--navy);}
.section.tight{padding-top:20px; padding-bottom:20px;}
.section-more{text-align:center; margin-top:34px;}
:focus-visible{outline:3px solid #F3D9A4; outline-offset:3px;}

/* ---- header: compact after scrolling; register is a small profile link ---- */
header.site-nav{transition:background .35s ease, box-shadow .35s ease;}
header.site-nav .nav-inner{transition:padding .3s ease;}
header.site-nav.compact .nav-inner{padding-top:7px !important; padding-bottom:7px !important;}
header.site-nav.compact .brand-mark{width:38px; height:38px;}
.nav-player a{display:inline-flex; align-items:center; gap:6px; font-family:'Archivo', sans-serif; font-weight:600; font-size:0.8rem; letter-spacing:0.02em;
  text-transform:none; color:inherit; opacity:0.85; text-decoration:none; padding:8px 6px; min-height:44px;}
.nav-player a:hover{opacity:1; text-decoration:underline; text-underline-offset:3px;}
.nav-player svg{width:18px; height:18px; flex:none;}
body.modal-open{overflow:hidden;}

/* ---- 1. static hero ---- */
.home-hero{position:relative; min-height:min(100svh, 940px); display:flex; align-items:center; overflow:hidden; background:#0B2236; color:#fff;}
.home-hero-media, .home-hero-media picture{position:absolute; inset:0;}
.home-hero-media img{width:100%; height:100%; object-fit:cover; object-position:62% 50%;}
.home-hero-shade{position:absolute; inset:0; background:
  linear-gradient(90deg, rgba(6,26,44,0.82) 0%, rgba(6,26,44,0.55) 38%, rgba(6,26,44,0.05) 70%),
  linear-gradient(180deg, rgba(6,26,44,0.45) 0%, rgba(6,26,44,0) 22%, rgba(6,26,44,0) 72%, rgba(6,26,44,0.45) 100%);}
.home-hero-inner{position:relative; padding-top:clamp(110px, 16vh, 150px); padding-bottom:clamp(60px, 10vh, 100px);}
.home-hero-inner > *{max-width:600px;}
.home-hero .eyebrow{color:#F3D9A4; letter-spacing:0.22em;}
.home-hero h1{margin:14px 0 0; font-size:clamp(2.6rem, 6.2vw, 5rem); line-height:1.02; text-transform:uppercase; color:#fff; letter-spacing:0.02em;}
.home-hero-lead{margin-top:20px; font-size:clamp(1rem, 1.25vw, 1.14rem); line-height:1.65; color:rgba(255,255,255,0.92);}
.home-hero .hero-ctas{margin-top:28px; display:flex; flex-wrap:wrap; gap:12px;}
.home-hero-trust{margin-top:26px; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:0.82rem; letter-spacing:0.16em; text-transform:uppercase; color:rgba(255,255,255,0.78);}
.home-hero-trust span{color:#D6B068; margin:0 4px;}
@media (max-width: 760px){
  .home-hero{min-height:min(88svh, 720px); align-items:flex-end;}
  .home-hero-media img{object-position:70% 50%;}
  .home-hero-shade{background:linear-gradient(180deg, rgba(6,26,44,0.55) 0%, rgba(6,26,44,0.2) 30%, rgba(6,26,44,0.7) 62%, rgba(6,26,44,0.92) 100%);}
  .home-hero-trust{letter-spacing:0.1em; font-size:0.74rem;}
  .home-hero .hero-ctas .btn{flex:1 1 auto; text-align:center;}
}

/* ---- 2. realm cards ---- */
.realm-cards{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:clamp(16px, 2vw, 26px); margin-top:8px;}
.realm-card{position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); box-shadow:0 18px 40px -28px rgba(11,34,54,0.45); overflow:hidden; transition:transform .3s ease, box-shadow .3s ease;}
.realm-card:hover{transform:translateY(-3px); box-shadow:0 26px 50px -28px rgba(11,34,54,0.55);}
.realm-card-media{aspect-ratio:4 / 3; overflow:hidden; background:#0B2236;}
.realm-card-media img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.realm-card:hover .realm-card-media img{transform:scale(1.04);}
.realm-card-body{display:flex; flex-direction:column; flex:1; padding:22px 24px 24px;}
.realm-card-kicker{display:flex; align-items:center; gap:10px; margin:0; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:0.8rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--rust);}
.realm-card-rule{flex:0 0 26px; height:1px; background:currentColor; opacity:0.6;}
.realm-card h3{margin:10px 0 0; font-family:'Cinzel Decorative', 'Cinzel', Georgia, serif; font-weight:900; font-size:clamp(1.45rem, 2vw, 1.8rem); color:var(--navy); line-height:1.1; overflow-wrap:anywhere;}
.realm-card-type{display:flex; align-items:center; gap:8px; margin:10px 0 0; font-weight:600; font-size:0.92rem; color:var(--navy);}
.realm-card-type .ico{width:20px; height:20px; color:var(--lagoon);}
.realm-card-desc{margin:10px 0 0; font-family:'Cormorant Garamond', Georgia, serif; font-style:italic; font-size:1.2rem; color:#2E4458;}
.realm-card-price{margin:14px 0 0; font-size:0.92rem; color:var(--text-soft, #4a5f73);}
.realm-card-price strong{font-family:'Rajdhani', 'Archivo', sans-serif; font-size:1.3rem; color:var(--rust);}
.realm-card-price span{display:block; font-size:0.8rem;}
.realm-card-feats{list-style:none; margin:14px 0 20px; padding:14px 0 0; border-top:1px solid var(--line); display:grid; gap:7px;}
.realm-card-feats li{display:flex; align-items:center; gap:8px; font-size:0.92rem; color:var(--ink);}
.realm-card-feats .ico{width:17px; height:17px; color:var(--lagoon); flex:none;}
.realm-card-cta{margin-top:auto; align-self:flex-start;}
.realm-card-cta::after{content:""; position:absolute; inset:0;}   /* whole card is clickable */
.compare-row{text-align:center; margin-top:30px;}
.compare > summary{list-style:none; display:inline-flex; cursor:pointer;}
.compare > summary::-webkit-details-marker{display:none;}
.compare > summary::after{content:"+"; margin-left:10px; font-weight:700;}
.compare[open] > summary::after{content:"\2212";}
.compare-wrap{margin-top:22px; overflow-x:auto; text-align:left; background:#fff; border:1px solid var(--line);}
.compare table{width:100%; min-width:620px; border-collapse:collapse; font-size:0.92rem;}
.compare th, .compare td{padding:12px 16px; border-bottom:1px solid rgba(198,154,70,0.25); vertical-align:top;}
.compare thead th{font-family:'Cinzel', Georgia, serif; color:var(--navy); font-size:1rem; text-align:left;}
.compare thead th small{display:block; font-family:'Archivo', sans-serif; font-size:0.74rem; color:var(--rust); letter-spacing:0.08em; text-transform:uppercase;}
.compare tbody th{font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:0.8rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--text-soft, #4a5f73); text-align:left; width:150px;}
.compare .note{padding:12px 16px; margin:0; font-size:0.82rem; color:var(--text-soft, #4a5f73);}
.dots{display:inline-flex; gap:4px;}
.dots i{width:9px; height:9px; border-radius:50%; background:rgba(18,48,73,0.15);}
.dots i.on{background:var(--legendary);}
@media (max-width: 960px){ .realm-cards{grid-template-columns:1fr; max-width:560px; margin-left:auto; margin-right:auto;} }

/* ---- 3. quiz ---- */
.quiz{max-width:860px; margin:0 auto; background:#fff; border:1px solid var(--line); box-shadow:0 20px 50px -34px rgba(11,34,54,0.5); padding:clamp(20px, 3.4vw, 36px);}
.quiz-top{display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;}
.quiz-count{font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; font-size:0.82rem; color:var(--rust);}
.quiz-free{display:inline-flex; align-items:center; gap:6px; font-size:0.84rem; font-weight:600; color:var(--explorer);}
.quiz-free .ico{width:16px; height:16px;}
.quiz .quiz-progress{position:relative; height:6px; margin:14px 0 22px; background:rgba(18,48,73,0.1); border-radius:6px; overflow:hidden;}
.quiz .quiz-progress span{position:absolute; inset:0 auto 0 0; width:0; background:linear-gradient(90deg, var(--lagoon), var(--legendary)); border-radius:6px; transition:width .4s ease;}
.quiz-step{border:0; margin:0; padding:0;}
.quiz-step legend{font-family:'Cinzel', Georgia, serif; font-size:clamp(1.25rem, 2.2vw, 1.6rem); color:var(--navy); margin-bottom:18px; padding:0;}
.quiz-step legend:focus{outline:none;}
.quiz-options{display:grid; grid-template-columns:repeat(auto-fit, minmax(190px, 1fr)); gap:12px;}
.quiz-opt{position:relative; display:flex; align-items:flex-start; gap:12px; padding:16px; min-height:64px; border:1.5px solid rgba(198,154,70,0.45); background:var(--ivory); cursor:pointer; transition:border-color .2s ease, background .2s ease, box-shadow .2s ease;}
.quiz-opt:hover{border-color:var(--rust);}
.quiz-opt input{position:absolute; opacity:0; width:1px; height:1px;}
.quiz-opt:has(input:focus-visible){outline:3px solid #F3D9A4; outline-offset:2px;}
.quiz-opt:has(input:checked){border-color:var(--rust); background:#fff; box-shadow:0 0 0 2px rgba(193,81,44,0.25);}
.quiz-opt-ico{flex:none; width:42px; height:42px; display:grid; place-items:center; border-radius:10px; background:rgba(30,143,163,0.1); color:var(--explorer);}
.quiz-opt-ico .ico{width:22px; height:22px;}
.quiz-opt-ico b{font-family:'Rajdhani', 'Archivo', sans-serif; font-size:0.95rem; letter-spacing:0.04em;}
.quiz-opt-text{display:flex; flex-direction:column; gap:3px; padding-right:18px;}
.quiz-opt-text strong{color:var(--navy); font-size:0.98rem;}
.quiz-opt-text span{font-size:0.86rem; color:var(--text-soft, #4a5f73); line-height:1.4;}
.quiz-opt-tick{position:absolute; top:10px; right:10px; width:22px; height:22px; border-radius:50%; display:grid; place-items:center; background:var(--rust); color:#fff; opacity:0; transform:scale(0.6); transition:opacity .2s ease, transform .2s ease;}
.quiz-opt-tick .ico{width:14px; height:14px;}
.quiz-opt:has(input:checked) .quiz-opt-tick{opacity:1; transform:none;}
.quiz-nav{display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:22px;}
.quiz-nav .btn[disabled]{opacity:0.45; cursor:not-allowed;}
.quiz-res{display:grid; grid-template-columns:minmax(0, 0.9fr) minmax(0, 1.1fr); gap:0; border:1px solid var(--line); background:#fff;}
.quiz-res-media{position:relative; min-height:260px; background:#0B2236;}
.quiz-res-media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.quiz-res-tag{position:absolute; left:16px; top:16px; background:var(--navy); color:#F3D9A4; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; letter-spacing:0.16em; text-transform:uppercase; font-size:0.78rem; padding:6px 12px;}
.quiz-res-body{padding:clamp(18px, 3vw, 30px);}
.quiz-res-cls{margin:0; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; font-size:0.8rem; color:var(--rust);}
.quiz-res h3{margin:6px 0 0; font-family:'Cinzel Decorative', 'Cinzel', Georgia, serif; font-weight:900; font-size:clamp(1.6rem, 3vw, 2.1rem); color:var(--navy);}
.quiz-res h4{margin:18px 0 8px; font-family:'Rajdhani', 'Archivo', sans-serif; letter-spacing:0.14em; text-transform:uppercase; font-size:0.82rem; color:var(--navy);}
.quiz-why{margin:10px 0 0; color:var(--ink);}
.quiz-quests{list-style:none; margin:0; padding:0; display:grid; gap:8px;}
.quiz-quests li{display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:9px 12px; background:var(--ivory); border:1px solid rgba(198,154,70,0.3);}
.quiz-quests small{margin-left:auto; color:var(--text-soft, #4a5f73);}
.lv{font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; font-size:0.7rem; padding:3px 8px; color:#fff;}
.lv-explorer{background:var(--explorer);} .lv-adventure{background:var(--adventure);} .lv-legendary{background:var(--legendary); color:var(--navy);}
.quiz-second, .quiz-season{margin:14px 0 0; font-size:0.92rem; color:var(--text-soft, #4a5f73);}
.quiz-itin{margin-top:12px;} .quiz-itin summary{cursor:pointer; font-weight:600; color:var(--navy);}
.quiz-itin ol{margin:8px 0 0 18px; font-size:0.92rem;}
.quiz-res .cta-row{display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:20px;}
@media (max-width: 700px){ .quiz-res{grid-template-columns:1fr;} .quiz-res-media{min-height:180px;} .quiz-options{grid-template-columns:1fr;} }

/* ---- 4. compact featured quests ---- */
.qmini-grid{display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:clamp(16px, 2vw, 24px);}
.qmini{display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); overflow:hidden;}
.qmini-media{position:relative; aspect-ratio:16 / 10; background:#0B2236; overflow:hidden;}
.qmini-media img{width:100%; height:100%; object-fit:cover;}
.qmini-badge{position:absolute; left:14px; top:14px; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; font-size:0.74rem; padding:5px 11px; color:#fff;}
.level-explorer .qmini-badge{background:var(--explorer);} .level-adventure .qmini-badge{background:var(--adventure);} .level-legendary .qmini-badge{background:var(--legendary); color:var(--navy);}
.level-explorer.qmini{border-top:3px solid var(--explorer);} .level-adventure.qmini{border-top:3px solid var(--adventure);} .level-legendary.qmini{border-top:3px solid var(--legendary);}
.qmini-body{display:flex; flex-direction:column; flex:1; padding:18px 20px 20px;}
.qmini-realm{margin:0; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; font-size:0.76rem; color:var(--rust);}
.qmini h3{margin:6px 0 0; font-family:'Cinzel', Georgia, serif; font-size:1.25rem; color:var(--navy);}
.qmini-desc{margin:8px 0 0; font-size:0.94rem; line-height:1.5; color:var(--ink); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:3em;}
.qmini-facts{list-style:none; display:flex; flex-wrap:wrap; gap:6px 16px; margin:12px 0 0; padding:0; font-size:0.84rem; color:var(--text-soft, #4a5f73);}
.qmini-facts li{display:inline-flex; align-items:center; gap:6px;}
.qmini-facts .ico{width:16px; height:16px; color:var(--lagoon);}
.qmini-foot{margin-top:auto; padding-top:16px;}
.qmini-price{margin:0 0 12px; display:flex; flex-direction:column; gap:2px; padding-top:12px; border-top:1px solid rgba(198,154,70,0.3);}
.qmini-price strong{font-family:'Rajdhani', 'Archivo', sans-serif; font-size:1.2rem; color:var(--navy);}
.level-explorer .qmini-price strong{color:var(--explorer);}
.qmini-price small{font-size:0.78rem; color:var(--text-soft, #4a5f73);}
.qmini-actions{display:flex; gap:8px; flex-wrap:wrap;}
.qmini-actions .btn{flex:1 1 auto; text-align:center; white-space:nowrap;}
@media (max-width: 960px){ .qmini-grid{grid-template-columns:1fr; max-width:560px; margin:0 auto;} }

/* ---- 5. how it works: connected steps ---- */
.steps-flow{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:clamp(14px, 2vw, 26px); position:relative; counter-reset:none;}
.steps-flow::before{content:""; position:absolute; top:28px; left:12%; right:12%; height:2px; background:repeating-linear-gradient(90deg, var(--legendary) 0 8px, transparent 8px 16px); opacity:0.7;}
.steps-flow li{position:relative; text-align:center; padding:0 6px;}
.step-ico{position:relative; z-index:1; width:56px; height:56px; margin:0 auto; display:grid; place-items:center; border-radius:50%; background:var(--navy); color:#F3D9A4; box-shadow:0 0 0 6px var(--ivory);}
.step-ico .ico{width:26px; height:26px;}
.step-num{display:block; margin-top:14px; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; letter-spacing:0.16em; color:var(--rust); font-size:0.82rem;}
.steps-flow h3{margin:6px 0 0; font-family:'Cinzel', Georgia, serif; font-size:1.08rem; color:var(--navy);}
.steps-flow p{margin:8px 0 0; font-size:0.92rem; color:var(--text-soft, #4a5f73); line-height:1.5;}
@media (max-width: 860px){
  .steps-flow{grid-template-columns:1fr; gap:0; max-width:520px; margin:0 auto;}
  .steps-flow::before{top:28px; bottom:28px; left:27px; right:auto; width:2px; height:auto; background:repeating-linear-gradient(180deg, var(--legendary) 0 8px, transparent 8px 16px);}
  .steps-flow li{display:grid; grid-template-columns:56px 1fr; column-gap:18px; text-align:left; padding:0 0 26px;}
  .step-ico{grid-row:span 3; margin:0;}
  .step-num{margin-top:4px;}
}

/* ---- 6. featured stays: editorial ---- */
.stays-ed{display:grid; grid-template-columns:minmax(0, 1.25fr) minmax(0, 1fr); gap:clamp(16px, 2vw, 24px);}
.stays-ed-side{display:grid; gap:clamp(14px, 1.6vw, 18px);}
.stay-ed{position:relative; display:grid; grid-template-columns:minmax(0, 0.9fr) minmax(0, 1.1fr); background:#fff; border:1px solid var(--line); overflow:hidden;}
.stay-ed-media{position:relative; min-height:170px; background:#0B2236;}
.stay-ed-media picture, .stay-ed-media img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.stay-ed-badge{position:absolute; left:12px; top:12px; background:rgba(11,34,54,0.85); color:#F3D9A4; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; font-size:0.7rem; padding:5px 10px;}
.stay-ed-body{display:flex; flex-direction:column; padding:16px 18px;}
.stay-ed h3{margin:0; font-family:'Cinzel', Georgia, serif; font-size:1.08rem; color:var(--navy); line-height:1.25;}
.stay-ed-where{display:flex; align-items:center; gap:6px; margin:6px 0 0; font-size:0.84rem; color:var(--text-soft, #4a5f73);}
.stay-ed-where .ico{width:15px; height:15px; color:var(--lagoon); flex:none;}
.stay-ed-facts{list-style:none; margin:10px 0 0; padding:0; display:grid; gap:4px; font-size:0.84rem; color:var(--ink);}
.stay-ed-facts span{display:inline-block; min-width:68px; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; font-size:0.7rem; color:var(--rust);}
.stay-ed-price{margin:10px 0 12px; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:1.02rem; color:var(--navy);}
.stay-ed .btn{margin-top:auto; align-self:flex-start;}
.stay-ed .btn::after{content:""; position:absolute; inset:0;}
.stay-ed-big{grid-template-columns:1fr; grid-template-rows:minmax(300px, 1fr) auto;}
.stay-ed-big .stay-ed-media{min-height:300px;}
.stay-ed-big .stay-ed-body{padding:22px 24px 24px;}
.stay-ed-big h3{font-size:1.5rem;}
@media (max-width: 900px){ .stays-ed{grid-template-columns:1fr;} }
@media (max-width: 560px){ .stay-ed{grid-template-columns:1fr;} .stay-ed-media{min-height:200px;} }

/* ---- 7. Quest Log: open scrapbook ---- */
.qlog{display:grid; grid-template-columns:minmax(0, 1.25fr) minmax(0, 0.85fr); gap:clamp(24px, 4vw, 56px); align-items:center;}
.qlog-book{position:relative; margin:0; display:grid; grid-template-columns:1fr 1fr; background:#F4EAD2; border:1px solid #D9C49A; border-radius:6px;
  box-shadow:0 30px 60px -30px rgba(11,34,54,0.55), inset 0 0 0 6px #EFE2C3; transform:rotate(-1deg);}
.qlog-book::after{content:""; position:absolute; top:10px; bottom:10px; left:50%; width:22px; transform:translateX(-50%); background:linear-gradient(90deg, rgba(0,0,0,0) 0%, rgba(80,55,20,0.18) 50%, rgba(0,0,0,0) 100%); pointer-events:none;}
.qlog-page{padding:clamp(18px, 2.6vw, 28px); background-image:repeating-linear-gradient(180deg, transparent 0 27px, rgba(150,120,70,0.12) 27px 28px);}
.qlog-photo{position:relative; background:#fff; padding:8px 8px 10px; box-shadow:0 8px 18px -10px rgba(0,0,0,0.45); transform:rotate(-2.5deg);}
.qlog-photo img{display:block; width:100%; aspect-ratio:4 / 3; object-fit:cover;}
.tape{position:absolute; width:64px; height:20px; background:rgba(255,248,225,0.75); box-shadow:0 1px 2px rgba(0,0,0,0.15);}
.tape.t1{top:-8px; left:14px; transform:rotate(-8deg);} .tape.t2{top:-8px; right:14px; transform:rotate(9deg);}
.qlog-caption{margin:14px 0 0; font-family:'Cormorant Garamond', Georgia, serif; font-style:italic; font-size:1.05rem; color:#3c4b57; text-align:center;}
.qlog-progress{margin-top:18px; font-size:0.78rem; color:#4f5c66;}
.qlog-progress span{font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--navy);}
.qlog-progress .bar{height:6px; margin:6px 0 4px; background:rgba(18,48,73,0.12); border-radius:6px; overflow:hidden;}
.qlog-progress .bar i{display:block; height:100%; background:var(--legendary);}
.qlog-kicker{margin:0; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; font-size:0.74rem; color:var(--rust);}
.qlog-kicker b{color:#8a6a2a;}
.qlog-right h3{margin:4px 0 10px; font-family:'Cinzel', Georgia, serif; font-size:1.4rem; color:var(--navy);}
.qlog-right dl{margin:0; display:grid; grid-template-columns:1fr 1fr; gap:8px;}
.qlog-right dt{font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; font-size:0.66rem; color:#7a6a4f;}
.qlog-right dd{margin:2px 0 0; font-size:0.88rem; color:var(--ink);}
.qlog-label{margin:14px 0 2px; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; font-size:0.66rem; color:#7a6a4f;}
.qlog-entry{margin:0; font-family:'Cormorant Garamond', Georgia, serif; font-style:italic; font-size:1.12rem; line-height:1.4; color:#24384a;}
.qlog-foot{display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-top:16px; flex-wrap:wrap;}
.qlog-sign{display:flex; flex-direction:column; color:#24384a;}
.qlog-sign svg{width:100px; height:30px;}
.qlog-sign span{border-top:1px solid rgba(36,56,74,0.4); padding-top:3px; font-size:0.66rem; letter-spacing:0.1em; text-transform:uppercase; color:#7a6a4f;}
.qlog-stamp{width:74px; height:74px; border-radius:50%; border:2px solid rgba(193,81,44,0.75); color:rgba(193,81,44,0.85); display:flex; flex-direction:column; align-items:center; justify-content:center; transform:rotate(-12deg);
  font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; font-size:0.56rem; letter-spacing:0.12em; text-transform:uppercase; box-shadow:inset 0 0 0 3px rgba(193,81,44,0.12);}
.qlog-stamp b{font-family:'Cinzel', Georgia, serif; font-size:1.1rem; letter-spacing:0;}
.qlog-badge{display:flex; flex-direction:column; align-items:center; gap:2px; color:#8a6a2a; font-size:0.62rem; letter-spacing:0.08em; text-transform:uppercase; font-weight:700;}
.qlog-badge .ico{width:34px; height:34px; padding:6px; border-radius:50%; background:#F3D9A4; color:var(--navy);}
.qlog-sample{position:absolute; top:-12px; right:18px; background:var(--navy); color:#F3D9A4; font-family:'Rajdhani', 'Archivo', sans-serif; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; font-size:0.68rem; padding:4px 10px; transform:rotate(1deg);}
.qlog-copy h2{margin:10px 0 0;}
.qlog-copy p{margin-top:14px;}
.qlog-note{font-family:'Cormorant Garamond', Georgia, serif; font-style:italic; font-size:1.15rem; color:var(--navy);}
.qlog-copy .btn{margin-top:22px;}
@media (max-width: 960px){ .qlog{grid-template-columns:1fr;} .qlog-copy{order:-1;} }
@media (max-width: 560px){ .qlog-book{grid-template-columns:1fr; transform:none;} .qlog-book::after{display:none;} }

/* ---- 8 + 9. why + book with confidence ---- */
.why4{display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:clamp(14px, 2vw, 22px);}
.why4 > div{background:#fff; border:1px solid var(--line); padding:22px 20px;}
.why-ico{display:grid; place-items:center; width:46px; height:46px; border-radius:12px; background:rgba(30,143,163,0.1); color:var(--explorer);}
.why-ico .ico{width:24px; height:24px;}
.why4 h3{margin:14px 0 0; font-family:'Cinzel', Georgia, serif; font-size:1.06rem; color:var(--navy);}
.why4 p{margin:8px 0 0; font-size:0.92rem; color:var(--text-soft, #4a5f73); line-height:1.5;}
@media (max-width: 960px){ .why4{grid-template-columns:1fr 1fr;} }
@media (max-width: 520px){ .why4{grid-template-columns:1fr;} }
.trust-panel{max-width:980px; margin:0 auto; background:var(--navy); color:#fff; padding:clamp(20px, 3vw, 30px) clamp(20px, 3.4vw, 36px); border:1px solid rgba(214,176,104,0.5);}
.trust-panel h2{margin:0 0 14px; font-family:'Cinzel', Georgia, serif; font-size:1.3rem; color:#F3D9A4;}
.trust-panel ul{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:10px 28px;}
.trust-panel li{display:flex; gap:10px; align-items:flex-start; font-size:0.92rem; color:rgba(255,255,255,0.9);}
.trust-panel .ico{width:18px; height:18px; flex:none; color:#D6B068; margin-top:2px;}
.trust-panel a{color:#F3D9A4;}
@media (max-width: 720px){ .trust-panel ul{grid-template-columns:1fr;} }

/* ---- 10. FAQ ---- */
.faq-home{max-width:820px; margin:0 auto;}
.faq-home details{background:#fff; border:1px solid var(--line); margin-bottom:10px;}
.faq-home summary{list-style:none; display:flex; justify-content:space-between; gap:16px; align-items:center; padding:18px 22px; cursor:pointer; font-family:'Cinzel', Georgia, serif; font-size:1.02rem; color:var(--navy); min-height:56px;}
.faq-home summary::-webkit-details-marker{display:none;}
.faq-home summary::after{content:"+"; flex:none; width:28px; height:28px; border-radius:50%; display:grid; place-items:center; border:1px solid var(--line); color:var(--rust); font-family:'Archivo', sans-serif; transition:transform .25s ease;}
.faq-home details[open] summary::after{content:"\2212";}
.faq-home .faq-a{padding:0 22px 18px;}
.faq-home .faq-a p{margin:0; color:var(--ink); line-height:1.65;}
.faq-home details[open] .faq-a{animation:faqIn .28s ease both;}
@keyframes faqIn{ from{ opacity:0; transform:translateY(-4px); } to{ opacity:1; transform:none; } }

/* ---- 11 + 13. final CTA with the short form ---- */
.final-cta{background:linear-gradient(160deg, #0B2236 0%, #123049 60%, #17465F 100%); color:#fff; padding:clamp(60px, 9vw, 110px) 0;}
.final-grid{display:grid; grid-template-columns:minmax(0, 0.9fr) minmax(0, 1.1fr); gap:clamp(28px, 5vw, 64px); align-items:start;}
.final-copy .eyebrow{color:#F3D9A4;}
.final-copy h2{margin:12px 0 0; color:#fff; font-size:clamp(1.9rem, 3.6vw, 2.8rem);}
.final-copy > p{margin-top:16px; font-size:1.06rem; color:rgba(255,255,255,0.88); line-height:1.65;}
.final-copy .cta-row{display:flex; flex-wrap:wrap; gap:12px; margin-top:26px;}
.final-contact{list-style:none; margin:30px 0 0; padding:20px 0 0; border-top:1px solid rgba(214,176,104,0.3); display:grid; gap:10px; font-size:0.92rem; color:rgba(255,255,255,0.85);}
.final-contact li{display:flex; align-items:center; gap:10px;}
.final-contact .ico{width:18px; height:18px; color:#D6B068; flex:none;}
.final-contact a{color:#fff;}
.final-more{margin-top:16px; font-size:0.88rem; color:rgba(255,255,255,0.7);}
.final-more a{color:#F3D9A4;}
.final-form .quick-form{background:var(--ivory); color:var(--ink); padding:clamp(20px, 3vw, 32px); border:1px solid rgba(214,176,104,0.6);}
.quick-form h3{margin:0 0 14px; font-family:'Cinzel', Georgia, serif; color:var(--navy); font-size:1.3rem;}
.quick-form textarea{min-height:90px;}
.quick-form input, .quick-form select, .quick-form textarea{min-height:46px;}
@media (max-width: 900px){ .final-grid{grid-template-columns:1fr;} }

/* ---- 14. compact footer ---- */
.site-footer{padding-top:48px !important;}
.site-footer .footer-grid{gap:24px 32px !important;}
.site-footer .footer-base{margin-top:28px !important; padding-top:16px !important; padding-bottom:20px !important;}
.site-footer ul{margin-top:8px !important;}
.site-footer li{margin:4px 0 !important;}

@media (prefers-reduced-motion: reduce){
  .realm-card, .realm-card-media img, .quiz .quiz-progress span, .quiz-opt, .quiz-opt-tick, header.site-nav, header.site-nav .nav-inner{transition:none !important;}
  .faq-home details[open] .faq-a{animation:none;}
}

/* ---- v3 review fixes ---- */
.home-hero-inner{width:100%;}                                   /* text sits in the left column, clear of the surfer */
.home-hero-inner > *{max-width:560px;}
.qlog-photo picture{display:block;}
.qlog-photo img{height:auto !important; aspect-ratio:4 / 3 !important; object-fit:cover;}
.stay-ed-facts li{display:grid; grid-template-columns:80px 1fr; gap:8px; align-items:baseline;}
.stay-ed-facts span{min-width:0;}
.site-footer .footer-grid{display:grid !important; grid-template-columns:minmax(0, 1.6fr) repeat(4, minmax(0, 1fr)); align-items:start;}
.site-footer .footer-grid > div{min-width:0;}
.site-footer .footer-brand p{margin:12px 0 0; font-size:0.9rem;}
.site-footer .footer-brand address{margin-top:12px; font-size:0.86rem; line-height:1.6;}
@media (max-width: 1080px){ .site-footer .footer-grid{grid-template-columns:repeat(4, minmax(0, 1fr));} .site-footer .footer-brand{grid-column:1 / -1;} }
@media (max-width: 640px){ .site-footer .footer-grid{grid-template-columns:1fr 1fr;} }

/* phones + tablets: photo band on top (surfer visible), headline below on navy, so text never sits on the subject */
@media (max-width: 960px){
  .home-hero{display:block; min-height:0; background:#0B2236;}
  .home-hero-media{position:relative; inset:auto; height:min(46svh, 380px); min-height:250px;}
  .home-hero-media picture, .home-hero-media img{position:absolute; inset:0; width:100%; height:100%;}
  .home-hero-media img{object-position:56% 52%;}
  .home-hero-shade{inset:0 0 auto 0; height:min(46svh, 380px); min-height:250px;
    background:linear-gradient(180deg, rgba(6,26,44,0.6) 0%, rgba(6,26,44,0) 32%, rgba(6,26,44,0) 66%, #0B2236 100%);}
  .home-hero-inner{padding-top:4px; padding-bottom:44px;}
  .home-hero h1{margin-top:10px;}
}

/* small phones: hero fits one screen */
@media (max-width: 760px){
  .home-hero-media, .home-hero-shade{height:min(38svh, 320px); min-height:210px;}
  .home-hero h1{font-size:clamp(2.1rem, 9.5vw, 2.6rem);}
  .home-hero-lead{margin-top:14px; font-size:0.98rem; line-height:1.6;}
  .home-hero .hero-ctas{margin-top:20px; gap:10px;}
  .home-hero-trust{margin-top:18px;}
  .home-hero-inner{padding-bottom:32px;}
}
/* WhatsApp: hidden while the hero (with its own buttons) is on screen; never covers the last content */
.wa-float{transition:opacity .3s ease, transform .3s ease;}
body.at-hero .wa-float{opacity:0; transform:translateY(14px); pointer-events:none;}
@media (max-width: 760px){ .site-footer{padding-bottom:84px !important;} }
@media (prefers-reduced-motion: reduce){ .wa-float{transition:none;} }

/* mid widths (small laptops / landscape tablets): keep the full nav on one line */
@media (min-width: 761px) and (max-width: 1180px){
  .brand-text small{display:none;}
  #navMenu > a{padding-left:9px !important; padding-right:9px !important; letter-spacing:0.08em !important;}
  .nav-player a span{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0);}
  .nav-cta{white-space:nowrap; padding-left:16px !important; padding-right:16px !important;}
}
.nav-cta, #navMenu > a, .nav-player a{white-space:nowrap;}
/* narrow phones: WhatsApp becomes a compact round button so it covers less */
@media (max-width: 560px){
  .wa-float{width:52px; height:52px; padding:0 !important; justify-content:center; border-radius:50% !important;}
  .wa-float span{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0);}
}
.nav-player a{color:#fff;}
@media (min-width: 961px) and (max-width: 1180px){
  .home-hero-media img{object-position:30% 50%;}
  .home-hero-inner > *{max-width:470px;}
}

button.nav-register{background:none; border:none; cursor:pointer; font:inherit;}
.nav-register{font-family:'Rajdhani','Archivo',sans-serif !important; font-weight:700; letter-spacing:.1em; text-transform:uppercase; font-size:.85rem; color:#fff;}
.quest-gate.open{display:block; text-align:left; padding:14px 18px; margin-bottom:14px; background:rgba(255,255,255,.75); border:1px solid rgba(198,154,70,.45); border-radius:6px;}
.quest-gate.open p{margin:0; color:#2E4458;}
.quest-card .quest-facts{display:block; margin-top:6px; font-size:.8rem; color:var(--text-soft);}
