:root{font-family:system-ui,sans-serif;color:#173b3e;background:#f4f7f5;font-synthesis:none}*{box-sizing:border-box}body{margin:0;line-height:1.7}a{color:#0b616a}header,main,footer{max-width:1160px;margin:auto;padding:24px}header,footer{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{font-size:25px;font-weight:800;text-decoration:none}.brand span{display:block;font-size:12px;font-weight:400}.hero{padding:30px 0}h1{font-size:clamp(28px,5vw,46px);line-height:1.3;margin:12px 0;overflow-wrap:anywhere}h2{font-size:18px;margin:0 0 16px}.eyebrow{color:#0b616a;font-weight:700}.author,.muted{color:#586d6b;font-size:14px}.description{white-space:pre-wrap;overflow-wrap:anywhere;max-width:780px}.layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(280px,1fr);gap:24px}.card{display:block;background:white;border:1px solid #dae5df;border-radius:20px;padding:24px;margin-bottom:20px;box-shadow:0 8px 24px #173b3e06}.map-card{padding:20px}#course-map{height:440px;border-radius:12px;overflow:hidden;background:#edf3ef}#course-map svg{width:100%;height:100%}.elevation{width:100%;height:160px}dl{margin:0 0 24px}dl>div{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #edf2ef}dt{color:#586d6b}dd{margin:0;font-size:24px;font-weight:700}small{font-size:13px;margin-left:5px}.button,.secondary{display:block;text-align:center;padding:13px 16px;border-radius:12px;text-decoration:none;font-weight:700}.button{background:#0b4f57;color:white}.secondary{border:1px solid #ccdcd5}.related{margin-top:30px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.related a{text-decoration:none;overflow-wrap:anywhere}.related span{display:block;font-size:13px;margin-top:12px}footer{border-top:1px solid #dae5df;font-size:14px}a:focus-visible{outline:3px solid #e79645;outline-offset:4px}@media(max-width:760px){header,main,footer{padding:16px}.layout,.related-grid{grid-template-columns:1fr}.hero{padding:16px 0}.card{padding:20px}#course-map{height:320px}.layout{gap:0}footer{flex-wrap:wrap}}

.hero-action{display:none}@media(max-width:760px){.hero-action{display:block;margin-top:20px}.hero-action p{font-size:14px;color:#586d6b}}
