:root{
--navy-900:#132436;--navy-800:#1c3650;--steel-600:#3d6e94;--steel-400:#7aa3c1;--steel-300:#aac5da;--steel-100:#e2edf4;
--sepia-100:#f1e9dc;--ivory-100:#f7f4ec;--ivory-50:#fbfaf6;--white:#fff;
--ink-900:#221f1c;--ink-700:#43403b;--ink-500:#6b675f;--line-200:#dcd6c9;
--bg-page:var(--ivory-100);--bg-sunken:var(--sepia-100);--text-body:var(--ink-900);--text-muted:var(--ink-500);
--text-on-navy:var(--ivory-50);--text-link:var(--steel-600);--text-link-hover:var(--navy-800);--border-default:var(--line-200);
--accent-primary:var(--steel-600);
--font-serif:'Source Serif 4',Georgia,'Times New Roman',serif;
--font-ui:'Public Sans',-apple-system,Helvetica,Arial,sans-serif;
--radius-l:4px;--radius-m:3px;--container-max:1280px;
--shadow-card:0 1px 2px rgba(19,36,54,.06),0 4px 16px rgba(19,36,54,.08);
--shadow-elevated:0 8px 32px rgba(19,36,54,.14);
--shadow-doc:0 2px 6px rgba(74,51,36,.18),0 12px 28px rgba(74,51,36,.16);
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg-page);color:var(--text-body);font-family:var(--font-serif);
font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--text-link);text-decoration:none}
a:hover{color:var(--text-link-hover)}
.wrap{max-width:var(--container-max);margin:0 auto;padding:0 32px}
.muted{color:var(--text-muted);font-size:15px;margin:0}
h1,h2,h3{font-family:var(--font-serif);color:var(--navy-900);margin:0;line-height:1.15;font-weight:600}
h1{font-size:clamp(34px,5vw,56px)}
h2{font-size:clamp(26px,3.4vw,44px)}
h3{font-size:19px}

/* header */
header{position:sticky;top:0;z-index:40;background:var(--navy-900);border-bottom:1px solid var(--border-default)}
.hbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 32px;
max-width:var(--container-max);margin:0 auto}
.brand{display:flex;align-items:center;gap:14px;cursor:pointer}
.brand img{height:42px;width:auto}
.brand span{font-family:var(--font-serif);font-size:25px;color:var(--text-on-navy)}
nav.desk{display:flex;align-items:center;gap:28px;font-family:var(--font-ui);font-size:15px;font-weight:600}
nav.desk a{color:var(--steel-300);border-bottom:2px solid transparent;padding-bottom:4px}
nav.desk a:hover{color:var(--text-on-navy)}
nav.desk a[aria-current]{color:var(--text-on-navy);border-bottom-color:var(--accent-primary)}
.burger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:6px}
.burger i{width:22px;height:2px;background:var(--text-on-navy);display:block}
nav.mob{display:none;flex-direction:column;padding:8px 24px 20px;border-top:1px solid var(--border-default);
font-family:var(--font-ui);font-weight:600}
nav.mob a{color:var(--text-on-navy);padding:10px 4px;font-size:16px}
nav.mob.open{display:flex}
@media(max-width:880px){nav.desk{display:none}.burger{display:flex}.brand span{font-size:19px}.brand img{height:32px}}

/* pages */
.page{display:none}
.page.on{display:block}

/* hero */
.hero{position:relative;width:100%;aspect-ratio:4/1.7;min-height:520px;color:#fff;overflow:hidden;background:var(--navy-900)}
.hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .veil{position:absolute;inset:0;pointer-events:none;
background:linear-gradient(180deg,rgba(19,36,54,.2),rgba(19,36,54,.72))}
.hero .inner{position:relative;min-height:100%;display:flex;flex-direction:column;gap:14px;
padding:40px 32px 40px;max-width:var(--container-max);margin:0 auto}
.eyebrow{font-family:var(--font-serif);font-size:30px;letter-spacing:.18em;text-transform:uppercase;color:#fff}
.hero h1{color:#fff;max-width:760px}
.hero p{font-size:19px;max-width:560px;color:var(--steel-100);margin:0}
.cta{display:flex;gap:14px;margin-top:8px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-ui);
font-weight:600;padding:12px 24px;font-size:15px;border-radius:var(--radius-m);cursor:pointer;border:1px solid transparent}
.btn-p{background:var(--accent-primary);color:var(--text-on-navy)}
.btn-p:hover{background:var(--navy-800);color:var(--text-on-navy)}
.btn-d{background:var(--navy-900);border-color:var(--navy-900);color:var(--text-on-navy)}
.btn-d:hover{background:var(--navy-800);color:var(--text-on-navy)}
.btn-g{background:none;color:var(--text-link);padding:0;font-weight:700}
@media(max-width:1100px){.hero{aspect-ratio:auto}}
@media(max-width:700px){.hero{min-height:440px}.eyebrow{font-size:18px}}

/* home body */
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:32px 32px 72px;
max-width:var(--container-max);margin:0 auto}
.split p{margin:0 0 18px}
.doc{box-shadow:var(--shadow-doc);background:#fff;padding:10px;max-width:300px}
.doc figcaption{font-family:var(--font-ui);font-size:13px;color:var(--text-muted);padding:10px 4px 2px;text-align:center}
.docwrap{display:flex;align-items:center;justify-content:center}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:32px}}

