/* ============================================================
   GO DIVE CLUB — main.css v0.8.0
   Full overhaul: depth, spacing, legibility, conversion architecture
   All visual values in custom properties for easy modification.
   ============================================================ */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

/* Dark scrollbar */
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--void, #040506); }
::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.08); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: rgba(255,255,255,0.15); }
html { scrollbar-color: rgba(255,255,255,0.08) #040506; scrollbar-width: thin; }

/* Selection */
::selection { background: rgba(196,169,125,0.25); color: var(--white, #fff); }
::-moz-selection { background: rgba(196,169,125,0.25); color: #fff; }

/* ============================================================
   DESIGN TOKENS — Change these to change everything
   ============================================================ */
:root {
    /* ---- DEPTH PALETTE ---- */
    --void:     #040506;
    --deep-1:   #070a10;
    --deep-2:   #0c1019;
    --deep-3:   #111824;
    --deep-4:   #16202e;
    --deep-5:   #1c2838;
    --deep-6:   #223044;

    /* ---- ACCENT COLORS ---- */
    --sand:       #C4A97D;
    --sand-light: #D4BF9A;
    --sand-pale:  #E8DCC8;
    --coral:      #D4806E;
    --water:      #5BB4CF;
    --water-deep: #2D7A94;
    --seagreen:   #4ABFA0;

    /* ---- TEXT COLORS ---- */
    --white:       #F2F0EC;
    --white-soft:  #C0BCB4;
    --white-muted: #8A877F;
    --white-faint: #565349;
    --white-ghost: #2E2C28;

    /* ---- GLASS & SURFACES ---- */
    --glass-bg:     rgba(255,255,255,0.035);
    --glass-border: rgba(255,255,255,0.07);
    --glass-hover:  rgba(255,255,255,0.06);
    --glass-glow:   rgba(196,169,125,0.06);
    --glass-blur:   20px;
    --card-radius:  14px;
    --card-radius-lg: 20px;

    /* ---- ATMOSPHERIC ---- */
    --atmo-gold-opacity: 0.09;
    --atmo-blue-opacity: 0.07;
    --atmo-coral-opacity: 0.05;
    --grain-opacity: 0.04;

    /* ---- TYPOGRAPHY ---- */
    --heading: 'Cormorant Garamond', Georgia, serif;
    --body:    'Manrope', system-ui, sans-serif;
    --nav-size: 0.8125rem;
    --body-size: 0.9375rem;

    /* ---- SPACING ---- */
    --section-pad:  clamp(48px, 6vw, 80px);
    --section-pad-lg: clamp(56px, 8vw, 100px);
    --content-pad:  clamp(20px, 4vw, 56px);
    --content-max:  1560px;
    --header-height: 72px;

    /* ---- MOTION ---- */
    --ease:        cubic-bezier(0.16, 1, 0.3, 1);
    --ease-smooth: cubic-bezier(0.33, 1, 0.68, 1);
    --transition:  0.4s var(--ease);
}

/* ---- BASE ---- */
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; scroll-behavior: smooth; }
body { font-family: var(--body); color: var(--white-soft); background: var(--void); line-height: 1.65; overflow-x: hidden; font-size: var(--body-size); }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button { cursor: pointer; font-family: inherit; border: none; background: none; }
::selection { background: rgba(196,169,125,0.25); color: var(--white); }

/* ============================================================
   GLOBAL TEXTURE — Grain + Atmospheric Orbs
   ============================================================ */
#grain { position: fixed; inset: 0; z-index: 9999; pointer-events: none; opacity: var(--grain-opacity); mix-blend-mode: overlay; }
#grain canvas { width: 100%; height: 100%; }

.atmo { position: absolute; border-radius: 50%; filter: blur(100px); pointer-events: none; will-change: transform; }
.atmo-gold { background: radial-gradient(circle, rgba(196,169,125, var(--atmo-gold-opacity)) 0%, transparent 70%); }
.atmo-blue  { background: radial-gradient(circle, rgba(59,158,191, var(--atmo-blue-opacity)) 0%, transparent 70%); }
.atmo-coral { background: radial-gradient(circle, rgba(212,128,110, var(--atmo-coral-opacity)) 0%, transparent 70%); }

.caustic { position: absolute; width: 200%; height: 1px; background: linear-gradient(90deg, transparent 0%, rgba(196,169,125,0.05) 20%, rgba(196,169,125,0.09) 50%, rgba(196,169,125,0.05) 80%, transparent 100%); pointer-events: none; animation: causticDrift 22s ease-in-out infinite alternate; }
@keyframes causticDrift { 0%{transform:translateX(-20%) rotate(0.5deg)} 100%{transform:translateX(-10%) rotate(-0.3deg)} }
@keyframes floatSlow { 0%{transform:translate(0,0) scale(1)} 50%{transform:translate(25px,-15px) scale(1.08)} 100%{transform:translate(-15px,10px) scale(0.95)} }

/* ============================================================
   LOADER
   ============================================================ */
.loader { position: fixed; inset: 0; z-index: 10000; background: var(--void); display: flex; flex-direction: column; align-items: center; justify-content: center; transition: opacity 1s ease 0.2s, visibility 1s ease 0.2s; }
.loader.done { opacity: 0; visibility: hidden; pointer-events: none; }
.loader-line { width: 48px; height: 1px; background: var(--sand); margin-bottom: 24px; transform: scaleX(0); animation: lineGrow 1s var(--ease) 0.2s forwards; }
@keyframes lineGrow { to { transform: scaleX(1); } }
.loader-text { font-family: var(--heading); font-size: clamp(1.125rem,2vw,1.5rem); font-weight: 300; color: var(--sand); letter-spacing: 0.35em; text-transform: uppercase; opacity: 0; animation: loaderIn 2s ease 0.4s forwards; }
@keyframes loaderIn { 0%{opacity:0;letter-spacing:0.5em} 40%{opacity:1;letter-spacing:0.35em} 80%{opacity:1} 100%{opacity:0} }
.loader-sub { font-size: 0.625rem; letter-spacing: 0.2em; color: var(--white-faint); margin-top: 12px; opacity: 0; animation: loaderSubIn 1.5s ease 0.8s forwards; }
@keyframes loaderSubIn { 0%{opacity:0} 30%{opacity:0.5} 80%{opacity:0.5} 100%{opacity:0} }

/* ============================================================
   HEADER — Fixed, glassmorphism on scroll, auth-aware
   ============================================================ */
.header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; padding: 8px var(--content-pad) 0; height: var(--header-height); display: flex; align-items: center; transition: all 0.6s var(--ease); }
body.admin-bar .header { top: 32px; }
@media screen and (max-width: 782px) { body.admin-bar .header { top: 46px; } }
.header.scrolled { background: rgba(4,5,6,0.92); backdrop-filter: blur(40px) saturate(150%); -webkit-backdrop-filter: blur(40px) saturate(150%); box-shadow: 0 1px 0 rgba(255,255,255,0.05), 0 4px 24px rgba(0,0,0,0.3); }
.header-inner { display: flex; align-items: center; justify-content: space-between; width: 100%; max-width: var(--content-max); margin: 0 auto; }

/* Logo */
.logo-link { display: flex; align-items: center; gap: 10px; text-decoration: none; transition: opacity 0.3s ease; }
.logo-link:hover { opacity: 0.8; }
.logo-mark { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.logo-mark-sm { width: 28px; height: 28px; }
.logo-wordmark { font-family: var(--body); font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--white); }
.loader-logo { width: 64px; height: 64px; border-radius: 50%; margin-bottom: 16px; opacity: 0; animation: loaderFadeIn 0.6s ease forwards 0.2s; }
@keyframes loaderFadeIn { to { opacity: 1; } }
.footer-brand-header { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.footer-logo-mark { width: 28px; height: 28px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }

/* Nav links */
.nav { display: flex; align-items: center; gap: clamp(24px, 2.5vw, 40px); }
.nav a { font-size: var(--nav-size); font-weight: 500; color: var(--white-soft); letter-spacing: 0.04em; transition: all 0.3s ease; text-decoration: none; position: relative; }
.nav a::after { content: ''; position: absolute; bottom: -4px; left: 0; width: 0; height: 1px; background: var(--sand); transition: width 0.3s var(--ease); }
.nav a:hover { color: var(--white); }
.nav a:hover::after { width: 100%; }
.nav a:hover { color: var(--white); }
.nav a::after { content:''; position: absolute; bottom: -4px; left: 0; width: 0; height: 1px; background: var(--sand); transition: width 0.5s var(--ease); }
.nav a:hover::after { width: 100%; }

/* Auth section */
.header-auth { display: flex; align-items: center; gap: 16px; margin-left: 24px; }
.nav-auth-link { font-size: var(--nav-size); font-weight: 500; color: var(--white-soft); letter-spacing: 0.04em; transition: all 0.3s ease; position: relative; }
.nav-auth-link::after { content: ''; position: absolute; bottom: -3px; left: 0; width: 0; height: 1px; background: var(--sand); transition: width 0.3s var(--ease); }
.nav-auth-link:hover { color: var(--white); }
.nav-auth-link:hover::after { width: 100%; }
.nav-logout { opacity: 0.5; font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.08em; }
.nav-logout::after { display: none; }
.nav-logout:hover { opacity: 1; color: var(--white-muted); }
.header-auth { display: flex; align-items: center; gap: 20px; }
.nav-cta-account { font-size: 0.75rem; padding: 7px 18px; }
.nav-cta { color: var(--void) !important; background: var(--sand); padding: 10px 28px; border-radius: 100px; font-weight: 600; font-size: 0.75rem; letter-spacing: 0.06em; text-transform: uppercase; transition: all var(--transition); white-space: nowrap; }
.nav-cta:hover { background: var(--sand-light); transform: translateY(-1px); box-shadow: 0 8px 32px rgba(196,169,125,0.25); }

/* Hamburger */
.menu-btn { display: none; width: 28px; height: 20px; flex-direction: column; justify-content: space-between; z-index: 9999; }
.menu-btn span { display: block; width: 100%; height: 1.5px; background: var(--white); transition: all 0.3s ease; }

@media (max-width: 960px) {
    .nav, .header-auth { display: none; }
    .menu-btn { display: flex; }
}

/* ============================================================
   MOBILE NAV
   ============================================================ */
.mobile-nav { position: fixed; inset: 0; z-index: 9998; pointer-events: none; visibility: hidden; display: none; }
.mobile-nav.open { pointer-events: all; visibility: visible; display: block; }
.mobile-nav-bg { position: absolute; inset: 0; background: rgba(4,5,6,0.75); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); opacity: 0; transition: opacity 0.4s var(--ease); }
.mobile-nav.open .mobile-nav-bg { opacity: 1; }
.mobile-nav-panel { position: absolute; top: 0; right: 0; width: min(400px, 90vw); height: 100%; background: var(--deep-2); border-left: 1px solid rgba(255,255,255,0.06); display: flex; flex-direction: column; transform: translateX(100%); transition: transform 0.5s var(--ease); overflow-y: auto; }
.mobile-nav.open .mobile-nav-panel { transform: translateX(0); }
.mobile-nav-header { display: flex; align-items: center; justify-content: space-between; padding: 20px clamp(24px,5vw,36px); border-bottom: 1px solid rgba(255,255,255,0.05); }
.mobile-nav-close { color: var(--white-muted); font-size: 1.25rem; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%; transition: all 0.3s ease; }
.mobile-nav-close:hover { color: var(--white); background: rgba(255,255,255,0.04); }
.mobile-nav-links { flex: 1; padding: 20px 0; }
.mobile-nav-links a { display: block; padding: 14px clamp(24px,5vw,36px); font-size: 1rem; font-weight: 500; color: var(--white-soft); letter-spacing: 0.01em; transition: all 0.3s ease; border-left: 2px solid transparent; }
.mobile-nav-links a:hover { color: var(--white); background: rgba(255,255,255,0.02); border-left-color: var(--sand); }
.mobile-nav-auth { padding: 8px clamp(24px,5vw,36px) 24px; }
.mobile-nav-footer { padding: 20px clamp(24px,5vw,36px) 32px; border-top: 1px solid rgba(255,255,255,0.04); }
.mobile-nav-footer p { font-size: 0.75rem; color: var(--white-faint); line-height: 1.6; }

/* ============================================================
   HERO
   ============================================================ */
.hero { position: relative; height: 100vh; min-height: 680px; max-height: 1100px; overflow: hidden; display: flex; align-items: flex-end; }
.hero-media { position: absolute; inset: -5%; width: 110%; height: 110%; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; transform: scale(1.05); animation: heroBreath 30s var(--ease-smooth) forwards; filter: saturate(1.1) brightness(0.88); }
@keyframes heroBreath { 0%{transform:scale(1.05) translateY(0)} 100%{transform:scale(1) translateY(-1%)} }
.hero-noise { position: absolute; inset: 0; opacity: 0.06; mix-blend-mode: overlay; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); pointer-events: none; }
.hero-gradient { position: absolute; inset: 0; background: linear-gradient(to top, var(--void) 0%, rgba(4,5,6,0.85) 20%, rgba(4,5,6,0.2) 50%, transparent 70%), linear-gradient(to right, rgba(4,5,6,0.6) 0%, rgba(4,5,6,0.1) 50%, transparent 65%), linear-gradient(to bottom, rgba(4,5,6,0.35) 0%, transparent 15%); }
.hero-atmo-1 { width: 600px; height: 600px; top: 10%; right: -5%; animation: floatSlow 25s ease-in-out infinite alternate; }
.hero-atmo-2 { width: 400px; height: 400px; bottom: 25%; left: 10%; animation: floatSlow 20s ease-in-out infinite alternate-reverse; }
.hero-caustic-1 { top: 35%; transform: rotate(1deg); }
.hero-caustic-2 { top: 58%; transform: rotate(-0.5deg); animation-delay: -8s; animation-duration: 28s; }
.hero-content { position: relative; z-index: 3; padding: 0 var(--content-pad); padding-bottom: clamp(48px,7vh,80px); max-width: var(--content-max); width: 100%; margin: 0 auto; }
.hero-tag { display: inline-flex; align-items: center; gap: 12px; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--sand); margin-bottom: 24px; opacity: 0; transform: translateY(24px); animation: slideUp 0.9s var(--ease) 2s forwards; }
.hero-tag-line { width: 32px; height: 1px; background: var(--sand); opacity: 0.5; }
.hero h1 { font-family: var(--heading); font-weight: 300; font-size: clamp(3rem,7.5vw,6.5rem); line-height: 0.96; letter-spacing: -0.025em; color: var(--white); max-width: 780px; opacity: 0; transform: translateY(40px); animation: slideUp 1.1s var(--ease) 2.2s forwards; }
.hero h1 em { font-style: italic; color: var(--sand-light); }
.hero-desc { font-size: clamp(0.9rem,1.2vw,1.0625rem); color: var(--white-soft); max-width: 440px; margin-top: 20px; line-height: 1.7; opacity: 0; transform: translateY(24px); animation: slideUp 0.9s var(--ease) 2.5s forwards; }
.hero-actions { margin-top: 40px; display: flex; gap: 16px; flex-wrap: wrap; opacity: 0; transform: translateY(24px); animation: slideUp 0.9s var(--ease) 2.7s forwards; }
.hero-scroll { position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%); z-index: 3; display: flex; flex-direction: column; align-items: center; gap: 12px; opacity: 0; animation: slideUp 0.8s var(--ease) 3.2s forwards; }
.hero-scroll-text { font-size: 0.5625rem; letter-spacing: 0.25em; text-transform: uppercase; color: var(--white-muted); }
.hero-scroll-bar { width: 1px; height: 48px; position: relative; overflow: hidden; background: rgba(255,255,255,0.06); }
.hero-scroll-bar::after { content:''; position: absolute; top: -100%; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom, transparent, var(--sand)); animation: scrollBar 2.5s ease-in-out infinite; }
@keyframes scrollBar { 0%{top:-100%;opacity:0} 20%{opacity:1} 50%{top:0;opacity:1} 80%{opacity:0} 100%{top:100%;opacity:0} }

/* ============================================================
   BUTTONS
   ============================================================ */
.btn { display: inline-flex; align-items: center; gap: 10px; font-family: var(--body); font-weight: 600; border-radius: 100px; cursor: pointer; transition: all var(--transition); white-space: nowrap; position: relative; overflow: hidden; }
.btn-primary { background: var(--sand); color: var(--void); padding: 15px 36px; font-size: 0.8125rem; letter-spacing: 0.04em; }
.btn-primary::before { content:''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent); transition: left 0.6s ease; }
.btn-primary:hover::before { left: 100%; }
.btn-primary:hover { background: var(--sand-light); transform: translateY(-2px); box-shadow: 0 16px 48px rgba(196,169,125,0.25); }
.btn-outline { background: transparent; color: var(--white); padding: 14px 32px; font-size: 0.8125rem; letter-spacing: 0.04em; border: 1px solid rgba(255,255,255,0.18); }
.btn-outline:hover { border-color: rgba(255,255,255,0.4); background: rgba(255,255,255,0.05); }
.btn-text { color: var(--sand); font-size: 0.8125rem; letter-spacing: 0.04em; padding: 0; background: none; font-weight: 600; }
.btn-text::after { content:'→'; display: inline-block; margin-left: 6px; transition: transform 0.3s var(--ease); }
.btn-text:hover { color: var(--sand-light); }
.btn-text:hover::after { transform: translateX(5px); }

/* ============================================================
   SOCIAL PROOF STRIP — Trust bar after hero
   ============================================================ */
.proof-strip { position: relative; padding: 18px var(--content-pad); background: var(--deep-2); border-bottom: 1px solid rgba(255,255,255,0.04); }
.proof-strip-inner { max-width: var(--content-max); margin: 0 auto; display: flex; align-items: center; justify-content: center; gap: clamp(20px,4vw,48px); flex-wrap: wrap; }
.proof-item { display: flex; align-items: center; gap: 10px; font-size: 0.75rem; font-weight: 500; color: var(--white-muted); letter-spacing: 0.03em; }
.proof-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--sand); opacity: 0.5; box-shadow: 0 0 10px rgba(196,169,125,0.3); }

/* ============================================================
   STATEMENT
   ============================================================ */
.statement { position: relative; padding: var(--section-pad) var(--content-pad); max-width: var(--content-max); margin: 0 auto; overflow: hidden; }
.statement-atmo { width: 500px; height: 500px; top: -80px; right: -100px; animation: floatSlow 30s ease-in-out infinite alternate; }
.statement p { font-family: var(--heading); font-size: clamp(2rem,4.5vw,4rem); font-weight: 300; line-height: 1.2; max-width: 1000px; letter-spacing: -0.01em; position: relative; z-index: 1; }
.statement .word { display: inline-block; color: var(--white-ghost); transition: color 0.6s ease, text-shadow 0.6s ease; }
.statement .word.lit { color: var(--white); }
.statement .word.accent.lit { color: var(--sand); text-shadow: 0 0 60px rgba(196,169,125,0.15); }

/* ============================================================
   THREAD DIVIDER
   ============================================================ */
.thread { position: relative; padding: 0 var(--content-pad); max-width: var(--content-max); margin: 0 auto; height: 1px; }
.thread::after { content:''; display: block; width: 100%; height: 1px; background: linear-gradient(to right, transparent 0%, rgba(196,169,125,0.1) 15%, rgba(196,169,125,0.15) 50%, rgba(196,169,125,0.1) 85%, transparent 100%); }
.thread::before { content:''; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 5px; height: 5px; background: var(--sand); border-radius: 50%; box-shadow: 0 0 20px rgba(196,169,125,0.35), 0 0 60px rgba(196,169,125,0.12); }

/* ============================================================
   SECTION UTILITIES
   ============================================================ */
.section-eyebrow { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--sand); margin-bottom: 14px; display: flex; align-items: center; gap: 12px; }
.section-eyebrow::before { content:''; width: 24px; height: 1px; background: var(--sand); opacity: 0.5; }
.section-title { font-family: var(--heading); font-size: clamp(1.875rem,3.5vw,3rem); font-weight: 300; color: var(--white); line-height: 1.12; letter-spacing: -0.01em; }
.section-title em { font-style: italic; color: var(--sand-light); }
.section-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: clamp(24px,3.5vw,40px); flex-wrap: wrap; gap: 20px; }

/* ============================================================
   EXPERIENCE CARDS
   ============================================================ */
