:root { --ink:#0a0a0a; --gold:#c8a34b; --paper:#fff; }
.page-body { margin:0; width:100%; overflow-x:hidden; color:var(--ink); background:var(--paper); font-family:Arial,Helvetica,sans-serif; }
.page-body * { box-sizing:border-box; }
.page-body a { color:inherit; }
.page-header { background:#090909; color:white; }
.page-header-inner { max-width:1440px; width:92%; margin:auto; min-height:96px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.page-brand { text-decoration:none; font-size:1.05rem; font-weight:800; letter-spacing:.25em; white-space:nowrap; }
.page-brand small { display:block; margin-top:7px; color:#ddd; font-size:.62rem; letter-spacing:.28em; }
.page-nav { display:flex; gap:clamp(18px,3vw,48px); }
.page-nav a { text-decoration:none; text-transform:uppercase; font-size:.85rem; letter-spacing:.13em; padding:10px 0; border-bottom:1px solid transparent; }
.page-nav a:hover,.page-nav a:focus-visible,.page-nav a[aria-current] { border-color:var(--gold); }
.page-main { min-height:60vh; }
.page-banner { color:white; background:#111 url('/assets/soul-climb-hero.png') center 45%/cover no-repeat; position:relative; }
.page-banner:before { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.55)); }
.page-banner-inner { max-width:1280px; width:92%; margin:auto; padding:100px 0 110px; position:relative; }
.kicker { margin:0 0 18px; color:var(--gold); font-size:.85rem; font-weight:700; text-transform:uppercase; letter-spacing:.2em; }
.page-banner h1 { margin:0; max-width:900px; font-family:"Arial Narrow",Arial,sans-serif; font-size:clamp(3rem,7vw,6.4rem); line-height:1; letter-spacing:-.03em; text-transform:uppercase; }
.page-banner-inner > p:not(.kicker) { max-width:760px; margin:26px 0 0; color:#eee; font-size:clamp(1.1rem,1.7vw,1.4rem); line-height:1.5; }
.page-banner-inner > p:not(.kicker) + p:not(.kicker) { margin-top:14px; }
.page-section { width:92%; max-width:1280px; margin:auto; padding:85px 0; }
.page-section h2 { margin:0 0 24px; font-size:clamp(2rem,4vw,3.7rem); letter-spacing:-.035em; }
.page-section p,.page-section li { font-size:1.05rem; line-height:1.7; }
.page-section p { max-width:850px; }
.page-section a { text-underline-offset:5px; }
.page-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:35px; border-top:1px solid #ccc; }
.page-grid article { padding-top:26px; }
.page-grid h2 { font-size:1.5rem; text-transform:uppercase; letter-spacing:.08em; }
.page-grid p { color:#555; margin:0; }
.page-list { padding-left:1.35rem; max-width:840px; }
.page-split { display:grid; grid-template-columns:1fr 1fr; gap:8%; }
.page-split h2 { margin-top:0; }
.page-note { background:#f3f3f3; padding:38px; border-left:3px solid var(--gold); align-self:start; }
.page-note p { margin-bottom:0; }
.page-cta { background:#111; color:white; padding:65px 4%; }
.page-cta-inner { max-width:1280px; margin:auto; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.page-cta h2 { margin:0; font-size:clamp(1.8rem,3vw,3rem); }
.page-link { display:inline-block; border:1px solid var(--gold); padding:15px 22px; text-decoration:none; white-space:nowrap; }
.page-link:hover,.page-link:focus-visible { background:var(--gold); color:#111; }
.page-footer { background:#050505; color:#999; padding:25px 4%; text-align:center; font-size:.8rem; letter-spacing:.1em; }
.contact-options { display:grid; grid-template-columns:1fr 1fr; gap:40px; border-top:1px solid #ccc; padding-top:30px; }
.contact-options h2 { font-size:1.35rem; text-transform:uppercase; letter-spacing:.09em; }
.contact-options a { font-size:1.25rem; overflow-wrap:anywhere; }
.terms-copy { max-width:1000px; }
.terms-copy h2 { margin-top:42px; margin-bottom:10px; font-size:clamp(1.4rem,2.2vw,2rem); letter-spacing:0; }
.terms-copy p { max-width:100%; }
@media(max-width:760px) {
 .page-header-inner { align-items:flex-start; flex-direction:column; padding:24px 0 16px; gap:20px; }
 .page-nav { width:100%; overflow-x:auto; gap:20px; padding-bottom:7px; }
 .page-nav a { flex:none; font-size:.78rem; }
 .page-banner-inner { padding:75px 0 80px; }
 .page-grid,.page-split,.contact-options { grid-template-columns:1fr; }
 .page-grid { gap:12px; }
 .page-grid article + article { border-top:1px solid #ddd; }
 .page-section { padding:60px 0; }
 .page-cta-inner { align-items:flex-start; flex-direction:column; }
}
