/* Public CMS presentation, shared by HTML pages and structured sections. */
.cms-public .cms-rich-text__body{max-width:72rem;margin:auto;padding:clamp(2rem,6vw,5rem) clamp(1rem,4vw,2rem);font-size:1.05rem;line-height:1.8;overflow-wrap:anywhere}
.cms-public .cms-rich-text__body h1,.cms-public .prose h1{font-size:clamp(2.1rem,5vw,3.7rem);line-height:1.1;letter-spacing:-.035em;margin:0 0 1.5rem;font-weight:800}
.cms-public .cms-rich-text__body h2,.cms-public .prose h2{font-size:clamp(1.4rem,3vw,2rem);line-height:1.25;margin:2.2rem 0 1rem;font-weight:800}
.cms-public .cms-rich-text__body h3,.cms-public .prose h3{font-size:1.25rem;margin:1.7rem 0 .75rem;font-weight:700}
.cms-public .cms-rich-text__body p,.cms-public .prose p{margin:1rem 0;max-width:75ch}
.cms-public .cms-rich-text__body ul,.cms-public .cms-rich-text__body ol,.cms-public .prose ul,.cms-public .prose ol{margin:1rem 0;padding-left:1.5rem;list-style:disc}
.cms-public .cms-rich-text__body ol,.cms-public .prose ol{list-style:decimal}
.cms-public .cms-rich-text__body li,.cms-public .prose li{padding-left:.25rem;margin:.5rem 0}
.cms-public .cms-rich-text__body a,.cms-public .prose a{color:var(--cms-colour-link);text-decoration:underline;text-underline-offset:4px;font-weight:700}
.cms-public .cms-rich-text__body table,.cms-public .prose table{border-collapse:collapse;display:block;max-width:100%;overflow:auto}
.cms-public .cms-rich-text__body th,.cms-public .cms-rich-text__body td,.cms-public .prose th,.cms-public .prose td{padding:.8rem;border:1px solid #cbd5e1;text-align:left}
.cms-public .cms-rich-text__body img,.cms-public .prose img{max-width:100%;height:auto}
.cms-public .ast-nav-logo{max-width:min(220px,55vw)!important}
.cms-public .ast-primary-links{white-space:nowrap}
.cms-public a:focus-visible,.cms-public button:focus-visible{outline:3px solid currentColor;outline-offset:4px}
@media(max-width:1199px){.cms-public .ast-primary-links{display:none}.cms-public .ast-menu-toggle{display:flex}}
/* Clubs opt into their saved Appearance settings; legacy sites keep their palette. */
.cms-public[data-cms-branded]{--ast-blue:var(--cms-colour-primary);--ast-deep-ocean:var(--cms-colour-primary);--ast-gold:var(--cms-colour-accent);--ast-text-headings:var(--cms-colour-text);--ast-text-body:var(--cms-colour-text);--ast-water-gradient:linear-gradient(135deg,var(--cms-colour-surface),#fff);background:var(--cms-colour-surface);color:var(--cms-colour-text)}
.cms-public[data-cms-branded] main>div[style]{background:var(--cms-colour-surface)!important}
.cms-public[data-cms-branded] .bg-ast-blue,.cms-public[data-cms-branded] nav.bg-ast-blue{background-color:var(--cms-colour-primary);color:var(--cms-colour-on-primary)}
.cms-public[data-cms-branded] nav.bg-ast-blue .ast-primary-links>a:not(.bg-ast-gold):not(.bg-indigo-600),.cms-public[data-cms-branded] nav.bg-ast-blue .ast-primary-links>div>button,.cms-public[data-cms-branded] .ast-menu-toggle button{color:inherit}
.cms-public[data-cms-branded] .bg-ast-ocean,.cms-public[data-cms-branded] .bg-indigo-600{background-color:color-mix(in srgb,var(--cms-colour-primary),#000 20%)}
.cms-public[data-cms-branded] .text-ast-blue,.cms-public[data-cms-branded] .text-ast-ocean{color:var(--cms-colour-link)}
.cms-public[data-cms-branded] .bg-ast-gold{background-color:var(--cms-colour-accent);color:var(--cms-colour-on-accent)}
.cms-public[data-cms-branded] .text-ast-gold{color:var(--cms-colour-accent)}
.cms-public[data-cms-branded] .cms-hero{background:linear-gradient(125deg,color-mix(in srgb,var(--cms-colour-primary),#000 35%),var(--cms-colour-primary));color:var(--cms-colour-on-primary)}
.cms-public[data-cms-branded] .cms-hero h1,.cms-public[data-cms-branded] .cms-hero p{color:inherit}
.cms-public[data-cms-branded] .cms-hero a:not(.bg-ast-gold):not(.bg-white){color:inherit}
.cms-public[data-cms-branded] .cms-block a:hover,.cms-public[data-cms-branded] nav a:hover{filter:brightness(.94)}
.cms-public[data-cms-branded] .cms-block [class*="rounded-2xl"]{border-radius:var(--cms-radius)}

.cms-public .cms-feature-cards.grid{max-width:72rem;margin:2rem auto;padding:0 1.5rem}
.cms-public[data-cms-branded] .cms-article-content a{color:var(--cms-colour-link)}
.cms-public[data-cms-branded] .cms-callout>div{background:color-mix(in srgb,var(--cms-colour-primary) 5%,#fff);border-color:color-mix(in srgb,var(--cms-colour-primary) 20%,#fff);color:var(--cms-colour-text)}
.cms-public[data-cms-branded] nav [x-show="mobileMenuOpen"]{background:var(--cms-colour-primary)!important}
.cms-public[data-cms-branded] nav [class~="bg-ast-blue/70"]{background:color-mix(in srgb,var(--cms-colour-primary),#000 20%)}
.cms-public[data-cms-branded] nav [class*="hover:bg-ast-ocean"]:hover{background:color-mix(in srgb,var(--cms-colour-primary),#000 20%)}
.cms-public[data-cms-branded] footer h4{color:var(--cms-colour-accent)}

.cms-public[data-cms-branded] nav [x-show="mobileMenuOpen"] .text-white{color:var(--cms-colour-on-primary)}

.cms-public .prose{line-height:1.8;overflow-wrap:anywhere}
.cms-public[data-cms-branded] .bg-indigo-600{color:var(--cms-colour-on-primary)}
.cms-public[data-cms-branded] .bg-ast-blue .text-white{color:var(--cms-colour-on-primary)}

@media(max-width:1199px){.cms-public .ast-mobile-menu.block{display:block}}
.cms-public[data-cms-branded] nav [x-show="mobileMenuOpen"]>div[style]{background:var(--cms-colour-primary)!important}

.cms-public .cms-news-cover{margin:0;overflow:hidden}
.cms-public .cms-news-cover img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.cms-public .cms-news-cover figcaption{padding:.55rem .9rem;font-size:.75rem;line-height:1.5;background:#f8fafc;color:#475569}
.cms-public .cms-news-article{max-width:64rem;margin:auto;padding:clamp(2rem,5vw,4rem) 1.25rem}
.cms-public .cms-news-article h1{font-size:clamp(2rem,4vw,3.5rem);font-weight:800;line-height:1.15;margin:1.5rem 0;letter-spacing:-.025em}
.cms-public .cms-news-article .cms-lede{font-size:1.2rem;line-height:1.7;margin:0 0 2rem;color:#475569}
.cms-public .cms-news-article .cms-rich-text__body{padding:1.5rem 0}
.cms-public .cms-news-back{color:var(--cms-colour-link);font-weight:700}
.cms-public[data-cms-branded] .fill-sky-100{fill:var(--cms-colour-surface)}

.cms-public[data-cms-branded] [class~="from-ast-slate/90"]{background-image:linear-gradient(90deg,color-mix(in srgb,var(--cms-colour-primary) 86%,transparent),rgba(0,0,0,.55))}
