:root { --ink:#090909; --paper:#fbfaf6; --paper-soft:#f0eee7; --rule:#161616; --muted:#5a5650; }
* { box-sizing: border-box; }
body { margin:0; background:linear-gradient(rgba(255,255,255,.65),rgba(255,255,255,.65)),radial-gradient(circle at 20% 10%,rgba(0,0,0,.045),transparent 26rem),var(--paper); color:var(--ink); font-family:"Source Serif 4",Georgia,serif; }
a { color:inherit; text-decoration:none; }
.page { width:min(1240px,calc(100% - 32px)); margin:0 auto; }
.masthead { padding:24px 0 18px; border-bottom:4px double var(--rule); text-align:center; }
.kicker-row { display:flex; justify-content:space-between; gap:16px; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); padding:7px 0; font-family:"Archivo Narrow",Arial,sans-serif; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.brand { margin:12px 0 2px; font-family:"Playfair Display",Georgia,serif; font-size:clamp(46px,8vw,94px); font-weight:900; line-height:.92; text-transform:uppercase; }
.subtitle { margin:0; color:var(--muted); font-family:"Archivo Narrow",Arial,sans-serif; font-size:15px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.front-lead { display:grid; grid-template-columns:1.35fr .65fr; gap:24px; padding:28px 0; border-bottom:1px solid var(--rule); }
.lead-title { margin:0; font-family:"Playfair Display",Georgia,serif; font-size:clamp(34px,5vw,66px); line-height:.98; text-transform:uppercase; }
.lead-copy { margin:14px 0 0; max-width:78ch; font-size:19px; line-height:1.48; }
.fleet-index { border:1px solid var(--rule); padding:16px; background:rgba(255,255,255,.36); }
.section-label { margin:0 0 10px; font-family:"Archivo Narrow",Arial,sans-serif; font-size:13px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.fleet-grid { display:grid; grid-template-columns:repeat(3,1fr); border-left:1px solid var(--rule); border-top:1px solid var(--rule); margin:26px 0 40px; }
.vessel-card { min-height:100%; padding:18px; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule); display:flex; flex-direction:column; gap:12px; }
.vessel-card.hero { grid-column:span 2; grid-row:span 2; }
.vessel-photo { width:100%; aspect-ratio:16/9; object-fit:cover; filter:grayscale(1) contrast(1.18); border:1px solid var(--rule); background:#ddd; }
.vessel-card.hero .vessel-photo { aspect-ratio:2/1; }
.meta-line { display:flex; justify-content:space-between; gap:12px; font-family:"Archivo Narrow",Arial,sans-serif; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.severity { border:1px solid var(--rule); padding:1px 6px; }
.severity.medium { background:var(--ink); color:var(--paper); }
.vessel-name { margin:0; font-family:"Playfair Display",Georgia,serif; font-size:clamp(25px,3vw,42px); line-height:1; text-transform:uppercase; }
.card-copy { margin:0; font-size:15px; line-height:1.42; }
.read-button { margin-top:auto; display:inline-flex; justify-content:center; border:1px solid var(--rule); padding:9px 12px; font-family:"Archivo Narrow",Arial,sans-serif; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.read-button:hover,.read-button:focus { background:var(--ink); color:var(--paper); }
.detail-header { padding:20px 0 26px; border-bottom:4px double var(--rule); }
.back-link { display:inline-block; margin-bottom:18px; font-family:"Archivo Narrow",Arial,sans-serif; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.detail-title { margin:0; font-family:"Playfair Display",Georgia,serif; font-size:clamp(48px,9vw,104px); line-height:.9; text-transform:uppercase; }
.detail-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr); gap:28px; padding:28px 0 44px; }
.article { border-right:1px solid var(--rule); padding-right:28px; }
.article h2,.side h2 { margin:0 0 8px; font-family:"Playfair Display",Georgia,serif; font-size:30px; text-transform:uppercase; }
.brief-text { column-count:2; column-gap:28px; column-rule:1px solid var(--rule); text-align:justify; hyphens:auto; font-size:18px; line-height:1.56; }
.brief-text p { margin:0 0 14px; }
.brief-text p:first-child::first-letter { float:left; padding:6px 8px 0 0; font-family:"Playfair Display",Georgia,serif; font-size:72px; line-height:54px; font-weight:900; }
.detail-photo { width:100%; margin-top:24px; border:1px solid var(--rule); padding:4px; filter:grayscale(1) contrast(1.16); }
.side { display:flex; flex-direction:column; gap:18px; }
.notice { border:1px solid var(--rule); padding:14px; background:rgba(255,255,255,.34); }
.notice.dark { background:var(--ink); color:var(--paper); }
.notice p,.notice li { font-size:15px; line-height:1.42; }
.notice ul { margin:8px 0 0; padding-left:18px; }
.schedule-row { display:grid; grid-template-columns:110px 1fr; gap:10px; padding:8px 0; border-top:1px dotted var(--rule); font-size:14px; }
.footer { border-top:4px double var(--rule); padding:22px 0 34px; color:var(--muted); font-family:"Archivo Narrow",Arial,sans-serif; font-size:13px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
@media (max-width:860px){ .front-lead,.detail-grid{grid-template-columns:1fr}.fleet-grid{grid-template-columns:1fr}.vessel-card.hero{grid-column:span 1;grid-row:span 1}.article{border-right:0;padding-right:0}.brief-text{column-count:1}.kicker-row{flex-direction:column;align-items:center} }