.experiences { position: relative; padding: clamp(28px,4vw,48px) var(--content-pad) var(--section-pad); max-width: var(--content-max); margin: 0 auto; }
.exp-layout { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .exp-layout { grid-template-columns: 1.3fr 1fr; grid-template-rows: 1fr 1fr; min-height: 72vh; } .exp-card:first-child { grid-row: 1/3; } }
.exp-card { position: relative; border-radius: var(--card-radius); overflow: hidden; cursor: pointer; min-height: 320px; background: var(--deep-2); }
.exp-card::before { content:''; position: absolute; inset: 0; z-index: 3; border-radius: var(--card-radius); box-shadow: inset 0 0 0 1px var(--glass-border); pointer-events: none; }
.exp-card-media { position: absolute; inset: 0; }
.exp-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease), filter 1.2s var(--ease); will-change: transform; filter: saturate(0.9); }
.exp-card:hover .exp-card-media img { transform: scale(1.05); filter: saturate(1.1); }
.exp-card-gradient { position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(4,5,6,0.94) 0%, rgba(4,5,6,0.45) 35%, transparent 65%); }
.exp-card-noise { position: absolute; inset: 0; z-index: 2; opacity: 0.04; mix-blend-mode: overlay; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); pointer-events: none; }
.exp-card-body { position: absolute; bottom: 0; left: 0; right: 0; padding: clamp(24px,3vw,36px); z-index: 4; }
.exp-card-loc { font-size: 0.625rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--sand); margin-bottom: 8px; }
.exp-card h3 { font-family: var(--heading); font-size: clamp(1.25rem,2vw,1.75rem); font-weight: 400; color: var(--white); line-height: 1.2; margin-bottom: 12px; }
.exp-card-info { display: flex; align-items: center; gap: 14px; font-size: 0.75rem; color: var(--white-muted); }
.exp-card-price { font-weight: 600; color: var(--white); font-size: 0.8125rem; }
.exp-card-sep { width: 3px; height: 3px; border-radius: 50%; background: var(--white-faint); }
.exp-card-link { position: absolute; top: clamp(16px,2vw,24px); right: clamp(16px,2vw,24px); width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,0.08); backdrop-filter: blur(var(--glass-blur)); -webkit-backdrop-filter: blur(var(--glass-blur)); border: 1px solid rgba(255,255,255,0.1); display: flex; align-items: center; justify-content: center; color: var(--white); font-size: 1rem; opacity: 0; transform: scale(0.8) rotate(-45deg); transition: all 0.5s var(--ease); z-index: 5; }
.exp-card:hover .exp-card-link { opacity: 1; transform: scale(1) rotate(0deg); }
.exp-card-link::after { content: ''; position: absolute; inset: 0; z-index: 3; }

/* ============================================================
   DESTINATIONS GALLERY
   ============================================================ */
.destinations { position: relative; padding: var(--section-pad-lg) 0 var(--section-pad); overflow: hidden; background: linear-gradient(180deg, var(--void) 0%, var(--deep-2) 30%, var(--deep-3) 50%, var(--deep-2) 85%, var(--void) 100%); }
.destinations-header { padding: 0 var(--content-pad); max-width: var(--content-max); margin: 0 auto clamp(24px,3.5vw,40px); display: flex; justify-content: space-between; align-items: flex-end; flex-wrap: wrap; gap: 24px; }
.dest-track-wrap { position: relative; width: 100%; mask-image: linear-gradient(to right, transparent 0%, black 4%, black 96%, transparent 100%); -webkit-mask-image: linear-gradient(to right, transparent 0%, black 4%, black 96%, transparent 100%); }
.dest-track { display: flex; gap: 16px; padding: 0 var(--content-pad); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -ms-overflow-style: none; scroll-behavior: smooth; cursor: grab; }
.dest-track::-webkit-scrollbar { display: none; }
.dest-track:active { cursor: grabbing; }
.dest-card { flex: 0 0 auto; width: clamp(250px,20vw,300px); aspect-ratio: 3/4; border-radius: var(--card-radius); overflow: hidden; position: relative; scroll-snap-align: start; transition: transform 0.5s var(--ease); }
.dest-card:hover { transform: translateY(-5px); }
.dest-card img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s var(--ease), filter 0.8s ease; filter: saturate(0.85) brightness(0.88); }
.dest-card:hover img { transform: scale(1.06); filter: saturate(1.1) brightness(0.95); }
.dest-card::before { content:''; position: absolute; inset: 0; z-index: 2; border-radius: var(--card-radius); box-shadow: inset 0 0 0 1px var(--glass-border); pointer-events: none; }
.dest-card-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(to top, rgba(4,5,6,0.9) 0%, rgba(4,5,6,0.2) 40%, transparent 100%); }
.dest-card-body { position: absolute; bottom: 0; left: 0; right: 0; padding: 24px; z-index: 3; }
.dest-card-region { font-size: 0.5625rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--sand); opacity: 0.8; margin-bottom: 6px; }
.dest-card-name { font-family: var(--heading); font-size: 1.25rem; font-weight: 400; color: var(--white); line-height: 1.2; }
.dest-card-count { font-size: 0.6875rem; color: var(--white-muted); margin-top: 6px; }
.dest-dots { display: flex; justify-content: center; gap: 8px; margin-top: 28px; padding: 0 24px; }
.dest-dot { width: 32px; height: 2px; border-radius: 1px; background: var(--white-faint); transition: all 0.4s ease; cursor: pointer; }
.dest-dot.active { background: var(--sand); width: 48px; }
a.dest-card { text-decoration: none; color: inherit; display: block; }
a.dest-card:hover .dest-card-name { color: var(--sand-light); }

/* ============================================================
   IMAGE BAND
   ============================================================ */
.image-band { position: relative; height: 55vh; min-height: 380px; overflow: hidden; }
.image-band-media { position: absolute; inset: -20% 0; height: 140%; }
.image-band-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(1.15) brightness(0.78); }
.image-band-overlay { position: absolute; inset: 0; background: linear-gradient(to top, var(--void) 0%, transparent 25%), linear-gradient(to bottom, var(--void) 0%, transparent 25%), rgba(4,5,6,0.35); }
.image-band-noise { position: absolute; inset: 0; opacity: 0.06; mix-blend-mode: overlay; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.6' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); pointer-events: none; }
.image-band-particles { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.particle { position: absolute; width: 2px; height: 2px; background: rgba(255,255,255,0.4); border-radius: 50%; animation: particleFloat linear infinite; }
@keyframes particleFloat { 0%{transform:translateY(100%) translateX(0);opacity:0} 10%{opacity:1} 90%{opacity:1} 100%{transform:translateY(-100vh) translateX(20px);opacity:0} }
.image-band-content { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; z-index: 3; text-align: center; padding: 0 24px; }
.image-band-content blockquote { font-family: var(--heading); font-size: clamp(1.5rem,3.5vw,2.75rem); font-weight: 300; font-style: italic; color: var(--white); line-height: 1.3; max-width: 680px; text-shadow: 0 2px 40px rgba(0,0,0,0.3); }
.image-band-content cite { display: block; margin-top: 20px; font-family: var(--body); font-style: normal; font-size: 0.625rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--sand); }

/* ============================================================
   STANDARD (Inclusions grid)
   ============================================================ */
.standard { position: relative; padding: var(--section-pad) var(--content-pad); max-width: var(--content-max); margin: 0 auto; }
.standard-atmo { width: 600px; height: 600px; bottom: -200px; left: -200px; animation: floatSlow 35s ease-in-out infinite alternate; }
.standard-grid { display: grid; grid-template-columns: 1fr; gap: 0; margin-top: clamp(28px,4vw,44px); border-top: 1px solid rgba(255,255,255,0.06); position: relative; z-index: 1; }
@media (min-width: 768px) { .standard-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1200px) { .standard-grid { grid-template-columns: repeat(4,1fr); } }
.standard-item { padding: clamp(24px,3vw,40px) clamp(20px,2.5vw,36px); border-bottom: 1px solid rgba(255,255,255,0.05); border-right: 1px solid rgba(255,255,255,0.05); transition: all 0.5s ease; position: relative; }
.standard-item::after { content:''; position: absolute; bottom: 0; left: 10%; right: 10%; height: 1px; background: var(--sand); transform: scaleX(0); transition: transform 0.6s var(--ease); }
.standard-item:hover::after { transform: scaleX(1); }
.standard-item:hover { background: rgba(196,169,125,0.03); }
.standard-icon { font-size: 1.375rem; margin-bottom: 16px; display: block; }
.standard-item h4 { font-family: var(--heading); font-size: 1.0625rem; font-weight: 400; color: var(--white); margin-bottom: 6px; }
.standard-item p { font-size: 0.8125rem; color: var(--white-muted); line-height: 1.6; }

/* ============================================================
   PATHS
   ============================================================ */
.paths { position: relative; padding: var(--section-pad-lg) var(--content-pad); background: linear-gradient(180deg, var(--deep-2) 0%, var(--deep-3) 50%, var(--deep-2) 100%); overflow: hidden; }
.paths::before, .paths::after { content:''; position: absolute; left: 0; right: 0; height: 1px; background: linear-gradient(to right, transparent 0%, rgba(196,169,125,0.1) 30%, rgba(196,169,125,0.1) 70%, transparent 100%); }
.paths::before { top: 0; } .paths::after { bottom: 0; }
.paths-inner { max-width: var(--content-max); margin: 0 auto; position: relative; z-index: 1; }
.paths-atmo { width: 500px; height: 500px; top: -150px; right: -150px; animation: floatSlow 28s ease-in-out infinite alternate-reverse; }
.paths-grid { display: grid; grid-template-columns: 1fr; gap: 1px; margin-top: clamp(28px,4vw,44px); background: rgba(255,255,255,0.03); }
@media (min-width: 768px) { .paths-grid { grid-template-columns: repeat(2,1fr); } }
@media (min-width: 1200px) { .paths-grid { grid-template-columns: repeat(4,1fr); } }
.path-card { padding: clamp(32px,4vw,48px) clamp(24px,3vw,36px); background: var(--deep-2); cursor: pointer; transition: all 0.5s var(--ease); position: relative; overflow: hidden; text-decoration: none; display: block; }
.path-card::before { content:''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--sand), var(--sand-light)); transform: scaleX(0); transform-origin: left; transition: transform 0.7s var(--ease); }
.path-card:hover::before { transform: scaleX(1); }
.path-card:hover { background: var(--deep-3); }
.path-card-num { position: absolute; top: 16px; right: 16px; font-family: var(--heading); font-size: 3.5rem; font-weight: 300; color: var(--white); opacity: 0.03; line-height: 1; transition: opacity 0.5s ease; }
.path-card:hover .path-card-num { opacity: 0.06; }
.path-for { font-size: 0.5625rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--sand); margin-bottom: 16px; }
.path-card h3 { font-family: var(--heading); font-size: clamp(1.125rem,1.8vw,1.375rem); font-weight: 400; color: var(--white); line-height: 1.25; margin-bottom: 10px; }
.path-card p { font-size: 0.8125rem; color: var(--white-muted); line-height: 1.6; margin-bottom: 20px; }
.path-link { font-size: 0.75rem; color: var(--sand); font-weight: 500; letter-spacing: 0.04em; display: inline-flex; align-items: center; gap: 8px; transition: gap var(--transition); }
.path-card:hover .path-link { gap: 16px; }

/* ============================================================
   TRUST
   ============================================================ */
/* HOME REVIEWS */
.home-reviews { padding: var(--section-pad-lg) var(--content-pad); background: var(--void); }
.home-reviews-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; max-width: var(--content-max); margin: clamp(28px,4vw,44px) auto 0; }
@media (max-width: 768px) { .home-reviews-grid { grid-template-columns: 1fr; } }
@media (min-width: 1200px) { .home-reviews-grid { grid-template-columns: repeat(4, 1fr); } }
.home-review-card { background: rgba(255,255,255,0.015); border: 1px solid rgba(255,255,255,0.04); border-radius: 12px; padding: 28px; display: flex; flex-direction: column; }
.home-review-stars { color: var(--sand); font-size: 0.75rem; letter-spacing: 2px; margin-bottom: 12px; }
.home-review-highlight { font-family: var(--heading); font-size: 0.9375rem; font-weight: 300; color: var(--white); font-style: italic; line-height: 1.4; margin-bottom: 10px; }
.home-review-text { font-size: 0.8125rem; color: var(--white-muted); line-height: 1.65; flex: 1; margin-bottom: 16px; }
.home-review-meta { display: flex; flex-direction: column; gap: 2px; }
.home-review-author { font-size: 0.75rem; color: var(--white-faint); font-weight: 500; }
.home-review-exp { font-size: 0.6875rem; color: var(--sand); text-decoration: none; opacity: 0.7; }
.home-review-exp:hover { opacity: 1; }

.trust { position: relative; padding: var(--section-pad-lg) var(--content-pad); text-align: center; overflow: hidden; }
.trust-atmo { width: 400px; height: 400px; top: -50px; left: 50%; transform: translateX(-50%); animation: floatSlow 22s ease-in-out infinite alternate; }
.trust-inner { max-width: 640px; margin: 0 auto; position: relative; z-index: 1; }
.trust-badge { width: 52px; height: 52px; border-radius: 50%; border: 1px solid rgba(196,169,125,0.2); display: flex; align-items: center; justify-content: center; margin: 0 auto 28px; font-size: 0.9rem; color: var(--sand); box-shadow: 0 0 40px rgba(196,169,125,0.08); }
.trust h2 { font-family: var(--heading); font-size: clamp(1.625rem,3vw,2.5rem); font-weight: 300; color: var(--white); line-height: 1.15; margin-bottom: 16px; }
.trust p { font-size: 0.9375rem; color: var(--white-soft); line-height: 1.7; margin-bottom: 32px; }
.trust-facts { display: flex; justify-content: center; gap: clamp(16px,3.5vw,40px); flex-wrap: wrap; padding-top: 28px; border-top: 1px solid rgba(255,255,255,0.06); font-size: 0.75rem; color: var(--white-muted); }
.trust-fact { display: flex; align-items: center; gap: 8px; }
.trust-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--sand); opacity: 0.5; box-shadow: 0 0 8px rgba(196,169,125,0.3); }

/* ============================================================
   JOIN BAND — Conversion section
   ============================================================ */
.join-band { position: relative; padding: var(--section-pad) var(--content-pad); overflow: hidden; background: linear-gradient(180deg, var(--void) 0%, var(--deep-3) 50%, var(--void) 100%); border-top: 1px solid rgba(196,169,125,0.06); border-bottom: 1px solid rgba(196,169,125,0.06); }
.join-band-inner { max-width: 900px; margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: 40px; position: relative; z-index: 1; }
@media (min-width: 768px) { .join-band-inner { grid-template-columns: 1fr 1fr; align-items: center; } }
.join-band-content h2 { font-family: var(--heading); font-size: clamp(1.75rem,3vw,2.5rem); font-weight: 300; color: var(--white); line-height: 1.15; margin-bottom: 16px; }
.join-band-content h2 em { font-style: italic; color: var(--sand-light); }
.join-band-content p { font-size: 0.9375rem; color: var(--white-soft); line-height: 1.7; }
.join-band-card { background: var(--glass-bg); border: 1px solid var(--glass-border); border-radius: var(--card-radius-lg); padding: clamp(28px,4vw,40px); backdrop-filter: blur(var(--glass-blur)); -webkit-backdrop-filter: blur(var(--glass-blur)); }
.join-band-card h3 { font-family: var(--heading); font-size: 1.375rem; font-weight: 400; color: var(--white); margin-bottom: 16px; }
.join-perks { list-style: none; margin-bottom: 24px; }
.join-perks li { font-size: 0.8125rem; color: var(--white-soft); padding: 8px 0 8px 24px; position: relative; line-height: 1.5; }
.join-perks li::before { content:'✦'; position: absolute; left: 0; color: var(--sand); font-size: 0.6875rem; }
.join-band-card .btn { width: 100%; justify-content: center; }

/* ============================================================
   CTA BAND
   ============================================================ */
.cta-band { position: relative; padding: clamp(64px,10vw,120px) var(--content-pad); text-align: center; overflow: hidden; }
.cta-band-bg { position: absolute; inset: 0; background: radial-gradient(ellipse 70% 50% at 50% 110%, rgba(196,169,125,0.1) 0%, transparent 60%), radial-gradient(ellipse 50% 40% at 50% 100%, rgba(196,169,125,0.06) 0%, transparent 50%), var(--void); }
.cta-glow { position: absolute; bottom: -150px; left: 50%; transform: translateX(-50%); width: 600px; height: 300px; border-radius: 50%; background: radial-gradient(circle, rgba(196,169,125,0.08) 0%, transparent 70%); animation: glowPulse 6s ease-in-out infinite; }
@keyframes glowPulse { 0%,100%{opacity:0.5;transform:translateX(-50%) scale(1)} 50%{opacity:1;transform:translateX(-50%) scale(1.15)} }
.cta-band-content { position: relative; z-index: 2; max-width: 580px; margin: 0 auto; }
.cta-band h2 { font-family: var(--heading); font-size: clamp(2rem,4.5vw,3.5rem); font-weight: 300; font-style: italic; color: var(--white); line-height: 1.1; margin-bottom: 20px; }
.cta-band p { font-size: 0.9375rem; color: var(--white-soft); margin-bottom: 36px; line-height: 1.65; }

/* ============================================================
   FOOTER
   ============================================================ */
.footer { padding: 48px var(--content-pad) 40px; border-top: 1px solid rgba(255,255,255,0.05); background: var(--void); }
.footer-inner { max-width: var(--content-max); margin: 0 auto; }
/* Newsletter */
.footer-newsletter { text-align: center; padding-bottom: 48px; margin-bottom: 48px; border-bottom: 1px solid rgba(255,255,255,0.04); }
.footer-newsletter h4 { font-family: var(--heading); font-size: clamp(1.125rem,1.8vw,1.375rem); font-weight: 300; color: var(--white); margin: 0 0 20px; }
.footer-nl-form { display: flex; gap: 8px; max-width: 420px; margin: 0 auto; }
.footer-nl-form input[type="email"] { flex: 1; padding: 12px 16px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; color: var(--white); font-size: 0.875rem; font-family: var(--body); outline: none; }
.footer-nl-form input:focus { border-color: var(--sand); }
.footer-nl-form .btn { white-space: nowrap; }
.footer-nl-success { font-size: 0.875rem; color: var(--white-soft); }
.footer-nl-note { font-size: 0.6875rem; color: var(--white-faint); margin: 12px 0 0; }
@media (max-width: 500px) { .footer-nl-form { flex-direction: column; } }

.footer-grid { display: grid; grid-template-columns: 2.5fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 56px; }
@media (max-width: 900px) { .footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 500px) { .footer-grid { grid-template-columns: 1fr; } }
.footer-brand { max-width: 320px; }
.footer-brand-name { font-family: var(--body); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; color: var(--white); margin-bottom: 0; }
.footer-brand p { font-size: 0.8125rem; color: var(--white-muted); line-height: 1.65; }
.footer-col h5 { font-size: 0.5625rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--white-faint); margin-bottom: 18px; }
.footer-col a { display: block; font-size: 0.8125rem; color: var(--white-muted); padding: 5px 0; transition: color 0.3s ease; }
.footer-col a:hover { color: var(--white); }
.footer-bottom { padding-top: 24px; border-top: 1px solid rgba(255,255,255,0.04); display: flex; justify-content: space-between; font-size: 0.6875rem; color: var(--white-faint); }
@media (max-width: 500px) { .footer-bottom { flex-direction: column; gap: 8px; } }

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
.r { opacity: 0; transform: translateY(40px); transition: opacity 0.8s var(--ease), transform 1s var(--ease); }
.r.v { opacity: 1; transform: translateY(0); }
.r-d1{transition-delay:.06s} .r-d2{transition-delay:.12s} .r-d3{transition-delay:.18s} .r-d4{transition-delay:.24s}
.r-d5{transition-delay:.3s} .r-d6{transition-delay:.36s} .r-d7{transition-delay:.42s} .r-d8{transition-delay:.48s}
@keyframes slideUp { from{opacity:0;transform:translateY(24px)} to{opacity:1;transform:translateY(0)} }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } .r { opacity: 1; transform: none; } }

/* ============================================================
   SINGLE EXPERIENCE — Trip Detail Page
   ============================================================ */
.se-hero { position: relative; height: 85vh; min-height: 580px; overflow: hidden; display: flex; align-items: flex-end; }
.se-hero-media { position: absolute; inset: -5%; width: 110%; height: 110%; }
.se-hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; filter: saturate(1.1) brightness(0.85); animation: heroBreath 30s var(--ease-smooth) forwards; }
.se-hero-gradient { position: absolute; inset: 0; background: linear-gradient(to top, var(--void) 0%, rgba(4,5,6,0.75) 24%, rgba(4,5,6,0.15) 50%, transparent 70%), linear-gradient(to right, rgba(4,5,6,0.5) 0%, transparent 55%); }
.se-hero-atmo-1 { width: 500px; height: 500px; top: 15%; right: -5%; animation: floatSlow 25s ease-in-out infinite alternate; }
.se-hero-atmo-2 { width: 350px; height: 350px; bottom: 20%; left: 5%; animation: floatSlow 20s ease-in-out infinite alternate-reverse; }
.se-hero-content { position: relative; z-index: 3; padding: 0 var(--content-pad); padding-bottom: clamp(36px,6vh,72px); max-width: var(--content-max); width: 100%; margin: 0 auto; }
.se-hero-loc { display: inline-flex; align-items: center; gap: 12px; font-size: 0.625rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--sand); margin-bottom: 16px; opacity: 0; transform: translateY(20px); animation: slideUp 0.8s var(--ease) 0.8s forwards; }
.se-hero-loc-line { width: 28px; height: 1px; background: var(--sand); opacity: 0.5; }
.se-hero h1 { font-family: var(--heading); font-weight: 300; font-size: clamp(2.25rem,5.5vw,5rem); line-height: 1; letter-spacing: -0.02em; color: var(--white); max-width: 700px; opacity: 0; transform: translateY(32px); animation: slideUp 1s var(--ease) 1s forwards; }
.se-hero-meta { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-top: 20px; font-size: 0.8125rem; color: var(--white-soft); opacity: 0; transform: translateY(20px); animation: slideUp 0.8s var(--ease) 1.3s forwards; }
.se-hero-meta-sep { width: 3px; height: 3px; border-radius: 50%; background: var(--white-faint); }
.se-hero-meta-item { font-weight: 400; }
.se-hero-actions { display: flex; align-items: center; gap: 20px; flex-wrap: wrap; margin-top: 32px; opacity: 0; transform: translateY(20px); animation: slideUp 0.8s var(--ease) 1.5s forwards; }
.se-hero-host { display: flex; align-items: center; gap: 12px; }
.se-hero-host-img { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; border: 2px solid rgba(255,255,255,0.15); }
.se-hero-host-text { font-size: 0.8125rem; color: var(--white-soft); }
.se-hero-host-text strong { color: var(--white); font-weight: 600; }
.se-share-btn { display: flex; align-items: center; gap: 6px; padding: 8px 16px; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); border-radius: 100px; color: var(--white-soft); font-size: 0.75rem; font-weight: 500; cursor: pointer; transition: all 0.2s; }
.se-share-btn:hover { background: rgba(255,255,255,0.1); color: var(--white); }
.se-share-btn svg { flex-shrink: 0; }

