.cap-page main { max-width:1600px; margin:auto; }
.cap-page figure { margin:0; min-width:0; }
.cap-page h1 { font-size:clamp(3rem,6vw,6.5rem); line-height:1.02; letter-spacing:-.055em; margin-bottom:2rem; }
.cap-page h2 { font-size:clamp(2.4rem,4vw,4.5rem); line-height:1.05; margin-bottom:1.7rem; }
.cap-page p { line-height:1.65; }
.cap-page .eyebrow { font-size:.8rem; }
.cap-page [aria-current="page"] { border-bottom:1px solid currentColor; }
.cap-intro { padding:6rem 5vw 4rem; display:grid; grid-template-columns:1.4fr 1fr; gap:6vw; align-items:end; }
.cap-intro p:last-child { color:var(--muted); max-width:32rem; font-size:1.125rem; }
.cap-index { display:flex; flex-wrap:wrap; gap:1rem 2rem; margin:0 5vw; padding:1.5rem 0; border-block:1px solid var(--line); }
.cap-index a { font-size:.875rem; }
.cap-index a:hover { text-decoration:underline; text-underline-offset:5px; }
.cap-story { padding:5rem 5vw; display:grid; grid-template-columns:1.15fr 1fr; gap:6vw; align-items:center; scroll-margin-top:85px; }
.cap-story:nth-of-type(even) { background:var(--bone); }
.cap-story figure img { aspect-ratio:5/4; object-fit:cover; }
.cap-story figcaption { font-size:.875rem; color:var(--muted); margin-top:.8rem; }
.cap-copy p:not(.eyebrow) { color:var(--muted); max-width:34rem; }
.cap-tags { list-style:none; padding:0; margin:2rem 0 0; display:flex; flex-wrap:wrap; gap:.6rem 1.3rem; }
.cap-tags li { font-size:.875rem; padding:.4rem 0; border-bottom:1px solid var(--line); }
.cap-detail { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1rem; }
.cap-detail img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.cap-contact { padding:6rem 5vw; text-align:center; display:flex; flex-direction:column; align-items:center; }
.cap-contact p { color:var(--muted); max-width:38rem; }
.cap-contact .button { margin:1.2rem 0 2rem; }
.cap-contact .text-link { font-size:1rem; }
@media(max-width:900px) {
 .cap-intro,.cap-story { grid-template-columns:minmax(0,1fr); gap:2rem; padding:4rem 1.25rem; }
 .cap-index { margin-inline:1.25rem; }
 .cap-copy { grid-row:1; }
 .cap-contact { padding:4rem 1.25rem; }
}
@media(max-width:560px) {
 .cap-intro h1 { font-size:clamp(2.75rem,12vw,3.8rem); }
 .cap-story figure img { aspect-ratio:1; }
 .cap-contact .button { width:auto; }
}
