:root{--navy:#0e2a47;--navy-deep:#0a2038;--gold:#c9a24b;--gold-dark:#a9852f;--teal:#2e7d77;--cream:#f7f2e9;--cream-card:#fffdf8;--ink:#1a1a1a;--ink-soft:#3a3a3a;--cream-muted:rgba(247,242,233,0.85);--serif:"Fraunces",Georgia,"Times New Roman",serif;--sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--sans);font-size:18px;line-height:1.6;color:var(--ink);background:var(--cream);overflow-x:hidden}h1,h2,h3{font-family:var(--serif);line-height:1.2;font-weight:600}p{max-width:65ch}img{max-width:100%;display:block}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid var(--teal);outline-offset:3px;border-radius:4px}.skip{position:absolute;left:16px;top:-48px;z-index:200;background:var(--gold);color:var(--ink);font-weight:700;padding:10px 14px;border-radius:8px;text-decoration:none}.skip:focus{top:10px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:14px 32px;background:var(--gold);color:var(--ink);font-family:var(--sans);font-size:19px;font-weight:700;border:2px solid var(--gold);border-radius:10px;cursor:pointer;text-decoration:none;text-align:center;transition:background .2s ease,transform .15s ease;-webkit-tap-highlight-color:transparent}.btn:hover{background:#d6b262;border-color:#d6b262;transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn:disabled{opacity:.72;cursor:wait}.btn:disabled:hover{transform:none;background:var(--gold)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:var(--navy);border-bottom:1px solid rgba(201,162,75,.35);padding:10px 16px}.header-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}.wordmark{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--cream);text-decoration:none;letter-spacing:.01em;white-space:nowrap}.wordmark .gs{color:var(--gold);font-style:italic;font-weight:600}.header-cta{min-height:48px;font-size:17px;padding:10px 22px}.hero{position:relative;min-height:86vh;display:flex;align-items:center;background:var(--navy);overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,32,56,.78),rgba(14,42,71,.82) 60%,rgba(10,32,56,.92))}.hero-content{position:relative;z-index:2;max-width:1100px;margin:0 auto;padding:80px 20px;width:100%}.hero-badge{display:inline-block;background:rgba(201,162,75,.16);border:1px solid var(--gold);color:#e8ce8e;font-size:16px;font-weight:600;letter-spacing:.04em;padding:8px 18px;border-radius:999px;margin-bottom:26px}.hero h1{font-size:clamp(40px,7vw,64px);color:#ffffff;margin-bottom:18px;max-width:14ch;font-weight:600}.hero-sub{font-size:clamp(20px,3vw,24px);color:var(--cream-muted);margin-bottom:36px;max-width:32ch}.hero-jump{margin-top:18px;font-size:17px}.hero-jump a{color:#e8ce8e;font-weight:700}.waitlist-form{display:flex;flex-wrap:wrap;gap:12px;max-width:560px}.waitlist-form input[type=email]{flex:1 1 260px;min-height:56px;padding:14px 18px;font-size:19px;font-family:var(--sans);color:var(--ink);background:#ffffff;border:2px solid rgba(14,42,71,.35);border-radius:10px}.waitlist-form input[type=email]::placeholder{color:#5a5a5a}.form-note{font-size:16px;margin-top:14px;color:var(--cream-muted)}.form-error{color:#f6d2ce;font-size:16px;font-weight:600;margin-top:10px}.form-success{display:none;background:rgba(46,125,119,.92);color:#ffffff;font-size:19px;font-weight:600;padding:18px 22px;border-radius:10px;max-width:560px}.form-success.is-visible{display:block}.waitlist-block.is-done .form-error,.waitlist-block.is-done .form-note,.waitlist-block.is-done .waitlist-form{display:none}.reassure{background:var(--navy-deep);padding:34px 20px}.reassure-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr;grid-gap:22px;gap:22px}.reassure-item{display:flex;align-items:center;gap:14px;color:var(--cream);font-size:18px;font-weight:600;max-width:none}.reassure-item svg{flex:0 0 36px}.section{padding:72px 20px}.section-inner{max-width:1100px;margin:0 auto;min-width:0}.section h2{font-size:clamp(30px,4.5vw,42px);color:var(--navy);margin-bottom:14px}.section-lede{font-size:20px;color:var(--ink-soft);margin-bottom:44px}.benefits-grid{display:grid;grid-template-columns:1fr;grid-gap:24px;gap:24px}.benefit-card{background:var(--cream-card);border:1px solid rgba(14,42,71,.1);border-radius:18px;overflow:hidden;box-shadow:0 6px 24px rgba(14,42,71,.08);transition:transform .25s ease,box-shadow .25s ease}.benefit-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(14,42,71,.14)}.card-photo-frame{position:relative;height:210px}.card-photo{object-fit:cover}.card-body{padding:26px 26px 30px}.benefit-card h3{font-size:25px;color:var(--navy);margin-bottom:12px}.benefit-card p{font-size:18px;color:var(--ink-soft)}.eyebrow{font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin-bottom:10px}.fred{background:var(--navy)}.fred .eyebrow{color:#e8ce8e}.fred h2,.fred h3{color:#ffffff}.fred h3{font-size:28px;margin-bottom:16px}.fred .section-lede{color:var(--cream-muted);margin-bottom:30px}.fred-wrap{display:grid;grid-template-columns:1fr;grid-gap:32px;gap:32px;align-items:center}.fred-points{list-style:none;display:grid;grid-gap:16px;gap:16px}.fred-points li{display:flex;gap:14px;align-items:flex-start;font-size:19px;color:var(--cream)}.fred-points svg{flex:0 0 28px;margin-top:3px}.fred-photo-frame{position:relative;height:340px;border-radius:18px;overflow:hidden;box-shadow:0 10px 36px rgba(0,0,0,.35)}.fred-photo{object-fit:cover}.fred-disclosure,.line-note{margin-top:28px;font-size:17px;color:var(--cream-muted);max-width:75ch}.fred-disclosure{border-left:4px solid var(--gold);padding-left:16px}.line-note{margin-top:18px;overflow-wrap:anywhere}.fred a,.line-note a{color:#e8ce8e}.saga-block{margin-top:40px}.how{background:#efe7d8}.steps{display:grid;grid-template-columns:1fr;grid-gap:28px;gap:28px}.step{background:var(--cream-card);border-radius:14px;padding:30px 28px;border-top:5px solid var(--teal)}.step-number{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;background:var(--navy);color:var(--cream);font-family:var(--serif);font-size:24px;margin-bottom:16px}.step h3{font-size:24px;color:var(--navy);margin-bottom:10px}.step p{font-size:18px;color:var(--ink-soft)}.honest-note{margin-top:30px;font-size:18px;color:var(--navy);background:rgba(46,125,119,.1);border-left:5px solid var(--teal);padding:18px 22px;border-radius:0 10px 10px 0;max-width:100%}.find-wrap{display:grid;grid-template-columns:1fr;grid-gap:36px;gap:36px;align-items:center}.find-list{list-style:none;display:grid;grid-gap:18px;gap:18px}.find-list li{display:flex;gap:14px;align-items:flex-start;font-size:19px;color:var(--ink-soft)}.find-list svg{flex:0 0 28px;margin-top:3px}.find-list strong{color:var(--navy)}.find-photo-frame{position:relative;height:320px;border-radius:14px;overflow:hidden;box-shadow:0 6px 24px rgba(14,42,71,.18)}.find-photo{object-fit:cover}.cta-band{position:relative;background:var(--navy);overflow:hidden}.cta-band-photo{object-fit:cover}.cta-band-overlay{position:absolute;inset:0;background:rgba(10,32,56,.85)}.cta-band .section-inner{position:relative;z-index:2}.cta-band h2{color:#ffffff;max-width:24ch}.cta-band .section-lede{color:var(--cream-muted)}.faq-list{display:grid;grid-gap:14px;gap:14px;max-width:780px}.faq-item{background:var(--cream-card);border:1px solid rgba(14,42,71,.14);border-radius:12px;overflow:hidden}.faq-item summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:18px 22px;font-family:var(--serif);font-size:21px;color:var(--navy);font-weight:700}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{flex:1 1}.faq-chevron{flex:0 0 auto;transition:transform .25s ease}.faq-item[open] .faq-chevron{transform:rotate(180deg)}.faq-answer{padding:0 22px 22px;font-size:18px;color:var(--ink-soft)}.site-footer{background:var(--navy-deep);color:var(--cream-muted);padding:48px 20px;font-size:16px}.footer-inner{max-width:1100px;margin:0 auto;display:grid;grid-gap:18px;gap:18px}.site-footer .wordmark{font-size:24px}.site-footer a{color:#e8ce8e}.footer-disclosure{max-width:70ch}.site-footer p{max-width:75ch}.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:90;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:rgba(14,42,71,.97);border-top:1px solid rgba(201,162,75,.4);transform:translateY(110%);transition:transform .3s ease}.mobile-cta.is-shown{transform:none}.mobile-cta .btn{width:100%}.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.js .reveal.is-in{opacity:1;transform:none}#how,#lines,#sailings,#waitlist{scroll-margin-top:88px}.price-caveat{font-size:16px;color:var(--ink-soft);max-width:78ch;margin:-24px 0 28px}.filters{display:grid;grid-gap:14px;gap:14px;margin-bottom:16px}.filter-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.filter-label{font-size:15px;font-weight:700;color:var(--navy);margin-right:4px}.chip{min-height:44px;padding:8px 16px;border-radius:999px;border:2px solid rgba(14,42,71,.18);background:#ffffff;font-family:var(--sans);font-size:16px;font-weight:600;color:var(--navy);cursor:pointer}.chip:hover{border-color:var(--gold)}.chip[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:var(--cream)}.result-count{font-size:16px;color:#5a5a5a;margin-bottom:18px}.empty-sailings{background:var(--cream-card);border-radius:18px;padding:28px;margin-bottom:8px;border:1px solid rgba(14,42,71,.1)}.empty-sailings p{margin-bottom:16px}.sailing-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:24px;gap:24px}.sailing-card{min-width:0;background:var(--cream-card);border:1px solid rgba(14,42,71,.1);border-radius:18px;padding:26px 26px 28px;box-shadow:0 6px 24px rgba(14,42,71,.08);overflow-wrap:anywhere}.sailing-card[hidden]{display:none}.sailing-card h3{font-size:26px;color:var(--navy);margin-bottom:8px}.sailing-card p{max-width:none}.sailing-meta,.sailing-port{color:var(--ink-soft);font-size:17px}.ship-facts{font-size:16px;color:#5a5a5a;margin:8px 0 4px}.sailing-price{font-family:var(--serif);font-size:28px;color:var(--navy);margin:14px 0 8px;line-height:1.3}.price-checked{font-family:var(--sans);font-size:16px;font-weight:500;color:var(--ink-soft)}.highlights,.included,.price-note{font-size:17px;color:var(--ink-soft);margin-top:8px}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;text-underline-offset:3px}.callout{margin-top:16px;border-left:4px solid var(--teal);padding-left:14px}.callout.warning{border-left-color:var(--gold)}.callout h4{font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-bottom:6px}.callout.warning h4{color:#7a6a45}.callout p{font-size:17px;color:var(--ink-soft)}.itinerary{margin-top:16px}.itinerary summary{cursor:pointer;font-weight:700;color:var(--navy);min-height:44px;display:flex;align-items:center}.itinerary ol{margin:8px 0 0 1.2em;display:grid;grid-gap:6px;gap:6px}.itinerary li{font-size:16px;color:var(--ink-soft)}.portpal-list{list-style:none;display:grid;grid-gap:8px;gap:8px;margin-top:16px}.portpal-list a{color:var(--teal);font-weight:700;overflow-wrap:anywhere}.sailing-btn{margin-top:18px}.outbound-note{font-size:15px;color:#5a5a5a;margin-top:10px}.missing-title{font-size:clamp(32px,5vw,48px);color:var(--navy);margin-bottom:12px}@media (min-width:768px){.reassure-grid{grid-template-columns:repeat(4,1fr)}.reassure-item{flex-direction:column;text-align:center}.benefits-grid,.steps{grid-template-columns:repeat(3,1fr)}.find-wrap{grid-template-columns:1.1fr .9fr}.fred-wrap{grid-template-columns:.9fr 1.1fr}.section{padding:92px 20px}}@media (min-width:900px){.sailing-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (max-width:767px){body{font-size:20px}.hero-sub{font-size:22px}.header-cta{font-size:16px;padding:10px 16px}.wordmark{font-size:19px}.site-footer{padding-bottom:110px}}@media (min-width:768px){.mobile-cta{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js .reveal,.reveal{opacity:1;transform:none;transition:none}.benefit-card:hover,.btn:hover{transform:none}.faq-chevron,.mobile-cta{transition:none}}