/* Sub-Nav */
.se-subnav { position: sticky; top: 0; z-index: 100; background: rgba(10,15,20,0.92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid rgba(255,255,255,0.04); transform: translateY(-100%); opacity: 0; transition: transform 0.3s ease, opacity 0.3s ease; }
.se-subnav.visible { transform: translateY(0); opacity: 1; }
.se-subnav-inner { max-width: var(--content-max); margin: 0 auto; padding: 0 var(--content-pad); display: flex; align-items: center; gap: 4px; overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none; }
.se-subnav-inner::-webkit-scrollbar { display: none; }
.se-subnav-link { padding: 14px 16px; font-size: 0.75rem; font-weight: 500; color: var(--white-faint); text-decoration: none; white-space: nowrap; border-bottom: 2px solid transparent; transition: color 0.2s, border-color 0.2s; }
.se-subnav-link:hover { color: var(--white); }
.se-subnav-link.active { color: var(--sand); border-bottom-color: var(--sand); }
.se-subnav-cta { margin-left: auto; color: var(--void); background: var(--sand); border-radius: 6px; padding: 8px 18px; border-bottom: none; font-weight: 600; }
.se-subnav-cta:hover { background: var(--sand-light); color: var(--void); }

/* Mobile Sticky CTA */
.se-mobile-cta { display: none; }
@media (max-width: 768px) {
    .se-mobile-cta { position: fixed; bottom: 0; left: 0; right: 0; z-index: 9980; background: rgba(10,15,20,0.95); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-top: 1px solid rgba(255,255,255,0.06); padding: 12px 20px; display: flex; align-items: center; justify-content: space-between; transform: translateY(100%); opacity: 0; transition: transform 0.3s ease, opacity 0.3s ease; }
    .se-mobile-cta.visible { transform: translateY(0); opacity: 1; }
    .se-mobile-cta-info { display: flex; align-items: baseline; gap: 2px; }
    .se-mobile-cta-price { font-family: var(--heading); font-size: 1.25rem; color: var(--white); font-weight: 400; }
    .se-mobile-cta-per { font-size: 0.75rem; color: var(--white-faint); }
    .se-mobile-cta-btn { padding: 10px 24px; font-size: 0.8125rem; white-space: nowrap; }
    .gdc-wa-btn { bottom: 72px; }
}

/* SE Intro */
.se-intro { padding: var(--section-pad) var(--content-pad); max-width: var(--content-max); margin: 0 auto; }
.se-intro-inner { display: grid; grid-template-columns: 1fr; gap: 48px; }
@media (min-width: 900px) { .se-intro-inner { grid-template-columns: 1.5fr 1fr; gap: 72px; } }
.se-intro-lead { font-family: var(--heading); font-size: clamp(1.375rem,2.2vw,1.875rem); font-weight: 300; font-style: italic; color: var(--white); line-height: 1.35; margin-bottom: 28px; }
.se-intro-body { font-size: var(--body-size); color: var(--white-soft); line-height: 1.75; }
.se-intro-body p { margin-bottom: 20px; }
.se-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
.se-tag { font-size: 0.6875rem; font-weight: 500; letter-spacing: 0.04em; color: var(--sand); border: 1px solid rgba(196,169,125,0.2); padding: 6px 14px; border-radius: 100px; }

/* SE Host Card */
.se-host-card { background: var(--glass-bg); border-radius: var(--card-radius-lg); padding: clamp(24px,3.5vw,40px); border: 1px solid var(--glass-border); backdrop-filter: blur(var(--glass-blur)); -webkit-backdrop-filter: blur(var(--glass-blur)); position: relative; }
@media (min-width: 900px) { .se-intro-host { position: sticky; top: 120px; align-self: start; } }
.se-host-photo { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; margin-bottom: 16px; border: 2px solid rgba(196,169,125,0.2); }
.se-host-label { font-size: 0.5625rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--sand); margin-bottom: 6px; }
.se-host-name { font-family: var(--heading); font-size: 1.375rem; font-weight: 400; color: var(--white); margin-bottom: 4px; }
.se-host-loc { font-size: 0.75rem; color: var(--white-muted); margin-bottom: 14px; }
.se-host-bio { font-size: 0.8125rem; color: var(--white-soft); line-height: 1.65; margin-bottom: 16px; }
.se-host-wa { font-size: 0.75rem; color: var(--white-muted); display: flex; align-items: center; gap: 8px; padding-top: 14px; border-top: 1px solid rgba(255,255,255,0.05); }

/* SE Divider */
.se-divider { max-width: var(--content-max); margin: 0 auto; padding: 0 var(--content-pad); height: 1px; position: relative; }
.se-divider::after { content:''; display: block; width: 100%; height: 1px; background: linear-gradient(to right, transparent 0%, rgba(196,169,125,0.1) 15%, rgba(196,169,125,0.15) 50%, rgba(196,169,125,0.1) 85%, transparent 100%); }

/* SE Inclusions */
.se-inclusions { padding: var(--section-pad) var(--content-pad); max-width: var(--content-max); margin: 0 auto; }
.se-inclusions-inner { max-width: 1100px; }
.se-inclusions-sub { font-size: var(--body-size); color: var(--white-muted); margin-top: 14px; margin-bottom: clamp(36px,5vw,56px); max-width: 500px; line-height: 1.65; }
.se-inclusions-grid { display: grid; grid-template-columns: 1fr; gap: 0; border-top: 1px solid rgba(255,255,255,0.06); }
@media (min-width: 600px) { .se-inclusions-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1000px) { .se-inclusions-grid { grid-template-columns: 1fr 1fr 1fr; } }
.se-inclusion-item { display: flex; align-items: center; gap: 12px; padding: 14px 4px; border-bottom: 1px solid rgba(255,255,255,0.04); font-size: 0.875rem; color: var(--white-soft); }
.se-inclusion-icon { font-size: 1.0625rem; width: 26px; text-align: center; flex-shrink: 0; }

/* SE Pod */
.se-pod { padding: var(--section-pad) var(--content-pad); max-width: var(--content-max); margin: 0 auto; }
.se-pod-inner { max-width: 1100px; }
.se-pod-sub { font-size: var(--body-size); color: var(--white-muted); margin-top: 14px; margin-bottom: clamp(36px,5vw,48px); max-width: 540px; line-height: 1.65; }
.se-pod-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: 20px; }
.se-pod-card { text-align: center; }
.se-pod-photo { width: 72px; height: 72px; border-radius: 50%; object-fit: cover; margin: 0 auto 10px; display: block; border: 2px solid rgba(255,255,255,0.07); }
.se-pod-photo-placeholder { background: var(--deep-4); display: flex; align-items: center; justify-content: center; color: var(--white-muted); font-family: var(--heading); font-size: 1.5rem; }
.se-pod-name { font-family: var(--heading); font-size: 0.9375rem; font-weight: 400; color: var(--white); margin-bottom: 2px; }
.se-pod-role { font-size: 0.6875rem; color: var(--white-muted); letter-spacing: 0.04em; }

/* SE Gallery */
.se-gallery { padding: clamp(20px,3vw,48px) var(--content-pad); max-width: var(--content-max); margin: 0 auto; }
.se-gallery-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
@media (min-width: 768px) { .se-gallery-grid { grid-template-columns: repeat(3, 1fr); } }
.se-gallery-item { border-radius: 8px; overflow: hidden; aspect-ratio: 4/3; cursor: pointer; }
.se-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.8s var(--ease), filter 0.6s ease; filter: saturate(0.9); }
.se-gallery-item:hover img { transform: scale(1.06); filter: saturate(1.1); }
.se-gallery-item-lg { grid-column: span 2; grid-row: span 2; aspect-ratio: auto; }

/* Lightbox */
.se-lightbox { position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,0.95); display: flex; align-items: center; justify-content: center; backdrop-filter: blur(8px); }
.se-lb-wrap { max-width: 90vw; max-height: 85vh; display: flex; align-items: center; justify-content: center; }
.se-lb-img { max-width: 100%; max-height: 85vh; object-fit: contain; border-radius: 4px; }
.se-lb-close { position: absolute; top: 20px; right: 24px; background: none; border: none; color: var(--white); font-size: 2rem; cursor: pointer; z-index: 10; opacity: 0.7; transition: opacity 0.2s; padding: 8px; }
.se-lb-close:hover { opacity: 1; }
.se-lb-prev, .se-lb-next { position: absolute; top: 50%; transform: translateY(-50%); background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.1); color: var(--white); font-size: 1.5rem; width: 44px; height: 44px; border-radius: 50%; cursor: pointer; z-index: 10; display: flex; align-items: center; justify-content: center; transition: background 0.2s; }
.se-lb-prev { left: 16px; } .se-lb-next { right: 16px; }
.se-lb-prev:hover, .se-lb-next:hover { background: rgba(255,255,255,0.12); }
.se-lb-counter { position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); color: var(--white-faint); font-size: 0.75rem; letter-spacing: 0.1em; }

/* SE Pricing */
.se-pricing { padding: var(--section-pad) var(--content-pad); max-width: var(--content-max); margin: 0 auto; }
.se-pricing-inner { max-width: 1200px; }
.se-pricing-sub { font-size: var(--body-size); color: var(--white-muted); margin-top: 14px; margin-bottom: clamp(36px,5vw,56px); max-width: 520px; line-height: 1.65; }
.se-pricing-grid { display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 768px) { .se-pricing-grid { grid-template-columns: repeat(3, 1fr); } }
.se-price-card { background: var(--glass-bg); border-radius: var(--card-radius-lg); padding: clamp(24px,3.5vw,40px); border: 1px solid var(--glass-border); position: relative; transition: all var(--transition); display: flex; flex-direction: column; }
.se-price-card:hover { border-color: rgba(196,169,125,0.15); background: var(--glass-hover); }
.se-price-card-featured { border-color: rgba(196,169,125,0.2); }
.se-price-card-featured:hover { border-color: rgba(196,169,125,0.35); }
.se-price-badge { position: absolute; top: -1px; right: 24px; background: var(--sand); color: var(--void); font-size: 0.5625rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 6px 14px; border-radius: 0 0 8px 8px; }
.se-price-format { font-size: 0.5625rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--sand); margin-bottom: 4px; }
.se-price-size { font-size: 0.75rem; color: var(--white-muted); margin-bottom: 16px; }
.se-price-amount { font-family: var(--heading); font-size: clamp(1.875rem,3vw,2.5rem); font-weight: 300; color: var(--white); line-height: 1.1; margin-bottom: 4px; }
.se-price-amount span { font-family: var(--body); font-size: 0.75rem; font-weight: 400; color: var(--white-muted); margin-left: 2px; }
.se-price-duration { font-size: 0.75rem; color: var(--white-muted); margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid rgba(255,255,255,0.05); }
.se-price-highlights { list-style: none; margin-bottom: 24px; flex-grow: 1; }
.se-price-highlights li { font-size: 0.8125rem; color: var(--white-soft); padding: 5px 0 5px 20px; position: relative; line-height: 1.5; }
.se-price-highlights li::before { content:'✓'; position: absolute; left: 0; color: var(--sand); font-size: 0.75rem; }
.se-price-btn { width: 100%; justify-content: center; }
.se-price-deposit { font-size: 0.6875rem; color: var(--white-faint); text-align: center; margin-top: 12px; }

/* SE Availability */
.se-avail { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.05); }
.se-avail-label { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--white-muted); margin-right: 8px; }
.se-avail-month { font-size: 0.6875rem; font-weight: 500; color: var(--sand); border: 1px solid rgba(196,169,125,0.2); padding: 4px 12px; border-radius: 100px; }

/* SE Request Form */
.se-request { padding: clamp(36px,5vw,72px) var(--content-pad); max-width: var(--content-max); margin: 0 auto; }
.se-request-inner { max-width: 680px; margin: 0 auto; }
.se-request-card { background: var(--glass-bg); border-radius: var(--card-radius-lg); padding: clamp(28px,4vw,48px); border: 1px solid var(--glass-border); }
.se-request-card h3 { font-family: var(--heading); font-size: clamp(1.375rem,2.2vw,1.875rem); font-weight: 300; color: var(--white); margin-bottom: 10px; }
.se-request-card > p { font-size: 0.875rem; color: var(--white-muted); line-height: 1.6; margin-bottom: 28px; }
.se-form-row { display: grid; grid-template-columns: 1fr; gap: 16px; margin-bottom: 16px; }
@media (min-width: 600px) { .se-form-row { grid-template-columns: 1fr 1fr; } }
.se-form-group { margin-bottom: 8px; }
.se-form-group label { display: block; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--white-muted); margin-bottom: 8px; }
.se-form-opt { font-weight: 400; text-transform: none; letter-spacing: 0; color: var(--white-faint); }
.se-form-group input, .se-form-group select, .se-form-group textarea { width: 100%; background: var(--deep-4); border: 1px solid rgba(255,255,255,0.07); border-radius: 10px; padding: 13px 16px; color: var(--white); font-family: var(--body); font-size: 0.875rem; transition: border-color 0.3s ease; outline: none; }
.se-form-group input:focus, .se-form-group select:focus, .se-form-group textarea:focus { border-color: rgba(196,169,125,0.4); }
.se-form-group select { appearance: none; -webkit-appearance: none; cursor: pointer; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237A776F' fill='none' stroke-width='1.5'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; padding-right: 40px; }
.se-form-group textarea { resize: vertical; min-height: 80px; }
.se-form-check { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: 0.8125rem; color: var(--white-soft); }
.se-form-check input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--sand); cursor: pointer; }
.se-form-submit { width: 100%; justify-content: center; margin-top: 12px; }
.se-form-note { font-size: 0.6875rem; color: var(--white-faint); text-align: center; margin-top: 14px; line-height: 1.5; }

/* SE Success */
.se-request-success { text-align: center; padding: 36px 0; }
.se-success-icon { width: 52px; height: 52px; border-radius: 50%; background: rgba(74,191,160,0.12); color: var(--seagreen); font-size: 1.5rem; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; }
.se-request-success h3 { font-family: var(--heading); font-size: 1.625rem; font-weight: 300; color: var(--white); margin-bottom: 10px; }
.se-request-success p { font-size: 0.875rem; color: var(--white-soft); line-height: 1.65; max-width: 400px; margin: 0 auto; }

/* SE Guarantee */
/* GUEST QUALITY PROMISE */
.se-promise { padding: var(--section-pad-lg) var(--content-pad); background: var(--void); }
.se-promise-inner { max-width: 900px; margin: 0 auto; }
.se-promise .se-eyebrow { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--sand); margin-bottom: 12px; }
.se-promise h2 { font-family: var(--heading); font-size: clamp(1.5rem,2.4vw,2rem); font-weight: 300; color: var(--white); line-height: 1.15; margin-bottom: 40px; }
.se-promise-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px 40px; margin-bottom: 40px; }
.se-promise-item { display: flex; gap: 16px; align-items: flex-start; }
.se-promise-icon { font-size: 1.5rem; flex-shrink: 0; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: rgba(196,169,125,0.06); border-radius: 10px; }
.se-promise-text { display: flex; flex-direction: column; gap: 4px; }
.se-promise-text strong { color: var(--white); font-size: 0.9375rem; font-weight: 500; }
.se-promise-text span { color: var(--white-muted); font-size: 0.8125rem; line-height: 1.6; }
.se-promise-footer { text-align: center; padding-top: 32px; border-top: 1px solid rgba(255,255,255,0.04); }
.se-promise-footer p { color: var(--white-soft); font-size: var(--body-size); line-height: 1.7; margin: 0; }
@media (max-width: 640px) {
    .se-promise-grid { grid-template-columns: 1fr; gap: 20px; }
}

/* GUEST REVIEWS */
.se-reviews { padding: var(--section-pad-lg) var(--content-pad); background: var(--deep-2); }
.se-reviews-inner { max-width: 900px; margin: 0 auto; }
.se-reviews .se-eyebrow { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--sand); margin-bottom: 12px; }
.se-reviews h2 { font-family: var(--heading); font-size: clamp(1.5rem,2.4vw,2rem); font-weight: 300; color: var(--white); line-height: 1.15; margin-bottom: 40px; }
.se-reviews-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.se-review-card { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.04); border-radius: 12px; padding: 28px; }
.se-review-stars { color: var(--sand); font-size: 0.875rem; letter-spacing: 2px; margin-bottom: 12px; }
.se-review-highlight { font-family: var(--heading); font-size: 1.0625rem; font-weight: 300; color: var(--white); font-style: italic; line-height: 1.4; margin-bottom: 12px; }
.se-review-text { font-size: 0.8125rem; color: var(--white-muted); line-height: 1.7; margin-bottom: 16px; }
.se-review-author { font-size: 0.75rem; color: var(--white-faint); letter-spacing: 0.04em; }
@media (max-width: 640px) {
    .se-reviews-grid { grid-template-columns: 1fr; }
}

/* GUARANTEE BAND */
.se-guarantee { text-align: center; padding: var(--section-pad-lg) var(--content-pad); position: relative; overflow: hidden; background: linear-gradient(180deg, var(--void) 0%, var(--deep-2) 50%, var(--void) 100%); }
.se-guarantee-inner { max-width: 580px; margin: 0 auto; position: relative; z-index: 1; }
.se-guarantee-badge { font-size: 1.75rem; margin-bottom: 20px; }
.se-guarantee h2 { font-family: var(--heading); font-size: clamp(1.625rem,2.8vw,2.25rem); font-weight: 300; color: var(--white); line-height: 1.15; margin-bottom: 14px; }
.se-guarantee p { font-size: var(--body-size); color: var(--white-soft); line-height: 1.7; margin-bottom: 28px; }

/* More Experiences */
.se-more { padding: clamp(60px,8vw,120px) var(--content-pad); background: linear-gradient(180deg, var(--void) 0%, var(--deep-2) 100%); }
.se-more-inner { max-width: var(--content-max); margin: 0 auto; }
.se-more-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 768px) { .se-more-grid { grid-template-columns: 1fr; } }
.se-more-card { display: block; text-decoration: none; border-radius: 12px; overflow: hidden; background: rgba(255,255,255,0.015); border: 1px solid rgba(255,255,255,0.04); transition: transform 0.4s var(--ease), border-color 0.3s; }
.se-more-card:hover { transform: translateY(-4px); border-color: rgba(196,169,125,0.15); }
.se-more-img { aspect-ratio: 16/9; overflow: hidden; }
.se-more-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s var(--ease); }
.se-more-card:hover .se-more-img img { transform: scale(1.05); }
.se-more-placeholder { background: linear-gradient(135deg, var(--deep-2), var(--deep-3)); }
.se-more-body { padding: 20px; }
.se-more-body h4 { font-family: var(--heading); font-size: 1rem; font-weight: 400; color: var(--white); margin: 0 0 8px; }
.se-more-meta { display: flex; gap: 12px; flex-wrap: wrap; }
.se-more-meta span { font-size: 0.75rem; color: var(--white-faint); }
.se-more-meta span + span::before { content: '·'; margin-right: 12px; }

/* FAQ */
.se-faq { padding: clamp(60px,8vw,100px) var(--content-pad); }
.se-faq-inner { max-width: 680px; margin: 0 auto; }
.se-faq-list { display: flex; flex-direction: column; gap: 1px; }
.se-faq-item { background: rgba(255,255,255,0.015); border: 1px solid rgba(255,255,255,0.04); border-radius: 10px; margin-bottom: 8px; overflow: hidden; }
.se-faq-item summary { padding: 18px 24px; font-size: 0.9375rem; font-weight: 500; color: var(--white); cursor: pointer; list-style: none; display: flex; align-items: center; justify-content: space-between; transition: color 0.2s; }
.se-faq-item summary::-webkit-details-marker { display: none; }
.se-faq-item summary::after { content: '+'; font-size: 1.25rem; color: var(--white-faint); transition: transform 0.3s; flex-shrink: 0; margin-left: 16px; }
.se-faq-item[open] summary::after { transform: rotate(45deg); }
.se-faq-item[open] summary { color: var(--sand); }
.se-faq-item p { padding: 0 24px 18px; font-size: 0.875rem; color: var(--white-muted); line-height: 1.7; margin: 0; }

/* Similar Experiences */
/* (se-similar removed — replaced by se-more section) */

/* Scroll to Top */
.gdc-scroll-top { position: fixed; bottom: 24px; left: 24px; z-index: 9989; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.08); border-radius: 50%; color: var(--white-faint); cursor: pointer; transition: background 0.2s, color 0.2s, transform 0.2s; }
.gdc-scroll-top:hover { background: rgba(196,169,125,0.12); color: var(--sand); transform: translateY(-2px); }
@media (max-width: 640px) { .gdc-scroll-top { bottom: 16px; left: 16px; width: 38px; height: 38px; } }

.se-back { padding: 36px var(--content-pad) clamp(48px,6vw,80px); max-width: var(--content-max); margin: 0 auto; }

