/* Starboard & Sun Travel (sample name) — luxury cruise advisor draft. Plain CSS, no build step. */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/cormorant.woff2) format("woff2")}
@font-face{font-family:"Cormorant Garamond";font-style:italic;font-weight:400 600;font-display:swap;src:url(/assets/fonts/cormorant-italic.woff2) format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:300 600;font-display:swap;src:url(/assets/fonts/jost.woff2) format("woff2")}
:root{--navy:#14284a;--navy-d:#0c1a33;--ink:#1f2633;--muted:#56606f;--sand:#f7f2ea;--sand-2:#efe6d7;--line:#e2d8c6;--gold:#b08d57;--gold-t:#87672f;--white:#fff;--serif:"Cormorant Garamond",Georgia,"Times New Roman",serif;--sans:"Jost",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--wrap:1180px;--r:2px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);font-weight:400;font-size:1.0625rem;line-height:1.7;color:var(--ink);background:var(--sand)}
img{max-width:100%;height:auto;display:block}
a{color:var(--navy);text-decoration-color:var(--gold);text-underline-offset:3px}
a:hover{color:var(--gold-t)}
:focus-visible{outline:2px solid var(--gold-t);outline-offset:3px}
h1,h2,h3{font-family:var(--serif);font-weight:500;color:var(--navy);line-height:1.12;margin:0 0 .5em;letter-spacing:.2px}
h1{font-size:clamp(2.6rem,6.2vw,4.6rem)}
h2{font-size:clamp(2rem,4vw,3rem)}
h3{font-size:1.6rem}
h1 em,h2 em{font-style:italic;color:var(--gold-t);font-weight:500}
p{margin:0 0 1em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.skip{position:absolute;left:-999px;top:0;background:var(--navy);color:#fff;padding:10px 14px;z-index:99}
.skip:focus{left:10px;top:10px}
.eyebrow{font-family:var(--sans);text-transform:uppercase;letter-spacing:.22em;font-size:.78rem;font-weight:500;color:var(--muted);margin:0 0 18px}
.lead{font-size:1.15rem;color:var(--muted);max-width:62ch}
.center{text-align:center}
.center .lead{margin-left:auto;margin-right:auto}
.rule{width:56px;height:1px;background:var(--gold);border:0;margin:22px 0}
.center .rule{margin:22px auto}
/* top bar + header */
.topbar{background:var(--sand);border-bottom:1px solid var(--line);font-size:.82rem;letter-spacing:.14em;text-align:center;color:var(--muted);padding:7px 12px}
.topbar a{color:var(--muted);text-decoration:none}
.site-header{background:rgba(247,242,234,.97);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:74px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy);font-family:var(--serif);font-size:1.45rem;letter-spacing:.06em;line-height:1.1}
.brand svg{flex:none}
.brand small{display:block;font-family:var(--sans);font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:26px;align-items:center}
.nav a{text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:.76rem;color:var(--ink);padding:8px 0;display:inline-block}
.nav a[aria-current=page]{color:var(--gold-t);border-bottom:1px solid var(--gold)}
.nav a.btn{padding:11px 18px;color:#fff;letter-spacing:.14em}
.nav-toggle{display:none;background:none;border:1px solid var(--navy);color:var(--navy);font:500 .8rem var(--sans);letter-spacing:.18em;text-transform:uppercase;padding:10px 14px;border-radius:var(--r);cursor:pointer}
@media (max-width:1020px){
 .nav-toggle{display:block}
 .nav{position:absolute;left:0;right:0;top:100%;background:var(--sand);border-bottom:1px solid var(--line);display:none}
 .nav.open{display:block}
 .nav ul{flex-direction:column;align-items:stretch;gap:0;padding:8px 22px 20px}
 .nav li{border-top:1px solid var(--line)}
 .nav a{display:block;padding:14px 0;font-size:.85rem}
 .nav li:last-child{border:0;padding-top:14px}
 .nav a.btn{text-align:center}
 .no-js .nav{display:block;position:static}
}
/* buttons */
.btn{display:inline-block;background:var(--navy);color:#fff;text-decoration:none;font:500 .8rem var(--sans);text-transform:uppercase;letter-spacing:.18em;padding:16px 26px;border:1px solid var(--navy);border-radius:var(--r);cursor:pointer;text-align:center;transition:background .2s,color .2s}
.btn:hover{background:var(--navy-d);color:#fff}
.btn.gold{background:transparent;color:#d9bd8a;border-color:var(--gold)}
.btn.gold:hover{background:#d9bd8a;color:var(--navy-d)}
.btn.light{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn.light:hover{background:var(--navy);color:#fff}
.btn.soon{background:var(--sand-2);color:var(--navy);border-color:var(--line)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px 22px;align-items:center;margin-top:28px}
.textlink{font-size:.95rem;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--gold);padding-bottom:2px}
/* hero */
.hero{position:relative;min-height:min(86vh,760px);display:flex;align-items:center;overflow:hidden;background:var(--sand)}
.hero picture,.hero .hero-img{position:absolute;inset:0;width:100%;height:100%}
.hero .hero-img{object-fit:cover;object-position:70% 50%}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(247,242,234,.97) 0%,rgba(247,242,234,.9) 34%,rgba(247,242,234,.35) 58%,rgba(247,242,234,0) 75%)}
.hero .wrap{position:relative;z-index:1;width:100%;padding-top:70px;padding-bottom:70px}
.hero-copy{max-width:560px}
.hero .tagline{font-size:1.1rem;color:var(--muted);max-width:44ch}
.hero .meta{font-size:.9rem;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;margin-top:22px;max-width:460px}
.page-hero{min-height:min(56vh,480px)}
@media (max-width:760px){
 .hero{min-height:0;display:block}
 .hero picture,.hero .hero-img{position:relative;height:auto;aspect-ratio:4/3}
 .hero::after{display:none}
 .hero .wrap{padding-top:34px;padding-bottom:44px}
 .page-hero .hero-img{aspect-ratio:16/10}
}
/* sections */
.section{padding:96px 0}
.section.tight{padding:64px 0}
.section.white{background:var(--white)}
.section.navy{background:var(--navy);color:#e9edf4}
.section.navy h2,.section.navy h3{color:#fff}
.section.navy .eyebrow,.section.navy .lead{color:#c9d2e0}
.section.navy h2 em{color:#e2c48f}
.section-head{max-width:760px;margin:0 0 46px}
.section-head.center{margin-left:auto;margin-right:auto}
@media (max-width:760px){.section{padding:64px 0}.section.tight{padding:46px 0}}
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.split.top{align-items:start}
@media (max-width:860px){.split{grid-template-columns:1fr;gap:36px}}
.photo{position:relative;overflow:hidden}
.photo img{width:100%;height:100%;object-fit:cover}
.photo.tall{aspect-ratio:4/5}
.photo.wide{aspect-ratio:3/2}
/* booking cards */
.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:900px){.book-grid{grid-template-columns:1fr}}
.book-card{background:var(--white);border:1px solid var(--line);padding:30px 28px 28px;display:flex;flex-direction:column}
.book-card h3{margin-bottom:.3em}
.book-card .kind{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-t);margin:0 0 12px}
.book-card p{color:var(--muted);font-size:.98rem}
.book-card .btn{margin-top:auto;width:100%}
.book-card .note{font-size:.82rem;color:var(--muted);margin:12px 0 0}
.book-extra{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:center;justify-content:space-between;border:1px solid var(--line);border-top:0;background:var(--sand-2);padding:20px 28px;font-size:.95rem}
.book-foot{font-size:.85rem;color:var(--muted);margin-top:18px;max-width:80ch}
/* two path */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:22px}
@media (max-width:860px){.paths{grid-template-columns:1fr}}
.path{background:var(--white);border:1px solid var(--line);padding:34px 30px}
.path h3{font-size:1.75rem}
/* cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.cards.two{grid-template-columns:repeat(2,1fr)}
@media (max-width:900px){.cards{grid-template-columns:1fr 1fr}}
@media (max-width:600px){.cards,.cards.two{grid-template-columns:1fr}}
.card{background:var(--white);display:flex;flex-direction:column}
.card .photo{aspect-ratio:3/2}
.card .body{padding:24px 24px 28px;display:flex;flex-direction:column;flex:1}
.card h3{font-size:1.55rem}
.card p{color:var(--muted);font-size:.98rem}
.card .textlink{margin-top:auto;align-self:flex-start}
.checklist{list-style:none;padding:0;margin:0 0 1em}
.checklist li{position:relative;padding:0 0 10px 28px}
.checklist li::before{content:"";position:absolute;left:2px;top:.72em;width:12px;height:1px;background:var(--gold)}
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:30px;list-style:none;padding:0;margin:0}
@media (max-width:860px){.steps{grid-template-columns:1fr}}
.steps li{counter-increment:s;border-top:1px solid var(--gold);padding-top:20px}
.steps li::before{content:"0" counter(s);font-family:var(--serif);font-size:2.2rem;color:var(--gold-t);display:block;line-height:1;margin-bottom:10px}
.steps h3{font-size:1.45rem}
.section.navy .steps li::before{color:#e2c48f}
.section.navy .steps p{color:#c9d2e0}
/* cruise type blocks */
.ctype{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;padding:40px 0;border-top:1px solid var(--line)}
.ctype:first-of-type{border-top:0}
.ctype.flip .photo{order:2}
@media (max-width:860px){.ctype{grid-template-columns:1fr;gap:26px}.ctype.flip .photo{order:0}}
/* placeholders */
.ph{border:1.5px dashed #b08d57;background:repeating-linear-gradient(45deg,#fbf3e2,#fbf3e2 12px,#f6ead0 12px,#f6ead0 24px);color:#5b4520;padding:18px 20px;font-size:.95rem;border-radius:var(--r)}
.ph::before{content:"PLACEHOLDER";display:block;font-size:.68rem;letter-spacing:.22em;font-weight:600;color:#87672f;margin-bottom:6px}
.ph p:last-child{margin:0}
.ph-inline{background:#f6ead0;border:1px dashed #b08d57;padding:1px 6px;color:#5b4520;font-size:.92em;white-space:nowrap}
.section.navy .ph{color:#5b4520}
.photo-ph{aspect-ratio:4/5;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px}
.widget-slot{min-height:220px;display:flex;flex-direction:column;justify-content:center}
/* testimonials */
.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
@media (max-width:900px){.quotes{grid-template-columns:1fr}}
.quotes figure{margin:0}
/* forms */
.form{background:var(--white);border:1px solid var(--line);padding:34px}
@media (max-width:600px){.form{padding:22px}}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.grid-2 .full{grid-column:1/-1}
@media (max-width:600px){.grid-2{grid-template-columns:1fr}}
label,legend{display:block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);margin-bottom:6px;font-weight:500}
.opt{text-transform:none;letter-spacing:0;color:var(--muted);font-weight:400}
input,select,textarea{width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--sand);border:1px solid #cdbfa6;border-radius:var(--r);padding:12px 14px;min-height:48px}
textarea{min-height:140px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-status{margin:14px 0 0;font-size:.95rem;min-height:1em}
.form-status.err{color:#8a2a1a}
.signup{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.signup form{display:flex;gap:12px;flex-wrap:wrap;position:relative}
.signup input[type=email]{flex:1 1 240px;background:#fff}
.signup .form-status{flex-basis:100%;margin:0}
.section.navy .signup .form-status{color:#e9edf4}
@media (max-width:860px){.signup{grid-template-columns:1fr}}
.contact-ways .way{border-top:1px solid var(--line);padding:16px 0}
.contact-ways strong{display:block;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);font-weight:500}
/* prose */
.prose{max-width:760px}
.prose h2{font-size:1.9rem;margin-top:1.4em}
/* footer */
.site-footer{background:var(--navy-d);color:#c5cedc;font-size:.95rem;padding:70px 0 34px}
.site-footer a{color:#fff;text-decoration-color:rgba(226,196,143,.6)}
.site-footer h2{color:#fff;font-size:1.5rem}
.site-footer .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px}
@media (max-width:860px){.site-footer .cols{grid-template-columns:1fr}}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:0 0 8px}
.site-footer .ph{font-size:.88rem}
.disclosure{border-top:1px solid rgba(255,255,255,.14);margin-top:44px;padding-top:24px;font-size:.86rem;line-height:1.6;color:#b7c1d1}
.disclosure p{margin:0 0 8px}
.disclosure strong{color:#fff;font-weight:500}
.fine{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:.82rem;color:#9aa6b8;margin-top:18px}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
