/* Our Vessels: an editorial extension of the existing Tours styles. */
.vessels-page .vessel-hero{min-height:clamp(480px,45vw,690px);padding-block:64px 88px}
.vessel-hero .hero-scene{margin:0}
.vessel-hero .hero-scene picture{display:block;width:100%;height:100%}
.vessel-hero .hero-scene img{object-position:right center}
.vessel-hero h1{text-transform:uppercase;max-width:620px}
.vessel-hero .lead{max-width:390px}
.vessel-hero .vessel-image-note{position:absolute;bottom:18px;right:var(--gutter);max-width:calc(100% - 40px);font-size:11px;color:#f4f6ef;text-align:right;text-shadow:0 1px 4px #000;background:#112d36cc;padding:4px 10px}
.vessel-jumps{display:flex;align-items:center;justify-content:center;gap:32px;padding-block:20px;border-bottom:1px solid var(--line)}
.vessel-jumps a{display:flex;align-items:center;justify-content:center;min-height:44px;font-family:var(--display);font-size:21px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none}
.vessel-jumps a:hover{text-decoration:underline}
.vessel-feature{padding-block:56px 40px}
.vessel-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);grid-template-areas:'intro facts' 'deck facts' 'details facts';gap:28px 40px;align-items:start}
.vessel-intro{grid-area:intro;max-width:720px}
.vessel-intro h2{font-size:clamp(42px,4vw,60px);text-transform:uppercase}
.vessel-intro>p:last-child{margin-top:20px;max-width:58ch}
.vessel-deck{grid-area:deck}
.vessel-deck img{height:auto;aspect-ratio:4/3}
.vessel-details{grid-area:details;display:grid;grid-template-columns:1fr 1fr;gap:20px;min-width:0}
.vessel-details img{height:auto;aspect-ratio:4/3}
.vessel-facts{grid-area:facts;align-self:stretch;padding:32px;background:var(--soft);min-width:0}
.vessel-facts h3{text-transform:uppercase;padding-bottom:20px;border-bottom:1px solid var(--line)}
.vessel-facts dl{margin:0}
.vessel-facts dl>div{display:grid;grid-template-columns:100px minmax(0,1fr);gap:16px;padding-block:15px;border-bottom:1px solid var(--line);font-size:14px;line-height:1.5}
.vessel-facts dt{font-weight:700}
.vessel-facts dd{margin:0;overflow-wrap:anywhere}
.vessel-diagram{margin-top:24px}
.vessel-diagram img{width:100%;height:auto;object-fit:contain;background:transparent}
.vessel-diagram figcaption{font-size:12px;text-align:center}
.vessel-facts .vessel-facts-note{font-size:13px;line-height:1.6;border-top:1px solid var(--line);padding-top:20px;margin-top:24px;color:var(--muted)}
.vessel-dock{margin-top:36px}
.vessel-dock img{aspect-ratio:2.25/1;height:auto;object-position:center 58%}
.vessel-secondary{padding-bottom:56px}
.vessel-secondary-grid{border-top:1px solid var(--line);padding-top:32px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.vessel-secondary h2{text-transform:uppercase;font-size:clamp(36px,3.5vw,50px)}
.vessel-secondary p:not(.eyebrow){margin-top:20px;max-width:46ch}
.vessel-secondary img{height:auto;aspect-ratio:3/2}
.vessel-captains{padding-block:56px;background:var(--ink);color:var(--paper);--focus:#e2c48d}
.vessel-captains h2,.vessel-captains h3{text-transform:uppercase}
.vessel-captains h2{font-size:clamp(40px,4vw,58px)}
.vessel-captains .captain-opening{max-width:85ch;margin-bottom:36px}
.vessel-captains .captain-emphasis{color:#d4e2db}
.vessel-captains .captain-profile-grid{gap:40px}
.vessel-captains .captain-profile-grid>.captain-story+.captain-story{padding-left:40px;border-color:#c3d1ca55}
.vessel-captain-heading{display:grid;grid-template-columns:106px minmax(0,1fr);gap:22px;align-items:start;margin-bottom:20px}
.vessel-captain-heading h3{font-size:30px;margin:0 0 12px}
.vessel-captain-heading .captain-emphasis{font-size:13px;line-height:1.6;margin:0}
.captain-portrait-placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:3/4;background:#d9e4dc;color:#173941;padding:12px;text-align:center;font-family:var(--display);font-size:18px;line-height:1.25;font-weight:700;letter-spacing:.09em;text-transform:uppercase}
.vessel-captains .captain-story>p{font-size:16px;line-height:1.7;margin:0;min-height:0}
.captain-biography{margin-top:16px}
.captain-biography summary{cursor:pointer;min-height:44px;display:list-item;padding-block:10px;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:5px}
.captain-biography[open] summary{margin-bottom:8px}
.captain-biography p{font-size:16px;line-height:1.7}
.vessel-captains .captain-closing{margin-top:36px;border-color:#c3d1ca55}
.vessel-captains .captain-closing p{font-size:16px}
.vessel-captains .actions{margin-top:28px}
.vessel-captains .text-link{color:var(--paper);min-height:44px;display:inline-flex;align-items:center}
.vessels-page main [id]{scroll-margin-top:12px}
@media(max-width:1000px){
 .vessels-page .vessel-hero{min-height:clamp(620px,100vw,780px);padding-block:40px 280px;align-items:flex-start}
 .vessel-hero .hero-scene{inset:0;height:100%}
 .vessel-hero .hero-scene img{width:100%;height:100%;object-fit:cover;object-position:center 85%}
 .vessels-page .vessel-hero:after{background:linear-gradient(180deg,rgba(10,28,35,.52),rgba(10,28,35,.28) 45%,transparent 70%)}
 .vessel-hero .lead{max-width:440px}
 .vessels-page .vessel-jumps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;padding:12px 0;justify-items:stretch}
 .vessel-jumps a{min-width:0;min-height:52px;padding:8px 0;text-align:center;font-size:clamp(16px,2.8vw,21px);letter-spacing:.04em;line-height:1.2;overflow-wrap:normal}

 .vessel-layout{grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:24px}
 .vessel-facts{padding:24px}
 .vessel-facts dl>div{grid-template-columns:85px minmax(0,1fr);gap:12px}
 .vessel-captain-heading{grid-template-columns:90px minmax(0,1fr);gap:18px}
 .vessel-jumps{gap:24px}
}
@media(max-width:800px){
 .vessel-layout{grid-template-columns:1fr;grid-template-areas:'intro' 'deck' 'facts' 'details';gap:28px}
 .vessel-facts{padding:28px}
 .vessel-facts dl>div{grid-template-columns:minmax(100px,.65fr) minmax(0,1.35fr)}
 .vessel-diagram{max-width:420px;margin-inline:auto}
 .vessel-captains .captain-profile-grid>.captain-story+.captain-story{border-left:0;padding-left:0;border-top:1px solid #c3d1ca55;padding-top:32px}
 .vessel-secondary-grid{gap:28px}
}
@media(max-width:600px){
 .vessels-page .vessel-hero{min-height:clamp(570px,150vw,760px);padding-block:32px 240px}
 .vessels-page .vessel-hero h1{font-size:clamp(58px,17vw,82px);line-height:1}
 .vessel-hero .lead{font-size:17px;line-height:1.55;max-width:390px;margin-top:16px}
 .vessel-hero .vessel-image-note{font-size:10px;bottom:10px;right:12px;max-width:calc(100% - 24px)}
 .vessel-feature{padding-top:32px;padding-bottom:32px}
 .vessel-intro h2{font-size:42px}
 .vessel-details{gap:14px}
 .vessel-details figcaption{font-size:12px}
 .vessel-facts{padding:24px}
 .vessel-facts dl>div{font-size:13px;padding-block:12px;gap:12px}
 .vessel-dock{margin-top:28px}
 .vessel-dock img{aspect-ratio:4/3;object-position:50% center}
 .vessel-secondary{padding-bottom:36px}
 .vessel-secondary-grid{grid-template-columns:1fr;padding-top:28px;gap:24px}
 .vessel-secondary h2{font-size:38px}
 .vessel-captains{padding-block:36px}
 .vessel-captains .captain-opening p{font-size:16px}
 .vessel-captain-heading{grid-template-columns:82px minmax(0,1fr);gap:18px}
 .vessel-captain-heading h3{font-size:28px}
 .vessel-captain-heading .captain-emphasis{font-size:12px}
 .captain-portrait-placeholder{font-size:15px;padding:8px}
 .vessel-captains .captain-profile-grid{gap:32px}
}