/* SE Breadcrumb */
.se-breadcrumb { position: absolute; top: 0; left: 0; right: 0; z-index: 50; padding: clamp(88px,11vw,108px) var(--content-pad) 0; }
.se-breadcrumb-inner { display: flex; align-items: center; gap: 8px; font-size: 0.75rem; color: var(--white-faint); letter-spacing: 0.02em; }
.se-breadcrumb a { color: var(--white-muted); transition: color 0.3s ease; }
.se-breadcrumb a:hover { color: var(--sand); }
.se-breadcrumb-sep { opacity: 0.3; }

/* ============================================================
   UTILITY & ACCESSIBILITY
   ============================================================ */
.gdc-hp { position: absolute; left: -9999px; top: -9999px; height: 0; width: 0; overflow: hidden; opacity: 0; }
.skip-link { position: absolute !important; top: -100px !important; left: 16px; background: var(--sand); color: var(--void); padding: 8px 16px; border-radius: 4px; font-size: 0.875rem; font-weight: 600; z-index: 99999; transition: top 0.2s ease; }
.skip-link:focus { top: 16px !important; }

/* ============================================================
   COOKIE CONSENT
   ============================================================ */
/* WhatsApp Support Button */
.gdc-wa-btn { position: fixed; bottom: 24px; right: 24px; z-index: 9990; width: 56px; height: 56px; display: flex; align-items: center; justify-content: center; background: #25D366; border-radius: 50%; color: #fff; text-decoration: none; box-shadow: 0 4px 16px rgba(37,211,102,0.35); transition: transform 0.2s, box-shadow 0.2s; }
.gdc-wa-btn:hover { transform: scale(1.08); box-shadow: 0 6px 24px rgba(37,211,102,0.45); }
@media (max-width: 640px) { .gdc-wa-btn { bottom: 16px; right: 16px; width: 48px; height: 48px; } .gdc-wa-btn svg { width: 20px; height: 20px; } }

.gdc-cookies { position: fixed; bottom: 0; left: 0; right: 0; z-index: 9997; background: rgba(10,15,20,0.95); border-top: 1px solid rgba(196,169,125,0.15); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); padding: 16px 24px; animation: cookieSlide 0.4s ease; }
@keyframes cookieSlide { from { transform: translateY(100%); } to { transform: translateY(0); } }
.gdc-cookies-inner { max-width: 1200px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.gdc-cookies p { font-size: 0.8125rem; color: var(--white-muted); margin: 0; line-height: 1.5; }
.gdc-cookies a { color: var(--sand); text-decoration: underline; text-underline-offset: 2px; }
.gdc-cookies-btn { padding: 8px 24px; background: var(--sand); color: var(--void); border: none; border-radius: 6px; font-size: 0.8125rem; font-weight: 600; cursor: pointer; white-space: nowrap; transition: background 0.2s ease; }
.gdc-cookies-btn:hover { background: var(--sand-light); }

/* ============================================================
   PORTAL — My GDC (login gate + dashboard)
   ============================================================ */
.portal-gate{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:calc(var(--header-height) + 20px) 24px 56px}
.portal-gate-inner{max-width:460px;width:100%;text-align:center}
.portal-gate-sub{color:var(--white-muted);font-size:var(--body-size);margin-bottom:36px;line-height:1.7}
.portal-login-box{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--card-radius-lg);padding:32px;text-align:left;margin-bottom:28px;backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}
.portal-login-box label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--white-faint);margin-bottom:6px;font-weight:500}
.portal-login-box input[type="text"],.portal-login-box input[type="password"]{width:100%;padding:12px 16px;background:var(--deep-4);border:1px solid rgba(255,255,255,.08);border-radius:8px;color:var(--white);font-size:var(--body-size);margin-bottom:16px;font-family:var(--body);transition:border-color .3s}
.portal-login-box input:focus{border-color:var(--sand);outline:none}
.portal-login-box input[type="submit"]{width:100%;padding:14px;background:var(--sand);color:var(--void);border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;font-family:var(--body);letter-spacing:.02em;transition:all .3s}
.portal-login-box input[type="submit"]:hover{background:var(--sand-light);transform:translateY(-1px)}
.portal-login-box .login-remember{display:flex;align-items:center;gap:8px;margin-bottom:16px;color:var(--white-faint);font-size:.8125rem}
.portal-login-help{text-align:center;margin-top:12px}
.portal-login-help a{color:var(--sand);font-size:.8125rem}
.portal-gate-cta{margin-top:28px}
.portal-gate-cta p{color:var(--white-faint);font-size:.875rem;margin-bottom:14px}
.portal-gate-paths{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.portal-gate-paths .btn{font-size:.8125rem;padding:10px 20px}

/* Portal layout */
.portal{padding:40px 24px 80px}
.portal-inner{max-width:960px;margin:0 auto}
.portal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px;flex-wrap:wrap}
.portal-greeting{font-family:var(--heading);font-size:1.875rem;font-weight:300;color:var(--white);margin:4px 0 8px}
.portal-role-badge{display:inline-block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.1em;padding:4px 12px;border-radius:20px;font-weight:600}
.portal-role-guest{background:rgba(196,169,125,.12);color:var(--sand)}
.portal-role-dc,.portal-role-agent{background:rgba(100,200,150,.12);color:#64c896}
.portal-role-ep{background:rgba(130,160,255,.12);color:#82a0ff}
.portal-actions{display:flex;gap:8px;flex-shrink:0}

/* Tabs */
.portal-tabs{display:flex;gap:4px;border-bottom:1px solid rgba(196,169,125,.08);margin-bottom:28px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.portal-tab{padding:12px 18px;font-size:.8125rem;font-weight:500;color:var(--white-faint);background:none;border:none;cursor:pointer;white-space:nowrap;border-bottom:2px solid transparent;transition:all .3s;font-family:var(--body)}
.portal-tab:hover{color:var(--white)}
.portal-tab.active{color:var(--sand);border-bottom-color:var(--sand)}
.portal-panel{display:none}
.portal-panel.active{display:block}

/* Stats */
.portal-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:20px}
.portal-stat{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:18px 20px;text-align:center}
.portal-stat-value{display:block;font-family:var(--heading);font-size:1.625rem;font-weight:300;color:var(--white);line-height:1.2}
.portal-stat-label{display:block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--white-faint);margin-top:4px}

/* Cards */
.portal-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--card-radius-lg);padding:24px;margin-bottom:16px}
.portal-card-header h3{font-family:var(--heading);font-size:1.125rem;font-weight:300;color:var(--white);margin-bottom:4px}
.portal-card-header p{font-size:.8125rem;color:var(--white-faint);margin-bottom:16px;line-height:1.6}

/* Referral */
.portal-ref-link{display:flex;gap:8px;margin-bottom:14px}
.portal-ref-input{flex:1;padding:12px 16px;background:var(--deep-4);border:1px solid rgba(196,169,125,.15);border-radius:8px;color:var(--sand);font-size:.8125rem;font-family:monospace}
.portal-ref-hint{font-size:.75rem;color:var(--white-faint);margin-top:8px}
.portal-qr{text-align:center;padding:14px 0}
.portal-qr img{background:rgba(255,255,255,.06);padding:14px;border-radius:12px}

/* Tables */
.portal-table{width:100%;border-collapse:collapse;font-size:.8125rem}
.portal-table th{text-align:left;padding:10px 12px;border-bottom:1px solid rgba(196,169,125,.1);color:var(--white-faint);font-weight:500;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em}
.portal-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.03);color:var(--white)}

/* Status */
.portal-status{display:inline-block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border-radius:12px;font-weight:600}
.portal-status-pending{background:rgba(255,180,50,.12);color:#ffb432}
.portal-status-confirmed{background:rgba(100,200,150,.12);color:#64c896}
.portal-status-paid,.portal-status-unpaid{background:rgba(100,200,150,.12);color:#64c896}
.portal-status-rejected{background:rgba(255,80,80,.12);color:#ff5050}
.portal-status-completed{background:rgba(196,169,125,.12);color:var(--sand)}

/* Quick links */
.portal-quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.portal-qlink{display:flex;align-items:center;gap:12px;padding:14px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:10px;text-decoration:none;color:var(--white);font-size:.875rem;transition:all .3s}
.portal-qlink:hover{background:rgba(196,169,125,.06);border-color:rgba(196,169,125,.15)}
.portal-qlink-icon{font-size:1.125rem}

/* Resources */
.portal-resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.portal-resource-card{display:flex;gap:14px;padding:18px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;text-decoration:none;transition:all .3s}
.portal-resource-card:hover{background:rgba(196,169,125,.06);border-color:rgba(196,169,125,.12)}
.portal-resource-icon{font-size:1.25rem;flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(196,169,125,.08);border-radius:10px}
.portal-resource-cat{font-size:.5625rem;text-transform:uppercase;letter-spacing:.08em;color:var(--sand);font-weight:600}
.portal-resource-card h4{font-size:.875rem;color:var(--white);margin:4px 0;font-weight:500}
.portal-resource-card p{font-size:.75rem;color:var(--white-faint);line-height:1.5;margin:0}
.portal-empty{color:var(--white-faint);font-size:.875rem;padding:14px 0}

/* Trip planner (DC portal) */
.planner-select label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--white-faint);margin-bottom:8px;font-weight:500}
.planner-select select{width:100%;padding:13px 16px;background:var(--deep-4);border:1px solid rgba(255,255,255,.08);border-radius:10px;color:var(--white);font-size:var(--body-size);font-family:var(--body);appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .3s}
.planner-select select:focus{border-color:var(--sand);outline:none}
.planner-hero{display:flex;gap:18px;align-items:center;padding:18px 0;margin:18px 0;border-top:1px solid rgba(196,169,125,.06);border-bottom:1px solid rgba(196,169,125,.06)}
.planner-hero-img{width:72px;height:72px;border-radius:12px;background-size:cover;background-position:center;background-color:var(--deep-4);flex-shrink:0}
.planner-hero-info h4{font-size:1rem;color:var(--white);margin-bottom:4px;font-weight:500}
.planner-hero-info p{font-size:.8125rem;color:var(--white-faint);margin:0}
.planner-config{padding:18px 0}
.planner-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.03)}
.planner-row label{font-size:.875rem;color:var(--white);font-weight:500}
.planner-stepper{display:flex;align-items:center;gap:0;border:1px solid rgba(196,169,125,.15);border-radius:10px;overflow:hidden}
.planner-step-btn{width:38px;height:38px;background:rgba(255,255,255,.03);border:none;color:var(--sand);font-size:1rem;cursor:pointer;transition:background .2s;font-family:var(--body)}
.planner-step-btn:hover{background:rgba(196,169,125,.1)}
.planner-step-val{width:44px;text-align:center;font-size:1rem;font-weight:600;color:var(--white);background:rgba(255,255,255,.02)}
.planner-toggle-row{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.03)}
.planner-toggle{display:flex;align-items:center;gap:12px;cursor:pointer;font-size:.875rem;color:var(--white);font-weight:500}
.planner-toggle input{display:none}
.planner-toggle-switch{width:38px;height:20px;background:rgba(255,255,255,.1);border-radius:10px;position:relative;transition:background .3s;flex-shrink:0}
.planner-toggle-switch::after{content:'';width:16px;height:16px;background:var(--white);border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .3s}
.planner-toggle input:checked+.planner-toggle-switch{background:var(--sand)}
.planner-toggle input:checked+.planner-toggle-switch::after{transform:translateX(18px);background:var(--void)}
.planner-hint{font-size:.75rem;color:var(--white-faint);margin:8px 0 0 50px;line-height:1.5}
.planner-results{margin-top:20px}
.planner-result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px}
.planner-result-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;padding:18px;text-align:center}
.planner-result-primary{background:rgba(196,169,125,.08);border-color:rgba(196,169,125,.2)}
.planner-result-earn{background:rgba(100,200,150,.06);border-color:rgba(100,200,150,.15)}
.planner-result-label{display:block;font-size:.6875rem;text-transform:uppercase;letter-spacing:.06em;color:var(--white-faint);margin-bottom:4px}
.planner-result-value{display:block;font-family:var(--heading);font-size:1.625rem;font-weight:300;color:var(--white);line-height:1.2}
.planner-result-primary .planner-result-value{color:var(--sand)}
.planner-result-earn .planner-result-value{color:#64c896}
.planner-result-sub{display:block;font-size:.6875rem;color:var(--white-faint);margin-top:4px}
.planner-breakdown{margin-bottom:20px}
.planner-breakdown h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--white-faint);margin-bottom:12px}
.planner-table{width:100%;border-collapse:collapse}
.planner-table td{padding:8px 0;font-size:.8125rem;border-bottom:1px solid rgba(255,255,255,.03)}
.planner-table td:first-child{color:var(--white-faint)}
.planner-table td:last-child{text-align:right;color:var(--white);font-weight:500}
.planner-table tr:last-child td{border-bottom:none;color:var(--sand);font-weight:600;padding-top:12px;border-top:1px solid rgba(196,169,125,.15)}
.planner-cta{display:flex;gap:12px;flex-wrap:wrap}

/* Mobile portal */
@media(max-width:640px){
    .portal-header{flex-direction:column}
    .portal-stats{grid-template-columns:repeat(2,1fr)}
    .planner-result-grid{grid-template-columns:1fr 1fr}
    .planner-row{flex-direction:column;align-items:flex-start;gap:8px}
    .portal-trip-header{flex-direction:column}
}

/* ============================================================
   PRINT
   ============================================================ */
