/* Six-color balance: cream surfaces, readable red/blue type, green and blue bands, warm accents. */
:root{--ink:var(--teal);--line:var(--sage)}
header{border-bottom:1px solid var(--sage)}
.desktop-nav a[aria-current="page"]:not(.button){color:var(--red);text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:8px;text-decoration-thickness:3px}
.button{background:var(--red);color:var(--cream);border:2px solid var(--red)}
.button:hover{background:var(--teal);border-color:var(--teal)}
.button.outline{color:var(--red);border-color:var(--red)}
.button.outline:hover{background:var(--yellow)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline-color:var(--red)}
.hero-visual{background:var(--yellow);border:0}
.hero-visual::before{background:var(--orange)}
.word-ribbon{background:var(--yellow);color:var(--teal)}
.welcome-band{background:var(--teal);border:0}
.welcome-band .welcome h2,.welcome-band .welcome h2 em{color:var(--cream)}
.welcome-band .welcome h2 em{text-decoration:underline;text-decoration-color:var(--orange);text-decoration-thickness:5px;text-underline-offset:8px}
.welcome-band .welcome .eyebrow{color:var(--yellow)}
.welcome-band .eyebrow::before{background:var(--orange)}
.welcome-band .welcome>div:last-child{background:var(--cream);padding:30px;border-radius:22px;border-top:5px solid var(--orange)}
.welcome-band .welcome p,.welcome-band .welcome .text-link,.welcome-band .home-comforts{color:var(--red)}
.welcome-band .home-comforts{border-top-color:var(--sage)}
.welcome-band .home-comforts li::before{background:var(--red)}
.memberships{background:var(--sage);border-top:12px solid var(--cream);color:var(--teal)}
.membership-grid{gap:56px;align-items:stretch}
.membership-grid>div:first-child{background:var(--cream);padding:38px;border-radius:22px;display:flex;flex-direction:column;justify-content:center;border-top:5px solid var(--orange)}
.memberships .eyebrow{color:var(--teal)}
.memberships .eyebrow::before{background:var(--sage)}
.memberships h2,.memberships h2 em{color:var(--red)}
.memberships p{color:var(--teal)}
.member-pass{background:var(--yellow);outline:none;border:1px solid var(--teal);border-radius:22px}
.member-pass .pass-label{border-bottom-color:var(--sage)}
.member-pass h3{color:var(--red)}
.member-pass p{color:var(--teal)}
.gather-title{background:var(--cream);border:1px solid var(--sage);border-top:6px solid var(--orange)}
.gather h3{color:var(--red)}
.flock{background:var(--orange);border-top:6px solid var(--red);border-bottom:0}
.signup{border-color:var(--sage);border-top:5px solid var(--orange)}
.signup label{color:var(--teal)}
.signup input{background:var(--cream);border-color:var(--teal)}
.story figure,.team-picture{background:var(--sage);border:0}
.story figcaption,.team-picture figcaption{background:var(--cream);color:var(--teal);padding:12px;border-radius:12px;margin-top:10px}
.about-values article,.about-values article:nth-child(2),.about-values article:nth-child(3){background:var(--cream);border:1px solid var(--sage);border-top:6px solid var(--yellow)}
.about-values article:nth-child(2){border-top-color:var(--orange)}
.about-values article:nth-child(3){border-top-color:var(--sage)}
.about-values h3{color:var(--red)}
.page-cta{background:var(--yellow);border-color:var(--sage)}
.faq-aside{background:var(--yellow);border-color:var(--sage)}
.faq-list details,.faq-list details:first-child{border-color:var(--sage)}
.faq-list details[open]{background:var(--yellow);border-color:var(--sage)}
.faq-list summary{color:var(--red)}
.faq-list summary::after{background:var(--cream);color:var(--red);border-color:var(--red)}
.booking-tabs a,.booking-tabs .party-inquiry-toggle{background:var(--cream);border-color:var(--teal)}
.booking-tabs a[aria-current="page"]{background:var(--teal);color:var(--cream)}
.booking-tabs .party-inquiry-toggle[aria-expanded="true"]{background:var(--yellow);color:var(--red)}
.widget-status.loading-card{background:var(--yellow);border-color:var(--sage);border-style:solid}
.booking-screen .booking-shell{border-color:var(--sage)}
.community-hero{background:var(--teal);border-bottom:8px solid var(--sage)}
.calendar-card{border-color:var(--sage);border-top:6px solid var(--orange)}
.event-calendar td{border-top-color:var(--sage)}
.event-calendar .has-event{background:var(--red);color:var(--cream);font-weight:700}
.calendar-event-link:hover{background:var(--yellow)}
.event-facts span{background:var(--yellow);border-color:var(--sage);color:var(--teal)}
.team-pending{background:var(--yellow);border-color:var(--sage)}
footer.site-footer{background:#fff;color:var(--teal);border-top:6px solid var(--sage)}
.site-footer .footer-signup{background:var(--cream);border:1px solid var(--sage);border-left:5px solid var(--orange)}
.site-footer .footer-join{background:var(--red);color:var(--cream)}
.site-footer .footer-join:hover{background:var(--teal)}
.site-footer .footer-social a{border-color:var(--sage)}
.site-footer .footer-bottom{border-color:var(--sage);border-top-style:solid}
@media(max-width:760px){
 .welcome-band .welcome>div:last-child{padding:22px}
 .membership-grid{gap:20px}
 .membership-grid>div:first-child{padding:26px}
 .memberships{border-top-width:8px}
 .member-pass{padding:28px}
}

/* Distinct lower sections, with readable surfaces within each color band. */
.flock-grid>div:first-child{background:var(--cream);border-radius:22px;padding:30px;border-left:6px solid var(--sage)}
.flock-grid>div:first-child h2{color:var(--red)}
.flock-grid>div:first-child p{color:var(--teal)}
.signup{border-top-color:var(--red)}
.visit{border-bottom:0}
.site-footer .footer-wordmark{color:var(--red)}
.site-footer .footer-wordmark span{color:var(--teal)}
.site-footer .footer-social a{background:var(--teal);color:var(--cream);border-color:var(--sage)}
.site-footer .footer-social a:hover{background:var(--cream);color:var(--teal)}
.site-footer .footer-signup h2{color:var(--red)}
.site-footer .footer-signup p{color:var(--teal)}
.site-footer .footer-pages a,.site-footer .footer-contact a,.site-footer .footer-location address,.site-footer .footer-location p,.site-footer .footer-bottom{color:var(--teal)}
.site-footer .footer-location,.site-footer .footer-bottom{border-color:var(--sage)}
.site-footer .footer-pages a:hover,.site-footer .footer-contact a:hover{color:var(--red)}
@media(max-width:760px){.flock-grid>div:first-child{padding:24px}.flock-grid{gap:20px}}

/* A stronger closing composition, still compact on phones. */
.home-page .gather{gap:64px;padding-top:80px;padding-bottom:80px}
.home-page .gather-title{background:var(--sage);border:0;border-radius:120px 120px 24px 24px;padding:44px 32px}
.home-page .gather-title .eyebrow{background:var(--cream);padding:10px 14px;border-radius:100px;width:fit-content;margin:0 auto 22px;color:var(--teal)}
.home-page .gather-title h2{background:var(--cream);padding:28px 18px;border-radius:18px;font-size:clamp(36px,4vw,52px);color:var(--red)}
.home-page .gather h3{font-size:clamp(30px,3vw,42px);max-width:15ch}
.home-page .gather .button.outline{background:var(--red);color:var(--cream)}
.home-page .flock{padding:76px 0;border-top:0}
.home-page .flock-grid{align-items:stretch;gap:48px}
.home-page .flock-grid>div:first-child{border:0;border-radius:22px 22px 80px 22px;padding:38px;display:flex;flex-direction:column;justify-content:center}
.home-page .flock h2{font-size:clamp(48px,5.5vw,72px);line-height:1.03;letter-spacing:-1.8px;max-width:7ch}
.flock-topics{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.flock-topics span{padding:7px 12px;border:1px solid var(--sage);border-radius:100px;font-size:12px;font-weight:600;color:var(--teal)}
.home-page .signup{padding:32px;border:0;border-top:6px solid var(--red)}
.home-page .visit{padding-top:32px;padding-bottom:32px}
.home-page .visit h3{font-size:30px;margin-bottom:12px}
footer.site-footer{border-top:8px solid var(--sage)}
.site-footer .footer-inner{padding-top:42px;padding-bottom:24px}
.site-footer .footer-top{padding-bottom:26px;border-bottom:1px solid var(--sage);margin-bottom:26px}
.site-footer .footer-wordmark{font-size:clamp(54px,7vw,88px);line-height:.95;letter-spacing:-2px}
.site-footer .footer-wordmark span{font-size:11px;margin-top:16px;letter-spacing:.2em}
.site-footer .footer-social a{width:48px;height:48px;background:var(--cream);color:var(--teal);border:0}
.site-footer .footer-social a:hover{background:var(--yellow)}
.home-page .site-footer .footer-signup{display:none}
.site-footer .footer-pages{gap:4px 24px}
.site-footer .footer-pages a{font-size:15px;font-weight:500}
.site-footer .footer-location address{font-size:17px;line-height:1.55;max-width:26ch}
.site-footer .footer-contact a{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--orange)}
.site-footer .footer-bottom{margin-top:14px}
@media(max-width:760px){
 .home-page .gather{gap:26px;padding-top:42px;padding-bottom:42px}
 .home-page .gather-title{padding:28px 20px;border-radius:90px 90px 20px 20px}
 .home-page .gather-title h2{padding:24px 12px}
 .home-page .flock{padding:42px 0}
 .home-page .flock-grid{gap:20px}
 .home-page .flock-grid>div:first-child{padding:26px;border-radius:20px 20px 48px 20px}
 .home-page .flock h2{font-size:52px}
 .home-page .signup{padding:24px}
 .site-footer .footer-inner{padding-top:30px}
 .site-footer .footer-top{gap:16px;padding-bottom:24px;margin-bottom:20px}
 .site-footer .footer-wordmark{font-size:52px;letter-spacing:-1px}
 .site-footer .footer-wordmark span{font-size:9px;margin-top:12px}
 .site-footer .footer-social{gap:8px}
 .site-footer .footer-social a{width:44px;height:44px}
 .site-footer .footer-pages a{font-size:14px}
 .site-footer .footer-location address{font-size:16px}
}
@media(max-width:360px){.site-footer .footer-wordmark{font-size:44px}.site-footer .footer-social{gap:6px}}

/* Playful color fields replace the stacked pale cards. */
.membership-grid>div:first-child{background:transparent;border:0;padding-left:0;padding-right:0}
.memberships h2,.memberships h2 em{color:var(--cream)}
.memberships .eyebrow,.memberships p{color:var(--cream)}
.memberships .eyebrow::before{background:var(--yellow)}
.member-pass{background:var(--cream);border:0;transform:rotate(1deg)}
.member-pass h3{color:var(--teal)}
.member-pass p,.member-pass .pass-label{color:var(--teal)}
.member-pass .button{background:var(--teal);border-color:var(--teal);color:var(--cream)}
.celebration-band{background:var(--orange)}
.home-page .gather-title{background:var(--yellow);border:0;border-radius:48% 48% 22px 22px}
.home-page .gather-title .eyebrow{background:transparent;color:var(--teal);padding:0}
.home-page .gather-title h2{background:transparent;color:var(--teal);padding:12px 0}
.home-page .gather>div:last-child{background:var(--cream);padding:30px;border-radius:24px 64px 24px 24px}
.home-page .gather h3{color:var(--teal)}
.home-page .gather .button.outline{background:var(--teal);border-color:var(--teal)}
.home-page .flock{background:var(--teal);border:0}
.home-page .flock-grid>div:first-child{background:transparent;border:0;padding-left:0;padding-right:0;border-radius:0}
.home-page .flock-grid>div:first-child h2{color:var(--yellow)}
.home-page .flock-grid>div:first-child p,.home-page .flock .eyebrow{color:var(--cream)}
.home-page .flock .eyebrow::before{background:var(--orange)}
.flock-topics span{color:var(--cream);border-color:var(--orange)}
.home-page .signup{border-top:6px solid var(--orange);border-radius:28px 28px 64px 28px}
.home-page .signup .button{background:var(--teal);border-color:var(--teal)}
.home-page .visit{background:var(--cream)}
footer.site-footer{border-top:8px solid var(--orange)}
.site-footer .footer-wordmark{color:var(--yellow)}
.site-footer .footer-wordmark span{color:var(--cream)}
.site-footer .footer-top,.site-footer .footer-bottom,.site-footer .footer-location{border-color:var(--orange)}
.site-footer .footer-social a{background:var(--orange);color:var(--teal)}
.site-footer .footer-signup{background:var(--teal);border:1px solid var(--orange);border-left-width:5px}
.site-footer .footer-signup h2{color:var(--yellow)}
.site-footer .footer-signup p{color:var(--cream)}
.site-footer .footer-join{background:var(--cream);color:var(--teal)}
@media(max-width:760px){
 .member-pass{transform:none}
 .membership-grid>div:first-child{padding:0}
 .home-page .gather>div:last-child{padding:24px;border-radius:22px 48px 22px 22px}
 .home-page .flock-grid>div:first-child{padding:0}
 .home-page .signup{border-radius:24px 24px 48px 24px}
}

@media(max-width:760px){
 .booking-tabs a{flex:1 1 0;padding:10px 8px;min-width:0;text-align:center;font-size:13px}
 .booking-tabs .party-inquiry-toggle{flex:1 1 100%}
}
