.preview-bar { background:#eaf0f2; color:#43596b; text-align:center; padding:7px 16px; font-size:.78rem; font-weight:700; letter-spacing:.04em; }
.brand small { font-size:.69rem; letter-spacing:.065em; }
.hero-grid { min-height:530px; padding-block:72px 80px; }
.hero { background-image:linear-gradient(90deg,rgba(250,252,252,.97) 0%,rgba(250,252,252,.90) 33%,rgba(239,245,247,.52) 58%,rgba(239,245,247,0) 82%),image-set(url('mountain-hero.webp') type('image/webp'),url('mountain-hero.png') type('image/png')); }
.hero-content { max-width:650px; min-width:0; }
.hero h1 { max-width:650px; overflow-wrap:anywhere; }
.hero-lead,.hero-note,.help-card h3 { overflow-wrap:anywhere; }
.hero .button { gap:14px; }
.hero-note { margin:16px 0 0; }
.help-section { background:#f8fafb; }
.help-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.help-card { background:#fff; border:1px solid var(--line); border-top:3px solid var(--signal); border-radius:5px; padding:30px 34px; }
.help-card,.start-grid>*,.brand>span:last-child { min-width:0; }
.help-card h3 { margin:0 0 10px; font-size:1.65rem; }
.help-card p,.help-card li { color:var(--muted); }
.help-card ul { margin:14px 0 0; padding-left:20px; }
.help-card li { margin:4px 0; }
.about-section { background:#fff; border-block:1px solid var(--line); }
.about-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,300px); grid-template-areas:"intro photo" "copy photo"; grid-template-rows:max-content max-content; column-gap:clamp(35px,5vw,72px); row-gap:12px; align-items:start; }
.about-intro { grid-area:intro; min-width:0; }
.about-intro h2 { margin-bottom:0; }
.about-copy { grid-area:copy; min-width:0; }
.about-copy p { color:var(--muted); font-size:1.06rem; line-height:1.7; margin:0 0 18px; max-width:68ch; }
.about-copy p:last-child { margin-bottom:0; }
.about-photo { grid-area:photo; min-width:0; width:100%; margin:0; align-self:center; }
.about-photo img { display:block; width:100%; height:auto; aspect-ratio:4 / 5; object-fit:cover; object-position:center 50%; border-radius:5px; }
.about-photo figcaption { color:var(--muted); font-size:.82rem; line-height:1.45; margin-top:10px; }
.next-section { background:#f7faf9; }
.next-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; list-style:none; padding:0; margin:0; }
.next-steps li { border-top:2px solid var(--signal); padding-top:18px; }
.next-steps span { color:var(--signal-dark); font-size:.77rem; font-weight:800; letter-spacing:.1em; }
.next-steps h3 { margin:10px 0 7px; font-size:1.13rem; }
.next-steps p { color:var(--muted); margin:0; }
.start-section { background:#eaf3f7; border-block:1px solid var(--line); }
.start-grid { display:grid; grid-template-columns:1.3fr .7fr; gap:clamp(30px,5vw,75px); align-items:center; }
.start-grid>div:first-child>p:last-child { color:var(--muted); font-size:1.06rem; margin:0; }
.start-card { background:#fff; border:1px solid var(--signal-line); border-radius:5px; padding:29px; }
.start-card .button { width:100%; }
.start-card p { color:var(--muted); font-size:.88rem; margin:16px 0 0; }
.start-card a { overflow-wrap:anywhere; }
.booking-closed { display:inline-flex; justify-content:center; align-items:center; background:#e7ecef; color:#43596b; border:1px solid #cbd7dd; border-radius:4px; cursor:default; }
.booking-status { display:block; background:#e7ecef; color:#43596b; border-left:3px solid var(--signal-line); padding:10px 14px; font-weight:700; text-align:center; line-height:1.45; }
.start-card p.booking-status { color:#43596b; font-size:.9rem; margin:0; }
.sessions { background:#f6f9fa; padding-block:28px; }
.session-details>summary { cursor:pointer; list-style:none; display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:20px; align-items:center; padding:8px 0; }
.session-details>summary::-webkit-details-marker { display:none; }
.session-details>summary small { grid-column:1; grid-row:1; display:block; color:var(--signal-dark); text-transform:uppercase; font-size:.72rem; font-weight:800; letter-spacing:.13em; }
.session-details>summary h2 { grid-column:1; grid-row:2; display:block; font-size:1.35rem; color:var(--ink); margin:0; }
.detail-action { grid-column:2; grid-row:1 / span 2; color:var(--signal-dark); font-weight:700; white-space:nowrap; }
.when-open { display:none; }
.session-details[open] .when-closed { display:none; }
.session-details[open] .when-open { display:inline; }
.detail-action::after { content:' +'; font-size:1.15rem; }
.session-details[open] .detail-action::after { content:' -'; }
.session-details>summary:focus-visible { outline:3px solid var(--signal-dark); outline-offset:4px; }
.session-intro { color:var(--muted); max-width:680px; margin:26px 0; }
.sessions .card { min-height:250px; }
.sessions .card { min-width:0; overflow-wrap:anywhere; }
.sessions .card h3 { font-size:1.35rem; }
.sessions .price { font-size:1.65rem; margin-bottom:12px; }
.sessions .card p { margin-bottom:22px; }
.sessions .card p.booking-status { color:#43596b; font-size:.88rem; margin:auto 0 0; }
.session-policy { color:var(--muted); font-size:.9rem; margin:22px 0 0; }
.site-foot { padding:50px 0 24px; }
.footer-grid { display:grid; grid-template-columns:.85fr 1.1fr 1.05fr; gap:30px; }
.site-foot .eyebrow { color:#b8d1de; margin-bottom:9px; }
.site-foot h2 { color:#fff; font-size:1.5rem; margin:0 0 6px; }
.site-foot p { margin:0 0 10px; color:#d1dfe9; font-size:.86rem; }
.site-foot a { color:#fff; text-underline-offset:4px; overflow-wrap:anywhere; }
.site-foot .footer-heading { color:#fff; font-weight:750; }
.footer-bottom { border-top:1px solid #ffffff32; margin-top:28px; padding-top:16px; color:#b7c9d5; font-size:.8rem; }
@media (max-width:850px) { .nav-cta { display:inline-flex; } .about-grid { grid-template-columns:1fr; grid-template-areas:"intro" "photo" "copy"; grid-template-rows:auto; row-gap:20px; } .about-photo { width:min(100%,300px); align-self:auto; } .start-grid { grid-template-columns:1fr; gap:28px; } .start-card { max-width:430px; } .session-grid { grid-template-columns:minmax(0,1fr); } .footer-grid { grid-template-columns:1fr 1fr; } .footer-grid>div:first-child { grid-column:1/-1; } }
@media (max-width:700px) { .help-grid,.next-steps,.start-grid,.footer-grid { grid-template-columns:1fr; } .footer-grid>div:first-child { grid-column:auto; } .hero-grid { min-height:0; padding-block:74px 80px; } }
@media (max-width:650px) { .preview-bar { font-size:.69rem; } .brand small { max-width:210px; font-size:.62rem; } nav { gap:12px 16px; } h1,h2,h3 { overflow-wrap:anywhere; } .hero h1 { font-size:clamp(2.45rem,9vw,3.35rem); } .hero-lead { font-size:1.03rem; } .help-card,.start-card { padding:26px 24px; } .session-details>summary h2 { font-size:1.17rem; } .sessions .card { min-height:0; } }
@media (max-width:360px) { .brand { padding-block:10px; } nav { gap:8px 12px; padding-bottom:10px; } .hero-grid { padding-block:62px 72px; } .session-details>summary { grid-template-columns:1fr; row-gap:4px; } .detail-action { grid-column:1; grid-row:3; margin-top:3px; } }
@media (max-width:650px) { .hero { background-image:linear-gradient(90deg,rgba(250,252,252,.96),rgba(250,252,252,.76)),image-set(url('mountain-hero.webp') type('image/webp'),url('mountain-hero.png') type('image/png')); } }