@media print {
    .header, .footer, .loader, #grain, .atmo, .mobile-nav, .menu-btn, .se-request-card, .cta-band, .se-guarantee, .proof-strip, .join-band, .gdc-cookies, .gdc-wa-btn, .se-subnav, .se-mobile-cta, .se-faq, .se-more, .se-back, .se-share-btn, .se-lightbox, .se-reviews, .skip-link, .gdc-scroll-top { display: none !important; }
    body { background: #fff !important; color: #000 !important; }
    * { box-shadow: none !important; text-shadow: none !important; }
    .se-hero { min-height: auto !important; height: auto !important; padding: 40px 20px !important; background: #f5f5f5 !important; }
    .se-hero h1, .se-hero .se-hero-title { color: #000 !important; }
    .se-hero-meta span, .se-hero-price { color: #333 !important; }
    .se-intro, .se-inclusions, .se-pricing { padding: 20px !important; }
    .se-intro-inner, .se-inclusions-inner, .se-pricing-inner { max-width: 100% !important; }
    h2, h3, h4 { color: #000 !important; }
    p, span, div { color: #333 !important; }
    a { color: #000 !important; text-decoration: underline !important; }
    .se-price-card { border: 1px solid #ccc !important; background: #fff !important; page-break-inside: avoid; }
    .se-inclusion-item { color: #333 !important; }
    .section-eyebrow { color: #666 !important; }
    img { max-width: 100% !important; }
    .se-gallery-grid { grid-template-columns: repeat(3, 1fr) !important; }
}


/* ============================================================
   AUTH GATE — Sign In / Join page (/my-gdc when logged out)
   ============================================================ */
.auth-gate {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(var(--header-height) + 24px) 24px 56px;
}
.auth-gate-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    max-width: 920px;
    width: 100%;
    align-items: start;
}

/* Left: Login form */
.auth-login {
    padding: 40px;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    border-radius: var(--card-radius-lg);
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
}
.auth-logo {
    font-family: var(--heading);
    font-size: 1.125rem;
    color: var(--sand);
    letter-spacing: 0.06em;
    margin-bottom: 24px;
}
.auth-login h1 {
    font-family: var(--heading);
    font-size: 1.75rem;
    font-weight: 300;
    color: var(--white);
    margin-bottom: 8px;
}
.auth-sub {
    color: var(--white-muted);
    font-size: 0.875rem;
    line-height: 1.65;
    margin-bottom: 28px;
}
.auth-error {
    background: rgba(220, 80, 80, 0.12);
    border: 1px solid rgba(220, 80, 80, 0.25);
    color: #f09090;
    padding: 12px 16px;
    border-radius: 8px;
    font-size: 0.8125rem;
    margin-bottom: 20px;
}
.auth-form { margin: 0; }
.auth-field {
    margin-bottom: 18px;
}
.auth-field label {
    display: block;
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: var(--white-faint);
    margin-bottom: 6px;
    font-weight: 500;
}
.auth-field input[type="text"],
.auth-field input[type="password"],
.auth-field input[type="email"] {
    width: 100%;
    padding: 12px 16px;
    background: var(--deep-4);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 8px;
    color: var(--white);
    font-size: var(--body-size);
    font-family: var(--body);
    transition: border-color 0.3s;
    box-sizing: border-box;
}
.auth-field input:focus {
    border-color: var(--sand);
    outline: none;
}
.auth-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}
.auth-check {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--white-faint);
    font-size: 0.8125rem;
    cursor: pointer;
}
.auth-check input[type="checkbox"] {
    accent-color: var(--sand);
}
.auth-forgot {
    color: var(--sand);
    font-size: 0.8125rem;
    transition: color 0.3s;
}
.auth-forgot:hover { color: var(--sand-light); }
.auth-submit {
    width: 100%;
    justify-content: center;
}

/* Right: Join paths */
.auth-paths {
    padding-top: 16px;
}
.auth-paths-label {
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--sand);
    font-weight: 600;
    margin-bottom: 12px;
}
.auth-paths h2 {
    font-family: var(--heading);
    font-size: 1.5rem;
    font-weight: 300;
    color: var(--white);
    margin-bottom: 8px;
}
.auth-paths-sub {
    color: var(--white-muted);
    font-size: 0.875rem;
    margin-bottom: 24px;
}
.auth-path-cards {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.auth-path-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 20px;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    border-radius: var(--card-radius);
    transition: all 0.3s ease;
    text-decoration: none;
}
.auth-path-card:hover {
    background: var(--glass-hover);
    border-color: rgba(196,169,125,0.15);
    transform: translateY(-2px);
}
.auth-path-icon {
    font-size: 1.25rem;
    flex-shrink: 0;
    width: 32px;
    text-align: center;
    padding-top: 2px;
}
.auth-path-card strong {
    display: block;
    color: var(--white);
    font-size: 0.9375rem;
    font-weight: 600;
    margin-bottom: 3px;
}
.auth-path-card span:not(.auth-path-icon) {
    color: var(--white-muted);
    font-size: 0.8125rem;
    line-height: 1.5;
}

/* Auth gate responsive */
@media (max-width: 768px) {
    .auth-gate-inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .auth-login {
        padding: 28px 24px;
    }
    .auth-login h1 {
        font-size: 1.375rem;
    }
    .auth-paths h2 {
        font-size: 1.25rem;
    }
}

/* ================================================================
   PAGE-SPECIFIC STYLES (consolidated from inline <style> blocks)
   ================================================================ */

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.about-hero{position:relative;padding:clamp(140px,20vw,220px) clamp(24px,5vw,72px) clamp(60px,8vw,100px);overflow:hidden;text-align:center}
.about-hero-bg{position:absolute;inset:0;background:linear-gradient(180deg,var(--void) 0%,var(--deep-2) 100%)}
.about-hero-content{position:relative;z-index:2;max-width:720px;margin:0 auto}
.about-hero h1{font-family:var(--heading);font-size:clamp(2.25rem,5.5vw,4rem);font-weight:300;color:var(--white);line-height:1.08;margin-bottom:24px}
.about-hero h1 em{font-style:italic;color:var(--sand-light)}
.about-hero p{font-size:clamp(.9375rem,1.2vw,1.0625rem);color:var(--white-soft);line-height:1.75;max-width:560px;margin:0 auto}
.about-section{padding:clamp(60px,10vw,120px) clamp(24px,5vw,72px);max-width:1200px;margin:0 auto}
.about-grid{display:grid;grid-template-columns:1fr;gap:clamp(32px,4vw,56px)}
@media(min-width:768px){.about-grid{grid-template-columns:1fr 1fr}}
.about-block h2{font-family:var(--heading);font-size:clamp(1.375rem,2.5vw,1.75rem);font-weight:300;color:var(--white);margin-bottom:16px;line-height:1.2}
.about-block p{font-size:clamp(.875rem,1vw,.9375rem);color:var(--white-soft);line-height:1.75;margin-bottom:16px}
.about-link{color:var(--sand);font-size:.875rem;font-weight:500;letter-spacing:.02em;transition:color .3s ease}
.about-link:hover{color:var(--sand-light)}
.about-how{padding:clamp(60px,10vw,120px) clamp(24px,5vw,72px);background:var(--deep-2);border-top:1px solid rgba(255,255,255,0.03);border-bottom:1px solid rgba(255,255,255,0.03)}
.about-how-inner{max-width:1200px;margin:0 auto}
.about-how h2{font-family:var(--heading);font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:300;color:var(--white);line-height:1.15}
.about-how h2 em{font-style:italic;color:var(--sand-light)}
.about-4grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:600px){.about-4grid{grid-template-columns:1fr 1fr}}
@media(min-width:1000px){.about-4grid{grid-template-columns:repeat(4,1fr)}}
.about-4card{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05);border-radius:16px;padding:clamp(24px,3vw,36px);transition:border-color .4s ease}
.about-4card:hover{border-color:rgba(196,169,125,0.15)}
.about-4icon{font-size:1.75rem;margin-bottom:16px}
.about-4card h3{font-family:var(--heading);font-size:1.125rem;font-weight:400;color:var(--white);margin-bottom:12px}
.about-4card p{font-size:.8125rem;color:var(--white-muted);line-height:1.7}

/* ============================================================
   DIVE CLUBS PAGE
   ============================================================ */
.dc-hero{position:relative;padding:clamp(140px,20vw,220px) clamp(24px,5vw,72px) clamp(60px,8vw,100px);overflow:hidden;text-align:center}
.dc-hero-bg{position:absolute;inset:0;background:linear-gradient(180deg,var(--void) 0%,var(--deep-2) 100%)}
.dc-hero-content{position:relative;z-index:2;max-width:700px;margin:0 auto}
.dc-hero h1{font-family:var(--heading);font-size:clamp(2rem,5vw,3.5rem);font-weight:300;color:var(--white);line-height:1.12;margin-bottom:24px}
.dc-hero h1 em{font-style:italic;color:var(--sand-light)}
.dc-hero p{font-size:clamp(.9375rem,1.2vw,1.0625rem);color:var(--white-soft);line-height:1.75;max-width:520px;margin:0 auto}
.dc-value{padding:clamp(60px,10vw,120px) clamp(24px,5vw,72px);background:var(--deep-2);border-top:1px solid rgba(255,255,255,0.03)}
.dc-value-inner{max-width:1100px;margin:0 auto}
.dc-val-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:700px){.dc-val-grid{grid-template-columns:repeat(3,1fr)}}
.dc-val-card{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05);border-radius:16px;padding:clamp(24px,3vw,40px);text-align:center;transition:border-color .4s ease}
.dc-val-card:hover{border-color:rgba(196,169,125,0.15)}
.dc-val-num{font-family:var(--heading);font-size:clamp(2.5rem,4vw,3.5rem);font-weight:300;color:var(--sand);line-height:1;margin-bottom:8px}
.dc-val-label{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--white-muted);margin-bottom:16px}
.dc-val-card p{font-size:.8125rem;color:var(--white-muted);line-height:1.7}
.dc-how{padding:clamp(60px,10vw,120px) clamp(24px,5vw,72px)}
.dc-how-inner{max-width:720px;margin:0 auto}
.dc-how h2{font-family:var(--heading);font-size:clamp(1.75rem,3.5vw,2.5rem);font-weight:300;color:var(--white);margin-bottom:clamp(32px,4vw,56px)}
.dc-how h2 em{font-style:italic;color:var(--sand-light)}
.dc-steps{display:flex;flex-direction:column;gap:32px}
.dc-step{display:flex;gap:20px;align-items:flex-start}
.dc-step-num{width:48px;height:48px;border-radius:50%;border:1px solid rgba(196,169,125,0.2);display:flex;align-items:center;justify-content:center;font-family:var(--heading);font-size:1.25rem;color:var(--sand);flex-shrink:0}
.dc-step h3{font-family:var(--heading);font-size:1.125rem;font-weight:400;color:var(--white);margin-bottom:8px}
.dc-step p{font-size:.875rem;color:var(--white-muted);line-height:1.7}
.dc-compare{padding:clamp(60px,10vw,120px) clamp(24px,5vw,72px);background:var(--deep-2);border-top:1px solid rgba(255,255,255,0.03);border-bottom:1px solid rgba(255,255,255,0.03)}
.dc-compare-inner{max-width:900px;margin:0 auto}
.dc-compare h2{font-family:var(--heading);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:300;color:var(--white)}
.dc-compare h2 em{font-style:italic;color:var(--sand-light)}
.dc-compare-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:600px){.dc-compare-grid{grid-template-columns:1fr 1fr}}
.dc-compare-col{border-radius:16px;padding:clamp(24px,3vw,36px)}
.dc-compare-old{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05)}
.dc-compare-new{background:rgba(196,169,125,0.04);border:1px solid rgba(196,169,125,0.12)}
.dc-compare-col h3{font-family:var(--heading);font-size:1rem;font-weight:500;color:var(--white);margin-bottom:16px;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}
.dc-compare-col ul{list-style:none;padding:0}
.dc-compare-col li{font-size:.8125rem;color:var(--white-muted);line-height:1.7;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.03)}
.dc-compare-col li:last-child{border-bottom:none}
.dc-compare-old li::before{content:'✕ ';color:rgba(217,83,79,0.6);margin-right:6px}
.dc-compare-new li::before{content:'✓ ';color:var(--sand);margin-right:6px}
.dc-signup-section{padding:clamp(80px,12vw,160px) clamp(24px,5vw,72px)}
.dc-signup-inner{max-width:640px;margin:0 auto}
.dc-signup-section h2{font-family:var(--heading);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:300;color:var(--white);margin-bottom:12px}
.dc-form{background:var(--deep-2);border:1px solid rgba(255,255,255,0.04);border-radius:20px;padding:clamp(28px,4vw,48px)}
.dc-form-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:500px){.dc-form-grid{grid-template-columns:1fr 1fr}.dc-field-full{grid-column:1/-1}}
.dc-field label{display:block;font-size:.75rem;font-weight:500;color:var(--white-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.dc-field input,.dc-field select,.dc-field textarea{width:100%;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:10px;padding:14px 16px;color:var(--white);font-size:.875rem;font-family:var(--body);transition:border-color .3s ease}
.dc-field input:focus,.dc-field select:focus,.dc-field textarea:focus{outline:none;border-color:rgba(196,169,125,0.3)}
.dc-field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%23999' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}
.dc-form-submit{margin-top:28px;text-align:center}
.dc-form-submit .btn{min-width:220px}
.dc-form-success{text-align:center;padding:40px 0}
.dc-success-icon{width:56px;height:56px;border-radius:50%;background:rgba(92,184,92,0.1);border:1px solid rgba(92,184,92,0.2);display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:#5cb85c;margin:0 auto 20px}
.dc-form-success h3{font-family:var(--heading);font-size:1.5rem;color:var(--white);margin-bottom:12px}
.dc-form-success p{font-size:.9375rem;color:var(--white-muted);line-height:1.7}

/* ============================================================
   CONTACT PAGE
   ============================================================ */
.contact-hero{position:relative;padding:clamp(140px,20vw,200px) 24px clamp(40px,6vw,80px);overflow:hidden;text-align:center}
.contact-hero-bg{position:absolute;inset:0;background:linear-gradient(180deg,var(--void) 0%,var(--deep-2) 100%)}
.contact-hero-content{position:relative;z-index:2;max-width:600px;margin:0 auto}
.contact-hero h1{font-family:var(--heading);font-size:clamp(2rem,5vw,3.5rem);font-weight:300;color:var(--white);line-height:1.1;margin-bottom:16px}
.contact-hero h1 em{font-style:italic;color:var(--sand-light)}
.contact-hero p{font-size:clamp(.9375rem,1.2vw,1.0625rem);color:var(--white-soft);line-height:1.7}
.contact-body{padding:clamp(40px,6vw,80px) clamp(24px,5vw,72px) clamp(100px,15vw,200px)}
.contact-grid{display:grid;grid-template-columns:1fr;gap:clamp(32px,4vw,56px);max-width:1000px;margin:0 auto}
@media(min-width:768px){.contact-grid{grid-template-columns:1fr 1.2fr}}
.contact-card{padding:20px 0;border-bottom:1px solid rgba(255,255,255,0.04)}
.contact-card:last-child{border-bottom:none}
.contact-card h3{font-family:var(--heading);font-size:1rem;font-weight:400;color:var(--white);margin-bottom:8px}
.contact-card p{font-size:.875rem;color:var(--white-muted);line-height:1.7}
.contact-card a{color:var(--sand);transition:color .3s ease}
.contact-card a:hover{color:var(--sand-light)}
.contact-form-wrap{background:var(--deep-2);border:1px solid rgba(255,255,255,0.04);border-radius:20px;padding:clamp(28px,4vw,48px)}
.contact-form .dc-field{margin-bottom:20px}
.contact-form .dc-field label{display:block;font-size:.75rem;font-weight:500;color:var(--white-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
.contact-form .dc-field input,.contact-form .dc-field select,.contact-form .dc-field textarea{width:100%;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:10px;padding:14px 16px;color:var(--white);font-size:.875rem;font-family:var(--body);transition:border-color .3s ease}
.contact-form .dc-field input:focus,.contact-form .dc-field select:focus,.contact-form .dc-field textarea:focus{outline:none;border-color:rgba(196,169,125,0.3)}
.contact-form .dc-field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%23999' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px}

/* ============================================================
   BOOKING CONFIRMED PAGE
   ============================================================ */
.confirm-page { min-height: 80vh; display: flex; align-items: center; justify-content: center; padding: 80px var(--content-pad); }
.confirm-container { max-width: 520px; width: 100%; text-align: center; }
.confirm-badge { width: 72px; height: 72px; display: flex; align-items: center; justify-content: center; font-size: 2rem; color: #22c55e; background: rgba(34,197,94,0.08); border: 1px solid rgba(34,197,94,0.2); border-radius: 50%; margin: 0 auto 24px; }
.confirm-page h1 { font-family: var(--heading); font-size: clamp(1.75rem,3.5vw,2.5rem); font-weight: 300; color: var(--white); margin: 0 0 20px; }
.confirm-sub { font-size: var(--body-size); color: var(--white-soft); line-height: 1.7; margin-bottom: 32px; }
.confirm-details { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.06); border-radius: 12px; padding: 20px 24px; margin-bottom: 28px; text-align: left; }
.confirm-detail-row { display: flex; justify-content: space-between; align-items: center; padding: 8px 0; }
.confirm-detail-row + .confirm-detail-row { border-top: 1px solid rgba(255,255,255,0.04); }
.confirm-label { font-size: 0.75rem; color: var(--white-faint); letter-spacing: 0.06em; text-transform: uppercase; }
.confirm-value { font-size: 0.875rem; color: var(--white); font-weight: 500; }
.confirm-timeline { text-align: left; margin: 32px 0; padding-left: 20px; border-left: 2px solid rgba(255,255,255,0.06); }
.confirm-step { display: flex; gap: 16px; align-items: flex-start; margin-bottom: 20px; position: relative; }
.confirm-step:last-child { margin-bottom: 0; }
.confirm-step-dot { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,0.1); flex-shrink: 0; margin-top: 5px; position: relative; left: -26px; }
.confirm-step-dot.active { background: #22c55e; box-shadow: 0 0 8px rgba(34,197,94,0.4); }
.confirm-step-content { margin-left: -10px; }
.confirm-step-content strong { display: block; font-size: 0.8125rem; color: var(--white); margin-bottom: 2px; }
.confirm-step-content span { font-size: 0.8125rem; color: var(--white-muted); }
.confirm-note { font-size: 0.8125rem; color: var(--white-faint); margin: 32px 0; }
.confirm-note a { color: var(--sand); }
.confirm-actions { margin-top: 24px; }

/* ============================================================
   REVIEW PAGE
   ============================================================ */
.review-page { min-height: 80vh; display: flex; align-items: center; justify-content: center; padding: 60px var(--content-pad); }
.review-container { max-width: 560px; width: 100%; }
.review-header { margin-bottom: 40px; }
.review-header h1 { font-family: var(--heading); font-size: clamp(1.5rem,3vw,2rem); font-weight: 300; color: var(--white); line-height: 1.2; margin: 0 0 8px; }
.review-exp-title { color: var(--sand); font-size: 0.875rem; }
.review-form { display: flex; flex-direction: column; gap: 28px; }
.review-field { display: flex; flex-direction: column; gap: 6px; }
.review-label { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--white-faint); }
.review-hint { font-size: 0.8125rem; color: var(--white-muted); line-height: 1.5; margin: 0; }
.review-form textarea,
.review-form input[type="text"] { width: 100%; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); border-radius: 8px; padding: 14px 16px; color: var(--white-soft); font-size: 0.9375rem; font-family: var(--body); resize: vertical; transition: border-color 0.2s; }
.review-form textarea:focus,
.review-form input[type="text"]:focus { outline: none; border-color: var(--sand); }

/* Stars */
.review-stars { display: flex; gap: 6px; }
.star-btn { background: none; border: none; font-size: 2rem; color: rgba(255,255,255,0.12); cursor: pointer; padding: 0; transition: color 0.15s, transform 0.15s; }
.star-btn:hover { transform: scale(1.15); }
.star-btn.active { color: var(--sand); }

/* Done state */
.review-done { text-align: center; padding: 40px 0; }
.review-done-icon { font-size: 2.5rem; width: 64px; height: 64px; display: flex; align-items: center; justify-content: center; background: rgba(34,197,94,0.08); border: 1px solid rgba(34,197,94,0.2); border-radius: 50%; margin: 0 auto 20px; color: #22c55e; }
.review-done h1 { font-family: var(--heading); font-size: 1.75rem; font-weight: 300; color: var(--white); margin: 0 0 12px; }
.review-done p { color: var(--white-soft); font-size: var(--body-size); line-height: 1.7; }

/* ============================================================
   LEGAL PAGES (PRIVACY / TERMS)
   ============================================================ */
.legal-page { min-height: 80vh; }
.legal-hero { position: relative; padding: clamp(140px,18vw,200px) var(--content-pad) clamp(40px,6vw,80px); text-align: center; overflow: hidden; }
.legal-hero-bg { position: absolute; inset: 0; background: linear-gradient(180deg, var(--void) 0%, var(--deep-2) 100%); }
.legal-hero-content { position: relative; z-index: 2; }
.legal-hero h1 { font-family: var(--heading); font-size: clamp(2rem,4vw,3rem); font-weight: 300; color: var(--white); margin: 0 0 8px; }
.legal-updated { font-size: 0.8125rem; color: var(--white-faint); }
.legal-body { padding: clamp(40px,6vw,80px) var(--content-pad) clamp(100px,12vw,200px); }
.legal-content { max-width: 680px; margin: 0 auto; }
.legal-content h2 { font-family: var(--heading); font-size: 1.25rem; font-weight: 400; color: var(--sand); margin: 40px 0 12px; }
.legal-content h3 { font-size: 0.9375rem; font-weight: 600; color: var(--white); margin: 24px 0 8px; }
.legal-content p { font-size: var(--body-size); color: var(--white-soft); line-height: 1.8; margin-bottom: 16px; }
.legal-content a { color: var(--sand); text-decoration: underline; text-underline-offset: 2px; }

/* ============================================================
   MY GDC DASHBOARD
   ============================================================ */
/* ── AUTH GATE ─────────────────────────────────── */
.auth-gate {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: calc(var(--header-height) + 40px) var(--content-pad) 80px;
}
.auth-gate-inner {
    max-width: 960px;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    background: var(--glass-bg);
    border: 1px solid var(--glass-border);
    border-radius: var(--card-radius-lg);
    overflow: hidden;
    backdrop-filter: blur(var(--glass-blur));
    -webkit-backdrop-filter: blur(var(--glass-blur));
}
@media (max-width: 768px) {
    .auth-gate-inner { grid-template-columns: 1fr; }
}

/* Login side */
.auth-login {
    padding: clamp(32px, 5vw, 56px);
}
.auth-logo {
    font-family: var(--body);
    font-size: 0.6875rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--sand);
    margin-bottom: 32px;
}
.auth-login h1 {
    font-family: var(--heading);
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    font-weight: 300;
    color: var(--white);
    line-height: 1.15;
    margin-bottom: 10px;
}
.auth-sub {
    font-size: 0.875rem;
    color: var(--white-muted);
    line-height: 1.6;
    margin-bottom: 28px;
}

/* Error message */
.auth-error {
    background: rgba(212, 80, 80, 0.1);
    border: 1px solid rgba(212, 80, 80, 0.25);
    border-radius: 10px;
    padding: 12px 16px;
    font-size: 0.8125rem;
    color: #e86060;
    margin-bottom: 20px;
    line-height: 1.5;
}

/* Form */
.auth-form { }
.auth-field {
    margin-bottom: 18px;
}
.auth-field label {
    display: block;
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--white-muted);
    margin-bottom: 8px;
}
.auth-field input {
    width: 100%;
    background: var(--deep-4);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 10px;
    padding: 14px 16px;
    color: var(--white);
    font-family: var(--body);
    font-size: 0.9375rem;
    transition: border-color 0.3s ease;
    outline: none;
}
.auth-field input:focus {
    border-color: rgba(196,169,125,0.4);
}
.auth-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 24px;
}
.auth-check {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8125rem;
    color: var(--white-muted);
    cursor: pointer;
}
.auth-check input {
    accent-color: var(--sand);
    width: 16px;
    height: 16px;
    cursor: pointer;
}
.auth-forgot {
    font-size: 0.8125rem;
    color: var(--sand);
    transition: color 0.3s ease;
}
.auth-forgot:hover { color: var(--sand-light); }
.auth-submit {
    width: 100%;
    justify-content: center;
    font-size: 0.875rem;
    padding: 16px;
}
.auth-submit.loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Paths side */
.auth-paths {
    padding: clamp(32px, 5vw, 56px);
    background: var(--deep-3);
    border-left: 1px solid rgba(255,255,255,0.04);
}
@media (max-width: 768px) {
    .auth-paths { border-left: none; border-top: 1px solid rgba(255,255,255,0.04); }
}
.auth-paths-label {
    font-size: 0.5625rem;
    font-weight: 600;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--sand);
    margin-bottom: 12px;
}
.auth-paths h2 {
    font-family: var(--heading);
    font-size: clamp(1.25rem, 2vw, 1.625rem);
    font-weight: 300;
    color: var(--white);
    line-height: 1.15;
    margin-bottom: 8px;
}
.auth-paths-sub {
    font-size: 0.8125rem;
    color: var(--white-muted);
    margin-bottom: 24px;
}
.auth-path-cards {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.auth-path-card {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.05);
    border-radius: 12px;
    transition: all 0.3s ease;
    text-decoration: none;
    color: inherit;
}
.auth-path-card:hover {
    background: rgba(196,169,125,0.04);
    border-color: rgba(196,169,125,0.15);
    transform: translateX(4px);
}
.auth-path-icon {
    font-size: 1.375rem;
    flex-shrink: 0;
    margin-top: 2px;
}
.auth-path-card strong {
    display: block;
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--white);
    margin-bottom: 3px;
}
.auth-path-card span {
    font-size: 0.75rem;
    color: var(--white-muted);
    line-height: 1.45;
}
.portal { min-height: 100vh; padding: 0 0 80px; }
.portal-header { padding: calc(var(--header-height) + 16px) 24px 40px; border-bottom: 1px solid rgba(255,255,255,0.04); }
.portal-inner { max-width: 1080px; margin: 0 auto; }
.portal-greeting { font-family: var(--heading); font-size: clamp(1.75rem, 4vw, 2.5rem); font-weight: 300; color: var(--white); margin: 0 0 6px; }
.portal-role { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sand); }
.portal-nav { display: flex; gap: 8px; margin-top: 24px; flex-wrap: wrap; }
.portal-tab { padding: 8px 20px; border-radius: 100px; font-size: 0.8125rem; font-weight: 500; color: var(--white-faint); background: transparent; border: 1px solid rgba(255,255,255,0.06); cursor: pointer; transition: all 0.3s ease; font-family: var(--body); }
.portal-tab:hover { color: var(--white); border-color: rgba(255,255,255,0.15); }
.portal-tab.active { color: var(--void); background: var(--sand); border-color: var(--sand); }
.portal-body { padding: 40px 24px; }
.portal-section { display: none; }
.portal-section.active { display: block; }
.portal-section h3 { font-family: var(--heading); font-size: 1.5rem; font-weight: 300; color: var(--white); margin: 0 0 24px; }
.p-card { background: var(--glass-bg); border: 1px solid var(--glass-border); border-radius: 12px; padding: 24px; margin-bottom: 16px; transition: border-color 0.3s ease; }
.p-card:hover { border-color: rgba(196,169,125,0.2); }
.p-card-title { font-size: 1rem; font-weight: 600; color: var(--white); margin: 0 0 8px; }
.p-card-meta { font-size: 0.8125rem; color: var(--white-muted); line-height: 1.6; }
.p-card-meta span { display: inline-block; margin-right: 16px; }
.p-card-status { display: inline-block; padding: 3px 10px; border-radius: 100px; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.05em; text-transform: uppercase; }
.status-pending { background: rgba(255,200,50,0.1); color: #f0c040; }
.status-confirmed { background: rgba(100,220,100,0.1); color: #6ece6e; }
.status-active { background: rgba(196,169,125,0.12); color: var(--sand); }
.affiliate-block { background: rgba(196,169,125,0.04); border: 1px solid rgba(196,169,125,0.15); border-radius: 12px; padding: 32px; margin-bottom: 32px; }
.affiliate-url { display: flex; gap: 12px; align-items: center; margin: 16px 0 0; }
.affiliate-url input { flex: 1; background: rgba(0,0,0,0.3); border: 1px solid rgba(255,255,255,0.06); border-radius: 8px; padding: 12px 16px; color: var(--white); font-size: 0.875rem; font-family: monospace; }
.affiliate-url button { padding: 12px 24px; background: var(--sand); color: var(--void); border: none; border-radius: 8px; font-weight: 600; font-size: 0.8125rem; cursor: pointer; white-space: nowrap; font-family: var(--body); }
.affiliate-url button:hover { background: var(--sand-light); }
.affiliate-stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 16px; margin-top: 24px; }
.aff-stat { text-align: center; padding: 20px 16px; background: rgba(0,0,0,0.2); border-radius: 10px; }
.aff-stat-val { font-family: var(--heading); font-size: 1.75rem; color: var(--white); font-weight: 300; }
.aff-stat-label { font-size: 0.6875rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--white-muted); margin-top: 4px; }
.qr-block { text-align: center; margin-top: 24px; padding: 24px; background: #fff; border-radius: 12px; display: inline-block; }
.resource-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; }
.resource-card { background: var(--glass-bg); border: 1px solid var(--glass-border); border-radius: 12px; overflow: hidden; transition: all 0.3s ease; cursor: pointer; }
.resource-card:hover { border-color: rgba(196,169,125,0.25); transform: translateY(-2px); }
.resource-thumb { height: 160px; background: rgba(196,169,125,0.06); display: flex; align-items: center; justify-content: center; }
.resource-thumb img { width: 100%; height: 100%; object-fit: cover; }
.res-icon { font-size: 2rem; }
.resource-body { padding: 20px; }
.resource-type { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sand); margin: 0 0 8px; }
.resource-title { font-size: 0.9375rem; font-weight: 500; color: var(--white); margin: 0 0 8px; line-height: 1.4; }
.resource-excerpt { font-size: 0.8125rem; color: var(--white-muted); line-height: 1.5; }
.ep-status-card { background: rgba(196,169,125,0.04); border: 1px solid rgba(196,169,125,0.15); border-radius: 12px; padding: 32px; margin-bottom: 32px; }
.ep-status-card h4 { color: var(--white); margin: 0 0 12px; font-size: 1rem; }
.empty-state { text-align: center; padding: 60px 24px; }
.empty-state-icon { font-size: 2.5rem; margin-bottom: 16px; }
.empty-state h4 { color: var(--white); margin: 0 0 8px; font-size: 1.125rem; }
.empty-state p { color: var(--white-muted); font-size: 0.875rem; max-width: 400px; margin: 0 auto 24px; }
.portal-logout { display: inline-block; margin-top: 40px; padding: 10px 24px; border: 1px solid rgba(255,255,255,0.06); border-radius: 100px; color: var(--white-muted); font-size: 0.8125rem; text-decoration: none; transition: all 0.3s; }
.portal-logout:hover { color: var(--white); border-color: rgba(255,255,255,0.15); }
@media(max-width:600px) {
    .portal-header, .portal-body { padding-left: 16px; padding-right: 16px; }
    .affiliate-url { flex-direction: column; }
    .affiliate-stats { grid-template-columns: repeat(2, 1fr); }
}

