.boathouse-page { --story-width: 1240px; }
.boathouse-page figure { margin: 0; }
.boathouse-breadcrumbs { max-width:1480px; margin:auto; padding:1rem clamp(1.25rem,4vw,3.5rem); }
.boathouse-breadcrumbs .seo-breadcrumbs { display:flex; flex-wrap:wrap; gap:.65rem; margin:0; font-size:.875rem; }
.boathouse-hero { position:relative; max-width:1480px; margin:0 auto; isolation:isolate; background:#111512; }
.boathouse-hero picture,.boathouse-hero img { display:block; width:100%; }
.boathouse-hero img { aspect-ratio:8/5; height:auto; object-fit:cover; object-position:center; }
.boathouse-hero::after { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(145deg,rgba(0,0,0,.64),transparent 45%); }
.boathouse-hero-copy { position:absolute; z-index:2; top:clamp(1.75rem,4vw,4rem); left:clamp(1.25rem,4vw,4rem); right:1.25rem; color:#fff; text-shadow:0 2px 20px rgba(0,0,0,.5); }
.boathouse-eyebrow { margin:0 0 1rem; color:#b9c4bb; font-size:.875rem; font-weight:700; letter-spacing:.07em; line-height:1.5; }
.boathouse-hero .boathouse-eyebrow { color:#fff; }
.boathouse-hero h1 { font-size:clamp(3rem,5.5vw,5.5rem); line-height:1.04; letter-spacing:-.045em; margin:0 0 .75rem; }
.boathouse-subtitle { margin:0; font-size:clamp(1.125rem,1.8vw,1.55rem); line-height:1.5; }
.boathouse-intro { max-width:var(--story-width); margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,6vw,6rem); align-items:center; padding:clamp(3.5rem,7vw,6rem) clamp(1.25rem,4vw,4rem); }
.boathouse-intro h2,.boathouse-detail h2 { font-size:clamp(2.2rem,3.5vw,3.5rem); line-height:1.1; letter-spacing:-.035em; margin:0; }
.boathouse-intro > p,.boathouse-detail-copy > p:last-child { margin:0; color:#ced5cf; font-size:1.0625rem; line-height:1.8; max-width:34rem; }
.boathouse-detail { max-width:var(--story-width); margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center; padding:0 clamp(1.25rem,4vw,4rem) clamp(3.5rem,7vw,6rem); }
.boathouse-detail picture,.boathouse-detail img { display:block; width:100%; height:auto; }
.boathouse-detail figcaption { font-size:.875rem; line-height:1.6; color:#b9c4bb; padding-top:.8rem; }
.boathouse-detail-copy { padding:1rem 0 2.5rem; }
.boathouse-detail-copy h2 { margin-bottom:1.25rem; }
.boathouse-overhead { position:relative; max-width:1480px; margin:0 auto !important; background:#111512; }
.boathouse-overhead img { width:100%; height:auto; }
.boathouse-overhead figcaption { position:absolute; bottom:clamp(1rem,3vw,3rem); left:clamp(1rem,3vw,3rem); display:grid; max-width:25rem; padding:1.1rem 1.35rem; background:rgba(8,10,9,.83); border-left:3px solid #b9ce83; color:#fff; }
.boathouse-overhead .boathouse-eyebrow { color:#d5dfd7; margin:0 0 .5rem; }
.boathouse-overhead strong { font-size:clamp(1.6rem,2.5vw,2.6rem); line-height:1.1; letter-spacing:-.025em; }
.boathouse-overhead figcaption > span:last-child { font-size:1rem; margin-top:.65rem; }
.boathouse-next { display:flex; flex-wrap:wrap; justify-content:space-between; gap:1rem 2rem; max-width:var(--story-width); margin:auto; padding:2.5rem clamp(1.25rem,4vw,4rem); }
.boathouse-next a { font-size:1rem; text-underline-offset:5px; padding:.4rem 0; }
@media(max-width:700px) {
 .boathouse-hero img { aspect-ratio:3/4; object-fit:contain; }
 .boathouse-hero::after { background:linear-gradient(180deg,transparent 57%,rgba(0,0,0,.78)); }
 .boathouse-hero-copy { top:auto; bottom:1.5rem; left:1.25rem; right:1.25rem; }
 .boathouse-hero h1 { font-size:clamp(2.65rem,10vw,4rem); }
 .boathouse-hero .boathouse-eyebrow { margin-bottom:.55rem; font-size:.875rem; }
 .boathouse-intro { grid-template-columns:1fr; gap:1.5rem; padding-top:3rem; padding-bottom:3rem; }
 .boathouse-detail { grid-template-columns:1fr; gap:2rem; padding-bottom:3rem; }
 .boathouse-detail-copy { padding:0 0 1.75rem; }
 .boathouse-overhead figcaption { position:static; max-width:none; padding:1.35rem 1.25rem; border-left:0; background:#171d19; }
 .boathouse-overhead strong { font-size:1.9rem; }
 .boathouse-next { flex-direction:column; gap:.6rem; }
}
@media(max-width:360px) {
 .boathouse-hero-copy { position:relative; inset:auto; padding:1.25rem; }
 .boathouse-hero::after { display:none; }
 .boathouse-hero h1 { font-size:2.5rem; }
}
