/* Sailbud — styles */

@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,500;0,9..144,700;1,9..144,400&family=Inter+Tight:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap');
:root {
  --ink:      #0a2540;    /* deep navy — primary text */
  --ink-soft: #4a6580;    /* mid blue-grey — secondary text */
  --paper:    #f6f9fc;    /* pale ocean mist — page bg */
  --paper-2:  #ebf2f9;    /* light wave — card bg */
  --paper-3:  #d6e3f0;    /* seafoam — borders/dividers */
  --navy:     #0a2540;    /* deep navy — headers, footer */
  --navy-2:   #0d3360;    /* ocean depth */
  --navy-3:   #1565a8;    /* mid ocean */
  --rust:     #1565a8;    /* OCEAN BLUE — primary accent/CTA */
  --rust-bg:  rgba(21,101,168,.1);
  --moss:     #2a9d6e;    /* sea-green — success/positive */
  --moss-bg:  rgba(42,157,110,.12);
  --gold:     #e89420;    /* warm amber — secondary accent, pills, highlights */
  --gold-bg:  rgba(232,148,32,.14);
  --line:     rgba(10,37,64,.13);
  --serif: 'Fraunces','Georgia',serif;
  --sans: 'Inter Tight',-apple-system,'Helvetica Neue',sans-serif;
  --mono: 'JetBrains Mono','Courier New',monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.5;overflow-x:hidden}
.si{font-family:var(--serif);font-style:italic;font-weight:400}

