/* Shared navigation across all public pages. */
nav.sage-main-nav{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 24px;background:#27422F;text-align:center;padding:16px 20px;position:sticky;top:0;z-index:10}
nav.sage-main-nav a{display:inline-block;margin:0;padding:4px 0;color:#fff;text-decoration:none;font-weight:700;font-size:1rem;line-height:1.7}
nav.sage-main-nav a:hover,nav.sage-main-nav a[aria-current="page"]{color:#D9F5BF;text-decoration:underline;text-underline-offset:6px}
nav.sage-main-nav a:focus-visible{outline:2px solid #D9F5BF;outline-offset:5px;border-radius:2px}
.sage-event-trail{display:flex;flex-wrap:wrap;gap:8px 20px;margin:0 0 24px}
.sage-event-trail a{color:#27422F;font-weight:700;text-underline-offset:3px}
@media(max-width:700px){nav.sage-main-nav{position:relative;gap:6px 18px;padding:14px 18px}nav.sage-main-nav a{margin:0;display:inline-block}}

.sage-skip-link{position:absolute;top:8px;left:8px;z-index:100;padding:10px 18px;background:#fff;color:#27422F;font-weight:700;transform:translateY(-160%)}
.sage-skip-link:focus{transform:translateY(0);outline:3px solid #27422F}

/* Compact, consistent mobile layout; desktop header proportions stay intact. */
@media(max-width:700px){
 header.sage-rotating-header{padding:50px 18px 92px}
 header.sage-rotating-header h1{font-size:2rem;line-height:1.25;letter-spacing:1px}
 header.sage-rotating-header h2{font-size:1.2rem;line-height:1.3;margin:10px 0}
 header.sage-rotating-header p{font-size:1rem;line-height:1.45}
 header.sage-rotating-header a.button{margin-top:16px;min-height:44px;padding:10px 24px}
 header.sage-rotating-header>.sage-background-toggle{min-height:44px;bottom:10px;right:12px}
 nav.sage-main-nav{gap:0 16px;padding:10px 14px}
 nav.sage-main-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 2px}
 main{min-width:0}
 .sage-content-page section,main>section{padding:40px 18px}
 main .grid,main .categories{grid-template-columns:minmax(0,1fr);gap:20px}
 main .card,main .category,main .events-schedule{padding:24px}
 main h2{font-size:1.8rem;line-height:1.35}
 main .contact a,main.contact a{display:inline-block;min-height:44px;padding:8px 0}
 main .contact h2{color:#D9F5BF}
 main input,main select,main textarea{font-size:16px;max-width:100%}
 main iframe{max-width:100%}
 .sage-event-trail a{display:inline-block;min-height:44px;padding:8px 0}
 footer{padding:22px 18px}
}

/* Accessible contrast within the existing green palette. */
header.sage-rotating-header a.button,main .button{background:#617948;color:#fff}
header.sage-rotating-header a.button:hover,main .button:hover{background:#476335;color:#fff}
main .contact h2,main.contact h2{color:#D9F5BF}
.calendar-top{background:#617948}
.sage-next-step{max-width:1200px;margin:auto;padding:40px 25px 60px}
.sage-next-step p+p{margin-top:16px}
.sage-next-step a:focus-visible{outline:3px solid #27422F;outline-offset:4px}
.event-summary{margin:30px 0;padding:28px;background:#E7F0E2;border-radius:10px}
.event-summary h3{color:#27422F;font-size:1.5rem;margin:0 0 16px}
.event-summary p+p{margin-top:12px}
.event-summary a{color:#27422F;text-decoration:underline;text-underline-offset:3px}
.event-schedule-list{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
.event-schedule-list li{padding:18px;background:#fff;border-radius:6px}
.event-schedule-list strong{display:block;color:#27422F}
@media(max-width:700px){.event-summary{padding:20px 16px}.event-schedule-list{grid-template-columns:minmax(0,1fr)}.sage-next-step{padding:32px 18px 44px}}
