.camp-detail-hero { min-height: 610px; padding: 120px 10vw 80px; color: #fff; background: linear-gradient(90deg, rgba(6, 26, 85, .92), rgba(6, 26, 85, .52)), url('assets/hero-community-diverse.png') center/cover; }
.camp-detail-hero h1 { max-width: 820px; font-size: clamp(52px, 7vw, 92px); line-height: .98; }
.camp-detail-hero > p:not(.eyebrow):not(.camp-detail-date) { max-width: 620px; font-size: 20px; font-weight: 500; line-height: 1.65; margin: 20px 0 34px; }
.camp-detail-date { margin: 26px 0 0; color: #dceccf; font: 600 16px 'DM Mono', monospace; letter-spacing: .05em; }
.camp-information { padding: 100px 10vw; display: grid; grid-template-columns: .7fr 1.3fr; gap: 9vw; }
.camp-information h2, .camp-next h2 { font-size: clamp(40px, 5vw, 63px); line-height: 1.04; }
.information-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.information-grid article { min-height: 250px; padding: 34px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--paper); }
.information-grid span { color: #6b7e67; font: 13px 'DM Mono', monospace; }
.information-grid h3 { font-size: 30px; margin: 25px 0 13px; }
.information-grid p { margin: 0 0 18px; font-size: 17px; font-weight: 500; line-height: 1.6; }
.camp-next { margin: 0 10vw 100px; padding: 70px 9vw; text-align: center; color: #fff; background: #153237; }
.camp-next p:not(.eyebrow) { margin: 18px 0 28px; font-size: 19px; font-weight: 500; }
@media (max-width: 760px) { .camp-detail-hero { min-height: 560px; padding: 85px 8vw 55px; } .camp-information { padding: 70px 8vw; grid-template-columns: 1fr; gap: 40px; } .information-grid { grid-template-columns: 1fr; } .camp-next { margin: 0 8vw 70px; padding: 55px 8vw; } }