/* REVEAL FLOW */
.reveal-banner { margin-bottom: 32px; }
.reveal-card { background: var(--glass-bg); border: 1px solid var(--glass-border); border-radius: 12px; overflow: hidden; }
.reveal-card-header { padding: 20px 24px 0; }
.reveal-card-body { padding: 24px; }
.reveal-photo { width: 100%; height: 220px; background-size: cover; background-position: center; border-bottom: 1px solid var(--glass-border); }
.reveal-pricing-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.reveal-price-card { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.06); border-radius: 8px; padding: 20px; text-align: center; }
.reveal-price-label { font-size: 0.75rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sand); margin-bottom: 4px; }
.reveal-price-sub { font-size: 0.6875rem; color: var(--white-faint); margin-bottom: 12px; }
.reveal-price-amount { font-family: var(--heading); font-size: 1.5rem; font-weight: 300; color: var(--white); }
.reveal-price-amount span { font-size: 0.75rem; color: var(--white-muted); }
.reveal-price-payout { font-size: 0.6875rem; color: var(--white-muted); margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.04); }
@media(max-width:600px) {
    .reveal-pricing-grid { grid-template-columns: 1fr; }
    .reveal-photo { height: 160px; }
}

/* ============================================================
   HOST PAGE (EP RECRUITMENT + FORM)
   ============================================================ */
/* ============================================================
   HOST PAGE v3.1 — Recruitment + Application
   All spacing uses design tokens from main.css
   ============================================================ */

/* ---- HERO ---- */
.host-hero { position: relative; padding: clamp(120px, 18vw, 180px) var(--content-pad) clamp(40px, 5vw, 60px); overflow: hidden; }
.host-hero-bg { position: absolute; inset: 0; background: linear-gradient(180deg, var(--void) 0%, var(--deep-3) 50%, var(--deep-2) 100%); }
.host-hero .atmo { width: 500px; height: 500px; top: -100px; left: 50%; transform: translateX(-50%); }
.host-hero-inner { position: relative; z-index: 2; max-width: 760px; margin: 0 auto; text-align: center; }
.host-hero h1 { font-family: var(--heading); font-size: clamp(2.25rem, 5.5vw, 4rem); font-weight: 300; color: var(--white); line-height: 1.08; margin: 0 0 24px; }
.host-hero h1 em { font-style: italic; color: var(--sand-light); }
.host-hero-sub { font-size: clamp(0.9375rem, 1.2vw, 1.0625rem); color: var(--white-soft); line-height: 1.7; max-width: 600px; margin: 0 auto 36px; }
.host-hero-promises { display: flex; flex-wrap: wrap; justify-content: center; gap: 20px 36px; margin-top: 40px; }
.host-hero-promises span { display: flex; align-items: center; gap: 10px; font-size: 0.8125rem; color: var(--white-soft); }
.host-hero-promises .hp-icon { width: 26px; height: 26px; border-radius: 50%; border: 1px solid rgba(196,169,125,0.2); display: flex; align-items: center; justify-content: center; font-size: 0.6875rem; color: var(--sand); flex-shrink: 0; }

/* ---- CENTERED EYEBROW (hides the default ::before line) ---- */
.eyebrow-center { justify-content: center; }
.eyebrow-center::before { display: none; }

/* ---- HOST SECTION CONTAINER ---- */
.hs { padding: var(--section-pad-lg) var(--content-pad); max-width: var(--content-max); margin: 0 auto; }
.hs-narrow { max-width: 900px; margin: 0 auto; }
.hs-text-center { text-align: center; }
.hs-intro { font-size: 0.9375rem; color: var(--white-muted); line-height: 1.7; max-width: 600px; margin: 16px auto 0; }
.hs-close { font-size: 0.9375rem; color: var(--white-soft); line-height: 1.7; max-width: 600px; margin: 48px auto 0; text-align: center; }

/* ---- A2: REQUIREMENTS GRID ---- */
.req-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; max-width: 840px; margin: 48px auto 0; }
@media (max-width: 680px) { .req-grid { grid-template-columns: 1fr; } }
.req-card { padding: 28px 24px; background: var(--glass-bg); border: 1px solid var(--glass-border); border-radius: var(--card-radius); transition: all 0.3s ease; }
.req-card:hover { background: var(--glass-hover); border-color: rgba(196,169,125,0.12); }
.req-card-icon { width: 40px; height: 40px; border-radius: 50%; background: rgba(196,169,125,0.06); border: 1px solid rgba(196,169,125,0.1); display: flex; align-items: center; justify-content: center; font-size: 1rem; margin-bottom: 16px; }
.req-card h3 { font-family: var(--heading); font-size: 1.125rem; font-weight: 400; color: var(--white); margin: 0 0 8px; }
.req-card p { font-size: 0.8125rem; color: var(--white-muted); line-height: 1.6; margin: 0; }

/* ---- A3: TRANSFORM TABLE ---- */
.transform-intro { font-size: clamp(0.9375rem, 1.1vw, 1.0625rem); color: var(--white-muted); line-height: 1.8; max-width: 600px; margin: 16px auto 48px; text-align: center; }
.transform-table { max-width: 700px; margin: 0 auto; }
.tr-row { display: grid; grid-template-columns: 1fr 32px 1fr; align-items: center; padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,0.04); }
.tr-row:last-child { border-bottom: none; }
.tr-head { border-bottom: 1px solid rgba(196,169,125,0.12); padding-bottom: 12px; margin-bottom: 4px; }
.tr-head span { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--white-faint); }
.tr-before { font-size: 0.875rem; color: var(--white-faint); text-align: right; padding-right: 12px; }
.tr-arrow { font-size: 0.75rem; color: var(--sand); text-align: center; opacity: 0.5; }
.tr-after { font-size: 0.875rem; color: var(--white); font-weight: 500; padding-left: 12px; }
@media (max-width: 600px) {
    .tr-row { grid-template-columns: 1fr; gap: 2px; text-align: left; }
    .tr-before { text-align: left; padding: 0; font-size: 0.75rem; }
    .tr-arrow { display: none; }
    .tr-after { padding: 0; }
    .tr-head { display: none; }
}

/* ---- A4: SERVICES LIST ---- */
.svc-list { display: flex; flex-direction: column; gap: 12px; max-width: 780px; margin: 48px auto 0; }
.svc-item { display: flex; gap: 16px; align-items: flex-start; padding: 24px; background: var(--glass-bg); border: 1px solid var(--glass-border); border-radius: var(--card-radius); transition: all 0.3s ease; }
.svc-item:hover { background: var(--glass-hover); border-color: rgba(196,169,125,0.08); }
.svc-icon { width: 40px; height: 40px; border-radius: 50%; background: rgba(196,169,125,0.06); border: 1px solid rgba(196,169,125,0.1); display: flex; align-items: center; justify-content: center; font-size: 0.875rem; flex-shrink: 0; }
.svc-text { text-align: left; }
.svc-text h3 { font-size: 0.875rem; font-weight: 600; color: var(--white); margin: 0 0 4px; }
.svc-text p { font-size: 0.8125rem; color: var(--white-muted); line-height: 1.6; margin: 0; }
.svc-bottom { max-width: 780px; margin: 32px auto 0; padding: 24px; background: rgba(196,169,125,0.03); border: 1px solid rgba(196,169,125,0.1); border-radius: var(--card-radius); font-size: 0.9375rem; color: var(--white-soft); line-height: 1.7; text-align: center; }
.svc-bottom strong { color: var(--sand-light); }
.service-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; max-width: 900px; margin: 48px auto 0; }
.svc-card { padding: 28px; background: var(--glass-bg); border: 1px solid var(--glass-border); border-radius: var(--card-radius); transition: all 0.3s ease; text-align: left; }
.svc-card:hover { background: var(--glass-hover); border-color: rgba(196,169,125,0.08); transform: translateY(-2px); }
.svc-card h4 { font-size: 0.9375rem; font-weight: 600; color: var(--sand-light); margin: 0 0 8px; }
.svc-card p { font-size: 0.8125rem; color: var(--white-muted); line-height: 1.6; margin: 0; }

/* ---- A5: LISTING PREVIEW ---- */
.listing-wrap { max-width: 900px; margin: 40px auto 0; border-radius: var(--card-radius-lg); overflow: hidden; border: 1px solid rgba(196,169,125,0.12); background: var(--deep-3); }
.listing-badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; background: rgba(196,169,125,0.08); border: 1px solid rgba(196,169,125,0.15); border-radius: 100px; font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sand); margin-bottom: 12px; }
.listing-inner { position: relative; overflow: hidden; height: clamp(280px, 30vw, 420px); }
.listing-inner img { width: 100%; height: 100%; object-fit: cover; filter: brightness(0.85); }
.listing-overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(4,5,6,0.85) 0%, rgba(4,5,6,0.2) 50%, transparent 70%); }
.listing-content { position: absolute; bottom: 0; left: 0; right: 0; padding: 32px clamp(24px,4vw,40px); }
.listing-loc { font-size: 0.75rem; color: var(--white-muted); margin-bottom: 8px; letter-spacing: 0.05em; }
.listing-title { font-family: var(--heading); font-size: clamp(1.5rem, 3vw, 2.25rem); font-weight: 300; color: var(--white); margin: 0; }
.listing-meta { margin-top: 12px; display: flex; gap: 16px; font-size: 0.8125rem; color: var(--white-soft); flex-wrap: wrap; }

/* ---- A6: STEPS ---- */
.steps-list { max-width: 580px; margin: 48px auto 0; display: flex; flex-direction: column; gap: 36px; }
.step-item { display: flex; gap: 20px; align-items: flex-start; text-align: left; }
.step-num { font-family: var(--heading); font-size: 2rem; font-weight: 300; color: var(--sand); opacity: 0.4; flex-shrink: 0; width: 32px; text-align: right; line-height: 1.1; }
.step-body h3 { font-family: var(--heading); font-size: 1.125rem; font-weight: 400; color: var(--white); margin: 0 0 6px; }
.step-body p { font-size: 0.8125rem; color: var(--white-muted); line-height: 1.6; margin: 0; }

/* ---- A7: GUEST EXPECT / NOT ---- */
.guest-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; max-width: 780px; margin: 48px auto 0; text-align: left; }
@media (max-width: 680px) { .guest-cols { grid-template-columns: 1fr; gap: 32px; } }
.guest-col h3 { font-family: var(--heading); font-size: 1.125rem; font-weight: 400; color: var(--white); margin: 0 0 16px; }
.guest-row { display: flex; gap: 10px; align-items: flex-start; font-size: 0.8125rem; line-height: 1.5; margin-bottom: 12px; }
.guest-row .gi { flex-shrink: 0; margin-top: 2px; font-size: 0.75rem; }
.gi-yes { color: var(--sand); }
.gi-no { color: var(--white-faint); }
.guest-row-yes { color: var(--white-muted); }
.guest-row-no { color: var(--white-faint); }

/* ---- A8: STATS ---- */
.proof-stats { display: flex; justify-content: center; gap: 48px; margin-top: 40px; flex-wrap: wrap; }
.proof-stat { text-align: center; }
.proof-stat-num { font-family: var(--heading); font-size: 2.5rem; font-weight: 300; color: var(--sand); line-height: 1; }
.proof-stat-label { font-size: 0.75rem; color: var(--white-faint); margin-top: 6px; letter-spacing: 0.05em; }

/* ---- A9: REGIONS ---- */
.region-pills { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; max-width: 700px; margin: 32px auto 0; }
.region-pill { padding: 10px 18px; background: var(--glass-bg); border: 1px solid var(--glass-border); border-radius: 100px; font-size: 0.8125rem; color: var(--white-muted); transition: all 0.3s ease; }
.region-pill.active { background: rgba(196,169,125,0.06); border-color: rgba(196,169,125,0.2); color: var(--sand); }
.region-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; margin-right: 8px; vertical-align: middle; }
.region-dot-on { background: var(--sand); }
.region-dot-soon { background: var(--white-faint); }

/* Destination Map */
.dest-map { max-width: 800px; margin: 40px auto 24px; position: relative; }
.dest-map-grid { position: relative; width: 100%; padding-bottom: 48%; background: rgba(255,255,255,0.015); border: 1px solid rgba(255,255,255,0.04); border-radius: 16px; overflow: hidden; }
.dest-pin { position: absolute; display: flex; align-items: center; gap: 8px; z-index: 2; }
.dest-pin .dest-dot { width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0; position: relative; }
.dest-pin.active .dest-dot { background: var(--sand); box-shadow: 0 0 12px rgba(196,169,125,0.4); }
.dest-pin.active .dest-dot::after { content: ''; position: absolute; inset: -4px; border-radius: 50%; border: 1px solid rgba(196,169,125,0.2); animation: dest-pulse 2.5s ease-in-out infinite; }
.dest-pin.soon .dest-dot { background: rgba(255,255,255,0.15); }
.dest-pin .dest-label { font-size: 0.6875rem; color: var(--white-muted); white-space: nowrap; letter-spacing: 0.02em; }
.dest-pin.active .dest-label { color: var(--sand); }
.dest-pin.soon .dest-label { color: var(--white-faint); font-style: italic; }
@keyframes dest-pulse { 0%,100% { transform: scale(1); opacity: 0.4; } 50% { transform: scale(1.8); opacity: 0; } }
@media (max-width: 640px) {
    .dest-map-grid { padding-bottom: 65%; }
    .dest-pin .dest-label { font-size: 0.5625rem; }
    .dest-pin .dest-dot { width: 8px; height: 8px; }
}