.band{background:var(--bg-sunken);padding:72px 0}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:36px}
.card{background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-l);padding:32px;
cursor:pointer;box-shadow:var(--shadow-card)}
.card h3{font-size:22px;margin-bottom:10px}
.card .go{font-family:var(--font-ui);font-size:15px;font-weight:700;color:var(--text-link);margin-top:14px}
.wide{max-width:var(--container-max);margin:72px auto 80px;padding:0 32px}
.wide img{width:100%;height:440px;object-fit:cover;border-radius:var(--radius-l);box-shadow:var(--shadow-card)}
@media(max-width:700px){.wide img{height:240px}}

/* generic page head */
.phead{max-width:var(--container-max);margin:0 auto;padding:24px 32px 32px}
.phead h2{margin-bottom:16px}
.prose p{font-size:19px;max-width:720px;margin:0 0 16px}

/* vessels */
.vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;
max-width:var(--container-max);margin:0 auto;padding:0 32px 72px}
.vcard{background:#fff;border:1px solid var(--border-default);border-radius:var(--radius-l);
overflow:hidden;box-shadow:var(--shadow-card);cursor:pointer;font-family:var(--font-ui)}
.vcard-img{aspect-ratio:16/10;background:var(--steel-100)}
.vcard-img img{width:100%;height:100%;object-fit:cover}
.vcard-body{padding:18px 20px}
.vcard-body h3{margin-bottom:8px}

/* modal */
.modal{position:fixed;inset:0;background:rgba(19,36,54,.55);z-index:60;
display:none;align-items:center;justify-content:center;padding:20px}
.modal.on{display:flex}
.sheet{background:#fff;border-radius:var(--radius-l);max-width:520px;width:100%;max-height:88vh;
overflow:auto;box-shadow:var(--shadow-elevated)}
.sheet>img{width:100%;height:200px;object-fit:cover}
.sbody{padding:28px 30px 32px;font-family:var(--font-ui)}
.srow{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.srow h3{font-family:var(--font-serif);font-size:24px}
.x{cursor:pointer;color:var(--text-muted);font-size:26px;line-height:1;background:none;border:0}
.specs{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin-top:24px;font-size:14px}
.specs dt{color:var(--text-muted);font-size:11.5px;text-transform:uppercase;letter-spacing:.04em}
.specs dd{margin:3px 0 0;color:var(--ink-900)}
.disc{margin-top:24px;padding-top:16px;border-top:1px solid var(--border-default);
font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted)}

/* contacts */
.cgrid{display:grid;grid-template-columns:1fr 1fr;gap:56px;max-width:var(--container-max);
margin:0 auto;padding:0 32px 64px}
.cgrid>figure{margin:0;border-radius:var(--radius-l);overflow:hidden;box-shadow:var(--shadow-card);height:fit-content}
.cinfo{display:flex;flex-direction:column;gap:32px;font-family:var(--font-ui)}
.lbl{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--steel-600);font-weight:700;margin-bottom:14px}
.cinfo b{color:var(--navy-900)}
.cinfo>div>div{margin-bottom:10px;font-size:15px}
.person{display:flex;align-items:center;gap:12px;margin-bottom:12px;font-size:15px}
.person>div>div{margin:0}
.pname{font-weight:700;color:var(--navy-900)}
.avatar{width:64px;height:64px;border-radius:50%;background:#fff;box-shadow:var(--shadow-card);
flex-shrink:0;display:flex;align-items:center;justify-content:center}
.avatar img{width:70%;height:auto}
@media(max-width:900px){.cgrid{grid-template-columns:1fr;gap:32px}}

/* footer */
footer{background:var(--navy-900);color:var(--text-on-navy);font-family:var(--font-ui)}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;max-width:var(--container-max);
margin:0 auto;padding:56px 32px 32px}
.fgrid a{color:var(--steel-300);display:block;margin-bottom:8px;font-size:15px}
.fgrid a:hover{color:var(--text-on-navy)}
.fh{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--steel-400);font-weight:700;margin-bottom:12px}
.fbrand{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.fbrand img{height:30px;width:auto}
.fbrand span{font-family:var(--font-serif);font-size:18px}
.fgrid p{color:var(--steel-300);font-size:15px;margin:0;max-width:320px;line-height:1.55}
.faddr{color:var(--steel-300);font-size:15px;line-height:1.9}
.fbot{border-top:1px solid rgba(122,163,193,.25);padding:20px 32px;display:flex;justify-content:flex-end;
max-width:var(--container-max);margin:0 auto}
.fbot span{font-size:20px;letter-spacing:.18em;text-transform:uppercase;color:var(--steel-400);font-family:var(--font-serif)}
@media(max-width:900px){.fgrid{grid-template-columns:1fr}.fbot{justify-content:flex-start}.fbot span{font-size:14px}}
