/* Page sections and responsive refinements. */
.eyebrow{margin-bottom:16px;font-size:14px}
h2{margin-bottom:20px}
.brand small{font-size:12px;letter-spacing:.12em}
.site-header nav{font-size:14px;gap:20px}
.hero-description{max-width:530px}
.hero-registration{font-size:14px;color:#d8e3d6;margin:22px 0 0}
.hero-registration strong{display:inline;color:#fff;font-weight:700}
.hero-actions{margin-top:18px}
.number-grid{padding-block:22px}
.number-grid span{font-size:12px;letter-spacing:.06em}
.format-section{align-items:start}
.format-section .section-intro>p{font-size:17px}
.numbered-row:first-child{padding-top:17px}
.numbered-row p{margin-bottom:8px}
.hour-example{margin:26px 0 0}
.hour-example figcaption{font-size:12px;font-weight:800;letter-spacing:.1em;margin-bottom:10px}
.hour-bar{display:grid;grid-template-columns:3fr 1fr;min-height:80px;background:var(--forest);color:#fff}
.hour-bar>div{padding:14px 16px;display:flex;flex-direction:column;justify-content:center}
.hour-bar>div:last-child{background:var(--orange);color:var(--ink)}
.hour-bar strong{font-size:16px;white-space:nowrap}
.hour-bar span{font-size:14px}
.hour-endpoints{display:flex;justify-content:space-between;gap:12px;font-size:12px;font-weight:700;letter-spacing:.02em;margin:8px 0 12px}
.hour-example>p{font-size:14px;color:var(--muted);line-height:1.6;margin:0}
.distance-goals{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);padding-top:17px;gap:14px;margin-top:10px}
.distance-goals strong{display:block;font-size:15px}
.distance-goals span{font-size:14px;color:var(--muted)}
.distance-note{font-size:12px;color:var(--muted);margin-top:10px;margin-bottom:0}
.course-section{padding:0 0 72px}
.course-layout{display:grid;grid-template-columns:1.05fr 1fr;background:#e7eadf}
.course-copy{padding:40px}
.course-copy>.eyebrow{color:#91441f}
.course-copy h2{font-size:clamp(40px,4vw,56px)}
.course-copy>p{color:#455546;max-width:420px}
.address-block{display:flex;flex-direction:column;gap:5px;border-top:1px solid #b8c3b1;padding-top:20px;margin-top:22px;font-size:16px}
.address-block strong{font-size:17px}
.mini-label{font-size:12px;letter-spacing:.09em;font-weight:700;margin-bottom:5px}
.address-block a{align-self:flex-start;margin-top:8px}
.course-details{padding:40px;border-left:1px solid #c4ccbc}
.course-details>.eyebrow{color:#5a6950}
.course-details dl{margin:0}
.course-details dl>div{padding:16px 0;border-bottom:1px solid #c4ccbc}
.course-details dl>div:first-child{padding-top:0}
.course-details dt{font-size:14px;font-weight:700;color:#56634e;margin-bottom:3px}
.course-details dd{font-size:17px;margin:0;line-height:1.55}
.course-pending{font-size:14px;line-height:1.6;margin:20px 0}
.course-pending strong{display:block;margin-bottom:4px}
.course-pending p{margin:0;color:#455546}
.weekend-section{border-top:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;gap:64px}
.time-note{font-size:14px!important;max-width:320px!important;margin-top:18px}
.start-marker{margin-top:28px;padding-top:20px;border-top:1px solid var(--line);max-width:260px}
.start-marker>span{font-size:12px;font-weight:800;letter-spacing:.13em}
.start-marker strong{font:normal 78px/1.25 var(--display);display:block;letter-spacing:.01em}
.start-marker strong span{font:600 17px var(--body);margin-left:12px}
.start-marker p{font-size:14px;color:var(--muted)}
.schedule{background:#e8ebe3;align-self:start}
.schedule-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #bfcbba}
.schedule-tabs button{padding:14px 10px;border:0;border-right:1px solid #bfcbba;background:transparent;text-align:center;color:var(--muted);font-size:16px;font-weight:600}
.schedule-tabs button:last-child{border-right:0}
.schedule-tabs button span{font-size:12px;font-weight:800;letter-spacing:.1em;display:block}
.schedule-tabs button[aria-selected=true]{background:var(--forest);color:var(--paper)}
.schedule-tabs button:hover:not([aria-selected=true]){background:#d9dfd2}
.schedule-tabs button:focus-visible{outline-offset:-4px}
.schedule-panel{padding:24px 28px}
.schedule-panel[hidden]{display:none}
.schedule-heading{margin-bottom:18px}
.schedule-heading>span{font-size:12px;font-weight:700;color:#59694f;letter-spacing:.09em}
.schedule-heading h3{font-size:24px;margin-top:6px}
.schedule-row{display:grid;grid-template-columns:110px 1fr;gap:18px;border-top:1px solid #c8d0c1;padding:14px 0}
.schedule-row:last-child{padding-bottom:0}
.schedule-row time{font-weight:800;font-size:14px;padding-top:2px}
.schedule-row h4{font-size:16px;line-height:1.4;margin:0 0 5px}
.schedule-row p{font-size:14px;line-height:1.6;color:#56634e;margin:0}
.first-loop{color:#a44017}
.schedule-note{font-size:14px;color:#56634e;margin-top:20px;line-height:1.6}
.runner-section{padding:64px 0;background:var(--forest);color:var(--paper)}
.runner-heading{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:end;margin-bottom:28px}
.runner-heading h2{font-size:clamp(40px,4.3vw,61px);margin:0}
.runner-heading>p{max-width:450px;font-size:16px;color:#c4d0bf;margin:0}
.runner-heading .eyebrow{color:var(--orange)}
.runner-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 56px}
.runner-grid article{padding:24px 0;border-top:1px solid #506049}
.runner-grid .runner-label{font-size:12px;letter-spacing:.1em;font-weight:700;color:var(--orange);margin:0 0 8px}
.runner-grid h3{font-size:21px;margin-bottom:10px}
.runner-grid p{font-size:16px;color:#c4d0bf;margin:0;max-width:490px}
.pack-strip{display:grid;grid-template-columns:180px 1fr;gap:24px;border-block:1px solid #506049;padding:20px 0;font-size:14px;line-height:1.7}
.pack-strip strong{color:var(--orange)}
.pack-strip p{color:#c4d0bf;margin:0}
.crew-note{display:flex;gap:36px;justify-content:space-between;align-items:center;padding-top:24px}
.crew-note h3{font-size:18px;margin-bottom:8px}
.crew-note p{font-size:14px;color:#c4d0bf;max-width:740px;margin:0}
.crew-note a{flex-shrink:0}
.community-section{background:#e7eadf;padding:56px 0}
.community-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.community-layout h2{font-size:clamp(40px,4.1vw,59px)}
.community-copy>p:not(.eyebrow){max-width:480px;color:#4d5c47;font-size:17px;margin:0}
.community-layout .eyebrow{color:#5c6b52}
.organizer-block{display:grid;grid-template-columns:135px 1fr;gap:24px;align-items:center}
.organizer-block img{width:135px;height:135px;object-fit:contain;background:white}
.organizer-block h3{font-size:20px;margin:0 0 10px}
.organizer-block .eyebrow{font-size:12px;margin:0 0 8px}
.organizer-block p:not(.eyebrow){font-size:15px;color:#4d5c47;margin-bottom:12px}
.faq-section{display:grid;grid-template-columns:.75fr 1.25fr;gap:64px;align-items:start}
.faq-intro{position:sticky;top:120px}
.faq-intro .text-link{display:inline-block;margin-top:4px}
.faq-group-title{font-size:14px;color:#a1431b;margin:0;padding:0 0 12px;line-height:1.5;border-bottom:1px solid var(--line)}
.faq-group-title:not(:first-child){padding-top:28px}
.faq-list details{border-bottom:1px solid var(--line)}
.faq-list summary{cursor:pointer;list-style:none;position:relative;padding:16px 32px 16px 0;font-size:16px;font-weight:650;line-height:1.5}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:'+';position:absolute;right:2px;top:11px;font-size:26px;font-weight:400;color:#52644d}
.faq-list details[open] summary:after{content:'−'}
.faq-list details[open] summary{color:#a1431b}
.faq-list .answer{color:var(--muted);padding:0 15px 18px 0;font-size:16px}
.answer p:last-child{margin-bottom:0}
.answer li{margin:9px 0}
.answer ol,.answer ul{padding-left:23px}
.answer a{font-weight:650;color:var(--ink)}
.registration-card .price{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 12px;font-size:60px}
.price span{margin-left:0;font-size:14px}
.registration-opening{font-size:14px;color:#ffb184!important}
.price-breakdown{font-size:14px}
.registration-card .small{font-size:14px}
.footer-links{display:grid;grid-template-columns:auto auto;gap:12px 35px;font-size:14px}
@media(max-width:1100px){
 .site-header{min-height:78px;padding:12px 28px;flex-wrap:wrap;gap:12px}
 .site-header .brand{font-size:14px}
 .menu-toggle{display:block;font-size:14px}
 .site-header nav{display:none;flex:1 0 100%;flex-direction:column;align-items:stretch;gap:0;padding:5px 0 10px;font-size:16px}
 .site-header nav.is-open{display:flex}
 .site-header nav a{padding:10px 0;border-bottom:1px solid #ffffff24}
 .site-header .nav-register{border:0;padding:10px 0}
 .weekend-section,.faq-section,.format-section,.registration-layout{gap:36px}
 .course-copy,.course-details{padding:30px}
 .runner-heading,.community-layout{gap:36px}
 .organizer-block{grid-template-columns:1fr;gap:16px}
 .organizer-block img{width:110px;height:110px}
 .organizer-block h3 br{display:none}
 .runner-grid{column-gap:36px}
}
@media(max-width:760px){
 .site-header{padding:11px 20px;min-height:76px}
 .site-header .brand{gap:10px;font-size:14px}
 .brand small{font-size:12px;letter-spacing:.06em}
 .draft-banner{font-size:12px}
 .hero{min-height:0}
 .hero-content{padding:32px 0 36px}
 .hero-eyebrow{font-size:12px;margin-bottom:20px;gap:5px}
 .hero h1{font-size:clamp(50px,13.8vw,103px);margin-bottom:20px}
 .hero-description{font-size:16px;margin-bottom:0}
 .hero-registration{font-size:14px;margin-top:18px}
 .hero-registration strong{display:block}
 .hero-actions{margin-top:18px;gap:16px}
 .hero .button{font-size:14px;padding:14px 18px}
 .text-link{font-size:14px}
 .number-grid{padding-block:8px}
 .number-grid>div,.number-grid>div:first-child{padding:12px 16px}
 .number-grid strong{font-size:42px}
 .number-grid span{font-size:12px;letter-spacing:0}
 .section{padding-block:44px}
 h2{font-size:40px;margin-bottom:16px}
 .eyebrow{font-size:12px;margin-bottom:12px}
 .format-section{gap:24px}
 .hour-example{margin-top:20px}
 .hour-bar{grid-template-columns:3fr 1fr}
 .hour-bar>div{padding:12px}
 .hour-bar strong{font-size:15px}
 .hour-endpoints{font-size:12px;letter-spacing:0}
 .numbered-row{gap:18px;padding:16px 0 8px}
 .numbered-row h3{font-size:19px;margin-bottom:8px}
 .course-section{padding-bottom:44px}
 .course-layout{grid-template-columns:1fr}
 .course-copy,.course-details{padding:26px 24px}
 .course-copy h2{font-size:40px}
 .course-details{border-left:0;border-top:1px solid #c4ccbc}
 .course-details dd{font-size:16px}
 .address-block{margin-top:18px;padding-top:18px}
 .weekend-section,.faq-section{grid-template-columns:1fr;gap:24px}
 .weekend-section .section-intro>p:not(.eyebrow){font-size:16px}
 .start-marker{display:none}
 .time-note{max-width:100%!important;margin:12px 0 0}
 .schedule-panel{padding:20px 18px}
 .schedule-heading{margin-bottom:14px}
 .schedule-row{grid-template-columns:100px 1fr;gap:12px;padding:12px 0}
 .schedule-row time{font-size:13px}
 .schedule-heading h3{font-size:22px}
 .runner-section{padding:44px 0}
 .runner-heading{grid-template-columns:1fr;gap:16px;margin-bottom:24px}
 .runner-heading h2{font-size:40px}
 .runner-grid{grid-template-columns:1fr}
 .runner-grid article{padding:20px 0}
 .runner-grid h3{font-size:20px}
 .pack-strip{grid-template-columns:1fr;gap:6px;padding:18px 0}
 .crew-note{flex-direction:column;align-items:flex-start;gap:16px;padding-top:20px}
 .community-section{padding:44px 0}
 .community-layout{grid-template-columns:1fr;gap:28px}
 .community-layout h2{font-size:40px}
 .organizer-block{grid-template-columns:90px 1fr;gap:18px;padding-top:24px;border-top:1px solid #c4ccbc;align-items:start}
 .organizer-block img{width:90px;height:90px}
 .organizer-block h3{font-size:18px}
 .organizer-block p:not(.eyebrow){font-size:14px}
 .faq-intro{position:static}
 .faq-intro>p:not(.eyebrow){font-size:16px}
 .faq-list summary{font-size:16px}
 .registration-section{padding:44px 0}
 .registration-layout{gap:24px}
 .registration-layout>div>p{margin-bottom:0}
 .registration-card{padding:24px}
 .registration-card .eyebrow{font-size:12px}
 .registration-card .price{font-size:54px}
 .registration-card .price span{font-size:14px}
 .registration-card .price-breakdown{margin:12px 0 8px}
 .registration-card .button{padding-inline:12px}
 .registration-opening{margin-top:12px!important}
 .footer-links{gap:12px 28px}
}
@media(max-width:360px){
 .site-header{padding-inline:16px}
 .site-header .brand{font-size:12px;gap:8px}
 .brand small{font-size:12px;letter-spacing:0}
 .hero h1{font-size:13.6vw}
 .hour-bar>div{padding:10px}
 .hour-bar strong{font-size:14px}
 .hour-bar span{font-size:13px}
 .hour-endpoints{font-size:12px;flex-direction:column;gap:0}
 .course-copy,.course-details{padding:22px 20px}
 .schedule-row{grid-template-columns:1fr;gap:4px}
 .schedule-row time{font-size:14px}
 .organizer-block{grid-template-columns:1fr}
 .registration-card{padding:20px}
}

.hour-bar>div{padding-inline:12px}.hour-bar>div:last-child{padding-inline:8px}.hour-bar strong{font-size:15px}.hour-bar span{font-size:14px}

/* Keep the original navigation visible across the desktop header. */
@media(min-width:901px) and (max-width:1100px){
 .site-header{flex-wrap:nowrap;gap:18px;padding-inline:24px}
 .menu-toggle{display:none}
 .site-header nav,.site-header nav.is-open{display:flex;flex:0 1 auto;flex-direction:row;align-items:center;gap:14px;padding:0;font-size:14px}
 .site-header nav a{padding:0;border:0;white-space:nowrap}
 .site-header .nav-register{border:1px solid #ffffff70;padding:10px 12px}
}

.hero-organizer{display:inline-flex;align-items:center;gap:14px;margin-top:24px;text-decoration:none;color:#fff;max-width:100%}
.hero-organizer img{width:64px;height:64px;object-fit:contain;background:#fff;flex-shrink:0}
.hero-organizer small{display:block;font-size:12px;letter-spacing:.12em;color:#d8e3d6;margin-bottom:4px}
.hero-organizer strong{display:block;font-size:15px;font-weight:700;line-height:1.45;max-width:230px}
.hero-organizer:hover strong{text-decoration:underline;text-underline-offset:4px}
@media(min-width:1101px){.hero-organizer{position:absolute;right:0;bottom:50px;margin-top:0;max-width:325px}.hero-organizer strong{max-width:225px}}
@media(max-width:760px){.hero-organizer{gap:12px;margin-top:24px}.hero-organizer img{width:52px;height:52px}.hero-organizer strong{font-size:14px}}

.venue-photo{margin:0;background:var(--forest);color:white}
.venue-photo img{width:100%;height:410px;object-fit:cover;object-position:center 48%}
.venue-photo figcaption{display:flex;justify-content:space-between;gap:16px;padding:13px 24px;font-size:13px;line-height:1.5}
.venue-photo figcaption span{font-weight:700}
.venue-photo figcaption a{color:#d5dfd3;font-size:12px}
@media(max-width:760px){.venue-photo img{height:auto;aspect-ratio:4/3;object-fit:cover}.venue-photo figcaption{padding:12px 18px;flex-direction:column;gap:3px}}

.registration-interest{margin-top:26px;padding-top:24px;border-top:1px solid #50604f;max-width:470px}
.registration-interest h3{font-size:21px;margin-bottom:10px}
.registration-interest p{font-size:16px;color:#c5cfc4;margin-bottom:18px}
.button-outline{border-color:#b4c2b1;color:var(--paper);background:transparent}
.button-outline:hover{background:#2e4234;border-color:var(--paper)}
@media(max-width:760px){.registration-interest{margin-top:22px;padding-top:20px}.registration-interest h3{font-size:20px}.registration-interest p{margin-bottom:16px}}
