section.py-5{position:relative;padding-top:clamp(3.5rem,7vw,6rem)!important;padding-bottom:clamp(3.5rem,7vw,6rem)!important}
section.py-5>.container>h2{font-family:var(--mac-heading);font-size:clamp(2rem,4vw,3.25rem);letter-spacing:.025em}
#race .container,#safeguarding .card,#committee-corner .container{padding:2rem;border:1px solid rgba(255,255,255,.86);border-radius:28px;background:rgba(255,255,255,.76);box-shadow:0 18px 45px rgba(4,63,67,.08)}
#race .btn,#events .btn,#committee-corner .btn{border-radius:999px;font-weight:850}
#race p{max-width:780px;margin-left:auto;margin-right:auto;color:var(--mac-muted)}
#memberships .row{align-items:stretch}.membership-option-card{padding:1.4rem!important}.membership-option-card h5{color:var(--mac-ink);font-size:1.05rem;font-weight:850}.membership-option-card>p:first-of-type{color:var(--mac-teal);font-size:1.35rem;font-weight:900}.membership-option-card .btn-primary{border:0;background:linear-gradient(135deg,#087f82,#0b9d98)}
#public-shop{padding-top:clamp(3rem,6vw,5rem)!important}.public-shop-card{overflow:hidden}.public-shop-image-link{display:block;position:relative;overflow:hidden;background:#eef9f7}.public-shop-image{width:100%;height:220px;object-fit:cover;transition:transform .35s ease}.public-shop-card:hover .public-shop-image{transform:scale(1.045)}.public-shop-card-body{padding:1.15rem}.public-shop-card-body h3{color:var(--mac-ink);font-size:1rem;font-weight:850}.public-shop-card-body p{min-height:2.4rem;color:var(--mac-muted);font-size:.76rem}.public-shop-card-body .btn-success{border:0;background:linear-gradient(135deg,#087f82,#0b9d98)}
#safeguarding .card{border:1px solid #dceceb!important}.card-body h5{color:var(--mac-ink);font-weight:850}.card-body li{margin-bottom:.35rem;color:var(--mac-muted)}
#events .card,#committee .card,#captains .card{height:100%;border:1px solid #dceceb!important;border-radius:22px!important;background:rgba(255,255,255,.82)!important;box-shadow:0 14px 34px rgba(4,63,67,.07)!important}.card-hover{transition:transform .2s ease,box-shadow .2s ease}.card-hover:hover{transform:translateY(-5px);box-shadow:0 24px 45px rgba(4,63,67,.14)!important}#events .card-body{padding:1.35rem;text-align:left}#events .card-title{color:var(--mac-ink);font-size:1rem;font-weight:850}#events .card-text{color:var(--mac-muted);font-size:.8rem;line-height:1.55}#events .badge{border-radius:999px;padding:.45rem .7rem;background:#e0f6f1!important;color:var(--mac-teal)!important}
#committee .swiper-slide,#captains .swiper-slide{height:auto;padding:.35rem}.swiper-button-prev,.swiper-button-next{color:var(--mac-teal);filter:drop-shadow(0 2px 4px rgba(4,63,67,.12))}.swiper-pagination-bullet-active{background:var(--mac-teal)}#committee .card-img-top,#captains .card-img-top{height:245px;object-fit:cover}#committee .card-body,#captains .card-body{padding:1rem}#committee .card-title,#captains .card-title{color:var(--mac-ink);font-size:.95rem;font-weight:850}#committee .card-text,#captains .card-text{color:var(--mac-muted);font-size:.75rem}
#gallery .ratio{overflow:hidden;border:1px solid #dceceb;border-radius:24px;background:#eaf7f5;box-shadow:0 15px 35px rgba(4,63,67,.08)}#gallery iframe{border:0!important}
.public-shop-empty{padding:2rem;border:1px dashed #afd8d2;border-radius:20px;color:var(--mac-muted);background:rgba(255,255,255,.7)}.public-shop-empty>i{margin-right:.5rem;color:var(--mac-teal)}
@media(max-width:767px){#race .container,#safeguarding .card,#committee-corner .container{padding:1.25rem;border-radius:20px}#committee .card-img-top,#captains .card-img-top{height:210px}.public-shop-image{height:190px}}