/* ── WHY ANCHORED ── */
.why-sec{background:linear-gradient(180deg,var(--navy-2) 0%,var(--navy) 100%);padding:52px 32px}
.why-inner{max-width:1320px;margin:0 auto;display:flex;flex-direction:column;gap:64px}
.why-eyebrow{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.28em;color:#e4b84a;margin-bottom:12px}
.why-mission{max-width:760px}
.why-h2{font-family:var(--serif);font-size:clamp(34px,5vw,58px);color:#fff;font-weight:300;line-height:.97;letter-spacing:-.03em;margin-bottom:18px}
.why-gold{color:#e4b84a;font-style:italic}
.why-lead{font-size:16px;color:rgba(255,255,255,.6);line-height:1.7;max-width:640px}

/* Problem→Solution pairs */
.why-pairs{display:flex;flex-direction:column;gap:0;border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden}
.why-pair{display:grid;grid-template-columns:1fr 40px 1fr;align-items:center;gap:0;border-bottom:1px solid rgba(255,255,255,.07);transition:background .2s}
.why-pair:last-child{border-bottom:none}
.why-pair:hover{background:rgba(255,255,255,.025)}
.wp-problem{padding:18px 22px;display:flex;align-items:flex-start;gap:12px}
.wp-ico{font-size:20px;flex-shrink:0;margin-top:1px}
.wp-problem p{font-size:13px;color:rgba(255,255,255,.5);line-height:1.55;font-style:italic}
.wp-arrow{text-align:center;color:#e4b84a;font-size:18px;font-weight:700;flex-shrink:0}
.wp-solution{padding:18px 22px;background:rgba(255,255,255,.03);border-left:1px solid rgba(255,255,255,.07)}
.ws-tag{display:inline-block;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--moss);background:var(--moss-bg);padding:2px 8px;border-radius:50px;margin-bottom:6px}
.wp-solution p{font-size:13px;color:rgba(255,255,255,.65);line-height:1.55}
.wp-solution strong{color:#fff}

/* What makes it different */
.why-diff-grid{display:flex;flex-direction:column;gap:24px}
.why-diff-head h3{font-family:var(--serif);font-size:clamp(26px,3.5vw,40px);color:#fff;font-weight:400;line-height:1.05;letter-spacing:-.02em}
.wdiff-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.wdiff{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:20px;transition:background .2s}
.wdiff:hover{background:rgba(255,255,255,.07)}
.wdiff-ico{font-size:22px;margin-bottom:10px}
.wdiff h4{font-family:var(--serif);font-size:16px;color:#fff;margin-bottom:6px;font-weight:500}
.wdiff p{font-size:12px;color:rgba(255,255,255,.5);line-height:1.6}

/* Who it's for */
.why-who{display:flex;flex-direction:column;gap:20px}
.who-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.who-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:20px;transition:background .2s}
.who-card:hover{background:rgba(255,255,255,.07)}
.who-ico{font-size:24px;margin-bottom:10px}
.who-card h4{font-family:var(--serif);font-size:16px;color:#fff;margin-bottom:6px;font-weight:500}
.who-card p{font-size:12px;color:rgba(255,255,255,.5);line-height:1.6}

/* Stat strip */
.why-stats{display:flex;flex-wrap:wrap;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden}
.wstat{flex:1;min-width:120px;padding:20px 16px;text-align:center;border-right:1px solid rgba(255,255,255,.07);border-bottom:1px solid rgba(255,255,255,.07)}
.wstat:nth-child(4n){border-right:none}
.wstat strong{display:block;font-family:var(--serif);font-size:28px;color:#e4b84a;font-weight:700;line-height:1}
.wstat span{font-size:11px;color:rgba(255,255,255,.35);font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;margin-top:4px;display:block}
.why-footer-note{font-size:11px;color:rgba(255,255,255,.3);line-height:1.6;padding:16px 20px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:10px;font-family:var(--mono)}

@media(max-width:680px){
  .why-pair{grid-template-columns:1fr}
  .wp-arrow{display:none}
  .wp-solution{border-left:none;border-top:1px solid rgba(255,255,255,.07)}
  .why-sec{padding:48px 20px}
  .wstat{min-width:50%}
  .wstat:nth-child(4n){border-right:1px solid rgba(255,255,255,.07)}
  .wstat:nth-child(2n){border-right:none}
}

/* ── NAV RIGHT BUTTONS ── */
.nav-right{display:flex;align-items:center;gap:8px;flex-shrink:0}
.nav-why-btn{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;padding:8px 14px;border:1.5px solid var(--line);border-radius:50px;transition:.2s;white-space:nowrap}
.nav-why-btn:hover{background:var(--paper-2);border-color:var(--ink)}
.nav-free-btn{font-family:var(--sans);font-size:13px;font-weight:700;background:var(--rust);color:#fff;border:none;padding:8px 16px;border-radius:50px;cursor:pointer;transition:.2s;white-space:nowrap;letter-spacing:.02em}
.nav-free-btn:hover{background:#a3300a;transform:translateY(-1px);box-shadow:0 6px 18px rgba(194,59,10,.35)}
@keyframes pulse-btn{0%,100%{box-shadow:0 0 0 0 rgba(194,59,10,.4)}50%{box-shadow:0 0 0 6px rgba(194,59,10,0)}}
@media(max-width:820px){.nav-right{display:none}}

/* ── LEAD CAPTURE SECTION ── */
.survey-sec{background:linear-gradient(135deg,var(--navy-2) 0%,var(--navy) 100%);padding:48px 32px;position:relative;overflow:hidden}
.survey-sec::before{content:'';position:absolute;top:-60px;right:-60px;width:320px;height:320px;background:radial-gradient(circle,rgba(160,120,86,.25),transparent 65%);border-radius:50%;pointer-events:none}
.survey-sec::after{content:'';position:absolute;bottom:-40px;left:-40px;width:200px;height:200px;background:radial-gradient(circle,rgba(196,147,63,.2),transparent 65%);border-radius:50%;pointer-events:none}
.survey-inner{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;position:relative;z-index:1}
/* ── survey left column ── */
.survey-left .sv-eyebrow{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.28em;color:#e4b84a;margin-bottom:12px}
.survey-left h2{font-family:var(--serif);font-size:clamp(24px,4vw,42px);color:#fff;font-weight:300;line-height:1.05;letter-spacing:-.025em;margin-bottom:14px}
.survey-left h2 em{color:#e4b84a;font-style:italic}
.survey-left p{font-size:14px;color:rgba(255,255,255,.55);line-height:1.7;margin-bottom:20px;max-width:460px}
.sv-reasons{list-style:none;display:flex;flex-direction:column;gap:9px;padding:0}
.sv-reasons li{font-size:13px;color:rgba(255,255,255,.7);display:flex;align-items:flex-start;gap:10px;line-height:1.4}
.sv-reasons li strong{color:#fff}
/* ── survey card ── */
.sv-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.15);border-radius:18px;padding:26px;backdrop-filter:blur(8px)}
.sv-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;flex-wrap:wrap;gap:8px}
.sv-join{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.45)}
.sv-join strong{color:#e4b84a;font-family:var(--serif);font-size:15px;font-weight:700;letter-spacing:0}
.sv-stars{color:#e4b84a;font-size:13px}
.sv-stars span{color:rgba(255,255,255,.4);font-size:11px;font-style:italic}
/* ── progress bar ── */
.sv-prog-wrap{margin:14px 0 18px}
.sv-prog-label{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.1em;margin-bottom:7px}
.sv-prog-track{background:rgba(255,255,255,.12);border-radius:50px;height:5px;overflow:hidden}
.sv-prog-fill{height:100%;background:linear-gradient(90deg,var(--rust),#e4b84a);border-radius:50px;transition:width .4s cubic-bezier(.4,0,.2,1)}
/* ── step panels ── */
.sv-step{display:none;animation:fadeUp .22s ease}
.sv-step.active{display:block}
.sv-q-label{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:rgba(255,255,255,.38);margin-bottom:7px}
.sv-q-text{font-family:var(--serif);font-size:18px;color:#fff;margin-bottom:14px;line-height:1.2}
/* ── option buttons ── */
.sv-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.sv-opt{background:rgba(255,255,255,.07);border:1.5px solid rgba(255,255,255,.14);border-radius:11px;padding:11px 12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.82);font-family:var(--sans);text-align:left;width:100%}
.sv-opt:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.35);color:#fff}
.sv-opt.sel{background:rgba(194,59,10,.22);border-color:var(--rust);color:#fff}
.sv-opt-ico{font-size:17px;flex-shrink:0}
/* ── email step ── */
.sv-email-step{display:flex;flex-direction:column;gap:11px}
.sv-field{display:flex;flex-direction:column;gap:5px}
.sv-field label{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.42)}
.sv-field input{font-family:var(--sans);font-size:14px;padding:12px 15px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.09);color:#fff;border-radius:10px;outline:none;transition:border-color .2s;width:100%}
.sv-field input::placeholder{color:rgba(255,255,255,.28)}
.sv-field input:focus{border-color:rgba(194,59,10,.7);background:rgba(255,255,255,.12)}
.sv-result-box{background:rgba(184,134,11,.13);border:1px solid rgba(184,134,11,.3);border-radius:11px;padding:13px 15px;margin-bottom:2px}
.svr-label{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#e4b84a;margin-bottom:4px}
.svr-pdf{font-size:14px;color:#fff;font-weight:600;line-height:1.3}
.svr-desc{font-size:12px;color:rgba(255,255,255,.52);margin-top:3px;line-height:1.4}
.sv-submit{font-family:var(--sans);font-size:14px;font-weight:700;background:linear-gradient(135deg,var(--rust),#e04010);color:#fff;border:none;padding:15px 20px;border-radius:50px;cursor:pointer;transition:all .25s;width:100%;margin-top:2px}
.sv-submit:hover{background:linear-gradient(135deg,#a3300a,#c23b0a);transform:translateY(-2px);box-shadow:0 10px 28px rgba(194,59,10,.38)}
.sv-fine{font-size:11px;color:rgba(255,255,255,.32);text-align:center;font-family:var(--mono);margin-top:2px}
/* ── success state ── */
.sv-success{display:none;text-align:center;padding:10px 0}
.sv-success.show{display:block;animation:fadeUp .3s ease}
.sv-big-ico{font-size:50px;margin-bottom:12px}
.sv-success h3{font-family:var(--serif);font-size:24px;color:#fff;margin-bottom:8px}
.sv-success p{font-size:13px;color:rgba(255,255,255,.58);line-height:1.6;margin-bottom:16px}
.sv-pdf-tag{display:inline-block;background:rgba(184,134,11,.18);color:#e4b84a;font-family:var(--mono);font-size:11px;padding:4px 14px;border-radius:50px;margin-bottom:14px;border:1px solid rgba(184,134,11,.3)}
/* responsive */
@media(max-width:900px){.survey-inner{grid-template-columns:1fr;gap:28px}.survey-sec{padding:48px 20px}.sv-options{grid-template-columns:1fr}}
.lead-eyebrow{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.28em;color:#e4b84a;margin-bottom:12px}
.lead-h2{font-family:var(--serif);font-size:clamp(28px,4vw,46px);color:#fff;font-weight:300;line-height:1.05;letter-spacing:-.025em;margin-bottom:14px}
.lead-gold{color:#e4b84a;font-style:italic}
.lead-sub{font-size:14px;color:rgba(255,255,255,.55);line-height:1.7;margin-bottom:20px;max-width:480px}
.lead-perks{list-style:none;display:flex;flex-direction:column;gap:8px}
.lead-perks li{font-size:13px;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:8px}
.lead-form-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:28px;backdrop-filter:blur(8px)}
.lead-form-head{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.45);margin-bottom:8px}
.lead-form-head strong{color:#e4b84a;font-size:14px;font-family:var(--serif);font-weight:700;letter-spacing:0}
.lead-stars{font-size:13px;color:#e4b84a;margin-bottom:20px}
.lead-stars span{color:rgba(255,255,255,.45);font-size:12px;font-style:italic}
.lead-fields{display:flex;flex-direction:column;gap:12px}
.lead-field{display:flex;flex-direction:column;gap:5px}
.lead-field label{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.18em;color:rgba(255,255,255,.4)}
.lead-field input{font-family:var(--sans);font-size:14px;padding:13px 16px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.08);color:#fff;border-radius:10px;outline:none;transition:border-color .2s}
.lead-field input::placeholder{color:rgba(255,255,255,.25)}
.lead-field input:focus{border-color:rgba(184,134,11,.6);background:rgba(255,255,255,.1)}
.lead-submit{font-family:var(--sans);font-size:15px;font-weight:700;background:linear-gradient(135deg,var(--rust),#e04010);color:#fff;border:none;padding:16px 24px;border-radius:50px;cursor:pointer;transition:all .25s;width:100%;margin-top:4px}
.lead-submit:hover{background:linear-gradient(135deg,#a3300a,#c23b0a);transform:translateY(-2px);box-shadow:0 10px 28px rgba(194,59,10,.4)}
.lead-fine{font-size:11px;color:rgba(255,255,255,.3);text-align:center;font-family:var(--mono);margin-top:2px}
.lead-success{background:rgba(45,122,16,.15);border:1px solid rgba(45,122,16,.3);border-radius:18px;padding:36px;text-align:center}
.ls-ico{font-size:48px;margin-bottom:12px}
.lead-success h3{font-family:var(--serif);font-size:26px;color:#fff;margin-bottom:8px}
.lead-success p{font-size:14px;color:rgba(255,255,255,.6);line-height:1.6;margin-bottom:20px}
@media(max-width:820px){
  .survey-inner{grid-template-columns:1fr;gap:32px}
  .survey-sec{padding:48px 20px}
}

/* ── NAV ── */
.nav{position:sticky;top:0;z-index:300;background:rgba(245,236,224,.93);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav-i{max-width:1320px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{font-family:var(--serif);font-size:21px;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.02em;display:flex;align-items:center;gap:8px}
.logo-anchor{color:var(--rust);font-size:20px}
.nav-links{display:flex;gap:2px;flex-wrap:wrap}
.nav-links a{color:var(--ink-soft);text-decoration:none;font-size:13px;font-weight:500;padding:6px 10px;border-radius:50px;transition:.2s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.nav-links a:hover{background:var(--paper-2);color:var(--ink)}
.nav-ico{width:22px;height:22px;object-fit:contain;flex-shrink:0;border-radius:3px}

.hbg{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:6px}
.hbg span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px;transition:.3s}
.hbg.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hbg.open span:nth-child(2){opacity:0}
.hbg.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:820px){
  .hbg{display:flex}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;padding:12px 24px;gap:2px}
  .nav-links.open{display:flex}
}

/* ── HERO ── */


.hero-in{position:relative;z-index:2}
.hero{background:linear-gradient(140deg,var(--navy) 0%,var(--navy-2) 55%,#0c2d4a 100%);padding:56px 32px 0;position:relative;overflow:hidden}
.hero-grain{position:absolute;inset:0;opacity:.25;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 .9 0 0 0 0 .75 0 0 0 .07 0'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)'/%3E%3C/svg%3E");pointer-events:none}
.hero-port{position:absolute;top:40px;right:-30px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle at 35% 35%,rgba(160,120,86,.5),rgba(61,35,20,.2));border:1px solid rgba(255,255,255,.08);animation:bob 9s ease-in-out infinite;pointer-events:none}
.hero-port2{position:absolute;top:180px;right:220px;width:130px;height:130px;border-radius:50%;background:radial-gradient(circle,rgba(196,147,63,.35),transparent);border:1px solid rgba(255,255,255,.06);animation:bob 12s ease-in-out infinite reverse;pointer-events:none}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-18px)}}
.hero-in{max-width:1320px;margin:0 auto;position:relative;z-index:1;padding-bottom:52px}
.hero-tag{display:inline-block;background:rgba(196,147,63,.18);color:#e8c07a;border:1px solid rgba(196,147,63,.3);padding:6px 16px;border-radius:50px;font-size:11px;font-family:var(--mono);letter-spacing:.2em;text-transform:uppercase;margin-bottom:22px;animation:fadeUp .8s .1s both}
.hero h1{font-family:var(--serif);font-size:clamp(36px,5.5vw,72px);color:#fff;font-weight:300;line-height:1.0;letter-spacing:-.028em;margin-bottom:18px;animation:fadeUp .9s .25s both}
.hero h1 .si{color:#e8c07a}
.hero h1 strong{font-weight:700;background:linear-gradient(110deg,#fff 30%,#c4933f 80%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.hero-sub{color:rgba(255,255,255,.58);font-size:16px;margin-bottom:32px;letter-spacing:.03em;animation:fadeUp .9s .38s both}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:44px;animation:fadeUp .9s .5s both}
.hero-ticker{border-top:1px solid rgba(255,255,255,.1);padding:15px 0;overflow:hidden;position:relative;z-index:1}
.ticker-track{display:flex;gap:40px;white-space:nowrap;animation:scroll 36s linear infinite;font-family:var(--mono);font-size:12px;color:rgba(232,192,122,.45);letter-spacing:.05em}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.hero-stats{display:flex;background:rgba(255,255,255,.05);border-top:1px solid rgba(255,255,255,.08)}
.hstat{flex:1;padding:18px 16px;text-align:center;border-right:1px solid rgba(255,255,255,.07)}
.hstat:last-child{border-right:none}
.hstat strong{display:block;font-family:var(--serif);font-size:30px;color:#e8c07a;font-weight:700;line-height:1}
.hstat span{font-size:11px;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.12em;font-family:var(--mono)}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}

/* ── BUTTONS ── */
.btn{font-family:var(--sans);border:none;padding:14px 26px;border-radius:50px;font-size:14px;font-weight:600;cursor:pointer;transition:.25s;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.btn-primary{background:var(--rust);color:#fff}.btn-primary:hover{background:#a3300a;transform:translateY(-2px);box-shadow:0 10px 28px rgba(194,59,10,.3)}
.btn-outline{background:transparent;color:var(--ink);border:1.5px solid rgba(28,43,58,.25)}.btn-outline:hover{border-color:var(--ink)}
.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:#9a6f09;transform:translateY(-2px)}
.btn-danger{background:transparent;color:var(--rust);border:1.5px solid var(--rust);padding:10px 18px;font-size:13px}.btn-danger:hover{background:var(--rust);color:#fff}
.btn-full{width:100%;justify-content:center}

/* ── AD SLOTS ── */
.ad-band{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ad-inner{max-width:1320px;margin:0 auto;padding:14px 32px}
.ad-ph{background:var(--paper-3);border:1px dashed rgba(28,43,58,.2);border-radius:10px;padding:18px;text-align:center;color:var(--ink-soft);font-size:12px;font-family:var(--mono)}

/* ── SECTIONS ── */
.sec{padding:72px 32px}
.sec-in{max-width:1320px;margin:0 auto}
.sec-dark{background:linear-gradient(180deg,var(--navy),var(--navy-2))}
.sec-dark .sec-head p,.sec-dark .sec-head{color:rgba(255,255,255,.65)}
.sec-dark .sec-head h2{color:#fff}
.sec-dark .sec-tag{color:#e4b84a!important}
.sec-head{max-width:700px;margin-bottom:44px}
.sec-tag{font-family:var(--mono);font-size:11px;color:var(--rust);letter-spacing:.28em;text-transform:uppercase;margin-bottom:10px}
.sec-head h2{font-family:var(--serif);font-size:clamp(34px,5vw,60px);line-height:.95;letter-spacing:-.028em;font-weight:400;color:var(--ink);margin-bottom:10px}
.sec-head p{font-size:15px;color:var(--ink-soft);line-height:1.6}

/* ── DIVIDER ── */
.wave-div{width:100%;height:48px;overflow:hidden}
.wave-div svg{display:block}

/* ── ITEM CHECKER ── */
.checker-bar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:10px;margin-bottom:16px}
.s-wrap{display:flex;align-items:center;gap:10px;background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:0 16px}
.s-wrap input{flex:1;background:none;border:none;outline:none;font-family:var(--sans);font-size:14px;padding:14px 0;color:var(--ink)}
.s-wrap input::placeholder{color:var(--ink-soft)}
.checker-bar select{font-family:var(--sans);font-size:14px;padding:14px 14px;border:1px solid var(--line);background:var(--paper-2);color:var(--ink);border-radius:12px;outline:none}
.legend{display:flex;gap:12px;margin-bottom:28px;flex-wrap:wrap}
.leg{font-size:12px;font-family:var(--mono);padding:4px 12px;border-radius:50px}
.leg-a{background:var(--moss-bg);color:var(--moss)}
.leg-d{background:var(--rust-bg);color:var(--rust)}
.leg-v{background:var(--gold-bg);color:var(--gold)}
.items-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(182px,1fr));gap:10px}
.icard{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:14px;cursor:pointer;transition:.22s}
.icard:hover{border-color:var(--ink);transform:translateY(-2px);box-shadow:0 8px 22px rgba(28,43,58,.09)}
.icat{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:var(--ink-soft);margin-bottom:6px}
.iname{font-family:var(--serif);font-size:14px;font-weight:500;margin-bottom:10px;line-height:1.1;color:var(--ink)}
.srow{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-size:11px;border-top:1px solid var(--line)}
.sline{color:var(--ink-soft)}
.sb{font-family:var(--mono);font-size:9px;padding:2px 7px;border-radius:50px;font-weight:700}
.sb-a{background:var(--moss-bg);color:var(--moss)}
.sb-d{background:var(--rust-bg);color:var(--rust)}
.sb-v{background:var(--gold-bg);color:var(--gold)}
.more-lines{font-size:10px;color:var(--rust);font-family:var(--mono);padding-top:4px}

/* ── VIBES ── */
.vibes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(196px,1fr));gap:2px;background:rgba(255,255,255,.04)}
.vcard{background:var(--navy-2);border:1px solid rgba(255,255,255,.05);padding:20px 18px;transition:.3s}
.vcard:hover{background:var(--navy-3)}
.vnum{font-family:var(--mono);font-size:9px;color:#e4b84a;letter-spacing:.2em;margin-bottom:8px}
.vicon{font-size:20px;margin-bottom:8px}
.vname{font-family:var(--serif);font-size:15px;color:#fff;margin-bottom:6px;line-height:1.1}
.vdesc{font-size:11px;color:rgba(255,255,255,.5);line-height:1.5;margin-bottom:12px}
.vpills{display:flex;flex-wrap:wrap;gap:4px}
.vpill{font-size:10px;font-family:var(--mono);padding:2px 7px;border:1px solid rgba(255,255,255,.14);border-radius:50px;color:rgba(255,255,255,.45)}

/* ── SURVIVAL KIT ── */
.prog-wrap{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:13px 15px;margin-bottom:17px}
.prog-lbl{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--ink-soft);margin-bottom:7px}
.prog-track{background:var(--paper-3);border-radius:50px;height:6px;overflow:hidden}
.prog-fill{height:100%;background:linear-gradient(90deg,var(--moss),var(--gold));border-radius:50px;transition:width .4s;width:0%}
.kit-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(195px,1fr));gap:10px;margin-bottom:17px}
.kcard{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.kcard-head{padding:10px 13px 8px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:7px}
.k-ico{font-size:13px}
.k-ttl{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--rust);font-weight:600}
.k-items{padding:1px 0}
.ki{display:flex;align-items:flex-start;gap:7px;padding:6px 13px;border-bottom:1px solid var(--line);transition:.15s}
.ki:last-child{border-bottom:none}
.ki:hover{background:rgba(28,43,58,.04)}
.ki input[type=checkbox]{margin-top:2px;accent-color:var(--rust);cursor:pointer;flex-shrink:0;width:12px;height:12px}
.ki label{font-size:12px;color:var(--ink);cursor:pointer;line-height:1.35}
.ki label .sub{display:block;font-size:10px;color:var(--ink-soft);margin-top:1px}
.ki.done label{text-decoration:line-through;opacity:.4}
.kit-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(123px,1fr));gap:10px;margin-bottom:17px}
.kphoto{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.kphoto img{width:100%;aspect-ratio:1;object-fit:cover;display:block}
.kphoto-lbl{padding:6px 9px;font-size:10px;font-family:var(--mono);color:var(--ink-soft)}
.kit-foot{display:flex;gap:9px;flex-wrap:wrap;padding-top:16px}
.kit-split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.kit-split-right{position:sticky;top:24px}
@media(max-width:700px){.kit-split{grid-template-columns:1fr}.kit-split-right{position:static}}
.sec-dark .btn-outline,.kit-reset-btn{color:#fff!important;border-color:rgba(255,255,255,.35)!important}
.sec-dark .btn-outline:hover,.kit-reset-btn:hover{border-color:rgba(255,255,255,.7)!important}
.cd-split{display:grid;grid-template-columns:360px 1fr;gap:32px;align-items:start}
.cd-split-left{position:sticky;top:24px}
.cd-split-right{min-height:80px}
@media(max-width:800px){.cd-split{grid-template-columns:1fr}.cd-split-left{position:static}}
/* Budget split layout */
.bud-split{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.bud-split-left{display:flex;flex-direction:column;gap:16px}
.bud-split-right{position:sticky;top:24px}
@media(max-width:700px){.bud-split{grid-template-columns:1fr}.bud-split-right{position:static}}

/* ── BUDGET ── */
.bud-wrap{display:grid;grid-template-columns:1fr 1fr;gap:17px;align-items:start}
.ctrl-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:11px;padding:18px}
.ctrl-title{font-family:var(--mono);font-size:9px;letter-spacing:.22em;color:rgba(255,255,255,.35);text-transform:uppercase;margin-bottom:14px}
.sl-row{margin-bottom:13px}
.sl-row label{display:flex;justify-content:space-between;font-size:13px;color:rgba(255,255,255,.78);margin-bottom:6px}
.sl-row label strong{color:#e4b84a;font-family:var(--mono)}
.sl-row input[type=range]{width:100%;accent-color:#e4b84a;cursor:pointer}
.sel-row{margin-bottom:10px}
.sel-row label{display:block;font-size:10px;color:rgba(255,255,255,.4);font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px}
.sel-row select,.ctrl-card select{width:100%;font-family:var(--sans);font-size:13px;padding:8px 10px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.08);color:#fff;border-radius:7px;outline:none}
.tog-grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.togitem{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:7px;padding:8px 10px;cursor:pointer;transition:.2s;display:flex;justify-content:space-between;align-items:flex-start}
.togitem.on{background:rgba(184,134,11,.1);border-color:rgba(184,134,11,.3)}
.tog-name{font-size:12px;color:rgba(255,255,255,.78)}
.tog-amt{font-family:var(--mono);font-size:10px;color:#e4b84a;margin-top:2px}
.tog-chk{font-size:13px;color:rgba(255,255,255,.4)}
.togitem.on .tog-chk{color:#e4b84a}
.bud-tip{margin-top:10px;padding:9px 10px;background:rgba(184,134,11,.07);border-radius:7px;font-size:11px;color:rgba(255,255,255,.55);line-height:1.55;display:none}
.bud-result{background:linear-gradient(145deg,rgba(194,59,10,.18),rgba(184,134,11,.12));border:1px solid rgba(184,134,11,.22);border-radius:13px;padding:24px 21px;position:sticky;top:80px}
.res-tag{font-family:var(--mono);font-size:9px;letter-spacing:.25em;text-transform:uppercase;color:rgba(184,134,11,.7);margin-bottom:6px}
.res-big{font-family:var(--serif);font-size:clamp(36px,4.5vw,58px);color:#fff;letter-spacing:-.03em;line-height:1;margin-bottom:4px}
.res-range{font-size:12px;color:rgba(255,255,255,.4);margin-bottom:3px}
.res-per{font-family:var(--mono);font-size:11px;color:rgba(184,134,11,.65);margin-bottom:17px}
.res-rows{border-top:1px solid rgba(255,255,255,.1);padding-top:11px;margin-bottom:14px}
.rrow{display:flex;justify-content:space-between;padding:6px 0;font-size:12px;border-bottom:1px solid rgba(255,255,255,.06)}
.rl{color:rgba(255,255,255,.55)}
.ra{font-family:var(--mono);color:#fff;font-weight:600}
.savings h4{font-family:var(--serif);font-size:15px;color:#fff;margin-bottom:8px;font-weight:500}
.savings ul{list-style:none}
.savings li{font-size:11px;color:rgba(255,255,255,.55);padding:5px 0 5px 13px;position:relative;line-height:1.5;border-bottom:1px solid rgba(255,255,255,.06)}
.savings li::before{content:'→';position:absolute;left:0;color:#e4b84a}

/* ── DESTINATIONS ── */
.dtabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.dtab{background:var(--navy);border:2px solid var(--navy);color:rgba(255,255,255,.55);padding:9px 18px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;transition:.2s;font-family:var(--sans);letter-spacing:.01em}
.dtab:hover{color:#fff;background:var(--navy-2)}
.dtab.on{background:var(--navy);color:#fff;border-color:var(--gold);box-shadow:0 2px 8px rgba(10,37,64,.25)}
.dsubtabs{display:flex;gap:6px;margin:10px 0 17px;flex-wrap:wrap;padding:8px 12px;background:rgba(10,37,64,.04);border-radius:10px;border:1px solid var(--line)}
.dsub{background:#fff;border:1px solid var(--line);padding:5px 13px;border-radius:50px;font-size:11px;color:var(--ink-soft);cursor:pointer;transition:.2s;font-family:var(--sans)}
.dsub:hover{border-color:var(--navy);color:var(--navy)}
.dsub.on{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:600}
.dpanel{animation:fadeUp .2s ease}
.wx-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.wx-card{background:var(--paper-2);border:1px solid var(--line);border-radius:9px;padding:13px;text-align:center}
.wx-s{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:var(--ink-soft);margin-bottom:4px}
.wx-t{font-family:var(--serif);font-size:21px;line-height:1;color:var(--ink)}
.wx-c{font-size:11px;color:var(--ink-soft);margin-top:3px}
.rules-list{display:flex;flex-direction:column}
.rule-row{display:flex;gap:9px;padding:10px 0;border-bottom:1px solid var(--line)}
.rule-row:last-child{border-bottom:none}
.rtag{font-family:var(--mono);font-size:8px;padding:3px 7px;border-radius:50px;font-weight:700;text-transform:uppercase;flex-shrink:0;height:fit-content;margin-top:2px}
.r-info{background:rgba(12,74,110,.1);color:#0c4a6e}
.r-warn{background:var(--gold-bg);color:var(--gold)}
.r-crit{background:var(--rust-bg);color:var(--rust)}
.rule-txt{font-size:13px;line-height:1.5;color:var(--ink)}
.swaps-list{display:flex;flex-direction:column}
.swap-row{display:grid;grid-template-columns:1fr 25px 1fr;gap:9px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}
.swap-row:last-child{border-bottom:none}
.sw-ban{color:var(--rust);font-size:12px;text-decoration:line-through;opacity:.8}
.sw-ok{color:var(--moss);font-size:12px;font-weight:500}
.sw-arr{text-align:center;color:var(--ink-soft);font-size:14px}
.cl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px}
.cl-cat{background:var(--paper-2);border:1px solid var(--line);border-radius:9px;padding:12px}
.cl-cat h4{font-family:var(--serif);font-size:14px;color:var(--navy);margin-bottom:7px}
.clitem{display:flex;align-items:flex-start;gap:6px;padding:4px 0;cursor:pointer}
.clitem input{margin-top:3px;accent-color:var(--rust);cursor:pointer;flex-shrink:0}
.clitem span{font-size:12px;color:var(--ink);line-height:1.4}
.clitem.done span{text-decoration:line-through;opacity:.4}

/* ── SHORE EXCURSIONS (Tours sub-tab) ── */
.se-wrap{display:flex;flex-direction:column;gap:22px}
.se-port{display:flex;flex-direction:column;gap:10px}
.se-port-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;background:var(--paper-2);border:1px solid var(--line);border-radius:12px}
.se-port-name{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--navy);margin:0 0 2px}
.se-port-blurb{font-size:12px;color:var(--ink-soft);margin:0;line-height:1.45}
.se-port-pill{font-size:10px;font-weight:600;padding:4px 10px;background:var(--rust-bg);color:var(--rust);border-radius:100px;white-space:nowrap;letter-spacing:.3px;text-transform:uppercase}
.se-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:11px;padding-top:12px}
.se-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:8px;position:relative;transition:.2s;overflow:visible}
.se-card:hover{border-color:var(--rust);transform:translateY(-2px)}
.se-card.pick{border:1.5px solid var(--gold)}
.se-pick-badge{position:absolute;top:-8px;left:12px;background:var(--gold);color:#3a2400;font-size:9px;font-weight:700;padding:3px 8px;border-radius:4px;letter-spacing:.4px;font-family:var(--mono)}
.se-card-img{height:120px;background:var(--paper-2);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:34px;position:relative;overflow:hidden}
.se-card-img .se-img-photo{position:absolute;inset:0;background-size:cover;background-position:center;border-radius:8px;opacity:.45;transition:opacity .3s}
.se-card:hover .se-img-photo{opacity:.6}
.se-card-img .se-img-ico{position:relative;z-index:1;font-size:34px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.se-title{font-family:var(--serif);font-size:14px;font-weight:500;line-height:1.25;margin:0;min-height:34px;color:var(--ink)}
.se-meta{font-size:11px;color:var(--ink-soft);display:flex;flex-wrap:wrap;gap:8px}
.se-rating{color:var(--gold);font-weight:600}
.se-price-row{display:flex;align-items:baseline;gap:6px}
.se-price{font-family:var(--serif);font-size:18px;font-weight:500;color:var(--navy)}
.se-price-from{font-size:10px;color:var(--ink-soft)}
.se-save{font-size:11px;color:var(--moss);background:var(--moss-bg);padding:5px 8px;border-radius:6px;font-weight:500;align-self:flex-start}
.se-cta{background:var(--rust);color:#fff;border:0;padding:9px;border-radius:8px;font-size:12px;font-weight:500;text-align:center;text-decoration:none;display:block;margin-top:auto;transition:.2s}
.se-cta:hover{background:var(--navy);color:#fff}
.se-browse{display:flex;align-items:center;justify-content:center;gap:10px;text-align:center;font-size:13px;color:var(--rust);padding:10px;background:var(--rust-bg);border-radius:8px;text-decoration:none;font-weight:500;transition:.2s;overflow:hidden}
.se-browse:hover{background:var(--rust);color:#fff}
.se-browse-img{width:36px;height:36px;object-fit:cover;border-radius:5px;flex-shrink:0;opacity:.85}
.se-disclosure{font-size:11px;color:var(--ink-soft);line-height:1.5;padding:14px;background:var(--paper-2);border:1px solid var(--line);border-radius:8px;margin-top:8px;font-style:italic;text-align:center}
.se-empty{text-align:center;padding:32px 20px}
.se-empty-ico{font-size:42px;margin-bottom:8px}
.se-empty h4{font-family:var(--serif);font-size:18px;color:var(--navy);margin-bottom:6px}
.se-empty p{font-size:13px;color:var(--ink-soft);max-width:420px;margin:0 auto;line-height:1.5}

/* ── PORTS SECTION (top-level) ── */
.ptabs{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 6px}
.ptab{background:var(--navy);border:2px solid var(--navy);padding:9px 18px;border-radius:8px;font-size:13px;font-weight:700;color:rgba(255,255,255,.55);cursor:pointer;transition:.2s;font-family:var(--sans);letter-spacing:.01em}
.ptab:hover{color:#fff;background:var(--navy-2)}
.ptab.on{background:var(--navy);color:#fff;border-color:var(--gold);box-shadow:0 2px 8px rgba(10,37,64,.25)}
.ptab.empty{opacity:.45}
.ptab-soon{font-size:9px;background:rgba(255,255,255,.15);padding:2px 6px;border-radius:50px;margin-left:4px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;vertical-align:1px}
.ptab.on .ptab-soon{background:rgba(255,255,255,.2)}
.ptab-dep{background:transparent;border:2px solid var(--gold);color:var(--gold)}
.ptab-dep:hover{background:var(--gold);color:#3a2400}
.ptab-dep.on{background:var(--gold);color:#3a2400;border-color:var(--gold)}
.pchips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 16px;padding:8px 12px;background:rgba(10,37,64,.04);border-radius:10px;border:1px solid var(--line)}
.pchip{background:#fff;border:1px solid var(--line);padding:5px 13px;border-radius:50px;font-size:11px;color:var(--ink-soft);cursor:pointer;transition:.2s;font-family:var(--sans)}
.pchip:hover{border-color:var(--navy);color:var(--navy)}
.pchip.on{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:600}
.dep-tag{font-family:var(--mono);font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--gold);font-weight:700;margin-bottom:6px}
.dep-tip{background:var(--gold-bg);border:1px solid rgba(232,148,32,.3);border-radius:10px;padding:14px 16px}
.dep-tip-h{font-family:var(--serif);font-size:14px;font-weight:500;color:var(--navy);margin-bottom:6px}
.dep-tip p{font-size:13px;color:var(--ink);line-height:1.55;margin:0}
.pchips-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:4px}
.port-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;display:flex;flex-direction:column;gap:20px}
.port-head{border-bottom:1px solid var(--line);padding-bottom:16px}
.port-name{font-family:var(--serif);font-size:24px;font-weight:500;color:var(--navy);margin:0 0 4px;line-height:1.2}
.port-blurb{font-size:14px;color:var(--ink-soft);margin:0;line-height:1.5}
.port-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.pfact{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}
.pfact-l{font-family:var(--mono);font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:var(--rust);font-weight:600}
.pfact-v{font-size:13px;color:var(--ink);line-height:1.45}
.port-tracks{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}
.ptrack{border-radius:10px;padding:14px 16px;border:1px solid var(--line)}
.ptrack-short{background:var(--gold-bg);border-color:rgba(232,148,32,.3)}
.ptrack-long{background:var(--rust-bg);border-color:rgba(21,101,168,.3)}
.ptrack-h{font-family:var(--serif);font-size:14px;font-weight:500;color:var(--navy);margin-bottom:6px}
.ptrack p{font-size:13px;color:var(--ink);line-height:1.55;margin:0}
.port-tours-h{font-family:var(--serif);font-size:18px;color:var(--navy);font-weight:500;margin:6px 0 0;letter-spacing:-.01em}
.port-empty{text-align:center;padding:48px 24px;background:var(--paper-2);border:1px dashed var(--line);border-radius:14px}
.port-empty-ico{font-size:48px;margin-bottom:10px;opacity:.55}
.port-empty h4{font-family:var(--serif);font-size:20px;color:var(--navy);margin-bottom:8px;font-weight:500}
.port-empty p{font-size:14px;color:var(--ink-soft);max-width:480px;margin:0 auto;line-height:1.55}
.port-empty strong{color:var(--rust)}
@media(max-width:640px){
  .port-card{padding:16px}
  .port-name{font-size:20px}
  .port-facts{grid-template-columns:1fr}
}

/* ── SHOP ── */
.shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(182px,1fr));gap:12px;margin-bottom:28px}
.scard{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:11px;padding:20px 17px;display:flex;flex-direction:column;gap:7px;transition:.22s}
.scard:hover{background:rgba(255,255,255,.08);transform:translateY(-2px)}
.scard.feat{border-color:rgba(184,134,11,.4);background:rgba(184,134,11,.07)}
.sbadge{font-family:var(--mono);font-size:9px;padding:3px 8px;border-radius:50px;background:#e4b84a;color:var(--navy);font-weight:700;align-self:flex-start}
.s-ico{font-size:27px}
.s-name{font-family:var(--serif);font-size:16px;color:#fff;line-height:1.05}
.s-desc{font-size:12px;color:rgba(255,255,255,.5);line-height:1.5}
.s-inc{list-style:none;display:flex;flex-direction:column;gap:2px}
.s-inc li{font-size:11px;color:rgba(255,255,255,.45);padding-left:12px;position:relative}
.s-inc li::before{content:'✓';position:absolute;left:0;color:var(--moss)}
.s-price{font-family:var(--serif);font-size:21px;color:#e4b84a;margin-top:auto}
.s-price span{font-family:var(--sans);font-size:11px;color:rgba(255,255,255,.35);font-weight:400}
.shop-btn{background:#e4b84a;color:var(--navy);border:none;padding:10px 16px;border-radius:50px;font-size:13px;font-weight:700;cursor:pointer;text-decoration:none;display:block;text-align:center;transition:.2s}
.shop-btn:hover{background:#f0c94e;transform:translateY(-1px)}
.aff-sec{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1)}
.aff-ttl{font-family:var(--mono);font-size:9px;letter-spacing:.2em;color:rgba(255,255,255,.3);text-transform:uppercase;margin-bottom:12px}
.aff-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(133px,1fr));gap:9px}
.aff-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:9px;padding:12px;text-decoration:none;transition:.2s;display:flex;flex-direction:column;gap:5px}
.aff-card:hover{background:rgba(255,255,255,.09);transform:translateY(-1px)}
.aff-ico{font-size:20px}
.aff-nm{font-size:12px;color:rgba(255,255,255,.78);font-weight:500;line-height:1.3}
.aff-pr{font-family:var(--mono);font-size:11px;color:#e4b84a}
.aff-cta{font-size:11px;color:rgba(255,255,255,.35)}

/* ── DRINKS & WIFI SECTION ── */
.dw-main-tabs{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap}
.dw-mtab{background:var(--paper-2);border:1px solid var(--line);color:var(--ink-soft);padding:8px 16px;border-radius:50px;font-size:13px;font-weight:500;cursor:pointer;font-family:var(--sans);transition:.2s}
.dw-mtab:hover{border-color:var(--ink);color:var(--ink)}
.dw-mtab.on{background:var(--navy);color:var(--paper);border-color:var(--navy)}
.dw-mtab-featured{background:linear-gradient(135deg,var(--rust),var(--navy-2));color:#fff!important;border-color:transparent!important;box-shadow:0 2px 12px rgba(14,127,194,.35);font-weight:700}
.dw-mtab-featured:hover{opacity:.9;transform:translateY(-1px)}
.dw-mtab-featured.on{background:linear-gradient(135deg,var(--rust),var(--navy-2));opacity:1}
.dw-analyser-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 100%);border-radius:16px;padding:20px 24px;margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;transition:.2s}
.dw-analyser-hero:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(10,37,64,.25)}
.dw-analyser-hero-text h3{font-family:var(--serif);font-size:20px;color:#fff;margin-bottom:4px}
.dw-analyser-hero-text p{font-size:13px;color:rgba(255,255,255,.7);max-width:420px}
.dw-analyser-hero-badge{background:var(--gold);color:#3a2400;font-family:var(--mono);font-size:11px;font-weight:700;padding:6px 14px;border-radius:50px;white-space:nowrap;flex-shrink:0}
.dw-panel{display:none}.dw-panel.on{display:block;animation:fadeUp .2s ease}

/* comparison table */
.cmp-filter{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.cmp-ftab{background:transparent;border:1px solid var(--line);color:var(--ink-soft);padding:5px 11px;border-radius:50px;font-size:11px;cursor:pointer;font-family:var(--mono);transition:.2s}
.cmp-ftab:hover{border-color:var(--ink);color:var(--ink)}
.cmp-ftab.on{background:var(--rust);color:#fff;border-color:var(--rust)}
.cmp-table-wrap{overflow-x:auto;border-radius:11px;border:1px solid var(--line)}
.cmp-table{width:100%;border-collapse:collapse;font-size:12px}
.cmp-table thead{background:var(--navy);color:#fff}
.cmp-table th{padding:10px 13px;text-align:left;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.15em;white-space:nowrap;font-weight:600}
.cmp-table th:first-child{position:sticky;left:0;background:var(--navy);z-index:2}
.cmp-table tbody tr{border-bottom:1px solid var(--line);transition:background .15s}
.cmp-table tbody tr:last-child{border-bottom:none}
.cmp-table tbody tr:hover{background:rgba(28,43,58,.04)}
.cmp-table td{padding:9px 13px;vertical-align:top;white-space:nowrap}
.cmp-table td:first-child{position:sticky;left:0;background:var(--paper-2);z-index:1;font-weight:600;font-size:12px;white-space:nowrap}
.cmp-table tbody tr:hover td:first-child{background:var(--paper-3)}
.cmp-table td:nth-child(odd):not(:first-child){background:rgba(28,43,58,.02)}
.pill-ok{display:inline-flex;align-items:center;gap:4px;background:var(--moss-bg);color:var(--moss);border-radius:50px;padding:2px 8px;font-size:10px;font-family:var(--mono);font-weight:700;white-space:nowrap}
.pill-no{display:inline-flex;align-items:center;gap:4px;background:var(--rust-bg);color:var(--rust);border-radius:50px;padding:2px 8px;font-size:10px;font-family:var(--mono);font-weight:700;white-space:nowrap}
.pill-fee{display:inline-flex;align-items:center;gap:4px;background:var(--gold-bg);color:var(--gold);border-radius:50px;padding:2px 8px;font-size:10px;font-family:var(--mono);font-weight:700;white-space:nowrap}
.cmp-note{font-size:10px;color:var(--ink-soft);margin-top:3px;white-space:normal;max-width:180px;line-height:1.4}

/* per-line tabs */
.line-tabs-wrap{margin-top:28px}
.line-tabs-label{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:var(--ink-soft);margin-bottom:9px}
.line-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:17px;border-bottom:1px solid var(--line);padding-bottom:0}
.ltab{background:none;border:none;border-bottom:2px solid transparent;padding:8px 11px;font-size:12px;color:var(--ink-soft);cursor:pointer;font-family:var(--sans);margin-bottom:-1px;transition:.2s;white-space:nowrap}
.ltab:hover{color:var(--ink)}
.ltab.on{color:var(--rust);border-bottom-color:var(--rust);font-weight:600}
.lpane{display:none}.lpane.on{display:block;animation:fadeUp .2s ease}
.pkg-card{background:var(--paper-2);border:1px solid var(--line);border-radius:11px;padding:20px;margin-bottom:12px}
.pkg-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:9px;margin-bottom:14px}
.pkg-name{font-family:var(--serif);font-size:17px;font-weight:500;color:var(--ink)}
.pkg-prices{display:flex;gap:7px;flex-wrap:wrap}
.pkg-price{background:var(--navy);color:#fff;border-radius:8px;padding:8px 12px;text-align:center}
.pkg-price .curr{font-family:var(--mono);font-size:8px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.5);margin-bottom:2px}
.pkg-price .amt{font-family:var(--serif);font-size:18px;font-weight:700;color:#e4b84a;line-height:1}
.pkg-price .per{font-size:9px;color:rgba(255,255,255,.4);margin-top:2px}
.pkg-price.usd{background:var(--navy)}
.pkg-price.cad{background:var(--navy-3)}
.pkg-includes{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;margin:12px 0}
.pkg-inc-item{display:flex;align-items:flex-start;gap:6px;font-size:12px;color:var(--ink-soft);padding:5px 8px;background:var(--paper-3);border-radius:6px}
.pkg-inc-item span{color:var(--moss);font-size:12px;flex-shrink:0}
.pkg-restriction{background:var(--rust-bg);border:1px solid rgba(194,59,10,.15);border-radius:8px;padding:9px 11px;font-size:12px;color:var(--rust);display:flex;gap:7px;margin-top:9px;line-height:1.5}
.pkg-tip{background:var(--gold-bg);border:1px solid rgba(184,134,11,.2);border-radius:8px;padding:9px 11px;font-size:12px;color:var(--gold);display:flex;gap:7px;margin-top:7px;line-height:1.5}
.savings-banner{background:linear-gradient(135deg,var(--navy),var(--navy-2));border-radius:10px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-top:12px}
.sv-label{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.4);margin-bottom:3px}
.sv-big{font-family:var(--serif);font-size:20px;color:#e4b84a;font-weight:700;line-height:1}
.sv-note{font-size:11px;color:rgba(255,255,255,.5);margin-top:2px}
.sv-breakdown{display:flex;gap:12px;flex-wrap:wrap}
.sv-item{text-align:center}
.sv-item strong{display:block;font-family:var(--serif);font-size:14px;color:#fff}
.sv-item span{font-size:10px;color:rgba(255,255,255,.4);font-family:var(--mono)}

/* wifi section */
.wifi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin-top:6px}
.wifi-card{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:15px}
.wifi-line{font-family:var(--serif);font-size:14px;font-weight:600;margin-bottom:3px;color:var(--ink)}
.wifi-plan-tabs{display:flex;gap:5px;margin:9px 0}
.wptab{background:var(--paper-3);border:none;padding:4px 9px;border-radius:50px;font-size:10px;cursor:pointer;font-family:var(--mono);color:var(--ink-soft);transition:.2s}
.wptab.on{background:var(--navy);color:#fff}
.wifi-plan-detail{font-size:12px;color:var(--ink-soft);line-height:1.6}
.wifi-plan-detail .wrow{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--line)}
.wifi-plan-detail .wrow:last-child{border-bottom:none}
.wifi-plan-detail .wkey{color:var(--ink-soft)}
.wifi-plan-detail .wval{font-family:var(--mono);font-size:11px;font-weight:600;color:var(--ink)}
.wifi-plan-detail .wval.good{color:var(--moss)}
.wifi-plan-detail .wval.warn{color:var(--gold)}
.wifi-tip{font-size:11px;background:var(--gold-bg);color:var(--gold);padding:7px 10px;border-radius:7px;margin-top:8px;line-height:1.5}

/* ── FOOTER ── */
.footer{background:var(--navy);padding:52px 32px 0}
.ft-in{max-width:1320px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;padding-bottom:40px}
.ft-logo{font-family:var(--serif);font-size:26px;color:#fff;margin-bottom:10px}
.footer p{font-size:13px;color:rgba(255,255,255,.4);line-height:1.6}
.ft-col h4{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.28);margin-bottom:12px}
.ft-col a{display:block;font-size:13px;color:rgba(255,255,255,.45);text-decoration:none;padding:3px 0;transition:.2s}
.ft-col a:hover{color:#fff}
.ft-bot{max-width:1320px;margin:0 auto;padding:14px 0;border-top:1px solid rgba(255,255,255,.07);font-size:11px;color:rgba(255,255,255,.22);font-family:var(--mono)}

/* ── MODAL ── */
.modal{display:none;position:fixed;inset:0;z-index:1500;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal-bd{position:absolute;inset:0;background:rgba(15,30,48,.75);backdrop-filter:blur(10px)}
.modal-card{position:relative;background:var(--paper);border-radius:18px;padding:36px;max-width:560px;width:100%;max-height:85vh;overflow-y:auto;z-index:1}
.modal-x{position:absolute;top:16px;right:16px;background:var(--paper-2);border:none;width:34px;height:34px;border-radius:50%;font-size:20px;cursor:pointer;color:var(--ink)}
.m-cat{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--rust);margin-bottom:6px}
.modal-card h2{font-family:var(--serif);font-size:30px;margin-bottom:8px;font-weight:400;color:var(--ink)}
.m-note{font-size:14px;color:var(--ink-soft);line-height:1.6;margin-bottom:22px}
.m-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:11px 0;border-top:1px solid var(--line)}
.m-lnm{font-size:14px;font-weight:500;color:var(--ink)}

/* ── RESPONSIVE ── */
@media(max-width:960px){
  .bud-wrap{grid-template-columns:1fr}
  .bud-result{position:relative;top:0}
  .wx-grid{grid-template-columns:repeat(2,1fr)}
  .ft-in{grid-template-columns:1fr;gap:24px}
}
@media(max-width:680px){
  .sec{padding:48px 20px}
  .nav-i{padding:12px 20px}
  .hero{padding:40px 20px 0}
  .checker-bar{grid-template-columns:1fr}
  .swap-row{grid-template-columns:1fr 24px 1fr;gap:8px}
  .aform{grid-template-columns:1fr}
  .hero-stats{flex-wrap:wrap}
  .hstat{min-width:50%}
}
/* ── KIDS SECTION ── */
.age-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px}
.age-tab{background:var(--paper-2);border:1px solid var(--line);color:var(--ink-soft);padding:8px 16px;border-radius:50px;font-size:13px;cursor:pointer;font-family:var(--sans);transition:.2s}
.age-tab:hover{border-color:var(--ink);color:var(--ink)}
.age-tab.on{background:var(--rust);color:#fff;border-color:var(--rust)}
.kids-panel{display:none}.kids-panel.on{display:block;animation:fadeUp .2s ease}
.kids-top{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px;align-items:start}
.kids-info{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:20px}
.kids-info h3{font-family:var(--serif);font-size:20px;color:var(--navy);margin-bottom:6px}
.kids-info p{font-size:13px;color:var(--ink-soft);line-height:1.6;margin-bottom:12px}
.kids-tips{display:flex;flex-direction:column;gap:6px}
.ktip{font-size:12px;color:var(--ink-soft);padding:6px 10px;background:var(--paper-3);border-radius:7px;border-left:3px solid var(--gold)}
.kids-photo{border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.kids-photo img{width:100%;height:220px;object-fit:cover;display:block}
.kids-photo .kp-cap{padding:10px 14px;font-size:12px;font-family:var(--mono);color:var(--ink-soft);background:var(--paper-2)}
.line-activity-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.lac{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.lac-head{background:var(--navy);padding:10px 14px;display:flex;align-items:center;gap:8px}
.lac-head .line-name{font-family:var(--sans);font-size:13px;font-weight:600;color:#fff}
.lac-head .line-rating{font-size:11px;color:#e4b84a;margin-left:auto}
.lac-body{padding:12px 14px}
.lac-item{font-size:12px;color:var(--ink-soft);padding:4px 0;border-bottom:1px solid var(--line);display:flex;align-items:flex-start;gap:7px}
.lac-item:last-child{border-bottom:none}
.lac-item .li-icon{flex-shrink:0;font-size:13px}
.lac-note{font-size:11px;font-family:var(--mono);color:var(--rust);margin-top:8px;padding:5px 8px;background:var(--rust-bg);border-radius:6px}
@media(max-width:680px){.kids-top{grid-template-columns:1fr}}

/* ── DINING SECTION ── */
.dining-main-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
.dm-tab{background:rgba(255,255,255,.08);border:2px solid rgba(255,255,255,.2);color:rgba(255,255,255,.5);padding:9px 18px;border-radius:8px;font-size:13px;font-weight:700;cursor:pointer;font-family:var(--sans);transition:.2s;letter-spacing:.01em}
.dm-tab:hover{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.4)}
.dm-tab.on{background:#fff;color:var(--navy);border-color:#fff;font-weight:700}
.dining-panel{display:none}.dining-panel.on{display:block;animation:fadeUp .2s ease}
.line-dining-tabs{display:flex;gap:5px;flex-wrap:wrap;padding:8px 12px;background:rgba(0,0,0,.15);border-radius:10px;margin-bottom:20px}
.ldt{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:50px;padding:5px 12px;font-size:11px;color:rgba(255,255,255,.65);cursor:pointer;font-family:var(--sans);transition:.2s;white-space:nowrap}
.ldt:hover{background:rgba(255,255,255,.15);color:#fff;border-color:rgba(255,255,255,.3)}.ldt.on{background:#fff;color:var(--navy);border-color:#fff;font-weight:600}
.ld-pane{display:none}.ld-pane.on{display:block;animation:fadeUp .2s ease}
.dining-card{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:14px}
.dining-card h3{font-family:var(--serif);font-size:19px;color:var(--navy);margin-bottom:8px}
.dining-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:12px}
.dcard{background:var(--paper-3);border-radius:10px;padding:13px;border:1px solid var(--line)}
.dcard-icon{font-size:22px;margin-bottom:6px}
.dcard-name{font-family:var(--serif);font-size:14px;font-weight:500;color:var(--ink);margin-bottom:3px}
.dcard-price{font-family:var(--mono);font-size:11px;color:var(--rust);margin-bottom:4px}
.dcard-desc{font-size:11px;color:var(--ink-soft);line-height:1.5}
.dress-table{width:100%;border-collapse:collapse;font-size:12px;border-radius:10px;overflow:hidden;border:1px solid var(--line)}
.dress-table th{background:var(--navy);color:#fff;padding:9px 13px;text-align:left;font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.15em}
.dress-table td{padding:9px 13px;border-bottom:1px solid var(--line);vertical-align:top}
.dress-table tr:last-child td{border-bottom:none}
.dress-table tr:nth-child(even) td{background:var(--paper-3)}
.dest-food-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.dest-food-card{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.dest-food-card .dfc-head{padding:12px 16px;background:var(--navy)}
.dfc-head h4{font-family:var(--serif);font-size:16px;color:#fff}
.dfc-head .dfc-flag{font-size:20px;margin-right:8px}
.dfc-body{padding:12px 16px}
.dfc-item{font-size:12px;color:var(--ink-soft);padding:4px 0;border-bottom:1px solid var(--line);display:flex;gap:8px}
.dfc-item:last-child{border-bottom:none}
.dfc-must{font-size:10px;font-family:var(--mono);color:var(--moss);background:var(--moss-bg);padding:1px 6px;border-radius:50px;flex-shrink:0;align-self:center}

/* ── HEALTH & INSURANCE ── */
.health-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}
.h-tab{background:var(--paper-2);border:1px solid var(--line);color:var(--ink-soft);padding:9px 17px;border-radius:50px;font-size:13px;cursor:pointer;font-family:var(--sans);transition:.2s;font-weight:500}
.h-tab:hover{border-color:var(--ink);color:var(--ink)}
.h-tab.on{background:var(--rust);color:#fff;border-color:var(--rust)}
.h-panel{display:none}.h-panel.on{display:block;animation:fadeUp .2s ease}
.health-alert{background:linear-gradient(135deg,rgba(194,59,10,.08),rgba(184,134,11,.06));border:1px solid rgba(194,59,10,.2);border-radius:12px;padding:16px 18px;margin-bottom:16px;display:flex;gap:12px;align-items:flex-start}
.health-alert .ha-icon{font-size:22px;flex-shrink:0}
.health-alert h4{font-family:var(--serif);font-size:15px;color:var(--rust);margin-bottom:4px}
.health-alert p{font-size:13px;color:var(--ink-soft);line-height:1.55}
.meds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.med-cat{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:16px}
.med-cat h4{font-family:var(--serif);font-size:15px;color:var(--navy);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.med-item{font-size:12px;color:var(--ink-soft);padding:5px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.med-item:last-child{border-bottom:none}
.med-name{flex:1;line-height:1.4}
.med-note{font-size:10px;font-family:var(--mono);color:var(--gold);background:var(--gold-bg);padding:1px 6px;border-radius:50px;flex-shrink:0}
.ins-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.ins-card{background:var(--paper-2);border:1px solid var(--line);border-radius:14px;padding:20px}
.ins-card.featured{border-color:var(--rust);background:var(--rust-bg)}
.ins-type{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.2em;color:var(--rust);margin-bottom:6px}
.ins-name{font-family:var(--serif);font-size:17px;color:var(--ink);margin-bottom:6px}
.ins-cost{font-family:var(--serif);font-size:22px;color:var(--rust);margin-bottom:8px;font-weight:600}
.ins-cost span{font-size:12px;font-family:var(--sans);color:var(--ink-soft);font-weight:400}
.ins-covers{list-style:none;display:flex;flex-direction:column;gap:4px;margin-bottom:10px}
.ins-covers li{font-size:12px;color:var(--ink-soft);padding-left:14px;position:relative;line-height:1.4}
.ins-covers li::before{content:'✓';position:absolute;left:0;color:var(--moss)}
.ins-miss{font-size:11px;color:var(--rust);background:var(--rust-bg);padding:6px 10px;border-radius:7px;line-height:1.5}
.pandemic-steps{display:flex;flex-direction:column;gap:0;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.pstep{display:flex;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line);align-items:flex-start;transition:background .2s}
.pstep:last-child{border-bottom:none}
.pstep:hover{background:var(--paper-3)}
.pstep-num{font-family:var(--serif);font-size:24px;font-weight:700;color:var(--rust);flex-shrink:0;width:32px;line-height:1.1}
.pstep-body h4{font-family:var(--serif);font-size:15px;color:var(--navy);margin-bottom:3px}
.pstep-body p{font-size:12px;color:var(--ink-soft);line-height:1.55}

/* ── FAQ SECTION ── */
.faq-list{display:flex;flex-direction:column;gap:8px;border-radius:14px;overflow:visible;margin-bottom:32px}
.faq-item{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px rgba(4,61,94,.06)}
.faq-item:last-child{border-bottom:1px solid var(--line)}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;cursor:pointer;transition:background .2s;gap:16px;background:var(--paper-2)}
.faq-q:hover{background:var(--paper-3)} .faq-q-text{font-size:14px;font-weight:600;color:var(--ink);line-height:1.35}
.faq-q-text{font-size:14px;font-weight:600;color:var(--ink);line-height:1.4}
.faq-toggle{font-size:20px;color:var(--rust);flex-shrink:0;transition:transform .3s;font-weight:300}
.faq-item.open .faq-toggle{transform:rotate(45deg)}
.faq-a{display:block;padding:0 20px 16px 20px;font-size:13px;color:var(--ink-soft);line-height:1.7;border-top:1px solid var(--line);padding-top:12px;background:#fff}
.faq-item.open .faq-a{display:block}  /* all open by default */
.faq-a strong{color:var(--ink)}
.faq-a a{color:var(--rust);text-decoration:none}
.faq-cats{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.faq-cat-btn{background:var(--paper-2);border:1px solid var(--line);color:var(--ink-soft);padding:6px 14px;border-radius:50px;font-size:12px;cursor:pointer;font-family:var(--mono);transition:.2s}
.faq-cat-btn:hover{border-color:var(--ink);color:var(--ink)}
.faq-cat-btn.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}


/* ── DEAL ANALYSER ── */
.deal-layout{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:28px;margin-bottom:20px}
@media(max-width:700px){.deal-layout{grid-template-columns:1fr}}
.deal-panel-left{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:28px 24px;display:flex;flex-direction:column;gap:16px}
.deal-panel-right{background:rgba(255,255,255,.04);border:2px solid rgba(255,255,255,.18);border-radius:16px;padding:28px 24px;display:flex;flex-direction:column;gap:12px;position:sticky;top:80px;min-height:360px}
.deal-panel-left h4{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--rust);margin:0 0 2px}
.deal-perks-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.5);margin-top:4px}
.deal-checks{display:flex;flex-direction:column;gap:8px}
.deal-lbl{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.5);display:block;margin-bottom:5px}
.deal-input{width:100%;font-family:var(--sans);font-size:14px;padding:10px 13px;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:rgba(255,255,255,.07);color:#fff;outline:none;box-sizing:border-box;transition:border-color .2s;-webkit-appearance:none;appearance:none}
.deal-input:focus{border-color:var(--rust);background:rgba(255,255,255,.12)}
.deal-input option{background:#3d2314;color:#fff}
.deal-check{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.75);cursor:pointer;padding:4px 0}
.deal-check input[type=checkbox]{accent-color:var(--rust);width:15px;height:15px;cursor:pointer}
.da-row{display:flex;justify-content:space-between;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.08);color:rgba(255,255,255,.75)}
.da-row:last-child{border-bottom:none}
.da-row .da-val{font-family:var(--mono);font-size:12px;font-weight:700}
.da-pos{color:#5ecb8e}.da-neg{color:#f87171}.da-neu{color:rgba(255,255,255,.5)}
/* ── COUNTDOWN TIMELINE ── */
.tl-item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.tl-item:last-child{border-bottom:none}
.tl-dot{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;margin-top:2px}
.tl-content{flex:1}
.tl-when{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;margin-bottom:3px}
.tl-title{font-weight:700;font-size:14px;color:var(--ink);margin-bottom:2px}
.tl-desc{font-size:12px;color:var(--ink-soft);line-height:1.5}
.tl-done{opacity:.45;text-decoration:line-through}
/* ── KIT SCORE ── */
.kit-score-bar{height:8px;border-radius:50px;background:var(--line);overflow:hidden;margin:8px 0 16px}
.kit-score-fill{height:100%;border-radius:50px;transition:width .6s ease;background:linear-gradient(90deg,var(--rust),var(--gold))}

/* Windows fix — prevent white flash on native select dropdowns in dark sections */
select option{background:var(--paper);color:var(--ink)}
.sec[style*="navy"] select option,.sec[style*="3d2314"] select option{background:#3d2314;color:#fff}

/* ── Cabin Picker v2 — SVG ship silhouette ────────────────── */
.cabin-layout{display:grid;grid-template-columns:280px 1fr;gap:28px;align-items:start}
@media(max-width:700px){.cabin-layout{grid-template-columns:1fr}}
.cabin-controls{display:flex;flex-direction:column;gap:14px}
.cabin-field{display:flex;flex-direction:column;gap:5px}
.cabin-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);font-weight:600}
.cabin-select{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-family:var(--sans);font-size:14px;color:var(--ink);background:var(--paper);outline:none}
.cabin-slider-row{display:flex;align-items:center;gap:8px}
.cabin-slider-row input[type=range]{flex:1}
.cabin-slider-tick{font-size:10px;color:var(--ink-soft);white-space:nowrap;min-width:48px}
.cabin-slider-tick:last-child{text-align:right}
.cabin-slider-val{font-size:12px;color:var(--rust);font-weight:500;min-height:16px}
.cb-btn-group{display:flex;gap:6px;flex-wrap:wrap}
.cb-btn{padding:6px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;border:1.5px solid var(--line);background:var(--paper);color:var(--ink-soft);font-family:var(--sans);transition:.15s;white-space:nowrap}
.cb-btn:hover{border-color:var(--navy);color:var(--navy)}
.cb-btn.on{background:var(--navy);color:#fff;border-color:var(--navy)}
.cabin-results{display:flex;flex-direction:column;gap:16px}
.cabin-empty{color:var(--ink-soft);font-size:14px;padding:40px 0;text-align:center}
.cabin-map-wrap{background:var(--paper-2);border-radius:14px;padding:18px 16px}
.cabin-map-title{font-size:13px;color:var(--ink-soft);margin-bottom:12px}
.cabin-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}
.cabin-leg-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--ink-soft)}
.cabin-leg-dot{width:12px;height:12px;border-radius:3px;flex-shrink:0}
.cabin-rec{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px}
.cabin-rec-head{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--rust);margin-bottom:8px}
.cabin-rec-main{font-size:14px;color:var(--ink);margin-bottom:12px;line-height:1.5}
.cabin-tips{display:flex;flex-direction:column;gap:7px}
.cabin-tip{font-size:12px;padding:7px 11px;border-radius:8px;line-height:1.5}
.cabin-deckplan-link{font-size:12px;color:var(--rust);text-decoration:none;display:inline-block;padding:8px 0}
.cabin-deckplan-link:hover{text-decoration:underline}

/* ── Package Analyser — package boxes ─────────────────────── */
#da-pkg-boxes{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px}
.da-pkg-box{background:var(--paper-2);border:1.5px solid var(--paper-3);border-radius:12px;padding:12px 14px;cursor:pointer;transition:.2s;position:relative}
.da-pkg-box:hover{border-color:var(--navy);background:var(--paper-3)}
.da-pkg-box.selected{border-color:var(--navy);background:var(--navy);box-shadow:0 2px 12px rgba(10,37,64,.25)}
.da-pkg-box.selected .da-pkg-box-name{color:#fff}
.da-pkg-box.selected .da-pkg-box-price{color:var(--gold)}
.da-pkg-box.selected .da-pkg-box-incl{color:rgba(255,255,255,.7)}
.da-pkg-box-name{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:2px}
.da-pkg-box-price{font-size:12px;color:var(--navy);font-weight:500;margin-bottom:3px}
.da-pkg-box-price span{font-size:10px;color:var(--ink-soft);font-weight:400}
.da-pkg-box-incl{font-size:11px;color:var(--ink-soft);line-height:1.4}
.da-pkg-noalc{display:inline-block;margin-top:6px;font-size:10px;font-weight:600;background:#fff0f0;color:#c0392b;border:1px solid #f5c6c6;border-radius:6px;padding:2px 7px}

/* ── Deal Analyser — deal type checkbox boxes ─────────────── */
.deal-type-boxes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:6px}
@media(max-width:500px){.deal-type-boxes{grid-template-columns:1fr}}
.deal-type-box{display:flex;flex-direction:column;align-items:center;text-align:center;gap:3px;padding:12px 8px 12px;border:1.5px solid var(--line);border-radius:12px;cursor:pointer;transition:.2s;background:var(--paper);position:relative}
.deal-type-box input[type=checkbox]{position:absolute;top:8px;right:8px;width:16px;height:16px;cursor:pointer;accent-color:var(--navy)}
.deal-type-box:hover{border-color:var(--navy);background:var(--paper-2)}
.deal-type-box.active{border-color:var(--navy);background:var(--paper-2)}
.dtb-ico{font-size:22px;line-height:1;margin-top:4px}
.dtb-lbl{font-size:12px;font-weight:600;color:var(--ink)}
.dtb-sub{font-size:10px;color:var(--ink-soft);line-height:1.3}
.deal-section-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--rust);margin-top:12px;margin-bottom:8px;padding-top:12px;border-top:1px solid var(--line)}

/* ── Cruise Concierge Email Planner ───────────────────────── */
.concierge-sec{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-2) 60%,#0d4a8a 100%);padding:64px 32px;position:relative;overflow:hidden}
.concierge-bg-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.concierge-inner{display:grid;grid-template-columns:1fr 420px;gap:48px;align-items:start;max-width:1040px;margin:0 auto}
@media(max-width:860px){.concierge-inner{grid-template-columns:1fr}}
.concierge-eyebrow{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.25em;color:var(--gold);margin-bottom:14px}
.concierge-h2{font-family:var(--serif);font-size:clamp(32px,4.5vw,52px);color:#fff;font-weight:300;line-height:1.05;letter-spacing:-.025em;margin-bottom:16px}
.concierge-h2 em{color:var(--gold);font-style:italic}
.concierge-sub{font-size:15px;color:rgba(255,255,255,.75);line-height:1.6;margin-bottom:28px;max-width:440px}
.concierge-timeline{display:flex;flex-direction:column;gap:14px;margin-bottom:24px}
.cti{display:flex;align-items:flex-start;gap:12px;font-size:13px}
.cti-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.3);flex-shrink:0;margin-top:3px}
.cti-dot-gold{background:var(--gold)}
.cti-dot-moss{background:var(--moss)}
.cti-day{font-family:var(--mono);font-size:11px;color:var(--gold);white-space:nowrap;min-width:90px;padding-top:1px}
.cti-text{color:rgba(255,255,255,.8);line-height:1.4}
.concierge-trust{display:flex;flex-wrap:wrap;gap:12px}
.concierge-trust span{font-size:11px;color:rgba(255,255,255,.5);display:flex;align-items:center;gap:4px}
/* Card */
.concierge-card{background:#fff;border-radius:20px;padding:28px 24px;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.concierge-card-tag{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:var(--rust);margin-bottom:8px}
.concierge-card-h{font-family:var(--serif);font-size:22px;color:var(--navy);margin-bottom:20px;font-weight:500}
.concierge-field{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}
.concierge-lbl{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}
.concierge-input{padding:11px 14px;border:1.5px solid var(--paper-3);border-radius:10px;font-family:var(--sans);font-size:14px;color:var(--ink);background:var(--paper);outline:none;transition:.2s;width:100%;box-sizing:border-box}
.concierge-input:focus{border-color:var(--navy);background:#fff}
.cc-preview{background:linear-gradient(135deg,var(--navy),var(--navy-2));border-radius:12px;padding:16px;margin-bottom:14px}
.cc-preview-inner{display:flex;align-items:baseline;gap:8px;justify-content:center}
.cc-days{font-family:var(--serif);font-size:48px;color:var(--gold);font-weight:700;line-height:1}
.cc-days-label{font-size:13px;color:rgba(255,255,255,.8)}
.concierge-btn{width:100%;padding:14px;background:linear-gradient(135deg,var(--navy),var(--rust));color:#fff;border:none;border-radius:12px;font-family:var(--sans);font-size:15px;font-weight:700;cursor:pointer;transition:.2s;margin-bottom:10px;letter-spacing:.01em}
.concierge-btn:hover{opacity:.9;transform:translateY(-1px)}
.concierge-btn:disabled{opacity:.6;transform:none;cursor:not-allowed}
.concierge-fine{font-size:11px;color:var(--ink-soft);text-align:center;line-height:1.5}

/* ── Insurance US/Canada tabs ─────────────────────────────── */
.ins-country-tabs{display:flex;gap:8px;margin:20px 0 16px;border-bottom:2px solid var(--line);padding-bottom:12px}
.ins-ctab{padding:9px 20px;border-radius:50px;border:1.5px solid var(--line);background:var(--paper-2);color:var(--ink-soft);font-family:var(--sans);font-size:13px;font-weight:500;cursor:pointer;transition:.2s}
.ins-ctab:hover{border-color:var(--navy);color:var(--navy)}
.ins-ctab.on{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:600}
.ins-panel{animation:fadeIn .2s ease}
.ins-sub-h{font-family:var(--serif);font-size:17px;color:var(--ink);margin:18px 0 6px;font-weight:600}
.ins-sub-p{font-size:14px;color:var(--ink-soft);line-height:1.6;margin-bottom:10px}
.ins-list{font-size:13px;color:var(--ink-soft);line-height:2;padding-left:4px;list-style:none;margin-bottom:10px}
.ins-alert{padding:14px 16px;border-radius:10px;font-size:13px;line-height:1.6;margin-bottom:14px}
.ins-alert-red{background:rgba(200,40,40,.07);border:1px solid rgba(200,40,40,.2);border-left:3px solid #c82828;color:var(--ink)}
.ins-alert-blue{background:var(--rust-bg);border:1px solid rgba(10,37,64,.15);color:var(--navy)}
.ins-alert-amber{background:var(--gold-bg);border:1px solid rgba(180,130,0,.2);color:#7a5500}

/* ── Get the App nav button ───────────────────────────────── */
.nav-app-btn{background:var(--gold)!important;color:var(--navy)!important;font-weight:700!important;border-radius:50px!important;padding:6px 14px!important}
.nav-app-btn:hover{opacity:.9;background:var(--gold)!important}

/* ── Sidebar Shell (desktop ≥900px) ───────────────────────── */
#sb-shell{display:flex;height:100vh;overflow:hidden;position:fixed;inset:0;z-index:999;background:var(--paper)}
/* Anti-flicker: hide old layout on desktop before JS runs */
@media(min-width:900px){
  #top.pre-sb,#hero.pre-sb,#why.pre-sb{display:none!important}
}

/* Sidebar */
#sb-sidebar{width:200px;flex-shrink:0;display:flex;flex-direction:column;border-right:1px solid var(--line);background:var(--paper-2);overflow:hidden}
.sb-logo{display:flex;align-items:center;justify-content:center;padding:10px 16px;border-bottom:1px solid var(--line)}
.sb-logo-text{font-family:var(--serif);font-size:18px;font-weight:700;color:var(--ink)}
.sb-search-wrap{padding:10px 12px;border-bottom:1px solid var(--line)}
.sb-search{width:100%;padding:7px 10px;border:1px solid var(--line);border-radius:8px;font-family:var(--sans);font-size:12px;color:var(--ink);background:var(--paper);outline:none;box-sizing:border-box}
.sb-search:focus{border-color:var(--navy)}
.sb-nav{flex:1;overflow-y:auto;padding:8px 0}
.sb-nav::-webkit-scrollbar{width:3px}.sb-nav::-webkit-scrollbar-thumb{background:var(--line);border-radius:50px}
.sb-nav-group{margin-bottom:4px}
.sb-nav-group-label{font-family:var(--mono);font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);padding:10px 14px 4px;font-weight:600}
.sb-nav-item{display:flex;align-items:center;gap:9px;padding:8px 14px;font-size:12px;font-weight:500;color:var(--ink-soft);cursor:pointer;transition:.15s;border-left:2px solid transparent;border-radius:0}
.sb-nav-item:hover{background:var(--paper-3);color:var(--ink)}
.sb-nav-item.active{color:var(--navy);border-left-color:var(--navy);background:rgba(10,37,64,.06);font-weight:600}
.sb-nav-ico{width:16px;height:16px;object-fit:contain;flex-shrink:0;opacity:.7}
.sb-nav-item.active .sb-nav-ico{opacity:1}
.sb-nav-emoji{font-size:14px;flex-shrink:0;width:16px;text-align:center}
.sb-nav-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-sidebar-bottom{padding:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:7px}
.sb-app-btn{display:block;text-align:center;padding:8px 10px;background:var(--gold);color:var(--navy);border-radius:8px;font-size:12px;font-weight:700;text-decoration:none}
.sb-shop-link{display:block;text-align:center;padding:6px 10px;background:var(--paper-3);color:var(--ink-soft);border-radius:8px;font-size:12px;font-weight:500;text-decoration:none;border:1px solid var(--line)}
.sb-shop-link:hover{color:var(--ink)}

/* Main panel */
#sb-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--paper)}
.sb-breadcrumb{padding:10px 28px;font-size:11px;color:var(--ink-soft);border-bottom:1px solid var(--line);background:var(--paper-2);flex-shrink:0;font-family:var(--mono);letter-spacing:.04em}


.sb-panel-inner{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
.sb-panel-inner::-webkit-scrollbar{width:4px}.sb-panel-inner::-webkit-scrollbar-thumb{background:var(--line);border-radius:50px}

/* Sections inside panel — remove outer padding since panel handles it */
#sb-panel-inner .sec{padding-left:0;padding-right:0}
#sb-panel-inner .sec-in{padding-left:32px;padding-right:32px;max-width:1100px}
#sb-panel-inner .survey-sec{padding-left:32px;padding-right:32px}
#sb-panel-inner .concierge-sec .sec-in{padding-left:32px;padding-right:32px}

/* Mobile: hide sidebar shell, show original layout */
@media(max-width:899px){
  #sb-shell{display:none!important}
  .nav,.hero,.why-sec{display:block!important}
}

/* ── Drink Analyser split layout ──────────────────────────── */
.da-split-layout{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:500px}
@media(max-width:700px){.da-split-layout{grid-template-columns:1fr}}
.da-split-left{padding:24px 28px;border-right:1px solid var(--line);overflow-y:auto}
.da-split-right{padding:24px 28px;background:var(--paper-2);position:sticky;top:0}
.da-split-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);font-weight:600;margin-bottom:18px}
.da-field{margin-bottom:16px}
.da-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);display:block;margin-bottom:6px}
.da-select,.da-input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;font-family:var(--sans);font-size:14px;color:var(--ink);background:var(--paper);outline:none;box-sizing:border-box}
.da-select:focus,.da-input:focus{border-color:var(--navy)}
.da-hint{font-size:11px;color:var(--ink-soft);line-height:1.5;margin-top:4px}
.da-price-row{margin-bottom:6px}
.da-price-input-wrap{display:flex;align-items:center;gap:6px;background:var(--paper);border:1px solid var(--gold);border-radius:10px;padding:8px 14px}
.da-price-sym{font-family:var(--mono);font-size:13px;color:var(--ink-soft)}
.da-price-input{flex:1;border:none;background:transparent;font-family:var(--mono);font-size:18px;font-weight:700;color:var(--ink);outline:none;width:80px}
.da-price-unit{font-size:11px;color:var(--ink-soft);font-family:var(--mono);white-space:nowrap}
.da-adult-btn{flex:1;padding:8px;border:1px solid var(--line);border-radius:8px;font-family:var(--sans);font-size:13px;cursor:pointer;background:var(--paper);color:var(--ink);transition:.15s}
.da-adult-btn:hover{border-color:var(--navy);color:var(--navy)}
.da-adult-on{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important}
.da-result-panel{border-radius:14px;overflow:hidden}
.da-result-empty{padding:40px 20px;text-align:center;color:var(--ink-soft);font-size:13px;line-height:1.7;background:var(--paper);border-radius:14px;border:1px dashed var(--line)}

/* ── Sidebar Home Panel ───────────────────────────────────── */
.sb-nav-home{font-weight:600;color:var(--ink)!important;border-left:2px solid transparent}
.sb-nav-home.active{color:var(--navy)!important;border-left-color:var(--navy)!important;background:rgba(10,37,64,.06)}
.sb-nav-divider{height:0.5px;background:var(--line);margin:6px 10px 8px}
.sb-home-inner{max-width:900px;margin:0 auto;padding:32px 32px 48px}
.sb-home-hero{background:var(--navy);border-radius:16px;padding:32px 36px;margin-bottom:32px;color:#fff}
.sb-home-eyebrow{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55);margin-bottom:10px;font-family:var(--mono)}
.sb-home-h1{font-family:var(--serif);font-size:clamp(28px,4vw,44px);font-weight:700;color:#fff;line-height:1.15;margin-bottom:12px}
.sb-home-h1 em{color:var(--gold);font-style:italic}
.sb-home-lead{font-size:14px;color:rgba(255,255,255,.7);line-height:1.7;max-width:560px;margin-bottom:24px}
.sb-home-stats{display:flex;gap:28px;flex-wrap:wrap}
.sb-home-stat{display:flex;flex-direction:column;gap:2px}
.sb-home-stat strong{font-family:var(--serif);font-size:28px;color:var(--gold);font-weight:700;line-height:1}
.sb-home-stat span{font-size:11px;color:rgba(255,255,255,.5)}
.sb-home-section-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);margin-bottom:14px;font-weight:600}
.sb-home-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;margin-bottom:28px}
.sb-home-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--paper);border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:.15s}
.sb-home-card:hover{border-color:var(--navy);background:rgba(10,37,64,.04);transform:translateY(-1px)}
.sb-home-card-emoji{font-size:22px;flex-shrink:0;width:32px;text-align:center}
.sb-home-card-body{flex:1;min-width:0}
.sb-home-card-name{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:2px}
.sb-home-card-desc{font-size:11px;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sb-home-card-arrow{font-size:18px;color:var(--ink-soft);flex-shrink:0}
.sb-home-app{display:flex;gap:10px;flex-wrap:wrap}
.sb-home-app-btn{display:inline-block;padding:12px 22px;background:var(--gold);color:var(--navy);border-radius:10px;font-size:13px;font-weight:700;text-decoration:none}
.sb-home-shop-btn{display:inline-block;padding:12px 22px;background:var(--paper-2);color:var(--ink);border:1px solid var(--line);border-radius:10px;font-size:13px;font-weight:500;text-decoration:none}
.sb-home-shop-btn:hover,.sb-home-app-btn:hover{opacity:.9}

.exp-float.collapsed @media(max-width:900px){
        .exp-float.collapsed }







/* ── Expedia Book Button (sidebar) ──────────────────────── */
.sb-book-btn{display:block;width:calc(100% - 28px);margin:0 14px 10px;padding:11px 14px;background:linear-gradient(135deg,#003580,#0069c0);color:#fff;border:none;border-radius:10px;font-family:var(--sans);font-size:13px;font-weight:700;cursor:pointer;text-align:center;letter-spacing:.02em;transition:.2s;box-shadow:0 2px 10px rgba(0,53,128,.3)}
.sb-book-btn:hover{background:linear-gradient(135deg,#002a66,#0053a0);transform:translateY(-1px);box-shadow:0 4px 14px rgba(0,53,128,.4)}

/* ── Expedia Modal ───────────────────────────────────────── */
.exp-modal-overlay{display:none;position:fixed;inset:0;z-index:2000;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:16px}
.exp-modal-overlay.open{display:flex}
.exp-modal-card{background:#fff;border-radius:20px;width:100%;max-width:680px;max-height:92vh;overflow-y:auto;display:flex;flex-direction:column;box-shadow:0 24px 80px rgba(0,0,0,.35)}
.exp-modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;background:linear-gradient(135deg,#003580,#0069c0);border-radius:20px 20px 0 0;flex-shrink:0}
.exp-modal-logo{display:flex;align-items:center;gap:12px}
.exp-modal-logo-icon{font-size:28px}
.exp-modal-title{font-family:var(--serif);font-size:20px;font-weight:700;color:#fff;line-height:1.2}
.exp-modal-sub{font-size:11px;color:rgba(255,255,255,.6);font-family:var(--mono);letter-spacing:.08em;margin-top:2px}
.exp-modal-close{background:rgba(255,255,255,.15);border:none;color:#fff;font-size:18px;width:36px;height:36px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s;flex-shrink:0}
.exp-modal-close:hover{background:rgba(255,255,255,.3)}
.exp-modal-body{padding:20px 24px;flex:1;display:flex;flex-direction:column;gap:8px}
.exp-section-label{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#003580;padding:12px 0 6px;border-top:1px solid #e8edf2}
.exp-section-label:first-child{border-top:none;padding-top:0}
.exp-section-icon{font-size:16px}
.exp-section-widget{border-radius:10px;overflow:hidden;background:#f4f7fb}
.exp-modal-footer{display:flex;flex-direction:column;align-items:center;gap:10px;padding:14px 24px 18px;border-top:1px solid #eee;flex-shrink:0}
.exp-modal-legal{font-size:10px;color:#999;text-align:center;font-family:var(--mono);margin:0}
.exp-cancel-btn{background:none;border:1.5px solid #d0d7e2;color:#555;font-family:var(--sans);font-size:13px;font-weight:600;padding:9px 32px;border-radius:8px;cursor:pointer;transition:.15s}
.exp-cancel-btn:hover{border-color:#003580;color:#003580}

/* Breadcrumb home link */
.sb-crumb-home{color:var(--navy);font-weight:600;cursor:pointer}
.sb-crumb-home:hover{text-decoration:underline}

@media(max-width:700px){
  .exp-modal-card{max-height:88vh;border-radius:16px}
  .exp-modal-head{padding:16px 18px;border-radius:16px 16px 0 0}
  .exp-modal-body{padding:14px 14px}
  .exp-tab-label{font-size:11px}
}

/* ── Sidebar footer links ─────────────────────────────────── */
.sb-footer-links{display:flex;justify-content:center;flex-wrap:wrap;gap:4px 14px;padding:10px 14px 4px;border-top:1px solid var(--line);margin-top:6px}
.sb-footer-link{font-size:10px;color:var(--ink-soft);text-decoration:none;font-family:var(--mono);letter-spacing:.04em;transition:.15s}
.sb-footer-link:hover{color:var(--navy)}
