.camp-detail-hero { min-height: 610px; padding: 120px 10vw 80px; color: #fff; background: linear-gradient(90deg, rgba(8, 30, 37, .92), rgba(8, 30, 37, .52)), url('assets/hero-community.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: 550px; font-size: 17px; line-height: 1.65; margin: 20px 0 30px; }
.camp-detail-date { margin: 26px 0 0; color: #dceccf; font: 500 13px '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: 220px; padding: 28px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--paper); }
.information-grid span { color: #6b7e67; font: 11px 'DM Mono', monospace; }
.information-grid h3 { font-size: 24px; margin: 25px 0 10px; }
.information-grid p { margin: 0 0 15px; font-size: 14px; 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: 16px; }
@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; } }