/* ---- A10: FAQ ---- */
.faq-list { max-width: 680px; margin: 48px auto 0; text-align: left; }
.faq-item { border-bottom: 1px solid rgba(255,255,255,0.05); }
.faq-q { padding: 20px 0; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.faq-q h3 { font-size: 0.9375rem; font-weight: 500; color: var(--white); margin: 0; }
.faq-icon { font-size: 0.875rem; color: var(--white-faint); transition: transform 0.3s ease; flex-shrink: 0; }
.faq-item.open .faq-icon { transform: rotate(45deg); }
.faq-a { max-height: 0; overflow: hidden; transition: max-height 0.4s var(--ease); }
.faq-a-inner { padding: 0 0 20px; font-size: 0.875rem; color: var(--white-muted); line-height: 1.7; }
.faq-item.open .faq-a { max-height: 300px; }

/* ---- A11: FINAL CTA ---- */
.final-cta { position: relative; padding: var(--section-pad-lg) var(--content-pad); text-align: center; overflow: hidden; }
.final-cta-bg { position: absolute; inset: 0; background: linear-gradient(180deg, var(--deep-2), var(--deep-3), var(--deep-2)); }
.final-cta .atmo { width: 400px; height: 400px; top: 50%; left: 50%; transform: translate(-50%,-50%); }
.final-cta-inner { position: relative; z-index: 2; }
.final-cta h2 { font-family: var(--heading); font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 300; color: var(--white); margin: 0 0 20px; }
.final-cta-contact { margin-top: 32px; font-size: 0.8125rem; color: var(--white-faint); line-height: 1.8; }
.final-cta-contact a { color: var(--sand); transition: color 0.3s ease; }
.final-cta-contact a:hover { color: var(--sand-light); }

/* ============================================================
   FORM STYLES (v2.1 — Task Group 2 overhaul pending)
   ============================================================ */
.form-section{padding:clamp(80px,12vw,140px) clamp(16px,4vw,72px);background:linear-gradient(180deg,var(--deep-2) 0%,var(--deep-3) 50%,var(--deep-2) 100%);position:relative}
.form-section::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(to right,transparent,rgba(196,169,125,.08),transparent)}
.form-container{max-width:700px;margin:0 auto}
.progress-bar{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:48px;padding:0 16px}
.progress-step{display:flex;align-items:center}
.progress-dot{width:32px;height:32px;border-radius:50%;border:2px solid var(--white-faint);display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:600;color:var(--white-faint);transition:all .4s ease;flex-shrink:0}
.progress-dot.active{border-color:var(--sand);color:var(--sand)}
.progress-dot.done{border-color:var(--sand);background:var(--sand);color:var(--void)}
.progress-line{width:clamp(20px,5vw,48px);height:2px;background:var(--white-ghost);transition:background .4s ease}
.progress-line.done{background:var(--sand)}
.form-step{display:none;animation:fadeStep .4s ease}.form-step.active{display:block}
@keyframes fadeStep{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.step-title{font-family:var(--heading);font-size:clamp(1.5rem,3vw,2rem);font-weight:300;color:var(--white);margin-bottom:8px}
.step-subtitle{font-size:.8125rem;color:var(--white-muted);margin-bottom:32px;line-height:1.7}
.step-subtitle strong{color:var(--white-soft)}
.field{margin-bottom:24px}
.field label{display:block;font-size:.6875rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--white-soft);margin-bottom:8px}
.field label .req{color:var(--coral);margin-left:2px}
.field input[type="text"],.field input[type="email"],.field input[type="tel"],.field input[type="number"],.field input[type="url"],.field textarea,.field select{width:100%;padding:14px 16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:10px;color:var(--white);font-family:var(--body);font-size:.9375rem;transition:all .3s ease;-webkit-appearance:none}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--sand);background:rgba(255,255,255,.06);box-shadow:0 0 0 3px rgba(196,169,125,.1)}
.field input::placeholder,.field textarea::placeholder{color:var(--white-faint)}
.field textarea{resize:vertical;min-height:100px}
.field select{cursor:pointer}
.field select option{background:var(--deep-2);color:var(--white)}
.field-hint{font-size:.75rem;color:var(--white-faint);margin-top:6px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:500px){.field-row{grid-template-columns:1fr}}
.info-box{padding:16px 20px;background:rgba(196,169,125,.04);border:1px solid rgba(196,169,125,.12);border-radius:10px;font-size:.8125rem;color:var(--white-soft);line-height:1.6;margin-bottom:24px}
.info-box strong{color:var(--sand)}
.info-box.green{background:rgba(100,180,100,.04);border-color:rgba(100,180,100,.12)}
.info-box.green strong{color:#7cc87c}
.dream-trip{display:none;margin-bottom:32px;border-radius:14px;overflow:hidden;border:1px solid rgba(196,169,125,.15);background:rgba(196,169,125,.03)}
.dream-trip.visible{display:block;animation:fadeStep .5s ease}
.dream-trip-header{padding:20px 24px;background:rgba(196,169,125,.06);border-bottom:1px solid rgba(196,169,125,.1)}
.dream-trip-header h3{font-family:var(--heading);font-size:1.25rem;font-weight:400;color:var(--sand-light);margin:0 0 4px}
.dream-trip-header p{font-size:.75rem;color:var(--white-muted);margin:0}
.dream-trip-body{padding:20px 24px}
.dt-table{width:100%;border-collapse:collapse}
.dt-table th{text-align:left;font-size:.625rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--white-faint);padding:8px 4px;border-bottom:1px solid rgba(255,255,255,.06)}
.dt-table td{padding:8px 4px;font-size:.8125rem;color:var(--white-soft);border-bottom:1px solid rgba(255,255,255,.03)}
.dt-table td:last-child{text-align:right;font-weight:500;color:var(--sand);white-space:nowrap}
.dt-table tr.dt-total td{border-top:2px solid rgba(196,169,125,.2);font-weight:700;font-size:.9375rem;color:var(--white);padding-top:12px}
.dt-table tr.dt-total td:last-child{color:var(--sand-light);font-size:1rem}
.dream-trip-footer{padding:16px 24px;background:rgba(100,180,100,.04);border-top:1px solid rgba(100,180,100,.1);font-size:.8125rem;color:var(--white-soft);line-height:1.6}
.dream-trip-footer strong{color:#7cc87c}
.inclusion-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:24px}
@media(min-width:500px){.inclusion-grid{grid-template-columns:repeat(2,1fr)}}
.inclusion-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:10px;cursor:pointer;transition:all .3s ease;user-select:none}
.inclusion-item:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}
.inclusion-item.on{background:rgba(196,169,125,.08);border-color:rgba(196,169,125,.25)}
.incl-toggle{width:20px;height:20px;border-radius:5px;border:1.5px solid var(--white-faint);display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0;font-size:.625rem;color:transparent}
.inclusion-item.on .incl-toggle{border-color:var(--sand);background:var(--sand);color:var(--void)}
.incl-info{flex:1}.incl-name{font-size:.8125rem;font-weight:500;color:var(--white)}.incl-detail{font-size:.6875rem;color:var(--white-faint);margin-top:2px}
.dive-sites-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.dive-site-tag{padding:8px 14px;background:rgba(91,180,207,.06);border:1px solid rgba(91,180,207,.12);border-radius:100px;font-size:.75rem;color:var(--water);font-weight:500}
.meal-grid{display:grid;grid-template-columns:1fr;gap:16px;margin-bottom:24px}
@media(min-width:500px){.meal-grid{grid-template-columns:repeat(3,1fr)}}
.meal-card{padding:16px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:10px;text-align:center}
.meal-card h4{font-family:var(--heading);font-size:1rem;font-weight:400;color:var(--white);margin:0 0 4px}
.meal-card .meal-count{font-size:.6875rem;color:var(--white-faint);margin-bottom:8px}
.meal-card .meal-rate{font-size:.75rem;color:var(--sand);margin-bottom:8px;font-weight:500}
.meal-card textarea{min-height:60px;font-size:.8125rem}
.villa-section{margin-bottom:24px}
.villa-section h4{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--white-soft);margin:0 0 12px}
.pod-list{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}
.pod-row{display:grid;grid-template-columns:1fr 1fr 36px;gap:10px;align-items:center}
.pod-remove{width:36px;height:36px;border-radius:50%;background:rgba(217,83,79,.1);border:1px solid rgba(217,83,79,.2);color:var(--coral);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1rem;transition:all .3s ease}
.pod-remove:hover{background:rgba(217,83,79,.2)}
.pod-add{display:inline-flex;align-items:center;gap:8px;font-size:.8125rem;color:var(--sand);cursor:pointer;padding:10px 0}
.photo-upload{display:flex;align-items:center;gap:20px}
.photo-preview{width:72px;height:72px;border-radius:50%;background:rgba(255,255,255,.04);border:2px dashed rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;font-size:1.25rem;color:var(--white-faint);overflow:hidden;flex-shrink:0}
.photo-preview img{width:100%;height:100%;object-fit:cover}
.photo-upload-btn{padding:10px 20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--white-soft);font-size:.8125rem;cursor:pointer;transition:all .3s ease}
.photo-upload-btn:hover{background:rgba(255,255,255,.1)}
.photo-upload input[type="file"]{display:none}
.month-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
@media(max-width:400px){.month-grid{grid-template-columns:repeat(3,1fr)}}
.month-btn{padding:12px 8px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:10px;text-align:center;cursor:pointer;transition:all .3s ease;font-size:.8125rem;color:var(--white-muted);user-select:none}
.month-btn:hover{background:rgba(255,255,255,.06)}
.month-btn.selected{background:rgba(196,169,125,.1);border-color:var(--sand);color:var(--sand);font-weight:600}
.payout-box{padding:24px;background:rgba(196,169,125,.04);border:1px solid rgba(196,169,125,.12);border-radius:12px;margin-bottom:24px}
.payout-row{display:flex;justify-content:space-between;padding:6px 0;font-size:.875rem;color:var(--white-soft)}
.payout-row.total{border-top:1px solid rgba(196,169,125,.15);margin-top:8px;padding-top:14px;font-weight:600;color:var(--white);font-size:1rem}
.payout-row .val{color:var(--sand);font-weight:600}
.payout-note{font-size:.75rem;color:var(--white-muted);margin-top:12px;line-height:1.6}
.review-section{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid rgba(255,255,255,.05)}
.review-section h4{font-family:var(--heading);font-size:1.125rem;color:var(--white);margin:0 0 12px}
.review-row{display:flex;justify-content:space-between;padding:6px 0;font-size:.8125rem}
.review-label{color:var(--white-muted)}.review-val{color:var(--white);text-align:right;max-width:60%}
.agreement{display:flex;align-items:flex-start;gap:12px;padding:20px;background:rgba(255,255,255,.02);border-radius:10px;border:1px solid rgba(255,255,255,.05);cursor:pointer;margin-bottom:24px;user-select:none}
.agreement input{display:none}
.agreement p{font-size:.8125rem;color:var(--white-muted);line-height:1.5;margin:0}
.form-nav{display:flex;justify-content:space-between;margin-top:40px;gap:16px}
.form-nav .btn{min-width:140px;justify-content:center}
.btn-back{background:transparent;color:var(--white-muted);padding:14px 28px;font-size:.8125rem;border:1px solid rgba(255,255,255,.08);border-radius:100px;transition:all .3s ease;cursor:pointer}
.btn-back:hover{border-color:rgba(255,255,255,.2);color:var(--white)}
.form-success{text-align:center;padding:60px 24px;display:none}
.form-success.active{display:block}
.form-success-icon{width:72px;height:72px;border-radius:50%;background:rgba(196,169,125,.1);border:2px solid var(--sand);display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:1.5rem;color:var(--sand)}
.form-success h3{font-family:var(--heading);font-size:1.75rem;color:var(--white);margin:0 0 12px}
.form-success p{font-size:.9375rem;color:var(--white-soft);line-height:1.6;max-width:480px;margin:0 auto}
.form-error{background:rgba(217,83,79,.1);border:1px solid rgba(217,83,79,.25);border-radius:10px;padding:14px 18px;font-size:.8125rem;color:var(--coral);margin-bottom:20px;display:none}
.form-error.visible{display:block}
.price-table{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}
.price-line{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;padding:12px 16px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);border-radius:10px}
@media(max-width:500px){.price-line{grid-template-columns:1fr;gap:4px}.price-line-local,.price-line-usd{text-align:left!important}}
.price-line-label{font-size:.8125rem;color:var(--white-soft)}
.price-line-sub{font-size:.6875rem;color:var(--white-faint);margin-top:2px}
.price-line-local{font-size:.875rem;font-weight:600;color:var(--sand);text-align:right;white-space:nowrap}
.price-line-usd{font-size:.75rem;color:var(--white-faint);text-align:right;white-space:nowrap}
/* ---- FORM v3.0 ADDITIONS ---- */
.checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
@media(max-width:500px){.checkbox-grid{grid-template-columns:1fr}}
.cb-item{display:flex;align-items:center;gap:10px;padding:12px 14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:10px;font-size:.8125rem;color:var(--white-soft);cursor:pointer;transition:all .3s ease;user-select:none}
.cb-item:hover{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}
.cb-item input[type="checkbox"]{accent-color:var(--sand);width:16px;height:16px;flex-shrink:0}
.form-subsection{margin-bottom:40px;padding-bottom:32px;border-bottom:1px solid rgba(255,255,255,.04)}
.form-subsection:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0}
.form-subsection>h4{font-family:var(--heading);font-size:1.25rem;font-weight:400;color:var(--white);margin:0 0 16px}
.subsection-label{font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--white-faint);margin:0 0 12px}
.pod-row{display:grid;grid-template-columns:1fr 1fr 1fr 36px;gap:10px;align-items:center}
@media(max-width:500px){.pod-row{grid-template-columns:1fr 1fr 36px}.pod-row .pod-relation-wrap{display:none}}
.currency-display{padding:14px 16px;background:rgba(196,169,125,.06);border:1px solid rgba(196,169,125,.12);border-radius:10px;font-size:.9375rem;color:var(--sand)}
.pricing-table{margin-bottom:24px}
.pricing-header{display:grid;grid-template-columns:1fr 160px 160px;gap:12px;padding:0 16px 12px;border-bottom:1px solid rgba(255,255,255,.06)}
.pricing-header div{font-size:.625rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--white-faint)}
.ph-rate{text-align:right}.ph-bench{text-align:right}
.pricing-row{display:grid;grid-template-columns:1fr 160px 160px;gap:12px;align-items:center;padding:12px 16px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.04);border-radius:10px;margin-top:8px}
.pr-service strong{font-size:.8125rem;color:var(--white-soft);font-weight:500}
.pr-unit{display:block;font-size:.6875rem;color:var(--white-faint);margin-top:2px}
.pr-input{display:flex;align-items:center;gap:4px}
.pr-input .cur-sym{font-size:.75rem;color:var(--sand);white-space:nowrap;flex-shrink:0}
.pr-input input{width:100%;padding:10px 12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--white);font-family:var(--body);font-size:.875rem;text-align:right;-webkit-appearance:none}
.pr-input input:focus{outline:none;border-color:var(--sand);box-shadow:0 0 0 3px rgba(196,169,125,.1)}
.pr-input input::placeholder{color:var(--white-ghost)}
.pr-bench{font-size:.75rem;color:var(--white-faint);text-align:right;white-space:nowrap}
.pricing-row-custom .pr-service input{width:100%;padding:10px 12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:var(--white);font-family:var(--body);font-size:.8125rem;-webkit-appearance:none}
.pricing-row-custom .pr-service input:focus{outline:none;border-color:var(--sand)}
.pricing-row-custom .pr-bench{display:flex;justify-content:flex-end}
@media(max-width:600px){
    .pricing-header{display:none}
    .pricing-row{grid-template-columns:1fr;gap:8px}
    .pr-input{justify-content:flex-start}.pr-bench{text-align:left}
    .pricing-row-custom{grid-template-columns:1fr 1fr 36px}
}

/* ============================================================
   TRAVEL AGENTS PAGE
   ============================================================ */
.agent-hero{position:relative;padding:clamp(140px,20vw,220px) clamp(24px,5vw,72px) clamp(60px,8vw,100px);overflow:hidden;text-align:center}
.agent-hero-bg{position:absolute;inset:0;background:linear-gradient(180deg,var(--void) 0%,var(--deep-2) 100%)}
.agent-hero-content{position:relative;z-index:2;max-width:650px;margin:0 auto}
.agent-hero h1{font-family:var(--heading);font-size:clamp(2rem,5vw,3.5rem);font-weight:300;color:var(--white);line-height:1.12;margin-bottom:24px}
.agent-hero h1 em{font-style:italic;color:var(--sand-light)}
.agent-hero p{font-size:clamp(.9375rem,1.2vw,1.0625rem);color:var(--white-soft);line-height:1.75;max-width:500px;margin:0 auto}
.agent-pitch{padding:clamp(60px,10vw,120px) clamp(24px,5vw,72px);background:var(--deep-2);border-top:1px solid rgba(255,255,255,0.03)}
.agent-pitch-inner{max-width:1100px;margin:0 auto}
.agent-pitch-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:600px){.agent-pitch-grid{grid-template-columns:1fr 1fr}}
.agent-pitch-card{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05);border-radius:16px;padding:clamp(24px,3vw,36px);transition:border-color .4s ease}
.agent-pitch-card:hover{border-color:rgba(196,169,125,0.15)}
.agent-pitch-card h3{font-family:var(--heading);font-size:1rem;font-weight:400;color:var(--white);margin-bottom:10px}
.agent-pitch-card p{font-size:.8125rem;color:var(--white-muted);line-height:1.7}
.agent-signup-section{padding:clamp(80px,12vw,160px) clamp(24px,5vw,72px)}
.agent-signup-inner{max-width:640px;margin:0 auto}
.agent-signup-section h2{font-family:var(--heading);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:300;color:var(--white);margin-bottom:12px}

/* ============================================================
   GUARANTEE PAGE
   ============================================================ */
.guar-hero{position:relative;padding:clamp(140px,20vw,220px) 24px clamp(40px,6vw,80px);overflow:hidden;text-align:center}
.guar-hero-bg{position:absolute;inset:0;background:linear-gradient(180deg,var(--void) 0%,var(--deep-2) 100%)}
.guar-hero-content{position:relative;z-index:2;max-width:600px;margin:0 auto}
.guar-shield{font-size:3rem;margin-bottom:20px}
.guar-hero h1{font-family:var(--heading);font-size:clamp(2.25rem,5vw,3.5rem);font-weight:300;color:var(--white);margin-bottom:16px}
.guar-hero p{font-size:clamp(.9375rem,1.2vw,1.0625rem);color:var(--white-soft);line-height:1.7}
.guar-body{padding:clamp(40px,6vw,80px) clamp(24px,5vw,72px) clamp(80px,12vw,160px)}
.guar-inner{max-width:720px;margin:0 auto}
.guar-card{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05);border-radius:20px;padding:clamp(28px,4vw,48px);margin-bottom:24px}
.guar-card h2{font-family:var(--heading);font-size:clamp(1.25rem,2vw,1.5rem);font-weight:300;color:var(--white);margin-bottom:16px}
.guar-card>p{font-size:clamp(.875rem,1vw,.9375rem);color:var(--white-soft);line-height:1.75;margin-bottom:16px}
.guar-item{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid rgba(255,255,255,0.04)}
.guar-item:last-child{border-bottom:none}
.guar-check{color:var(--sand);font-size:1.125rem;flex-shrink:0;margin-top:2px}
.guar-item strong{display:block;color:var(--white);font-size:.9375rem;margin-bottom:6px}
.guar-item p{font-size:.8125rem;color:var(--white-muted);line-height:1.7;margin:0}

/* ============================================================
   DESTINATIONS PAGE
   ============================================================ */
.dest-hero{position:relative;padding:clamp(140px,20vw,200px) 24px clamp(60px,8vw,100px);overflow:hidden;text-align:center}
.dest-hero-bg{position:absolute;inset:0;background:linear-gradient(180deg,var(--void) 0%,var(--deep-2) 100%)}
.dest-hero-content{position:relative;z-index:2;max-width:650px;margin:0 auto}
.dest-hero h1{font-family:var(--heading);font-size:clamp(2.25rem,5.5vw,4rem);font-weight:300;color:var(--white);line-height:1.08;margin-bottom:20px}
.dest-hero h1 em{font-style:italic;color:var(--sand-light)}
.dest-hero p{font-size:clamp(.9375rem,1.2vw,1.0625rem);color:var(--white-soft);line-height:1.7}
.dest-archive{padding:clamp(20px,4vw,40px) clamp(24px,5vw,72px) clamp(100px,15vw,200px);max-width:1560px;margin:0 auto}
.dest-archive-grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:500px){.dest-archive-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.dest-archive-grid{grid-template-columns:repeat(3,1fr)}}
.dest-tile{position:relative;border-radius:16px;overflow:hidden;aspect-ratio:4/3;display:block;transition:transform .5s var(--ease)}
.dest-tile:hover{transform:scale(1.02)}
.dest-tile-img{position:absolute;inset:0}
.dest-tile-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.dest-tile:hover .dest-tile-img img{transform:scale(1.08)}
.dest-tile-placeholder{background:var(--deep-2)}
.dest-tile-gradient{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,5,6,0.85) 0%,rgba(4,5,6,0.1) 60%);z-index:1}
.dest-tile-body{position:absolute;bottom:0;left:0;right:0;padding:clamp(20px,3vw,32px);z-index:2}
.dest-tile h3{font-family:var(--heading);font-size:clamp(1.125rem,1.8vw,1.375rem);font-weight:300;color:var(--white);margin-bottom:4px}
.dest-tile-count{font-size:.75rem;color:var(--sand);font-weight:500;letter-spacing:.03em}
.dest-tile-soon{cursor:default;opacity:.7}
.dest-tile-soon .dest-tile-count{color:var(--white-muted)}

/* ============================================================
   EXPERIENCES ARCHIVE PAGE
   ============================================================ */
.exp-hero{position:relative;padding:clamp(140px,20vw,200px) clamp(24px,5vw,72px) clamp(60px,8vw,100px);overflow:hidden;text-align:center}
.exp-hero-bg{position:absolute;inset:0;background:linear-gradient(180deg,var(--void) 0%,var(--deep-2) 100%)}
.exp-hero .atmo{width:500px;height:500px;top:-100px;left:50%;transform:translateX(-50%)}
.exp-hero-content{position:relative;z-index:2;max-width:700px;margin:0 auto}
.exp-hero h1{font-family:var(--heading);font-size:clamp(2.5rem,6vw,4.5rem);font-weight:300;color:var(--white);line-height:1.05;margin-bottom:20px}
.exp-hero h1 em{font-style:italic;color:var(--sand-light)}
.exp-hero-content>p{font-size:clamp(.9375rem,1.2vw,1.0625rem);color:var(--white-soft);line-height:1.7;max-width:480px;margin:0 auto}
.exp-filters{padding:20px clamp(24px,5vw,72px);max-width:1560px;margin:0 auto;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.filter-btn{padding:10px 22px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:100px;color:var(--white-muted);font-size:.75rem;font-weight:500;letter-spacing:.04em;cursor:pointer;transition:all .3s ease;white-space:nowrap}
.filter-btn:hover{background:rgba(255,255,255,.06);color:var(--white)}
.filter-btn.active{background:rgba(196,169,125,.1);border-color:rgba(196,169,125,.25);color:var(--sand)}
.exp-archive{padding:clamp(40px,6vw,80px) clamp(24px,5vw,72px) clamp(100px,15vw,200px);max-width:1560px;margin:0 auto}
.exp-grid{display:grid;grid-template-columns:1fr;gap:20px}
@media(min-width:600px){.exp-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.exp-grid{grid-template-columns:repeat(3,1fr)}}
.exp-archive .exp-card{min-height:420px}
.exp-empty{text-align:center;padding:80px 24px;grid-column:1/-1}
.exp-empty h3{font-family:var(--heading);font-size:1.5rem;color:var(--white);margin-bottom:12px}
.exp-empty p{font-size:.9375rem;color:var(--white-muted);line-height:1.6;max-width:400px;margin:0 auto 32px}

/* ============================================================
   SEARCH RESULTS PAGE
   ============================================================ */
.search-page { min-height: 80vh; }
.search-hero { position: relative; padding: clamp(140px,18vw,200px) var(--content-pad) clamp(40px,6vw,60px); text-align: center; overflow: hidden; }
.search-hero-bg { position: absolute; inset: 0; background: linear-gradient(180deg, var(--void) 0%, var(--deep-2) 100%); }
.search-hero-content { position: relative; z-index: 2; max-width: 600px; margin: 0 auto; }
.search-hero h1 { font-family: var(--heading); font-size: clamp(1.5rem,3vw,2.25rem); font-weight: 300; color: var(--white); margin: 0 0 24px; }
.search-hero h1 em { color: var(--sand-light); font-style: italic; }
.search-form-inline { display: flex; gap: 8px; }
.search-form-inline input[type="search"] { flex: 1; padding: 12px 16px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 8px; color: var(--white); font-size: 0.9375rem; font-family: var(--body); outline: none; }
.search-form-inline input:focus { border-color: var(--sand); }
.search-results { padding: clamp(20px,4vw,60px) var(--content-pad) clamp(80px,10vw,160px); max-width: 1000px; margin: 0 auto; }
.search-grid { display: flex; flex-direction: column; gap: 16px; }
.search-card { display: flex; gap: 20px; text-decoration: none; border-radius: 12px; overflow: hidden; background: rgba(255,255,255,0.015); border: 1px solid rgba(255,255,255,0.04); transition: border-color 0.3s; }
.search-card:hover { border-color: rgba(196,169,125,0.2); }
.search-card-img { width: 200px; flex-shrink: 0; }
.search-card-img img { width: 100%; height: 100%; object-fit: cover; }
.search-card-body { padding: 20px; display: flex; flex-direction: column; justify-content: center; }
.search-card-type { font-size: 0.6875rem; color: var(--sand); text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600; margin-bottom: 4px; }
.search-card h3 { font-family: var(--heading); font-size: 1.125rem; font-weight: 400; color: var(--white); margin: 0 0 8px; }
.search-card p { font-size: 0.8125rem; color: var(--white-muted); margin: 0; }
.search-card-meta { display: flex; gap: 10px; flex-wrap: wrap; }
.search-card-meta span { font-size: 0.75rem; color: var(--white-faint); }
.search-card-meta span + span::before { content: '·'; margin-right: 10px; }
@media (max-width: 600px) {
    .search-card { flex-direction: column; }
    .search-card-img { width: 100%; height: 180px; }
}
.search-empty { text-align: center; padding: 60px 24px; }
.search-empty-icon { font-size: 3rem; margin-bottom: 16px; }
.search-empty h2 { font-family: var(--heading); font-size: 1.5rem; font-weight: 300; color: var(--white); margin-bottom: 12px; }
.search-empty p { font-size: 0.9375rem; color: var(--white-muted); margin-bottom: 28px; }
.search-pagination { margin-top: 40px; text-align: center; }
.search-pagination .page-numbers { display: inline-block; padding: 8px 14px; color: var(--white-faint); font-size: 0.8125rem; }
.search-pagination .page-numbers.current { color: var(--sand); font-weight: 600; }
.search-pagination a.page-numbers:hover { color: var(--white); }

/* ============================================================
   404 PAGE
   ============================================================ */
.four-oh-four { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; text-align: center; padding: clamp(120px,18vw,200px) clamp(24px,5vw,72px) clamp(80px,12vw,160px); overflow: hidden; }
.four-oh-four-bg { position: absolute; inset: 0; background: linear-gradient(180deg, var(--void) 0%, var(--deep-2) 60%, var(--void) 100%); }
.four-oh-four-content { position: relative; z-index: 2; max-width: 540px; }
.four-oh-four-code { font-family: var(--heading); font-size: clamp(6rem,14vw,10rem); font-weight: 300; color: rgba(196,169,125,0.12); line-height: 1; margin-bottom: -20px; letter-spacing: -0.04em; }
.four-oh-four h1 { font-family: var(--heading); font-size: clamp(1.75rem,4vw,2.75rem); font-weight: 300; color: var(--white); line-height: 1.15; margin-bottom: 16px; }
.four-oh-four p { font-size: clamp(0.9375rem,1.2vw,1.0625rem); color: var(--white-soft); line-height: 1.7; margin-bottom: 36px; }
.four-oh-four-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ============================================================
   GENERIC PAGE
   ============================================================ */
.page-hero{position:relative;padding:clamp(140px,20vw,200px) 24px clamp(20px,4vw,40px);overflow:hidden;text-align:center}
.page-hero-bg{position:absolute;inset:0;background:linear-gradient(180deg,var(--void) 0%,var(--deep-2) 100%)}
.page-hero-content{position:relative;z-index:2;max-width:700px;margin:0 auto}
.page-hero h1{font-family:var(--heading);font-size:clamp(2rem,5vw,3.5rem);font-weight:300;color:var(--white);line-height:1.1}
.page-content{padding:clamp(40px,6vw,80px) clamp(24px,5vw,72px) clamp(100px,15vw,200px)}
.page-content-inner{max-width:720px;margin:0 auto;font-size:clamp(.875rem,1vw,.9375rem);color:var(--white-soft);line-height:1.8}
.page-content-inner h2{font-family:var(--heading);font-size:clamp(1.25rem,2vw,1.5rem);font-weight:300;color:var(--white);margin:clamp(32px,4vw,48px) 0 16px}
.page-content-inner h3{font-family:var(--heading);font-size:clamp(1.0625rem,1.5vw,1.25rem);font-weight:400;color:var(--white);margin:24px 0 12px}
.page-content-inner p{margin-bottom:16px}
.page-content-inner a{color:var(--sand);transition:color .3s ease}
.page-content-inner a:hover{color:var(--sand-light)}
.page-content-inner ul,.page-content-inner ol{padding-left:24px;margin-bottom:16px}
.page-content-inner li{margin-bottom:8px}
.page-content-inner strong{color:var(--white)}
.page-content-inner blockquote{border-left:2px solid rgba(196,169,125,0.3);padding-left:20px;margin:24px 0;color:var(--white-muted);font-style:italic}
.page-content-inner hr{border:none;border-top:1px solid rgba(255,255,255,0.05);margin:32px 0}
.page-content-inner table{width:100%;border-collapse:collapse;margin:24px 0}
.page-content-inner th,.page-content-inner td{padding:12px 16px;text-align:left;border-bottom:1px solid rgba(255,255,255,0.05)}
.page-content-inner th{color:var(--white);font-weight:500;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}

/* ============================================================
   DESTINATION TAXONOMY PAGE
   ============================================================ */
.dest-hero { position: relative; padding: clamp(140px,18vw,200px) var(--content-pad) clamp(40px,6vw,80px); text-align: center; overflow: hidden; }
.dest-hero-bg { position: absolute; inset: 0; background: linear-gradient(180deg, var(--void) 0%, var(--deep-2) 60%, var(--void) 100%); }
.dest-hero-content { position: relative; z-index: 2; max-width: 600px; margin: 0 auto; }
.dest-hero h1 { font-family: var(--heading); font-size: clamp(2.5rem,6vw,4.5rem); font-weight: 300; color: var(--white); line-height: 1.05; margin: 0 0 16px; }
.dest-hero p { font-size: clamp(0.9375rem,1.2vw,1.0625rem); color: var(--white-soft); line-height: 1.7; margin-bottom: 16px; }
.dest-hero-stats { font-size: 0.8125rem; color: var(--sand); font-weight: 500; }
.dest-archive { padding: clamp(40px,6vw,80px) var(--content-pad) clamp(80px,10vw,160px); }
.dest-archive-inner { max-width: 1560px; margin: 0 auto; }
.exp-grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
@media (min-width: 600px) { .exp-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1000px) { .exp-grid { grid-template-columns: repeat(3, 1fr); } }
.dest-archive .exp-card { min-height: 420px; }

/* ============================================
   EP CONFIRMATION PAGE (v0.43.0)
   ============================================ */
.epconfirm-page { min-height:80vh; display:flex; align-items:center; justify-content:center; padding:var(--space-xl) var(--space-md); }
.epconfirm-container { max-width:640px; width:100%; text-align:center; }
.epconfirm-badge { font-size:3rem; width:80px; height:80px; display:flex; align-items:center; justify-content:center; margin:0 auto var(--space-md); background:rgba(196,169,125,0.1); border-radius:50%; color:var(--gold); }
.epconfirm-badge-error { background:rgba(220,38,38,0.1); color:#f87171; }
.epconfirm-sub { color:var(--muted); font-size:0.9375rem; line-height:1.6; margin-bottom:var(--space-lg); }
.epconfirm-details { text-align:left; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:var(--space-md); margin:var(--space-lg) 0; }
.epconfirm-row { display:flex; justify-content:space-between; align-items:flex-start; padding:10px 0; border-bottom:1px solid var(--border); }
.epconfirm-row:last-child { border-bottom:none; }
.epconfirm-row-highlight { background:rgba(196,169,125,0.05); margin:0 calc(var(--space-md) * -1); padding:12px var(--space-md); border-radius:0 0 var(--radius) var(--radius); border-bottom:none; }
.epconfirm-label { color:var(--muted); font-size:0.8125rem; min-width:140px; flex-shrink:0; }
.epconfirm-value { color:var(--text); font-size:0.9375rem; text-align:right; }
.epconfirm-what-expected { text-align:left; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:var(--space-md); margin:var(--space-md) 0 var(--space-lg); }
.epconfirm-what-expected h3 { font-size:1rem; margin-bottom:var(--space-sm); }
.epconfirm-what-expected ul { list-style:none; padding:0; margin:0; }
.epconfirm-what-expected li { padding:6px 0 6px 24px; position:relative; color:var(--muted); font-size:0.875rem; }
.epconfirm-what-expected li::before { content:'\2713'; position:absolute; left:0; color:var(--gold); }
.epconfirm-what-expected p { margin-top:var(--space-sm); color:var(--muted); font-size:0.8125rem; }
.epconfirm-actions { display:flex; gap:var(--space-sm); justify-content:center; margin:var(--space-lg) 0; flex-wrap:wrap; }
.epconfirm-btn { min-width:200px; }
.epconfirm-btn-alt { min-width:200px; background:transparent; color:var(--gold); border:1px solid var(--gold); }
.epconfirm-btn-alt:hover { background:rgba(196,169,125,0.1); }
.epconfirm-alt-form { text-align:left; background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:var(--space-md); margin:var(--space-md) 0; }
.epconfirm-alt-form h3 { font-size:1rem; margin-bottom:var(--space-xs); }
.epconfirm-alt-form p { color:var(--muted); font-size:0.875rem; margin-bottom:var(--space-md); }
.epconfirm-result { margin-top:var(--space-lg); padding:var(--space-lg); border-radius:var(--radius); text-align:center; }
.epconfirm-result-success { background:rgba(196,169,125,0.05); border:1px solid rgba(196,169,125,0.2); }
.epconfirm-result-error { background:rgba(220,38,38,0.05); border:1px solid rgba(220,38,38,0.2); }
.epconfirm-result .epconfirm-badge { font-size:2rem; width:60px; height:60px; }

/* STRIPE CARD ELEMENT */
.se-stripe-card { background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:14px 16px; transition:border-color 0.2s; }
.se-stripe-card:focus-within { border-color:var(--gold); }
.se-stripe-error { color:#f87171; font-size:0.8125rem; margin-top:6px; min-height:20px; }


/* ============================================================
   SENSORY IMMERSION v0.9.0
   Depth scroll, water-light, card tilt, bubbles, hero parallax
   ============================================================ */

/* ---- Site-wide bubble layer ---- */
#site-bubbles {
    position: fixed;
    inset: 0;
    z-index: 9988; /* below grain (9999), above content */
    pointer-events: none;
    overflow: hidden;
}

/* ---- Depth-driven ambient layer ---- */
:root {
    --depth: 0;         /* 0 = surface, 1 = deepest mid-page, JS-driven */
}

/* Subtle blue ambient overlay that intensifies at page mid-depth */
body::before {
    content: '';
    position: fixed;
    inset: 0;
    z-index: 9990;
    pointer-events: none;
    background: radial-gradient(ellipse 120% 80% at 50% 40%,
        rgba(29, 90, 140, calc(var(--depth) * 0.055)) 0%,
        transparent 70%);
    transition: opacity 0.3s ease;
}

/* ---- Hero parallax: content and image move separately ---- */
.hero-media { will-change: transform; }
.hero-content { will-change: transform, opacity; }
.hero-scroll  { will-change: opacity; }

/* ---- Experience cards: perspective container + water-light hover ---- */
.exp-layout { perspective: 1200px; }

.exp-card { will-change: transform; }

/* Water-light glow: sits ABOVE noise and gradient layers */
.exp-card::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 6; /* above card-body(4), link(5), noise(2), gradient(1) */
    border-radius: var(--card-radius);
    background: linear-gradient(
        to top,
        rgba(59, 158, 191, 0.22) 0%,
        rgba(59, 158, 191, 0.08) 35%,
        transparent 65%
    );
    opacity: 0;
    transition: opacity 0.7s var(--ease);
    pointer-events: none;
    mix-blend-mode: screen;
}
.exp-card:hover::after { opacity: 1; }

/* Border glow on hover */
.exp-card:hover::before {
    box-shadow:
        inset 0 0 0 1px rgba(91, 180, 207, 0.18),
        0 0 60px rgba(59, 158, 191, 0.08);
}

/* Destination cards: tilt-ready */
.dest-track { perspective: 800px; }
.dest-card { will-change: transform; }
.dest-card:hover img { filter: saturate(1.15) brightness(1.0); }

/* ---- Path cards perspective ---- */
.paths-grid { perspective: 1000px; }

/* ---- Bubble keyframe (JS-injected elements) ---- */
@keyframes bubbleRise {
    0%   { transform: translateY(0) translateX(0) scale(1); opacity: 0; }
    5%   { opacity: 1; }
    50%  { transform: translateY(-50vh) translateX(var(--drift, 20px)) scale(0.95); }
    90%  { opacity: 0.6; }
    100% { transform: translateY(-105vh) translateX(calc(var(--drift, 20px) * 1.5)) scale(0.88); opacity: 0; }
}

/* ---- Image band: stronger quote moment ---- */
.image-band-content blockquote {
    font-size: clamp(1.625rem, 4vw, 3.25rem);
    line-height: 1.25;
    text-shadow: 0 4px 60px rgba(0,0,0,0.5), 0 0 120px rgba(29,90,140,0.18);
    letter-spacing: -0.01em;
}

.image-band-content cite {
    letter-spacing: 0.28em;
    opacity: 0.7;
    margin-top: 28px;
}

/* Image band: subtle blue-water vignette from bottom */
.image-band-overlay {
    background:
        linear-gradient(to top, var(--void) 0%, transparent 22%),
        linear-gradient(to bottom, var(--void) 0%, transparent 22%),
        radial-gradient(ellipse 100% 60% at 50% 80%, rgba(29,90,140,0.12) 0%, transparent 100%),
        rgba(4,5,6,0.3);
}

/* ---- Enhanced hero atmosphere ---- */
.hero-gradient {
    background:
        linear-gradient(to top, var(--void) 0%, rgba(4,5,6,0.9) 18%, rgba(4,5,6,0.18) 50%, transparent 70%),
        linear-gradient(to right, rgba(4,5,6,0.65) 0%, rgba(4,5,6,0.08) 55%, transparent 70%),
        linear-gradient(to bottom, rgba(4,5,6,0.3) 0%, transparent 12%),
        radial-gradient(ellipse 80% 50% at 30% 70%, rgba(29,90,140,0.06) 0%, transparent 100%);
}

/* Extra caustic: deeper, slower, bluer */
.hero-caustic-3 {
    top: 72%;
    transform: rotate(0.8deg);
    animation-delay: -14s;
    animation-duration: 35s;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(59, 158, 191, 0.04) 20%,
        rgba(59, 158, 191, 0.07) 50%,
        rgba(59, 158, 191, 0.04) 80%,
        transparent 100%);
}

/* ---- Standard inclusions: blue shimmer on hover ---- */
.standard-item:hover {
    background: rgba(59, 158, 191, 0.025);
}

.standard-item::after {
    background: linear-gradient(90deg, var(--water-deep), var(--water));
}

/* ---- Scroll-depth progress bar (top of viewport) ---- */
.depth-bar {
    position: fixed;
    top: 0;
    left: 0;
    height: 2px;
    width: 100%;
    background: linear-gradient(90deg, var(--water-deep) 0%, var(--water) 40%, var(--sand) 100%);
    z-index: 1002;
    transform-origin: left;
    transform: scaleX(0);
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.5s ease;
}
.depth-bar.visible {
    opacity: 1;
}

/* ---- Section transitions: deeper reveal on scroll ---- */
.r {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.85s var(--ease), transform 0.85s var(--ease);
}
.r.v {
    opacity: 1;
    transform: translateY(0);
}
.r-d1 { transition-delay: 0.08s; }
.r-d2 { transition-delay: 0.16s; }
.r-d3 { transition-delay: 0.24s; }
.r-d4 { transition-delay: 0.32s; }
.r-d5 { transition-delay: 0.40s; }
.r-d6 { transition-delay: 0.48s; }
.r-d7 { transition-delay: 0.56s; }
.r-d8 { transition-delay: 0.64s; }

/* ---- Hero tag: subtle gold pulse ---- */
@keyframes goldPulse {
    0%, 100% { opacity: 0.8; }
    50%       { opacity: 1; text-shadow: 0 0 20px rgba(196,169,125,0.3); }
}
.hero-tag { animation: slideUp 0.9s var(--ease) 2s forwards, goldPulse 4s ease-in-out 3.5s infinite; }

/* ---- Trust badge: slow orbit ---- */
@keyframes orbit {
    0%   { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
.trust-badge {
    animation: orbit 20s linear infinite;
}
.trust-badge:hover {
    animation-play-state: paused;
}

/* ---- CTA band: stronger pull ---- */
.cta-band { position: relative; overflow: hidden; }

.cta-band::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(ellipse 80% 100% at 50% 50%,
        rgba(196,169,125,0.06) 0%,
        transparent 70%);
    pointer-events: none;
}

/* Package Preview Cards */
.package-preview{margin-top:24px;padding:24px;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.06);border-radius:14px}
.package-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.package-card{padding:20px 16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;text-align:center;transition:border-color .2s}
.package-card.featured{border-color:var(--sand);background:rgba(214,183,140,.04)}
.package-label{font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--white-soft);margin-bottom:4px}
.package-size{font-size:.75rem;color:var(--white-faint);margin-bottom:12px}
.package-price{font-size:1.4rem;font-weight:700;color:var(--sand);margin-bottom:8px;font-family:var(--display)}
.package-note{font-size:.7rem;color:var(--white-faint);line-height:1.3}
@media(max-width:600px){.package-cards{grid-template-columns:1fr}.package-card{padding:16px}}

/* Nearby Destinations */
.nearby-destinations{display:flex;flex-wrap:wrap;gap:8px}
.nearby-dest-chip{min-width:140px;flex:1}
.nearby-dest-chip strong{display:block;margin-bottom:2px}

/* Transfer Gate */
#transferGateBlock .info-box{margin-bottom:12px}


/* ============================== */
/* v4.0 — HOST PAGE REBUILD      */
/* ============================== */

/* World Map */
.world-map { max-width: 860px; margin: 40px auto 24px; }
.map-svg { width: 100%; height: auto; display: block; border: 1px solid rgba(255,255,255,0.04); border-radius: 16px; background: rgba(255,255,255,0.01); overflow: visible; }
.map-pin-glow { animation: mapPulse 3s ease-in-out infinite; }
@keyframes mapPulse { 0%,100%{opacity:0.2;r:5} 50%{opacity:0.5;r:7} }

/* Interview Section */
.interview-section { margin-top: 32px; padding-top: 32px; border-top: 1px solid rgba(255,255,255,0.06); }
.interview-intro { margin-bottom: 24px; }
.interview-intro h3 { font-family: var(--heading); font-size: 1.25rem; font-weight: 400; color: var(--white); margin: 0 0 8px; }
.interview-intro p { font-size: 0.875rem; color: var(--white-muted); margin: 0; line-height: 1.6; }

/* Vision Box */
.vision-box { background: linear-gradient(135deg, rgba(196,169,125,0.04), rgba(138,124,186,0.03)); border: 1px solid rgba(196,169,125,0.12); border-radius: 14px; padding: 24px; margin-bottom: 32px; }
.vision-box h4 { font-family: var(--heading); font-size: 1rem; font-weight: 400; color: var(--sand); margin: 0 0 12px; }
.vision-box p { font-size: 0.875rem; color: var(--white-soft); line-height: 1.65; margin: 0 0 8px; }
.vision-box p:last-child { margin-bottom: 0; }

/* Currency Display */
.currency-display { font-size: 0.8125rem; color: var(--sand); padding: 10px 16px; background: rgba(196,169,125,0.05); border: 1px solid rgba(196,169,125,0.1); border-radius: 8px; margin-bottom: 28px; display: inline-block; }

/* Service Blocks */
.service-block { background: rgba(255,255,255,0.015); border: 1px solid rgba(255,255,255,0.05); border-radius: 16px; padding: 28px 24px; margin-bottom: 24px; }
.service-header { margin-bottom: 12px; }
.service-header h4 { font-family: var(--heading); font-size: 1.125rem; font-weight: 400; color: var(--white); margin: 0; }
.service-explain { margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid rgba(255,255,255,0.04); }
.service-explain p { font-size: 0.8125rem; color: var(--white-muted); line-height: 1.65; margin: 0 0 8px; }
.service-explain p:last-child { margin-bottom: 0; }

/* Extras Grid */
.extras-grid { display: grid; grid-template-columns: 1fr; gap: 12px; margin-bottom: 24px; }
@media(min-width:600px) { .extras-grid { grid-template-columns: repeat(2, 1fr); } }
.extra-item { background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.06); border-radius: 12px; padding: 16px; transition: all 0.3s ease; }
.extra-item:has(input:checked) { border-color: rgba(196,169,125,0.25); background: rgba(196,169,125,0.04); }
.extra-toggle { display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: 0.875rem; color: var(--white-soft); }
.extra-toggle input[type="checkbox"] { accent-color: var(--sand); width: 16px; height: 16px; }
.extra-name { font-size: 0.9rem; }
.extra-pricing { margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,0.04); }
.extra-pricing .price-input { font-size: 0.875rem; }

/* Add More Section */
.add-more-section { margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,0.04); }
.add-more-section h4 { font-family: var(--heading); font-size: 0.9375rem; font-weight: 400; color: var(--white-soft); margin: 0 0 4px; }

/* Fee Breakdown */
details.fee-breakdown { margin-top: 16px; }
details.fee-breakdown summary { font-size: 0.75rem; color: var(--sand); cursor: pointer; padding: 8px 0; opacity: 0.7; transition: opacity 0.2s; }
details.fee-breakdown summary:hover { opacity: 1; }
details.fee-breakdown .fee-content { padding: 16px; background: rgba(0,0,0,0.2); border-radius: 10px; margin-top: 8px; }
details.fee-breakdown .fee-content p { font-size: 0.8125rem; color: var(--white-muted); line-height: 1.6; margin: 0 0 12px; }
.fee-row { display: flex; justify-content: space-between; padding: 6px 0; font-size: 0.8125rem; color: var(--white-soft); border-bottom: 1px solid rgba(255,255,255,0.03); }
.fee-row:last-of-type { border-bottom: none; }

/* Crew Photo */
.pod-photo-col { display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 60px; }
.pod-photo-btn { width: 48px; height: 48px; border-radius: 50%; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 1.25rem; transition: all 0.2s; }
.pod-photo-btn:hover { border-color: var(--sand); background: rgba(196,169,125,0.06); }
.pod-photo-preview { width: 48px; height: 48px; border-radius: 50%; overflow: hidden; display: none; }
.pod-photo-preview img { width: 100%; height: 100%; object-fit: cover; }
.pod-photo-preview.has-photo { display: block; }

/* Pod row update for photo */
.pod-row { display: flex; gap: 12px; align-items: flex-start; }
.pod-fields { flex: 1; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
@media(max-width:600px) { .pod-fields { grid-template-columns: 1fr; } }

/* Transform Grid */
.transform-grid { display: flex; align-items: center; justify-content: center; gap: 24px; max-width: 700px; margin: 32px auto 0; }
.tf-card { flex: 1; padding: 24px; background: rgba(255,255,255,0.02); border: 1px solid rgba(255,255,255,0.06); border-radius: 14px; }
.tf-card p { margin: 0; font-size: 1rem; color: var(--white-soft); }
.tf-after { border-color: rgba(196,169,125,0.2); background: rgba(196,169,125,0.04); }
.tf-after p { color: var(--sand); }
.tf-label { font-size: 0.6875rem; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; color: var(--white-faint); margin-bottom: 8px; }
.tf-arrow { font-size: 1.5rem; color: var(--sand); }
@media(max-width:600px) { .transform-grid { flex-direction: column; } .tf-arrow { transform: rotate(90deg); } }


