.elementor-kit-6{--e-global-color-primary:#0D244F;--e-global-color-secondary:#FFFFFF;--e-global-color-text:#1E1E1E;--e-global-color-accent:#A80F16;--e-global-color-bodytext:#4E4E4E;--e-global-color-altbg:#E9EAEC;--e-global-color-cardnavy:#06142F;--e-global-typography-primary-font-family:"Montserrat";--e-global-typography-primary-font-size:56px;--e-global-typography-primary-font-weight:700;--e-global-typography-primary-line-height:60px;--e-global-typography-primary-letter-spacing:-1.8px;--e-global-typography-secondary-font-family:"Montserrat";--e-global-typography-secondary-font-size:40px;--e-global-typography-secondary-font-weight:700;--e-global-typography-secondary-line-height:46px;--e-global-typography-secondary-letter-spacing:-1.2px;--e-global-typography-text-font-family:"Open Sans";--e-global-typography-text-font-size:18px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:28.8px;--e-global-typography-text-letter-spacing:-0.2px;--e-global-typography-accent-font-family:"Montserrat";--e-global-typography-accent-font-size:14px;--e-global-typography-accent-font-weight:700;--e-global-typography-accent-line-height:14px;--e-global-typography-accent-letter-spacing:1px;--e-global-typography-subheading-font-family:"Montserrat";--e-global-typography-subheading-font-size:24px;--e-global-typography-subheading-font-weight:700;--e-global-typography-subheading-line-height:28.8px;--e-global-typography-subheading-letter-spacing:-1px;--e-global-typography-subsmall-font-family:"Montserrat";--e-global-typography-subsmall-font-size:18px;--e-global-typography-subsmall-font-weight:700;--e-global-typography-subsmall-line-height:23.4px;--e-global-typography-subsmall-letter-spacing:-0.7px;--e-global-typography-paragraph-font-family:"Open Sans";--e-global-typography-paragraph-font-size:16px;--e-global-typography-paragraph-font-weight:400;--e-global-typography-paragraph-line-height:24px;--e-global-typography-paragraph-letter-spacing:-0.2px;--e-global-typography-eyebrow-font-family:"Montserrat";--e-global-typography-eyebrow-font-size:14px;--e-global-typography-eyebrow-font-weight:700;--e-global-typography-eyebrow-text-transform:uppercase;--e-global-typography-eyebrow-line-height:22.4px;--e-global-typography-eyebrow-letter-spacing:3px;--e-global-typography-cardtitle-font-family:"Graduate";--e-global-typography-cardtitle-font-size:20px;--e-global-typography-cardtitle-font-weight:400;--e-global-typography-cardtitle-line-height:1.12em;--e-global-typography-cardcond-font-family:"Card Condensed", "Card Condensed Fallback";--e-global-typography-cardcond-font-size:20px;--e-global-typography-cardcond-font-weight:700;--e-global-typography-cardcond-line-height:1.15em;--e-global-typography-cardcondbody-font-family:"Card Condensed", "Card Condensed Fallback";--e-global-typography-cardcondbody-font-size:17px;--e-global-typography-cardcondbody-font-weight:500;--e-global-typography-cardcondbody-line-height:1.35em;color:var( --e-global-color-bodytext );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );color:var( --e-global-color-secondary );border-radius:10px 10px 10px 10px;padding:13px 24px 13px 24px;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 a{color:var( --e-global-color-accent );}.elementor-kit-6 h1{color:var( --e-global-color-text );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-6 h2{color:var( --e-global-color-text );font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-6 h3{color:var( --e-global-color-text );font-family:var( --e-global-typography-subheading-font-family ), Sans-serif;font-size:var( --e-global-typography-subheading-font-size );font-weight:var( --e-global-typography-subheading-font-weight );line-height:var( --e-global-typography-subheading-line-height );letter-spacing:var( --e-global-typography-subheading-letter-spacing );}.elementor-kit-6 h4{color:var( --e-global-color-text );font-family:var( --e-global-typography-subsmall-font-family ), Sans-serif;font-size:var( --e-global-typography-subsmall-font-size );font-weight:var( --e-global-typography-subsmall-font-weight );line-height:var( --e-global-typography-subsmall-line-height );letter-spacing:var( --e-global-typography-subsmall-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1300px;}.e-con{--container-max-width:1300px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-6{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-6 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-6 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-6 h3{font-size:var( --e-global-typography-subheading-font-size );line-height:var( --e-global-typography-subheading-line-height );letter-spacing:var( --e-global-typography-subheading-letter-spacing );}.elementor-kit-6 h4{font-size:var( --e-global-typography-subsmall-font-size );line-height:var( --e-global-typography-subsmall-line-height );letter-spacing:var( --e-global-typography-subsmall-letter-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-6{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );letter-spacing:var( --e-global-typography-text-letter-spacing );}.elementor-kit-6 h1{font-size:var( --e-global-typography-primary-font-size );line-height:var( --e-global-typography-primary-line-height );letter-spacing:var( --e-global-typography-primary-letter-spacing );}.elementor-kit-6 h2{font-size:var( --e-global-typography-secondary-font-size );line-height:var( --e-global-typography-secondary-line-height );letter-spacing:var( --e-global-typography-secondary-letter-spacing );}.elementor-kit-6 h3{font-size:var( --e-global-typography-subheading-font-size );line-height:var( --e-global-typography-subheading-line-height );letter-spacing:var( --e-global-typography-subheading-letter-spacing );}.elementor-kit-6 h4{font-size:var( --e-global-typography-subsmall-font-size );line-height:var( --e-global-typography-subsmall-line-height );letter-spacing:var( --e-global-typography-subsmall-letter-spacing );}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* SFLL mobile type: override the Global Font size variables at 767px and below (H1 36, H2 30, H3 24). */
@media (max-width:767px){
body.elementor-kit-6{--e-global-typography-primary-font-size:36px;--e-global-typography-primary-line-height:40px;--e-global-typography-primary-letter-spacing:-1px;--e-global-typography-secondary-font-size:30px;--e-global-typography-secondary-line-height:34px;--e-global-typography-secondary-letter-spacing:-0.8px;--e-global-typography-subheading-font-size:24px;--e-global-typography-subheading-line-height:28px;}
body .elementor-location-single .elementor-widget-button .elementor-button,body .elementor-widget-button .elementor-button{width:100%;justify-content:center;text-align:center;}
body .elementor-location-header .elementor-widget-button .elementor-button{width:auto;}
}
/* Form fields per design: 10px radius, light gray fill, 1px light border, 12px padding. */
.elementor-form .elementor-field-textual,.elementor-form .elementor-field-group select{border:1px solid var(--e-global-color-altbg);border-radius:10px;background-color:var(--e-global-color-altbg);padding:12px;}
/* Title-banner breadcrumb (Rank Math shortcode inside .sfll-breadcrumb): design eyebrow style, white, red separator. */
.sfll-breadcrumb .rank-math-breadcrumb p{margin:0;font-family:var(--e-global-typography-eyebrow-font-family),sans-serif;font-weight:700;font-size:14px;line-height:22.4px;letter-spacing:3px;text-transform:uppercase;color:var(--e-global-color-secondary);}
.sfll-breadcrumb .rank-math-breadcrumb a{color:var(--e-global-color-secondary);text-decoration:none;}
.sfll-breadcrumb .rank-math-breadcrumb .separator{color:var(--e-global-color-accent);padding:0 6px;}
/* Round 2: mobile buttons full width (header excluded), FAQ accordion headers per design, sponsor band note, fee/key-date rows. */
@media (max-width:767px){
body .elementor-widget-button .elementor-button{width:100% !important;justify-content:center;text-align:center;}
body .elementor-location-header .elementor-widget-button .elementor-button{width:auto !important;}
.sfll-table-head,.sfll-table-row{flex-direction:row !important;flex-wrap:nowrap !important;gap:8px !important;}
.sfll-table-head > .e-con,.sfll-table-row > .e-con{width:auto !important;flex:1 1 0 !important;min-width:0;padding-left:6px;padding-right:6px;}
.sfll-table-head > .e-con:first-child,.sfll-table-row > .e-con:first-child{flex:1.4 1 0 !important;}
.sfll-table-head .elementor-heading-title,.sfll-table-row .elementor-heading-title{font-size:13px;line-height:18px;}
}
.sfll-faq-list .e-n-accordion-item-title{padding:14px 30px;min-height:54px;align-items:center;}
.sfll-faq-list .e-n-accordion-item-title-text{font-family:var(--e-global-typography-paragraph-font-family),sans-serif;font-size:16px;line-height:24px;font-weight:700;letter-spacing:-0.2px;}
@media (max-width:767px){.sfll-faq-list .e-n-accordion-item-title{padding:14px 16px;}.sfll-faq-list .e-n-accordion-item-title-text{font-size:15px;line-height:20px;}}
.sfll-sponsor-column,.sfll-sponsor-column .elementor-widget-heading .elementor-heading-title{text-align:center;}
.sfll-keydate-row{box-sizing:border-box;max-width:100%;}
.sfll-keydate-row .elementor-widget-button{flex:0 0 auto !important;}
.sfll-keydate-row > .e-con{flex:0 1 auto;min-width:0;}
@media (max-width:767px){
body .elementor-widget-button{width:100% !important;max-width:100%;align-self:stretch;}
body .elementor-location-header .elementor-widget-button{width:auto !important;align-self:auto;}
}
/* Round 3: registration fee table mobile column gap. */
@media (max-width:767px){
.sfll-table-head,.sfll-table-row{column-gap:14px !important;}
.sfll-table-head > .e-con,.sfll-table-row > .e-con{overflow-wrap:anywhere;}
.sfll-table-row .elementor-heading-title{font-size:12px;line-height:16px;}
}
/* Round 4: registration fee table mobile. Wider Ages column, no mid-word breaks. */
@media (max-width:767px){
.sfll-table-head,.sfll-table-row{padding-left:12px !important;padding-right:12px !important;column-gap:8px !important;}
.sfll-table-head > .e-con,.sfll-table-row > .e-con{padding-left:0 !important;padding-right:0 !important;overflow-wrap:normal !important;word-break:normal !important;flex:1.2 1 0 !important;}
.sfll-table-head > .e-con:first-child,.sfll-table-row > .e-con:first-child{flex:1 1 0 !important;}
.sfll-table-head > .e-con:last-child,.sfll-table-row > .e-con:last-child{flex:0.6 1 0 !important;}
}
/* Stage 5: Modern baseball-card style. One shared class set; spec in architecture/stage-5-modern-card-spec.md.
   Card: .sfll-mc + .sfll-mc-front | .sfll-mc-back. Parts: -img, -plate, -title, -title-ib, -sub, -keep.
   All sizes are container-query units of the card width (520px = 100cqw in the mockup). Colors and fonts come from the Global Kit variables. */
.sfll-mc{container-type:inline-size;position:relative;box-sizing:border-box;display:flex !important;flex-direction:column !important;flex-wrap:nowrap !important;align-items:stretch !important;gap:0 !important;padding:0 !important;margin:0;border:0 !important;border-radius:0 !important;overflow:visible !important;aspect-ratio:5/7;min-height:auto !important;background-color:var(--e-global-color-primary) !important;box-shadow:0 10px 30px color-mix(in srgb,var(--e-global-color-primary) 22%,transparent);text-align:left;}
.sfll-mc .e-con:not(.sfll-mc-keep):not(.sfll-mc-plate){display:contents !important;}
.sfll-mc .elementor-widget{position:relative;margin-left:5.4cqw;margin-right:5.4cqw;width:auto !important;max-width:calc(100% - 10.8cqw);align-self:stretch;}
.sfll-mc .elementor-widget-container,.sfll-mc .elementor-widget-container *{text-align:left;}
.sfll-mc .elementor-heading-title{font-family:var(--e-global-typography-primary-font-family),sans-serif !important;font-weight:700 !important;text-transform:uppercase !important;letter-spacing:.1em !important;font-size:clamp(12px,4cqw,20px) !important;line-height:1.2 !important;color:var(--e-global-color-secondary) !important;text-align:left !important;margin:0;}
.sfll-mc .elementor-widget-text-editor,.sfll-mc .elementor-widget-text-editor p,.sfll-mc .elementor-icon-box-description{font-family:var(--e-global-typography-text-font-family),sans-serif !important;font-size:clamp(13px,3.1cqw,16px) !important;line-height:1.45 !important;letter-spacing:0 !important;color:var(--e-global-color-secondary) !important;text-align:left !important;}
.sfll-mc .elementor-widget-text-editor p{margin:0;}
.sfll-mc .elementor-icon,.sfll-mc .elementor-icon i,.sfll-mc .elementor-icon-box-icon .elementor-icon{color:var(--e-global-color-secondary) !important;fill:var(--e-global-color-secondary) !important;}
.sfll-mc .elementor-icon svg{fill:var(--e-global-color-secondary) !important;}
.sfll-mc .elementor-icon-box-wrapper{display:flex !important;flex-direction:column !important;align-items:flex-start !important;text-align:left !important;}
.sfll-mc .elementor-icon-box-content{width:100%;}
.sfll-mc .elementor-icon-box-title,.sfll-mc .elementor-icon-box-title a,.sfll-mc .elementor-icon-box-title span{font-family:var(--e-global-typography-primary-font-family),sans-serif !important;font-weight:700 !important;text-transform:uppercase !important;letter-spacing:.1em !important;font-size:clamp(12px,4cqw,20px) !important;line-height:1.2 !important;color:var(--e-global-color-secondary) !important;text-align:left !important;}
.sfll-mc .elementor-icon-box-icon{margin:0 0 3cqw !important;}
.sfll-mc .elementor-icon-box-title{margin:0;}
.sfll-mc .elementor-icon-box-description{margin:1.6cqw 0 0;}
.sfll-mc .elementor-icon-list-item{border-top:1px solid color-mix(in srgb,var(--e-global-color-secondary) 28%,transparent);padding:2.6cqw 0;}
.sfll-mc .elementor-icon-list-text{color:var(--e-global-color-secondary) !important;font-family:var(--e-global-typography-text-font-family),sans-serif !important;font-weight:400 !important;letter-spacing:0 !important;line-height:1.35 !important;font-size:clamp(13px,3.1cqw,16px) !important;}
.sfll-mc .elementor-widget-icon,.sfll-mc .elementor-widget-icon .elementor-icon-wrapper{text-align:left !important;}
.sfll-mc .elementor-widget-button{margin-top:auto;margin-bottom:0;}
.sfll-mc .elementor-widget-button .elementor-button{display:flex;width:100% !important;justify-content:center;box-sizing:border-box;background-color:var(--e-global-color-secondary) !important;color:var(--e-global-color-primary) !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;padding:3.4cqw 4cqw !important;font-family:var(--e-global-typography-primary-font-family),sans-serif !important;font-weight:700 !important;font-size:clamp(12px,3.1cqw,15px) !important;line-height:1.2 !important;text-transform:uppercase !important;letter-spacing:.14em !important;}
.sfll-mc .elementor-widget-button .elementor-button-text{color:var(--e-global-color-primary) !important;}
/* Front cards size from content, not from a 5:7 box: a 5:7 box cannot grow when its parent is a column (mobile, Loop Grid item) and would clip. Image area 520:598 plus the plate comes to 5:7 for a one-line title and subline; longer copy makes the card taller. Back cards and photo-background cards keep the 5:7 box. */
.sfll-mc-front:not(.sfll-mc-bg){aspect-ratio:auto;}
.sfll-mc-front:not(.sfll-mc-bg)::after{aspect-ratio:520/40;}
/* Bottom spacer: cqw on the card's own padding would resolve against the page, so spacers are pseudo-elements sized by aspect-ratio (cqw does not resolve on them reliably). */
.sfll-mc::after{content:"";display:block;flex:0 0 auto;width:100%;aspect-ratio:520/28;}
/* Coming-soon buttons (no link target yet): same white bar, dimmed. */
.sfll-mc .sfll-mc-soon .elementor-button{opacity:.7;cursor:default;}
/* Front: full-bleed photo, diagonal red stripe, white gap, navy title plate. */
.sfll-mc-front .sfll-mc-img{margin:0;max-width:none;width:100% !important;flex:0 0 auto;aspect-ratio:520/598;overflow:hidden;border-bottom:1.54cqw solid var(--e-global-color-secondary);box-sizing:border-box;align-self:stretch;}
.sfll-mc-front .sfll-mc-img .elementor-widget-container{height:100%;}
.sfll-mc-front .sfll-mc-img img{display:block;width:100% !important;height:100% !important;max-width:none;aspect-ratio:auto !important;object-fit:cover !important;object-position:center center !important;border-radius:0 !important;}
.sfll-mc-front .sfll-mc-img::after,.sfll-mc-front .sfll-mc-plate::before{content:"" !important;position:absolute !important;left:0 !important;right:0 !important;top:auto !important;width:auto !important;opacity:1 !important;height:29.06cqw !important;background-color:var(--e-global-color-accent);clip-path:polygon(0 15.6cqw,100% 0,100% 13.46cqw,0 29.06cqw);pointer-events:none;}
.sfll-mc-front .sfll-mc-img::after{bottom:2.1cqw;}
.sfll-mc-front .sfll-mc-title{margin-top:4cqw;}
.sfll-mc-front .sfll-mc-title .elementor-heading-title{font-weight:800 !important;font-size:clamp(16px,6.15cqw,32px) !important;letter-spacing:0 !important;line-height:1.1 !important;}
.sfll-mc-front .sfll-mc-sub{margin-top:1.4cqw;}
.sfll-mc-front .sfll-mc-sub .elementor-heading-title{font-weight:600 !important;font-size:clamp(11px,3cqw,16px) !important;letter-spacing:.16em !important;color:color-mix(in srgb,var(--e-global-color-secondary) 85%,transparent) !important;}
.sfll-mc-front .elementor-widget-text-editor{margin-top:2cqw;}
.sfll-mc-front .elementor-widget-button{margin-top:auto;}
.sfll-mc-front .elementor-widget-button:not(:first-child){padding-top:4cqw;}
/* Front with a photo background (no image widget): the plate is the navy bottom block. */
.sfll-mc-front.sfll-mc-bg{background-size:cover !important;background-position:center center !important;justify-content:flex-end;}
.sfll-mc-front.sfll-mc-bg::after{display:none;}
.sfll-mc-front .sfll-mc-plate{position:relative;box-sizing:border-box;width:100% !important;margin:0;padding:3.4cqw 5.4cqw 5.4cqw !important;border:0 !important;border-top:1.54cqw solid var(--e-global-color-secondary) !important;border-radius:0 !important;background-color:var(--e-global-color-primary) !important;display:flex !important;flex-direction:column !important;align-items:stretch !important;gap:1.4cqw !important;}
.sfll-mc-front .sfll-mc-plate::before{bottom:calc(100% + 3.64cqw);}
.sfll-mc-front .sfll-mc-plate .elementor-widget{margin-left:0;margin-right:0;max-width:none;}
.sfll-mc-front .sfll-mc-plate .sfll-mc-title{margin-top:0;}
.sfll-mc-front .sfll-mc-keep{display:flex !important;flex-direction:row !important;gap:3cqw !important;justify-content:flex-start !important;padding:2cqw 0 0 !important;background:none !important;}
.sfll-mc-front .sfll-mc-keep .elementor-widget{margin:0;max-width:none;}
/* Back: red top band with a rising diagonal edge, navy body, white pinned button. */
/* Elementor paints its own .e-con::before overlay (absolute, 100% high); reset it so the band is an in-flow block. */
.sfll-mc.sfll-mc-back::before{content:"" !important;display:block !important;position:relative !important;top:auto !important;left:auto !important;flex:0 0 auto;width:100% !important;height:auto !important;opacity:1 !important;aspect-ratio:200/67;background-color:var(--e-global-color-accent);clip-path:polygon(0 0,100% 0,100% 47.2%,0 85.1%);}
.sfll-mc-back .elementor-widget{margin-top:2.6cqw;}
.sfll-mc-back .sfll-mc-title{position:static !important;margin:0 !important;}
.sfll-mc-back .sfll-mc-title .elementor-heading-title,.sfll-mc-back .sfll-mc-title-ib .elementor-icon-box-title{position:absolute;top:4.6cqw;left:5.4cqw;right:5.4cqw;z-index:2;font-family:var(--e-global-typography-primary-font-family),sans-serif !important;font-weight:700 !important;font-size:clamp(15px,5cqw,26px) !important;letter-spacing:.02em !important;line-height:1.12 !important;text-transform:uppercase !important;color:var(--e-global-color-secondary) !important;}
.sfll-mc-back .sfll-mc-title-ib{position:static !important;}
.sfll-mc-back .sfll-mc-title-ib .elementor-icon-box-title a{color:inherit !important;}
.sfll-mc-back .elementor-widget-button{margin-top:auto;padding-top:2.6cqw;}
/* Responsive: cards keep 5:7 at every width; the card grows if its text needs more room. Below 480px of viewport the stripe and band scale with the card. */
@media (max-width:767px){.sfll-mc{max-width:100%;}.sfll-mc-front .sfll-mc-title .elementor-heading-title{font-size:clamp(18px,6.15cqw,32px) !important;}}
/* Alerts list: the cards were full-width rows; a portrait card needs card width, so the stack wraps three to a row (two on tablet, one on mobile). Order is unchanged. */
.sfll-alerts-stack{flex-direction:row !important;flex-wrap:wrap !important;align-items:stretch !important;gap:24px !important;}
.sfll-alerts-stack > .sfll-mc{width:calc((100% - 48px) / 3) !important;}
@media (max-width:1024px){.sfll-alerts-stack > .sfll-mc{width:calc((100% - 24px) / 2) !important;}}
@media (max-width:767px){.sfll-alerts-stack > .sfll-mc{width:100% !important;}}
/* Sponsor logos: never cropped. Contain, centered, padded, on a white field. */
.sfll-sponsor-card.sfll-mc-front .sfll-mc-img{background-color:var(--e-global-color-secondary);}
.sfll-sponsor-card.sfll-mc-front .sfll-mc-img img{object-fit:contain !important;padding:10cqw;box-sizing:border-box;}
/* Stage 5 hubs: body-text links get an underline (no color-only link signalling). Add class sfll-hub-text to a hub text widget that holds links. */
.sfll-hub-text a{color:var(--e-global-color-accent);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px;}
.sfll-hub-text a:hover,.sfll-hub-text a:focus{text-decoration-thickness:2px;}
/* SFLL ad slots (standards: architecture/ad-standards.md) */
.sfll-ad-large { width: 100%; max-width: 970px; aspect-ratio: 970 / 250; margin-inline: auto; overflow: hidden; }
.sfll-ad-medium { width: 100%; max-width: 300px; aspect-ratio: 300 / 250; overflow: hidden; }
.sfll-ad-small { width: 100%; max-width: 728px; aspect-ratio: 728 / 90; margin-inline: auto; overflow: hidden; }
/* SFLL news card: no diagonal stripe (operator decision 2026-10-19). Hides the stripe pseudo-element only; the image bottom border (white separator) stays. */
.sfll-mc-front.sfll-mc-nostripe .sfll-mc-img::after,.sfll-mc-front.sfll-mc-nostripe .sfll-mc-plate::before{display:none;}
/* Stage 5 hubs: ad slots (Mark 2026-10-19). Kit tokens only.
   .sfll-ad-band = first content band, row on desktop; at 1024px and below the same two containers stack with the ad first (column-reverse set on the container).
   .sfll-ad-text = text column, .sfll-ad-col = ad column. .sfll-ad-card = framed plate around the slot, .sfll-ad-tag = SPONSOR tag, .sfll-ad-slot + .sfll-ad-medium (existing size classes, 300x250) = the rotation slot inside the card, same convention as the footer Large slot (data-sfll-ad-size). */
@media (min-width:1025px){.sfll-ad-band{flex-wrap:nowrap !important;align-items:center !important;gap:60px !important;}.sfll-ad-band > .sfll-ad-text{flex:1 1 0 !important;min-width:0;width:auto !important;}.sfll-ad-band > .sfll-ad-col{flex:0 0 334px !important;width:334px !important;max-width:334px;}}
@media (max-width:1024px){.sfll-ad-band{gap:32px !important;}.sfll-ad-band > .sfll-ad-text,.sfll-ad-band > .sfll-ad-col{width:100% !important;flex:0 0 auto !important;}}
.sfll-ad-col{display:flex;flex-direction:column;align-items:center;gap:12px;}
.sfll-ad-card{flex:0 0 auto !important;height:auto !important;min-height:0 !important;position:relative;box-sizing:border-box;display:flex !important;flex-direction:column !important;align-items:center;width:100% !important;max-width:334px;padding:44px 16px 16px !important;background:var(--e-global-color-secondary);border:1px solid var(--e-global-color-primary);box-shadow:0 10px 30px color-mix(in srgb,var(--e-global-color-primary) 22%,transparent);}
.sfll-ad-card .sfll-ad-tag{position:absolute;top:0;left:0;margin:0;width:auto !important;}
.sfll-ad-card .sfll-ad-tag .elementor-heading-title{display:block;margin:0;padding:6px 12px;background:var(--e-global-color-accent);color:var(--e-global-color-secondary);font-family:var(--e-global-typography-primary-font-family),sans-serif;font-weight:700;font-size:11px;line-height:1;letter-spacing:.16em;text-transform:uppercase;}
.sfll-ad-card .sfll-ad-medium{margin:0 auto;}
.sfll-ad-col .elementor-widget-text-editor,.sfll-ad-col .elementor-widget-text-editor p{margin:0;text-align:center;font-size:14px;}
/* Stage 5 hub cards v5 (Mark 2026-10-20). Whole-card link, navy card, red bottom banner with Graduate title, small heading + red rule + explainer top-left. No watermark.
   Shared .sfll-mc base is reused; .sfll-mc-hub is the hub variant (.sfll-mc-link = has a destination, .sfll-mc-nolink = not yet linked). Spec: architecture/hub-cards-v3.md (v4 section).
   Pseudo-elements use % and px only (cqw does not resolve on a container's own pseudo-elements). Spec: architecture/hub-cards-v3.md (v5 section). */
.sfll-mc.sfll-mc-hub{overflow:hidden !important;isolation:isolate;color:var(--e-global-color-secondary);text-decoration:none !important;background-color:var(--e-global-color-primary) !important;}
.sfll-mc.sfll-mc-hub *{text-decoration:none !important;}
.sfll-mc.sfll-mc-hub::before{content:"" !important;display:block !important;position:absolute !important;left:0 !important;right:0 !important;bottom:0 !important;top:auto !important;width:auto !important;height:30% !important;aspect-ratio:auto !important;opacity:1 !important;flex:none !important;background:var(--e-global-color-accent) !important;clip-path:polygon(0 24%,100% 0,100% 100%,0 100%);z-index:1;pointer-events:none;}
.sfll-mc.sfll-mc-hub::after{content:"" !important;display:block !important;position:absolute !important;inset:8px !important;width:auto !important;height:auto !important;aspect-ratio:auto !important;flex:none !important;border:1.5px solid color-mix(in srgb,var(--e-global-color-secondary) 40%,transparent);pointer-events:none;z-index:4;}
.sfll-mc.sfll-mc-hub .elementor-widget{position:static !important;margin:0 !important;width:auto !important;max-width:none !important;align-self:stretch;}
.sfll-mc.sfll-mc-hub .sfll-mc-body{padding:12px 7cqw 0 !important;}
.sfll-mc.sfll-mc-hub .sfll-mc-eyebrow{padding:9cqw 7cqw 0 !important;}
.sfll-mc.sfll-mc-hub .sfll-mc-eyebrow .elementor-widget-container{position:relative;z-index:2;}
.sfll-mc.sfll-mc-hub .sfll-mc-eyebrow .elementor-heading-title{font-family:var(--e-global-typography-cardtitle-font-family),sans-serif !important;font-weight:400 !important;font-size:13px !important;line-height:1.3 !important;letter-spacing:1.4px !important;text-transform:uppercase !important;color:color-mix(in srgb,var(--e-global-color-secondary) 70%,transparent) !important;text-align:left !important;margin:0;}
.sfll-mc.sfll-mc-hub .sfll-mc-eyebrow .elementor-heading-title::after{content:"";display:block;width:44px;height:3px;margin-top:8px;background:var(--e-global-color-accent);}
.sfll-mc.sfll-mc-hub .sfll-mc-body .elementor-widget-container{position:relative;z-index:2;}
.sfll-mc.sfll-mc-hub .sfll-mc-body,.sfll-mc.sfll-mc-hub .sfll-mc-body p,.sfll-mc.sfll-mc-hub .sfll-mc-loop-title .elementor-heading-title{font-family:var(--e-global-typography-text-font-family),sans-serif !important;font-weight:400 !important;font-size:16px !important;line-height:1.5 !important;letter-spacing:0 !important;text-transform:none !important;color:var(--e-global-color-secondary) !important;text-align:left !important;margin:0;}
.sfll-mc.sfll-mc-hub .sfll-mc-loop-title .elementor-heading-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;}
.sfll-mc.sfll-mc-hub .sfll-mc-date .elementor-heading-title{font-family:var(--e-global-typography-text-font-family),sans-serif !important;font-weight:400 !important;font-size:clamp(12px,4.2cqw,14px) !important;line-height:1.3 !important;letter-spacing:0 !important;text-transform:none !important;text-align:left !important;color:color-mix(in srgb,var(--e-global-color-secondary) 72%,transparent) !important;margin:6px 0 0;}
.sfll-mc.sfll-mc-hub .sfll-mc-news .elementor-loop-container{display:block !important;}
.sfll-mc.sfll-mc-hub .sfll-mc-title{position:absolute !important;left:0 !important;right:0 !important;bottom:0 !important;height:30%;z-index:3;display:flex !important;align-items:flex-end;box-sizing:border-box;padding:0 6cqw 8cqw 7cqw !important;}
.sfll-mc.sfll-mc-hub .sfll-mc-title .elementor-widget-container{width:100%;}
.sfll-mc.sfll-mc-hub .sfll-mc-title .elementor-heading-title{font-family:var(--e-global-typography-cardtitle-font-family),sans-serif !important;font-weight:700 !important;-webkit-text-stroke:.7px var(--e-global-color-secondary);text-transform:uppercase !important;letter-spacing:.02em !important;line-height:1.12 !important;font-size:clamp(14px,7cqw,24px) !important;color:var(--e-global-color-secondary) !important;text-align:left !important;margin:0;position:static !important;}
.sfll-mc.sfll-mc-hub.sfll-mc-link .sfll-mc-title::before{content:"";position:absolute;left:7cqw;bottom:calc(76% + 3cqw);width:clamp(20px,7.3cqw,24px);aspect-ratio:1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;}
.sfll-mc-hub.sfll-mc-link{cursor:pointer;transition:transform .2s ease;}
.sfll-mc-hub.sfll-mc-link:focus-visible{outline:3px solid var(--e-global-color-accent);outline-offset:4px;}
.sfll-mc-hub.sfll-mc-nolink{cursor:default;}
@media (prefers-reduced-motion:no-preference){.sfll-mc-hub.sfll-mc-link:hover{transform:translateY(-4px);}}
@media (prefers-reduced-motion:reduce){.sfll-mc-hub.sfll-mc-link{transition:none;}}
/* Hub ad band order: desktop after card 8 (two rows of four, DOM order); tablet after card 6 (two rows of three); phones after card 3. */
.sfll-hub-grid > .sfll-hub-ad{order:1;}
@media (min-width:1025px){.sfll-hub-grid > .sfll-hub-ad{order:0;}}
@media (min-width:768px) and (max-width:1024px){.sfll-hub-grid > .sfll-mc:nth-child(n+7){order:2;}}
@media (max-width:767px){.sfll-hub-grid > .sfll-mc:nth-child(n+7){order:2;}}
/* Explainer text size at narrow card widths (tablet and small desktop, 768-1199px): 16px does not clear the banner on the longest texts when cards are about 246px wide. Text is unchanged, only the size. */
@media (min-width:768px) and (max-width:1199px){.sfll-mc.sfll-mc-hub .sfll-mc-body,.sfll-mc.sfll-mc-hub .sfll-mc-body p,.sfll-mc.sfll-mc-hub .sfll-mc-loop-title .elementor-heading-title{font-size:13px !important;line-height:1.4 !important;}}
/* Ad slot heading (Mark 2026-10-20): one line at every width, centred above the ad, may be wider than the ad. Class sfll-ad-heading is on every "Let's support our sponsors." heading widget; -xl is the footer (Section Heading, 40px). */
.sfll-ad-heading{display:flex !important;justify-content:center;align-self:stretch;width:100% !important;}
.sfll-ad-heading .elementor-widget-container{white-space:nowrap;text-align:center;flex:none;}
.sfll-ad-heading .elementor-heading-title{white-space:nowrap !important;text-align:center !important;font-size:clamp(14px,4.8vw,var(--e-global-typography-subheading-font-size,24px)) !important;line-height:1.2 !important;}
.sfll-ad-heading-xl .elementor-heading-title{font-size:clamp(14px,4.8vw,var(--e-global-typography-secondary-font-size,40px)) !important;}
/* Stage 5 calendar (Mark 2026-10-23, run 1). The Events Calendar (free) on /calendar/ and single events, restyled to the site. Mu-plugin: sfll-calendar.php. Spec: architecture/calendar-complete.md.
   Colors are Kit globals only (Navy, Red, White, Light Gray, Heading Text, Body Text) or color-mix of them. Fonts are the Kit typography variables. No hex and no font names in this block.
   Method: TEC reads its look from --tec-* custom properties set on :root, so they are re-pointed at Kit variables here (body-scoped so they win over :root), then a few component rules add navy header bar, red accents, 10px card radius. */
body.post-type-archive-tribe_events,
body.single-tribe_events {
  --sfll-cal-line: color-mix(in srgb, var(--e-global-color-primary) 16%, var(--e-global-color-secondary));
  --sfll-cal-tint: color-mix(in srgb, var(--e-global-color-altbg) 55%, var(--e-global-color-secondary));
  --sfll-cal-radius: 10px;
  --sfll-cal-red-dark: color-mix(in srgb, var(--e-global-color-accent) 82%, var(--e-global-color-text));
  --sfll-cal-navy-dark: color-mix(in srgb, var(--e-global-color-primary) 82%, var(--e-global-color-text));
  --tec-font-family-base: var(--e-global-typography-text-font-family), sans-serif;
  --tec-font-family-sans-serif: var(--e-global-typography-text-font-family), sans-serif;
  --tec-color-background: var(--e-global-color-secondary);
  --tec-color-background-events: var(--e-global-color-secondary);
  --tec-color-background-secondary: var(--sfll-cal-tint);
  --tec-color-background-messages: var(--e-global-color-altbg);
  --tec-color-background-month-grid: var(--e-global-color-secondary);
  --tec-color-accent-primary: var(--e-global-color-primary);
  --tec-color-accent-primary-hover: var(--sfll-cal-navy-dark);
  --tec-color-accent-primary-active: var(--sfll-cal-navy-dark);
  --tec-color-accent-secondary: var(--e-global-color-accent);
  --tec-color-button-primary: var(--e-global-color-accent);
  --tec-color-button-primary-hover: var(--sfll-cal-red-dark);
  --tec-color-button-primary-active: var(--sfll-cal-red-dark);
  --tec-color-background-events-bar-submit-button: var(--e-global-color-accent);
  --tec-color-background-events-bar-submit-button-hover: var(--sfll-cal-red-dark);
  --tec-color-background-events-bar-submit-button-active: var(--sfll-cal-red-dark);
  --tec-color-text-events-bar-submit-button: var(--e-global-color-secondary);
  --tec-color-text-events-bar-submit-button-hover: var(--e-global-color-secondary);
  --tec-color-text-events-bar-submit-button-active: var(--e-global-color-secondary);
  --tec-color-link-accent: var(--e-global-color-accent);
  --tec-color-link-accent-hover: var(--sfll-cal-red-dark);
  --tec-color-link-primary: var(--e-global-color-primary);
  --tec-color-text-primary: var(--e-global-color-text);
  --tec-color-text-secondary: var(--e-global-color-bodytext);
  --tec-color-text-event-title: var(--e-global-color-primary);
  --tec-color-text-event-title-list: var(--e-global-color-primary);
  --tec-color-text-events-title: var(--e-global-color-primary);
  --tec-color-text-event-date: var(--e-global-color-bodytext);
  --tec-color-text-disabled: var(--e-global-color-bodytext);
  --tec-color-day-marker-month: var(--e-global-color-text);
  --tec-color-day-marker-current-month: var(--e-global-color-text);
  --tec-color-day-marker-past-month: var(--e-global-color-bodytext);
  --tec-color-background-primary-multiday: color-mix(in srgb, var(--e-global-color-accent) 16%, var(--e-global-color-secondary));
  --tec-color-background-primary-multiday-hover: color-mix(in srgb, var(--e-global-color-accent) 28%, var(--e-global-color-secondary));
  --tec-color-border-default: var(--sfll-cal-line);
  --tec-color-border-secondary: var(--sfll-cal-line);
  --tec-color-border-tertiary: var(--sfll-cal-line);
  --tec-color-border-events-bar: var(--sfll-cal-line);
  --tec-color-border-secondary-month-grid: var(--sfll-cal-line);
  --tec-color-border-active: var(--e-global-color-accent);
  --tec-color-border-hover: var(--e-global-color-primary);
  --tec-color-icon-active: var(--e-global-color-accent);
  --tec-color-icon-primary: var(--e-global-color-primary);
  --tec-color-icon-secondary: var(--e-global-color-bodytext);
  --tec-color-icon-focus: var(--e-global-color-accent);
  --tec-color-event-icon: var(--e-global-color-accent);
}
/* Width: the site's 1300 container; 20px gutter below it. The banner and intro above are Elementor containers. */
body.post-type-archive-tribe_events .tribe-common.tribe-events,
body.single-tribe_events #tribe-events-pg-template,
body.single-tribe_events .tribe-events.tribe-common {
  width: min(1300px, 100% - 40px);
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
  box-sizing: border-box;
}
body.post-type-archive-tribe_events .tribe-common.tribe-events { padding-block: 24px 80px; color: var(--e-global-color-bodytext); }
body.post-type-archive-tribe_events .tribe-events .tribe-events-l-container { padding-inline: 0; min-height: 0; }
/* The theme page header (if any) never shows on the calendar; the banner owns the H1. */
body.post-type-archive-tribe_events .page-header { display: none; }

/* Search / view bar: white plate, light line, 10px radius, red Find Events button. */
body.post-type-archive-tribe_events .tribe-events-c-events-bar__search-container,
body.post-type-archive-tribe_events .tribe-events-c-events-bar__views { background: var(--e-global-color-secondary); }
body.post-type-archive-tribe_events .tribe-events-header__events-bar { border: 1px solid var(--sfll-cal-line); border-radius: var(--sfll-cal-radius); overflow: hidden; }
body.post-type-archive-tribe_events .tribe-events .tribe-events-c-search__button { border-radius: var(--sfll-cal-radius); font-family: var(--e-global-typography-accent-font-family), sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
body.post-type-archive-tribe_events .tribe-events-c-view-.elementor-kit-6__list-item--active .tribe-events-c-view-.elementor-kit-6__list-item-text { color: var(--e-global-color-primary); }
body.post-type-archive-tribe_events .tribe-events-c-view-.elementor-kit-6__list-item--active .tribe-events-c-view-.elementor-kit-6__list-item-link::after { background-color: var(--e-global-color-accent); }

/* Month title and nav. */
body.post-type-archive-tribe_events .tribe-events-c-top-bar__datepicker-button,
body.post-type-archive-tribe_events .tribe-events-header__content-title-text { font-family: var(--e-global-typography-secondary-font-family), sans-serif; font-weight: 700; color: var(--e-global-color-primary); }
body.post-type-archive-tribe_events .tribe-events-c-top-bar__today-button { border-radius: var(--sfll-cal-radius); color: var(--e-global-color-primary); border-color: var(--e-global-color-primary); }

/* Month grid: navy weekday bar, white cells, light gray for days outside the month, red marker on today. */
body.post-type-archive-tribe_events .tribe-events-calendar-month { border-radius: var(--sfll-cal-radius); overflow: hidden; border: 1px solid var(--sfll-cal-line); }
body.post-type-archive-tribe_events .tribe-events-calendar-month__header { background: var(--e-global-color-primary); }
body.post-type-archive-tribe_events .tribe-events-calendar-month__header-column { border-color: transparent; }
body.post-type-archive-tribe_events .tribe-events-calendar-month__header-column-title { color: var(--e-global-color-secondary); font-family: var(--e-global-typography-eyebrow-font-family), sans-serif; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; padding-block: 12px; }
body.post-type-archive-tribe_events .tribe-events-calendar-month__header-column-title abbr { text-decoration: none; border: 0; }
/* Weekday headers, desktop: three letters (MON, TUE...) taken from the column's own abbr attribute, so they follow the week-start setting. The one-letter span is aria-hidden and the full day name stays for screen readers; the CSS text is silenced with the "/ ''" alt syntax. */
@media (min-width: 768px) {
  body.post-type-archive-tribe_events .tribe-events-calendar-month__header-column-title > span[aria-hidden="true"] { display: none; }
  body.post-type-archive-tribe_events .tribe-events-calendar-month__header-column-title { padding-block: 0; }
  body.post-type-archive-tribe_events .tribe-events-calendar-month__header-column::after { content: attr(abbr); content: attr(abbr) / ""; display: block; padding-block: 12px; text-transform: uppercase; color: var(--e-global-color-secondary); font-family: var(--e-global-typography-eyebrow-font-family), sans-serif; font-weight: 700; font-size: var(--tec-font-size-1); letter-spacing: .12em; }
}
body.post-type-archive-tribe_events .tribe-events-calendar-month__day { background: var(--e-global-color-secondary); border-color: var(--sfll-cal-line); }
body.post-type-archive-tribe_events .tribe-events-calendar-month__day--other-month,
body.post-type-archive-tribe_events .tribe-events-calendar-month__day--past-month { background: var(--sfll-cal-tint); }
body.post-type-archive-tribe_events .tribe-events-calendar-month__day-date-daynum { font-family: var(--e-global-typography-secondary-font-family), sans-serif; font-weight: 700; }
body.post-type-archive-tribe_events .tribe-events-calendar-month__day--current { box-shadow: inset 0 3px 0 var(--e-global-color-accent); }
body.post-type-archive-tribe_events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-daynum { display: inline-block; min-width: 1.9em; padding: .1em .35em; border-radius: 999px; text-align: center; background: var(--e-global-color-accent); color: var(--e-global-color-secondary); }
body.post-type-archive-tribe_events .tribe-events-calendar-month__day-cell--selected { background: var(--sfll-cal-tint); box-shadow: inset 0 0 0 2px var(--e-global-color-primary); }

/* Events: red left bar on a light plate. */
body.post-type-archive-tribe_events .tribe-events-calendar-month__calendar-event { border-left: 4px solid var(--e-global-color-accent); border-radius: 4px; background: var(--sfll-cal-tint); padding: 4px 6px 4px 8px; margin-bottom: 4px; }
body.post-type-archive-tribe_events .tribe-events-calendar-month__calendar-event-title { font-family: var(--e-global-typography-secondary-font-family), sans-serif; font-weight: 600; }
body.post-type-archive-tribe_events .tribe-events-calendar-month__calendar-event-title-link:hover,
body.post-type-archive-tribe_events .tribe-events-calendar-month__calendar-event-title-link:focus { color: var(--e-global-color-accent); }

/* Phone month grid: the Kit styles every <button> red; TEC's mobile day cells are buttons, so they are put back to plain white cells. */
body.post-type-archive-tribe_events .tribe-events button.tribe-events-calendar-month__day-cell--mobile { background: var(--e-global-color-secondary); border: 0; border-radius: 0; color: var(--e-global-color-text); font-family: var(--e-global-typography-secondary-font-family), sans-serif; font-weight: 700; text-transform: none; letter-spacing: 0; padding: 0; }
body.post-type-archive-tribe_events .tribe-events button.tribe-events-calendar-month__day-cell--mobile:hover { background: var(--sfll-cal-tint); }
body.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__day--other-month button.tribe-events-calendar-month__day-cell--mobile,
body.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__day--past-month button.tribe-events-calendar-month__day-cell--mobile { background: var(--sfll-cal-tint); }
body.post-type-archive-tribe_events .tribe-events button.tribe-events-calendar-month__day-cell--mobile:hover,
body.post-type-archive-tribe_events .tribe-events button.tribe-events-calendar-month__day-cell--selected { background: var(--sfll-cal-tint); }
body.post-type-archive-tribe_events .tribe-events .tribe-events-calendar-month__day--current button.tribe-events-calendar-month__day-cell--mobile .tribe-events-calendar-month__day-date-daynum { background: var(--e-global-color-accent); color: var(--e-global-color-secondary); }

/* Messages ("There are no upcoming events") and list view. */
body.post-type-archive-tribe_events .tribe-events-c-messages__message { border-radius: var(--sfll-cal-radius); background: var(--e-global-color-altbg); color: var(--e-global-color-text); }
body.post-type-archive-tribe_events .tribe-events-calendar-list__month-separator-text { font-family: var(--e-global-typography-secondary-font-family), sans-serif; font-weight: 700; color: var(--e-global-color-primary); }
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-row { margin-bottom: 16px; }
body.post-type-archive-tribe_events .tribe-events-calendar-list__event { background: var(--e-global-color-secondary); border: 1px solid var(--sfll-cal-line); border-left: 4px solid var(--e-global-color-accent); border-radius: var(--sfll-cal-radius); padding: 16px 20px; }
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-title { font-family: var(--e-global-typography-secondary-font-family), sans-serif; font-weight: 700; }
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag-daynum { color: var(--e-global-color-accent); font-family: var(--e-global-typography-secondary-font-family), sans-serif; font-weight: 700; }
body.post-type-archive-tribe_events .tribe-events-calendar-list__event-date-tag-weekday { color: var(--e-global-color-bodytext); }

/* Subscribe: heading above the dropdown (mu-plugin), navy button, white list with the card radius. */
body .tribe-events .sfll-cal-subscribe-heading { margin: 48px 0 16px; font-family: var(--e-global-typography-secondary-font-family), sans-serif; font-weight: 700; font-size: var(--e-global-typography-subheading-font-size); line-height: 1.2; color: var(--e-global-color-primary); }
body.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown__container { justify-content: flex-start; text-align: left; }
body.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown { float: none; width: fit-content; min-width: min(274px, 100%); margin: 0 0 32px; }
body.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown__content { left: 0; right: auto; }
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button,
body.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button { background: var(--e-global-color-primary); border: 0; border-radius: var(--sfll-cal-radius); color: var(--e-global-color-secondary); }
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__button .tribe-events-c-subscribe-dropdown__button-text,
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__button-icon path { color: var(--e-global-color-secondary); fill: var(--e-global-color-secondary); font-family: var(--e-global-typography-accent-font-family), sans-serif; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover { background: var(--sfll-cal-navy-dark); }
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__content,
body.single-tribe_events .tribe-events-c-subscribe-dropdown__content { background: var(--e-global-color-secondary); border: 1px solid var(--sfll-cal-line); border-radius: var(--sfll-cal-radius); box-shadow: 0 8px 24px color-mix(in srgb, var(--e-global-color-primary) 18%, transparent); }
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__list-item-link { color: var(--e-global-color-primary); font-weight: 600; }
body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown__list-item-link:hover { background: var(--e-global-color-altbg); color: var(--e-global-color-accent); }

/* Single event page. */
body.single-tribe_events #tribe-events-pg-template { padding-block: 60px 80px; }
body.single-tribe_events .tribe-events-single-event-title { font-family: var(--e-global-typography-primary-font-family), sans-serif; font-weight: 700; color: var(--e-global-color-primary); }
body.single-tribe_events .tribe-events-schedule,
body.single-tribe_events .tribe-events-schedule h2 { color: var(--e-global-color-bodytext); font-family: var(--e-global-typography-secondary-font-family), sans-serif; }
body.single-tribe_events .tribe-events-back a,
body.single-tribe_events .tribe-events-single a { color: var(--e-global-color-accent); text-decoration: underline; }
body.single-tribe_events .tribe-events-single a:hover { color: var(--sfll-cal-red-dark); }
body.single-tribe_events .tribe-events-event-meta { width: 100%; max-width: none; float: none; box-sizing: border-box; }
body.single-tribe_events .tribe-events-meta-group { width: 100%; max-width: none; float: none; margin-inline: 0; box-sizing: border-box; background: var(--sfll-cal-tint); border-radius: var(--sfll-cal-radius); padding: 16px 20px; }
body.single-tribe_events .tribe-events-meta-group .tribe-events-single-section-title { font-family: var(--e-global-typography-secondary-font-family), sans-serif; font-weight: 700; color: var(--e-global-color-primary); }

/* Focus: visible ring on every control (AA). Motion: off when the visitor asks for less. */
body.post-type-archive-tribe_events .tribe-events a:focus-visible,
body.post-type-archive-tribe_events .tribe-events button:focus-visible,
body.post-type-archive-tribe_events .tribe-events input:focus-visible,
body.single-tribe_events #tribe-events-pg-template a:focus-visible,
body.single-tribe_events #tribe-events-pg-template button:focus-visible { outline: 3px solid var(--e-global-color-accent); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) {
  body.post-type-archive-tribe_events .tribe-events *,
  body.single-tribe_events #tribe-events-pg-template * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Phone: tighter gutters, subscribe button full width so it is easy to tap. */
@media (max-width: 767px) {
  body.post-type-archive-tribe_events .tribe-common.tribe-events { padding-block: 16px 56px; }
  body .tribe-events .sfll-cal-subscribe-heading { margin-top: 36px; }
  body.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown__container,
  body.post-type-archive-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown { width: 100%; }
  body.post-type-archive-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button { width: 100%; justify-content: center; }
}

/* Stage 5 hub cards EQUIPMENT pilot (Mark 2026-10-22; condensed rebuild 2026-10-22). Global hub card: Loop Item template 821 "SFLL Hub Card (Equipment)" fed by the Hub Cards post type (mu-plugin sfll-hub-cards.php). Spec: architecture/hub-cards-plugin.md.
   Colors are Kit globals only (Card Navy, White, Red). Fonts are the Kit globals Card Condensed (700) and Card Condensed Body (500) bound on the template widgets; this block declares no font-family except the two @font-face font definitions below.
   .sfll-eq-slot = the grid slot on a hub page (it is also the size container, so the card's own radius can use cqw); .sfll-eq = the card (the Loop Item container, an <a>).
   W = card width = 100 units. One unit --u = 1cqw, capped at 3.6px (305px card: 3.05px). Every size below is a multiple of --u, so the card scales as a whole. Inner text width = 80.4u. H = 1.4W (aspect 5:7). */
/* Font definitions (Barlow Condensed, OFL, Latin subset, self-hosted). The Fallback faces are size-adjusted local Arial Narrow so the swap does not move the layout. */
@font-face{font-family:"Card Condensed";font-style:normal;font-weight:500;font-display:swap;src:url("/wp-content/uploads/sfll-fonts/barlow-condensed-latin-500.woff2") format("woff2");}
@font-face{font-family:"Card Condensed";font-style:normal;font-weight:700;font-display:swap;src:url("/wp-content/uploads/sfll-fonts/barlow-condensed-latin-700.woff2") format("woff2");}
@font-face{font-family:"Card Condensed Fallback";font-style:normal;font-weight:500;src:local("Arial Narrow"),local("ArialNarrow");size-adjust:89.6%;ascent-override:111.6%;descent-override:22.3%;line-gap-override:0%;}
@font-face{font-family:"Card Condensed Fallback";font-style:normal;font-weight:700;src:local("Arial Narrow Bold"),local("ArialNarrow-Bold");size-adjust:88.7%;ascent-override:112.7%;descent-override:22.5%;line-gap-override:0%;}
.sfll-eq-slot{display:flex !important;flex-direction:column;flex-wrap:nowrap !important;padding:0 !important;margin:0;align-self:stretch;container-type:inline-size;}
.sfll-eq-slot > .elementor-widget{width:100% !important;max-width:none !important;margin:0 !important;flex:1 1 auto;display:flex;}
.sfll-eq-slot > .elementor-widget > .elementor-widget-container,.sfll-eq-slot .elementor-loop-container,.sfll-eq-slot .e-loop-item{display:flex !important;flex:1 1 auto;width:100%;}
.sfll-eq-slot .elementor-loop-container{flex-direction:column;}
.sfll-eq{--u:min(1cqw,3.6px);--ts:calc(var(--u)*12.1);--ls:max(12px,calc(var(--u)*3.9));container-type:inline-size;position:relative;box-sizing:border-box;display:flex !important;flex-direction:column !important;flex-wrap:nowrap !important;align-items:stretch !important;justify-content:flex-start !important;gap:0 !important;width:100%;aspect-ratio:5/7;min-height:auto !important;padding:0 !important;margin:0;border:0 !important;border-radius:calc(var(--u)*4.5) !important;overflow:hidden !important;isolation:isolate;text-decoration:none !important;text-align:left;background-color:var(--e-global-color-cardnavy) !important;box-shadow:0 10px 30px color-mix(in srgb,var(--e-global-color-cardnavy) 30%,transparent);}
.sfll-eq::before{content:none !important;}
/* The one border at rest: a 1px white line (85%), inset 3% of W, radius 3.3% of W. Hover adds nothing. The thick ring is keyboard focus only. */
.sfll-eq::after{content:"" !important;display:block !important;position:absolute !important;inset:calc(var(--u)*3) !important;width:auto !important;height:auto !important;border:1px solid color-mix(in srgb,var(--e-global-color-secondary) 85%,transparent);border-radius:calc(var(--u)*3.3);pointer-events:none;z-index:3;}
@media (min-resolution:2dppx){.sfll-eq::after{border-width:1.5px;}}
.sfll-eq *{text-decoration:none !important;text-align:left !important;}
.sfll-eq .elementor-widget{margin:0 calc(var(--u)*9.8) !important;width:auto !important;max-width:none !important;align-self:stretch;}
/* Title: condensed 700, uppercase, white, ONE size for every card (12.1 card-width units: the longest title, "Code of Conduct", fills 99.7% of the one-line title box; its limit is 12.13). One line, no wrap. No size steps. */
.sfll-eq .sfll-eq-title{margin-top:calc(var(--u)*10.5) !important;display:flex;flex-direction:column;justify-content:flex-end;gap:0 !important;row-gap:0 !important;}
.sfll-eq .sfll-eq-title .elementor-heading-title{display:block;white-space:nowrap;text-transform:uppercase !important;letter-spacing:.01em !important;line-height:1 !important;font-size:var(--ts) !important;color:var(--e-global-color-secondary) !important;margin:0;}
/* Divider: ONE red rule (31u long, .75u thick) then three white stars to its right on the same line (gap 4u, each 3.3u wide, 6u centre to centre), stars centred on the rule. Baseline to rule top = .35 of the cap height (cap = .7 em). */
.sfll-eq .sfll-eq-title::after{content:"";display:block;width:calc(var(--u)*50.3);max-width:100%;height:calc(var(--u)*3.3);margin:max(0px,calc(var(--ts)*.145 - var(--u)*1.275)) 0 0;flex:none;background:linear-gradient(var(--e-global-color-accent),var(--e-global-color-accent)) left center/calc(var(--u)*31) calc(var(--u)*.75) no-repeat,url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 153 33'%3E%3Cg fill='white'%3E%3Cpath transform='translate(0 0) scale(3.3)' d='M5 .3l1.5 3.2 3.4.5-2.5 2.4.6 3.4L5 8.1 2 9.8l.6-3.4L.1 4l3.4-.5z'/%3E%3Cpath transform='translate(60 0) scale(3.3)' d='M5 .3l1.5 3.2 3.4.5-2.5 2.4.6 3.4L5 8.1 2 9.8l.6-3.4L.1 4l3.4-.5z'/%3E%3Cpath transform='translate(120 0) scale(3.3)' d='M5 .3l1.5 3.2 3.4.5-2.5 2.4.6 3.4L5 8.1 2 9.8l.6-3.4L.1 4l3.4-.5z'/%3E%3C/g%3E%3C/svg%3E") calc(var(--u)*35) center/calc(var(--u)*15.3) calc(var(--u)*3.3) no-repeat;}
/* Text stack. Gaps are between element boxes: rule to label 7.8u (from the rule's edge), label to heading 3u, heading to body 2.5u. */
.sfll-eq .sfll-eq-label{margin-top:calc(var(--u)*6.525) !important;}
.sfll-eq .sfll-eq-label .elementor-heading-title{font-size:var(--ls) !important;line-height:1.1 !important;letter-spacing:.06em !important;text-transform:uppercase !important;color:color-mix(in srgb,var(--e-global-color-accent) 78%,var(--e-global-color-secondary)) !important;margin:0;}
.sfll-eq .sfll-eq-heading{margin-top:calc(var(--u)*3) !important;}
.sfll-eq .sfll-eq-heading:has(.elementor-heading-title:empty),.sfll-eq .sfll-eq-heading:not(:has(.elementor-heading-title)){display:none !important;}
.sfll-eq .sfll-eq-heading .elementor-heading-title{font-size:calc(var(--u)*5.5) !important;line-height:1.15 !important;letter-spacing:0 !important;text-transform:none !important;color:var(--e-global-color-secondary) !important;margin:0;}
.sfll-eq .sfll-eq-body{margin-top:calc(var(--u)*2.5) !important;margin-bottom:calc(var(--u)*18.2) !important;}
.sfll-eq .sfll-eq-body,.sfll-eq .sfll-eq-body p{font-size:max(14px,calc(var(--u)*4.6)) !important;line-height:1.35 !important;letter-spacing:0 !important;color:var(--e-global-color-secondary) !important;margin-top:0;margin-bottom:0;}
.sfll-eq .sfll-eq-body{margin-bottom:calc(var(--u)*18.2) !important;}
/* Plate: 8% of H (11.2u), Kit red (same as the divider rule), no hover change, 1px lighter line on top, bottom corners = inner radius. Label centred, arrow at the right end with 5u padding. */
.sfll-eq .sfll-eq-plate{position:absolute !important;left:calc(var(--u)*3) !important;right:calc(var(--u)*3) !important;bottom:calc(var(--u)*3) !important;width:auto !important;height:calc(var(--u)*11.2) !important;margin:0 !important;z-index:2;}
.sfll-eq .sfll-eq-plate .elementor-heading-title{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;height:100%;border-radius:0 0 calc(var(--u)*3.3) calc(var(--u)*3.3);background:var(--e-global-color-accent);border-top:1px solid color-mix(in srgb,var(--e-global-color-secondary) 30%,var(--e-global-color-accent));font-size:max(13px,calc(var(--u)*4.9)) !important;line-height:1 !important;letter-spacing:.1em !important;text-transform:uppercase !important;color:var(--e-global-color-secondary) !important;text-align:center !important;margin:0;}
.sfll-eq .sfll-eq-plate .elementor-heading-title::after{content:"";position:absolute;right:calc(var(--u)*5);top:50%;width:max(16px,calc(var(--u)*5.5));height:max(16px,calc(var(--u)*5.5));margin-top:calc(max(16px,var(--u)*5.5)/-2);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E") center/contain no-repeat;transition:transform .2s ease;}
.sfll-eq[href]{cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;}
/* Keyboard focus only: the thin line becomes a thick ring. Never on hover, never on a mouse click. */
.sfll-eq:focus,.sfll-eq:focus:not(:focus-visible){outline:none;}
.sfll-eq[href]:focus-visible{outline:none;}
.sfll-eq[href]:focus-visible::after{border-width:4px;border-color:var(--e-global-color-secondary);}
.sfll-eq:not([href]){cursor:default;}
.sfll-eq:not([href]) .sfll-eq-plate .elementor-heading-title{background:color-mix(in srgb,var(--e-global-color-secondary) 16%,var(--e-global-color-cardnavy));border-top-color:transparent;color:transparent !important;font-size:0 !important;}
.sfll-eq:not([href]) .sfll-eq-plate .elementor-heading-title::after{display:none;}
@media (prefers-reduced-motion:no-preference){.sfll-eq[href]:hover,.sfll-eq[href]:focus-visible{transform:translateY(-2px);box-shadow:0 14px 34px color-mix(in srgb,var(--e-global-color-cardnavy) 45%,transparent);}.sfll-eq[href]:hover .sfll-eq-plate .elementor-heading-title::after,.sfll-eq[href]:focus-visible .sfll-eq-plate .elementor-heading-title::after{transform:translateX(4px);}}
@media (prefers-reduced-motion:reduce){.sfll-eq[href],.sfll-eq .sfll-eq-plate .elementor-heading-title::after{transition:none;}}
/* Ad band order: the slot sits in the same hand-built grid as the old cards, so it follows the same order rules as .sfll-mc (tablet after card 6, phones after card 3). */
@media (min-width:768px) and (max-width:1024px){.sfll-hub-grid > .sfll-eq-slot:nth-child(n+7){order:2;}}
@media (max-width:767px){.sfll-hub-grid > .sfll-eq-slot:nth-child(n+7){order:2;}}
/* Team Central batch (2026-10-23): Bats card = three stacked blocks inside the body field. Each block uses the same eyebrow, heading and body declarations as every other card. The card-level label is stored but hidden here because the block eyebrows replace it. */
.sfll-eq:has(.sfll-eq-blocks) .sfll-eq-label{display:none !important;}
.sfll-eq .sfll-eq-blocks .sfll-eq-b-eyebrow{display:block;font-weight:700;font-size:var(--ls) !important;line-height:1.1 !important;letter-spacing:.06em !important;text-transform:uppercase !important;color:color-mix(in srgb,var(--e-global-color-accent) 78%,var(--e-global-color-secondary)) !important;margin:0;}
.sfll-eq .sfll-eq-blocks .sfll-eq-b-heading{display:block;font-weight:700;font-size:calc(var(--u)*5.5) !important;line-height:1.15 !important;letter-spacing:0 !important;text-transform:none !important;color:var(--e-global-color-secondary) !important;margin:calc(var(--u)*3) 0 0;}
.sfll-eq .sfll-eq-blocks .sfll-eq-b-body{margin:calc(var(--u)*2.5) 0 0 !important;}
.sfll-eq .sfll-eq-blocks .sfll-eq-block + .sfll-eq-block{margin-top:calc(var(--u)*3);padding-top:calc(var(--u)*3);border-top:1px solid color-mix(in srgb,var(--e-global-color-secondary) 55%,transparent);}
/* Card height: fixed 5:7 again (hub-cards-plates run, 2026-10-23). Body text must fit the card; the card never grows. */
/* Added paragraph under a card body or live preview: same body style (inherited), small gap. */
.sfll-eq-body .sfll-eq-add{display:block;margin-top:calc(var(--u)*2.5);}


/* SFLL ticket card (Mark 2026-10-23). Home cards only: Alerts, Calendar, Find your field. Class .sfll-ticket on the card container.
   Reference card 380px wide, 5:7. Every size is cqw of the card (px / 380 * 100), so the card keeps its current width and ratio.
   Structure: .sfll-ticket (size container) > .sfll-t-frame (black frame) > .sfll-t-inner (cream border box) > .sfll-t-header + .sfll-t-bodybox + .sfll-t-plate (the Button widget).
   Colors: Kit Navy (primary) and Red (accent), Kit White; neutrals #0A0A0A frame, #F4F1EA inner border, #F5F3EE body. Font: Card Condensed (Barlow Condensed) 500 and 700. */
.e-con.sfll-ticket{container-type:inline-size;position:relative;box-sizing:border-box;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;margin:0;padding:0;border:0;border-radius:0;background:none;aspect-ratio:5/7;min-height:0;overflow:visible;text-align:left;}
.sfll-ticket .e-con.sfll-t-frame{box-sizing:border-box;flex:1 1 auto;width:100%;min-height:0;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;margin:0;padding:2.105cqw;border:0;border-radius:5.789cqw;background:#0A0A0A;}
.sfll-ticket .e-con.sfll-t-inner{box-sizing:border-box;flex:1 1 auto;width:100%;min-height:0;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;margin:0;padding:0;border:0.526cqw solid #F4F1EA;border-radius:0;background:none;overflow:visible;}
.sfll-ticket .e-con.sfll-t-header{box-sizing:border-box;flex:0 0 auto;width:100%;height:44.211cqw;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:center;justify-content:center;gap:3.684cqw;margin:0;padding:0 5.263cqw;border:0;background:var(--e-global-color-primary);}
.sfll-ticket .e-con.sfll-t-header::after{content:"\2605";display:block;box-sizing:border-box;width:78%;text-align:center;font-family:"Card Condensed","Card Condensed Fallback",sans-serif;font-size:5.789cqw;line-height:1;color:var(--e-global-color-secondary);background:linear-gradient(var(--e-global-color-secondary),var(--e-global-color-secondary)) left center/calc((100% - 12.105cqw)/2) 0.526cqw no-repeat,linear-gradient(var(--e-global-color-secondary),var(--e-global-color-secondary)) right center/calc((100% - 12.105cqw)/2) 0.526cqw no-repeat;}
.sfll-ticket .e-con.sfll-t-bodybox{box-sizing:border-box;flex:1 1 0;width:100%;min-height:0;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:0;margin:0;padding:6.316cqw 7.368cqw 5.263cqw;border:0;background:#F5F3EE;}
.sfll-ticket .elementor-widget.sfll-t-title,.sfll-ticket .elementor-widget.sfll-t-heading,.sfll-ticket .elementor-widget.sfll-t-body,.sfll-ticket .elementor-widget.sfll-t-plate{margin:0;width:100%;max-width:none;}
.e-con.sfll-ticket .elementor-widget.sfll-t-title .elementor-heading-title{margin:0;padding:0;font-family:"Card Condensed","Card Condensed Fallback",sans-serif;font-weight:700;font-size:15.789cqw;line-height:.95;letter-spacing:0;text-transform:uppercase;text-align:center;color:var(--e-global-color-secondary);}
.e-con.sfll-ticket .elementor-widget.sfll-t-heading .elementor-heading-title{margin:0 0 3.684cqw;padding:0 0 3.158cqw;border-bottom:0.526cqw solid var(--e-global-color-primary);font-family:"Card Condensed","Card Condensed Fallback",sans-serif;font-weight:700;font-size:7.368cqw;line-height:1.05;letter-spacing:0;text-transform:uppercase;text-align:left;color:var(--e-global-color-primary);}
.e-con.sfll-ticket .elementor-widget.sfll-t-body,.e-con.sfll-ticket .elementor-widget.sfll-t-body .elementor-widget-container,.e-con.sfll-ticket .elementor-widget.sfll-t-body p,.e-con.sfll-ticket .elementor-widget.sfll-t-body div,.e-con.sfll-ticket .elementor-widget.sfll-t-body span{font-family:"Card Condensed","Card Condensed Fallback",sans-serif;font-weight:500;font-size:5.526cqw;line-height:1.3;letter-spacing:0;text-transform:none;text-align:left;color:var(--e-global-color-primary);}
.e-con.sfll-ticket .elementor-widget.sfll-t-body p{margin:0;}
.sfll-ticket .elementor-widget.sfll-t-plate{flex:0 0 auto;height:24.211cqw;}
.sfll-ticket .elementor-widget.sfll-t-plate .elementor-widget-container,.sfll-ticket .elementor-widget.sfll-t-plate .elementor-button-wrapper{height:100%;}
.e-con.sfll-ticket .elementor-widget.sfll-t-plate a.elementor-button{box-sizing:border-box;display:flex;flex-direction:row;align-items:stretch;justify-content:flex-start;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;background:var(--e-global-color-accent);color:var(--e-global-color-secondary);text-decoration:none;}
.e-con.sfll-ticket .elementor-widget.sfll-t-plate a.elementor-button:hover,.e-con.sfll-ticket .elementor-widget.sfll-t-plate a.elementor-button:focus{background:var(--e-global-color-accent);color:var(--e-global-color-secondary);}
.e-con.sfll-ticket .elementor-widget.sfll-t-plate a.elementor-button:focus-visible{outline:2px solid var(--e-global-color-secondary);outline-offset:-5px;}
.sfll-ticket .elementor-widget.sfll-t-plate .elementor-button-content-wrapper{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:flex-start;}
.e-con.sfll-ticket .elementor-widget.sfll-t-plate .elementor-button-text{flex:1 1 auto;min-width:0;box-sizing:border-box;padding:0 5.789cqw;white-space:normal;font-family:"Card Condensed","Card Condensed Fallback",sans-serif;font-weight:700;font-size:7.895cqw;line-height:.95;letter-spacing:0;text-transform:uppercase;text-align:left;color:var(--e-global-color-secondary);}
.e-con.sfll-ticket .elementor-widget.sfll-t-plate a.elementor-button::after{content:"\2192";flex:0 0 auto;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:20cqw;margin:4.211cqw 0;border-left:0.263cqw solid var(--e-global-color-secondary);font-family:"Card Condensed","Card Condensed Fallback",sans-serif;font-weight:700;font-size:10cqw;line-height:1;color:var(--e-global-color-secondary);}
/* Newsletter posts: widen the Postie email column (stored content untouched) */
body.single-post main.category-newsletter .postie-post table[width="600"]{width:100% !important;max-width:1000px !important;margin:0 auto !important;}

/* SFLL ticket card rollout (Mark 2026-10-23, step 3). Appended after the .sfll-ticket block; that block is not edited.
   Standard cards (Registration, Alerts) reuse .sfll-ticket as is. New here: icon-box parts, Alerts column widths, --map (Where We Play), --doc (Board).
   --map: reference width 274px (ratio 274:407), Home values x 380/274 where the spec says "as Home". --doc: reference width 380px, 5:7.
   Every size is cqw of the card. Colors: Kit Navy (primary), Red (accent), White (secondary); neutrals #0A0A0A, #F4F1EA, #F5F3EE as Home. Font: Card Condensed 500 and 700. */
.sfll-alerts-stack > .sfll-ticket{width:calc((100% - 48px) / 3) !important;}
@media (max-width:1024px){.sfll-alerts-stack > .sfll-ticket{width:calc((100% - 24px) / 2) !important;}}
@media (max-width:767px){.sfll-alerts-stack > .sfll-ticket{width:100% !important;}}
.sfll-ticket .elementor-widget.sfll-t-iconbox{margin:0;width:100%;max-width:none;}
.sfll-ticket .elementor-widget.sfll-t-iconbox .elementor-icon-box-icon{display:none;}
.e-con.sfll-ticket .elementor-widget.sfll-t-iconbox .elementor-icon-box-wrapper{display:block;text-align:left;}
.e-con.sfll-ticket .elementor-widget.sfll-t-iconbox .elementor-icon-box-content{width:100%;}
.e-con.sfll-ticket .elementor-widget.sfll-t-iconbox .elementor-icon-box-title{margin:0 0 3.684cqw;padding:0 0 3.158cqw;border-bottom:0.526cqw solid var(--e-global-color-primary);}
.e-con.sfll-ticket .elementor-widget.sfll-t-iconbox .elementor-icon-box-title,.e-con.sfll-ticket .elementor-widget.sfll-t-iconbox .elementor-icon-box-title span,.e-con.sfll-ticket .elementor-widget.sfll-t-iconbox .elementor-icon-box-title a{font-family:"Card Condensed","Card Condensed Fallback",sans-serif;font-weight:700;font-size:7.368cqw;line-height:1.05;letter-spacing:0;text-transform:uppercase;text-align:left;color:var(--e-global-color-primary);}
.e-con.sfll-ticket .elementor-widget.sfll-t-iconbox .elementor-icon-box-description{margin:0;font-family:"Card Condensed","Card Condensed Fallback",sans-serif;font-weight:500;font-size:5.526cqw;line-height:1.3;letter-spacing:0;text-transform:none;text-align:left;color:var(--e-global-color-primary);}
.e-con.sfll-ticket.sfll-ticket--map{aspect-ratio:274/407;}
.sfll-ticket.sfll-ticket--map .e-con.sfll-t-frame{padding:2.919cqw;border-radius:8.029cqw;}
.sfll-ticket.sfll-ticket--map .e-con.sfll-t-inner{border-width:0.73cqw;overflow:hidden;}
.sfll-ticket.sfll-ticket--map .e-con.sfll-t-header{flex:0 0 auto;height:auto;gap:2.8cqw;padding:4.5cqw 7.299cqw;}
.sfll-ticket.sfll-ticket--map .e-con.sfll-t-header::after{width:60%;font-size:8.029cqw;background:linear-gradient(var(--e-global-color-secondary),var(--e-global-color-secondary)) left center/calc((100% - 16.789cqw)/2) 0.73cqw no-repeat,linear-gradient(var(--e-global-color-secondary),var(--e-global-color-secondary)) right center/calc((100% - 16.789cqw)/2) 0.73cqw no-repeat;}
.e-con.sfll-ticket.sfll-ticket--map .elementor-widget.sfll-t-title .elementor-heading-title{font-size:12cqw;}
.sfll-ticket.sfll-ticket--map .elementor-widget.sfll-t-map{flex:1 1 0;min-height:0;width:100%;max-width:none;margin:0;position:relative;overflow:hidden;}
.sfll-ticket.sfll-ticket--map .elementor-widget.sfll-t-map .elementor-widget-container{position:absolute;inset:0;}
.sfll-ticket.sfll-ticket--map .elementor-widget.sfll-t-map img{display:block;position:absolute;inset:0;width:100% !important;height:100% !important;max-width:none !important;object-fit:cover !important;object-position:center center !important;border:0;border-radius:0;aspect-ratio:auto !important;}
.sfll-ticket.sfll-ticket--map .e-con.sfll-t-footer{box-sizing:border-box;flex:0 0 auto;width:100%;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:0;margin:0;padding:4.5cqw 7.4cqw;border:0;background:#F5F3EE;}
.sfll-ticket .elementor-widget.sfll-t-foot{margin:0;width:100%;max-width:none;}
.e-con.sfll-ticket .elementor-widget.sfll-t-foot,.e-con.sfll-ticket .elementor-widget.sfll-t-foot .elementor-widget-container,.e-con.sfll-ticket .elementor-widget.sfll-t-foot p,.e-con.sfll-ticket .elementor-widget.sfll-t-foot div,.e-con.sfll-ticket .elementor-widget.sfll-t-foot span{font-family:"Card Condensed","Card Condensed Fallback",sans-serif;font-weight:500;font-size:6cqw;line-height:1.3;letter-spacing:0;text-transform:none;text-align:left;color:var(--e-global-color-primary);}
.e-con.sfll-ticket .elementor-widget.sfll-t-foot p{margin:0;}
.sfll-ticket.sfll-ticket--doc,.sfll-ticket.sfll-ticket--doc *{text-decoration:none;}
.sfll-ticket.sfll-ticket--doc:focus-visible{outline:3px solid var(--e-global-color-accent);outline-offset:4px;}
.sfll-ticket .e-con.sfll-t-docplate{box-sizing:border-box;flex:0 0 auto;width:100%;height:24.211cqw;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:stretch;justify-content:flex-end;gap:0;margin:0;padding:0;border:0;background:var(--e-global-color-accent);}
.sfll-ticket .e-con.sfll-t-docplate::after{content:"→";flex:0 0 auto;box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:20cqw;margin:4.211cqw 0;border-left:0.263cqw solid var(--e-global-color-secondary);font-family:"Card Condensed","Card Condensed Fallback",sans-serif;font-weight:700;font-size:10cqw;line-height:1;color:var(--e-global-color-secondary);}
/* Glyph fix, scoped to the cards restyled in this rollout (class sfll-tk2). Elementor's CSS regeneration strips backslashes from the Kit CSS, so the 2605 and 2192 escapes in the .sfll-ticket block above print as the text "2605" and "2192"; these rules use the literal characters. The three Home cards do not carry sfll-tk2 and are untouched. */
.sfll-ticket.sfll-tk2 .e-con.sfll-t-header::after{content:"★";}
.e-con.sfll-ticket.sfll-tk2 .elementor-widget.sfll-t-plate a.elementor-button::after{content:"→";}

/* Home news live preview (Loop Item 207: Home + News cards). Card 5:7 again; preview on top, Card Navy plate below (category, then title on 2 lines max).
   Scoped to .elementor-207 so every other .sfll-mc-front card is unchanged. Shortcode [sfll_news_preview] lives in sfll-hub-cards 1.3.5; it sets --np-s (box width / 600). */
.elementor-207 .sfll-mc.sfll-mc-front{aspect-ratio:5/7;min-height:0 !important;overflow:hidden !important;}
.elementor-207 .sfll-mc.sfll-mc-front::after{display:none !important;}
.elementor-207 .sfll-mc-front .sfll-np-widget{flex:1 1 0;min-height:0;position:relative;overflow:hidden;width:100% !important;max-width:none !important;margin:0 !important;align-self:stretch;background:#eceef5;}
.elementor-207 .sfll-np-widget .elementor-widget-container,.elementor-207 .sfll-np-widget .elementor-shortcode{height:100%;}
.elementor-207 .sfll-np{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:#eceef5;pointer-events:none;user-select:none;-webkit-user-select:none;}
.elementor-207 .sfll-np-frame{position:absolute;top:0;left:0;width:600px;max-width:none;height:1800px;border:0;background:#eceef5;transform-origin:0 0;transform:scale(var(--np-s,.7));pointer-events:none;}
.elementor-207 .sfll-np-fade{position:absolute;left:0;right:0;bottom:0;height:110px;background:linear-gradient(to bottom,transparent,var(--e-global-color-cardnavy));pointer-events:none;}
.elementor-207 .sfll-mc-front .sfll-np-plate{flex:0 0 auto;position:static;display:flex !important;flex-direction:column !important;gap:1.2cqw !important;box-sizing:border-box;width:100% !important;margin:0 !important;padding:3.4cqw 5.4cqw 5.4cqw !important;border:0 !important;background-color:var(--e-global-color-cardnavy) !important;}
.elementor-207 .sfll-np-plate .elementor-widget,.elementor-207 .sfll-np-plate .elementor-widget-container{position:static !important;}
.elementor-207 .sfll-np-plate .sfll-mc-sub .elementor-heading-title{white-space:nowrap;overflow:hidden;max-width:100%;}
.elementor-207 .sfll-np-plate .sfll-mc-sub a{pointer-events:none;}
.elementor-207 .sfll-np-plate .sfll-mc-title .elementor-heading-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-width:0;}
.elementor-207 .sfll-mc-front .sfll-np-plate,.elementor-207 .sfll-np-plate .elementor-widget,.elementor-207 .sfll-np-plate .elementor-widget-container{min-width:0;max-width:100%;}
.elementor-207 .sfll-np-plate .sfll-mc-title a::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;}

/* SFLL Home panel corners (Mark 2026-10-23, corrected). Container 0f3da32 radius = card frame radius exactly (5.789% of card width), continuous in viewport width. Desktop/tablet: card width = (min(1300px, 100vw - 40px) - 104px) / 3. Mobile (stacked): card width = 100vw - 80px. */
.elementor-element.elementor-element-0f3da32{border-radius:calc(0.019297 * (min(1300px, 100vw - 40px) - 104px));}
@media (max-width:767px){.elementor-element.elementor-element-0f3da32{border-radius:calc(0.05789 * (100vw - 80px));}}
/* SFLL Home photo cards: stripe removal + red photo/body line (Mark 2026-10-23). Scoped to Home row 470fd78 only.
   Stripe = .sfll-mc-img::after (hidden). Line = .sfll-mc-img border-bottom, recolored to Kit Red (accent); width unchanged. */
.elementor-element-470fd78 .sfll-mc-front .sfll-mc-img::after{display:none !important;}
.elementor-element-470fd78 .sfll-mc-front .sfll-mc-img{border-bottom-color:var(--e-global-color-accent);}
/* SFLL Home Calendar card: next-event date tile (Mark 2026-10-23, option B). Markup from [sfll_next_event] (mu-plugin 1.3.10). Appended; no existing rule edited.
   Every size is cqw of the ticket card (the card is a size container). Kit Navy (primary), Red (accent), White (secondary). Card Condensed 500 and 700. Selectors start from the ticket body widget so they win over the .sfll-t-body span rule. */
.e-con.sfll-ticket .elementor-widget.sfll-t-body:has(.sfll-nx){flex:1 1 0;min-height:0;display:flex;flex-direction:column;justify-content:center;}
.e-con.sfll-ticket .elementor-widget.sfll-t-body .sfll-nx{display:block;flex:0 0 auto;box-sizing:border-box;width:100%;overflow:hidden;text-decoration:none;color:var(--e-global-color-primary);background:var(--e-global-color-secondary);border:0.6cqw solid var(--e-global-color-primary);border-radius:2.6cqw;}
.e-con.sfll-ticket .elementor-widget.sfll-t-body .sfll-nx:focus-visible{outline:0.8cqw solid var(--e-global-color-accent);outline-offset:0.6cqw;}
.e-con.sfll-ticket .elementor-widget.sfll-t-body .sfll-nx-band{display:block;background:var(--e-global-color-accent);color:var(--e-global-color-secondary);font-weight:700;font-size:4.6cqw;text-transform:uppercase;letter-spacing:0.14em;line-height:1;padding:1.3cqw 4cqw;}
.e-con.sfll-ticket .elementor-widget.sfll-t-body .sfll-nx-body{display:block;padding:3cqw 4cqw;}
.e-con.sfll-ticket .elementor-widget.sfll-t-body .sfll-nx-row{display:flex;align-items:center;gap:3.5cqw;}
.e-con.sfll-ticket .elementor-widget.sfll-t-body .sfll-nx-day{font-weight:700;font-size:20cqw;line-height:0.9;}
.e-con.sfll-ticket .elementor-widget.sfll-t-body .sfll-nx-meta{display:block;min-width:0;}
.e-con.sfll-ticket .elementor-widget.sfll-t-body .sfll-nx-month{display:block;font-weight:700;font-size:8cqw;line-height:1;text-transform:uppercase;}
.e-con.sfll-ticket .elementor-widget.sfll-t-body .sfll-nx-when{display:block;font-weight:500;font-size:5.6cqw;line-height:1.1;margin-top:1cqw;letter-spacing:0.06em;text-transform:uppercase;white-space:nowrap;}
.e-con.sfll-ticket .elementor-widget.sfll-t-body .sfll-nx-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;font-size:6.2cqw;line-height:1.15;margin-top:2.5cqw;}
.e-con.sfll-ticket .elementor-widget.sfll-t-body .sfll-nx-empty{margin:0;}

/* SFLL hub Calendar card (entry 928): next-event date tile, link on the plate only (Mark 2026-10-23). Markup from [sfll_preview] source calendar (mu-plugin 1.3.12, shared with [sfll_next_event]).
   Tile sizes = the Home .sfll-nx block x k, k = hub body text 4.6cqw / Home body 6.2cqw = 0.7419. Every size is cqw of the hub card (the card is a size container). Kit Navy (primary), Red (accent), White (secondary). Card Condensed 500 and 700. One line title.
   The .sfll-eq--plate-only rules restore the normal plate look (the existing :not([href]) rule mutes the plate of a card with no link) and make the plate link fill the plate. Appended; no existing rule edited. */
.sfll-eq .sfll-eq-body .sfll-nx{display:block;box-sizing:border-box;width:100%;overflow:hidden;text-decoration:none;color:var(--e-global-color-primary);background:var(--e-global-color-secondary);border:0.445cqw solid var(--e-global-color-primary);border-radius:1.929cqw;}
.sfll-eq .sfll-eq-body .sfll-nx:focus-visible{outline:0.594cqw solid var(--e-global-color-accent);outline-offset:0.445cqw;}
.sfll-eq .sfll-eq-body .sfll-nx-band{display:block;background:var(--e-global-color-accent);color:var(--e-global-color-secondary);font-weight:700;font-size:3.413cqw;text-transform:uppercase;letter-spacing:0.14em;line-height:1;padding:0.965cqw 2.968cqw;}
.sfll-eq .sfll-eq-body .sfll-nx-body{display:block;padding:2.226cqw 2.968cqw;}
.sfll-eq .sfll-eq-body .sfll-nx-row{display:flex;align-items:center;gap:2.597cqw;}
.sfll-eq .sfll-eq-body .sfll-nx-day{font-weight:700;font-size:14.839cqw;line-height:0.9;}
.sfll-eq .sfll-eq-body .sfll-nx-meta{display:block;min-width:0;}
.sfll-eq .sfll-eq-body .sfll-nx-month{display:block;font-weight:700;font-size:5.935cqw;line-height:1;text-transform:uppercase;}
.sfll-eq .sfll-eq-body .sfll-nx-when{display:block;font-weight:500;font-size:4.155cqw;line-height:1.1;margin-top:0.742cqw;letter-spacing:0.06em;text-transform:uppercase;white-space:nowrap;}
.sfll-eq .sfll-eq-body .sfll-nx-title{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:500;font-size:4.6cqw;line-height:1.15;margin-top:1.855cqw;}
.sfll-eq .sfll-eq-body .sfll-nx-empty{margin:0;}
.sfll-eq.sfll-eq--plate-only:not([href]) .sfll-eq-plate .elementor-heading-title{background:var(--e-global-color-accent);border-top-color:color-mix(in srgb,var(--e-global-color-secondary) 30%,var(--e-global-color-accent));color:var(--e-global-color-secondary) !important;font-size:max(13px,calc(var(--u)*4.9)) !important;}
.sfll-eq.sfll-eq--plate-only:not([href]) .sfll-eq-plate .elementor-heading-title::after{display:block;pointer-events:none;}
.sfll-eq.sfll-eq--plate-only .sfll-eq-plate .elementor-heading-title a{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;border-radius:inherit;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-decoration:none;}
.sfll-eq.sfll-eq--plate-only .sfll-eq-plate .elementor-heading-title a:hover{color:var(--e-global-color-secondary);}
.sfll-eq.sfll-eq--plate-only .sfll-eq-plate .elementor-heading-title a:focus-visible{outline:3px solid var(--e-global-color-secondary);outline-offset:-6px;}

/* SFLL Home hero cards trim (Mark 2026-10-24). Appended; no existing rule edited. Scoped to Home container 0f3da32 only, so hub, Board, Registration and Alerts cards keep the shared sizes.
   Banner (.sfll-t-header) 44.211cqw x 0.8 = 35.369cqw. Red bar (.sfll-t-plate) 24.211cqw x 0.8 = 19.369cqw. The card stays 5:7, so the cream body absorbs the freed height.
   Alerts panel and Next Event tile are flex-centered in the body area below the heading line; the Locations body text is not matched by :has() and stays where it was. */
.elementor-element-0f3da32 .sfll-ticket .e-con.sfll-t-header{height:35.369cqw;}
.elementor-element-0f3da32 .sfll-ticket .elementor-widget.sfll-t-plate{height:19.369cqw;}
.elementor-element-0f3da32 .sfll-ticket .e-con.sfll-t-bodybox:has(.sfll-alert-panel,.sfll-nx){padding-bottom:0;}
.elementor-element-0f3da32 .sfll-ticket .e-con.sfll-t-bodybox:has(.sfll-alert-panel,.sfll-nx) .elementor-widget.sfll-t-heading .elementor-heading-title{margin-bottom:0;}
.elementor-element-0f3da32 .sfll-ticket .e-con.sfll-t-bodybox .elementor-widget.sfll-t-body:has(.sfll-alert-panel,.sfll-nx){flex:1 1 0;min-height:0;display:flex;flex-direction:column;justify-content:center;justify-content:safe center;}
.elementor-element-0f3da32 .sfll-ticket .e-con.sfll-t-bodybox .elementor-widget.sfll-t-body .sfll-alert-panel{flex:0 0 auto;margin-top:0;}

/* SFLL Home Locations card body text centered (Mark 2026-10-24). Appended; no existing rule edited. Scoped to Home container 0f3da32, Locations card bd0fb5b only.
   Same body geometry as the Alerts and Calendar cards in the Home hero trim block: no bottom padding, no heading bottom margin, body widget a flex column centering its content between the heading line and the red bar. */
.elementor-element-0f3da32 .elementor-element-bd0fb5b.sfll-ticket .e-con.sfll-t-bodybox{padding-bottom:0;}
.elementor-element-0f3da32 .elementor-element-bd0fb5b.sfll-ticket .e-con.sfll-t-bodybox .elementor-widget.sfll-t-heading .elementor-heading-title{margin-bottom:0;}
.elementor-element-0f3da32 .elementor-element-bd0fb5b.sfll-ticket .e-con.sfll-t-bodybox .elementor-widget.sfll-t-body{flex:1 1 0;min-height:0;display:flex;flex-direction:column;justify-content:center;justify-content:safe center;}
.elementor-element-0f3da32 .elementor-element-bd0fb5b.sfll-ticket .e-con.sfll-t-bodybox .elementor-widget.sfll-t-body p{flex:0 0 auto;}

/* SFLL hub-center-panel (Mark, 2026-10-24): hub Alerts (entry 936) and hub Calendar (entry 928) cards ONLY.
   Centers the white preview panel (Latest Alert / Next Event) in the free space between the white heading and the red plate.
   Scope: the Loop Item wrapper class .e-loop-item-ID (output by Elementor for template 821 hub cards; Home cards are not loop items) plus :has(panel), so the empty-state text version is untouched.
   The body widget becomes a column flex box that fills the card from the heading down to the plate top (plate = bottom 3u + height 11.2u = 14.2u); the panel gets margin-block:auto so the free space splits equally above and below.
   flex-shrink 0 on both: nothing shrinks or overflows; when the panel is as tall as the free space the margins resolve to 0. Card size and 5:7 ratio are not touched. Appended; no existing rule edited. */
.e-loop-item-936 .sfll-eq .sfll-eq-body:has(> .sfll-alert-panel),
.e-loop-item-928 .sfll-eq .sfll-eq-body:has(> .sfll-nx){flex:1 0 auto !important;display:flex;flex-direction:column;margin-top:0 !important;margin-bottom:calc(var(--u)*14.2) !important;}
.e-loop-item-936 .sfll-eq .sfll-eq-body > .sfll-alert-panel,
.e-loop-item-928 .sfll-eq .sfll-eq-body > .sfll-nx{flex:none;margin-block:auto !important;}

/* Stage 5 breadcrumbs */
.sfll-breadcrumb .sfll-bc{margin:0;}
.sfll-breadcrumb .sfll-bc-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:baseline;}
.sfll-breadcrumb .sfll-bc-item{margin:0;padding:0;font-family:inherit;font-size:18px;line-height:1.4;letter-spacing:.02em;color:var(--e-global-color-secondary);text-shadow:0 1px 2px var(--e-global-color-cardnavy),0 0 8px var(--e-global-color-cardnavy);}
.sfll-breadcrumb .sfll-bc-item a{color:var(--e-global-color-secondary);font-weight:600;text-decoration:none;}
.sfll-breadcrumb .sfll-bc-item a:hover,.sfll-breadcrumb .sfll-bc-item a:focus-visible{text-decoration:underline;text-underline-offset:3px;}
.sfll-breadcrumb .sfll-bc-item a:focus-visible{outline:2px solid var(--e-global-color-secondary);outline-offset:3px;border-radius:2px;}
.sfll-breadcrumb .sfll-bc-current{font-weight:700;color:var(--e-global-color-secondary);}
.sfll-breadcrumb .sfll-bc-sep{padding:0 .6em;font-weight:600;color:var(--e-global-color-secondary);}
.sfll-breadcrumb-onlight .sfll-bc-item,.sfll-breadcrumb-onlight .sfll-bc-item a,.sfll-breadcrumb-onlight .sfll-bc-current,.sfll-breadcrumb-onlight .sfll-bc-sep{color:var(--e-global-color-text);text-shadow:none;}
.sfll-breadcrumb-onlight .sfll-bc-item a:focus-visible{outline-color:var(--e-global-color-text);}
@media (max-width:767px){.sfll-breadcrumb .sfll-bc-item{font-size:16px;}}

/* Stage 6 batch 1: Contact email wrap (M3, 2026-11-07). The long mailto link in the Email icon box (widget dfd5a9d on /contact/) is unbreakable text 288px wide and pushed the page sideways at 768 to 900px. Lets that one link break anywhere. Nothing else is touched. */
.elementor-element-dfd5a9d .elementor-icon-box-description a[href^="mailto:"]{overflow-wrap:anywhere}

/* SFLL nav active contrast (M8, Mark 2026-11-08). Active, parent and ancestor items in the main header menu: text is White (Kit secondary) instead of Red, 15:1 on Navy instead of 1.99:1. The red underline marker, hover, focus, non-active items, dropdown and mobile menu are untouched. Scoped to the header nav widget 2ef35fa. */
body .elementor-80 .elementor-element.elementor-element-2ef35fa .elementor-nav-menu--main .elementor-item.elementor-item-active,
body .elementor-80 .elementor-element.elementor-element-2ef35fa .elementor-nav-menu--main .current-menu-ancestor > .elementor-item,
body .elementor-80 .elementor-element.elementor-element-2ef35fa .elementor-nav-menu--main .current-menu-parent > .elementor-item { color: var(--e-global-color-secondary); }

/* Hub sections 2026-11-11: section headings; ad and cards follow DOM order at every width (replaces nth-child order rules on hub grids) */
.sfll-hub-grid > .sfll-hub-ad{order:0 !important;}
.sfll-hub-grid > .sfll-mc:nth-child(n+7),.sfll-hub-grid > .sfll-eq-slot:nth-child(n+7){order:0 !important;}
.sfll-hub-grid > .sfll-hub-section-title{flex:0 0 100%;width:100%;max-width:100%;}
.sfll-hub-grid > .sfll-hub-section-title .elementor-heading-title{margin:0;}

/* SFLL ad zones: global style for every sponsor ad (templates SFLL Ad Large/Medium/Small, Mark 2026-11-11). Edit here to restyle all ads. Colors are Kit tokens only. */
.elementor-widget-template:has(.sfll-ad-zone){width:100%;max-width:100%;}
.sfll-ad-col:has(.sfll-ad-zone){gap:0 !important;}
.sfll-ad-zone.e-con{box-sizing:border-box;width:100%;display:flex;flex-direction:column;align-items:center;gap:0;background:var(--e-global-color-altbg);border-radius:16px;padding:48px 32px;margin:56px 0;}
.sfll-ad-zone .elementor-widget.sfll-ad-zone__title{width:100%;margin:0 0 24px;}
.sfll-ad-zone .sfll-ad-zone__title .elementor-heading-title{margin:0;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:28px !important;line-height:1.2 !important;}
.sfll-ad-zone .sfll-ad-slot.e-con{box-sizing:content-box;flex:0 0 auto;width:calc(100% - 18px);margin:0;padding:8px;border:1px solid color-mix(in srgb,var(--e-global-color-bodytext) 30%,var(--e-global-color-secondary));border-radius:8px;background-color:var(--e-global-color-secondary);background-origin:content-box;background-clip:content-box;box-shadow:0 6px 24px color-mix(in srgb,var(--e-global-color-primary) 14%,transparent);overflow:hidden;}
.sfll-ad-zone--large .sfll-ad-slot.e-con{max-width:970px;aspect-ratio:970 / 250;}
.sfll-ad-zone--medium .sfll-ad-slot.e-con{max-width:300px;aspect-ratio:300 / 250;}
.sfll-ad-zone--small .sfll-ad-slot.e-con{max-width:728px;aspect-ratio:728 / 90;}
.elementor-widget-template:has(+ .sfll-ad-link) .sfll-ad-zone.e-con{margin-bottom:0;}
.elementor-widget.sfll-ad-link{width:100%;margin:20px 0 56px;text-align:center;}
.elementor-widget.sfll-ad-link .elementor-widget-container{min-height:44px;display:flex;align-items:center;justify-content:center;}
.elementor-widget.sfll-ad-link .elementor-widget-container p{margin:0;text-align:center;font-family:var(--e-global-typography-text-font-family),sans-serif;font-size:16px;font-weight:600;}
.elementor-widget.sfll-ad-link a{display:inline-flex;align-items:center;min-height:44px;color:var(--e-global-color-accent);font-weight:600;text-decoration:none;}
.elementor-widget.sfll-ad-link a:hover,.elementor-widget.sfll-ad-link a:focus-visible{text-decoration:underline;}
.sfll-sponsor-band.e-con{padding-top:0 !important;padding-bottom:0 !important;}
.sfll-sponsor-band .sfll-sponsor-column.e-con{max-width:1052px !important;}
.sfll-sponsor-band .sfll-ad-zone.e-con{background:transparent;border-radius:0;margin:0;}
@media (max-width:1024px){
.sfll-ad-zone.e-con{padding:36px 24px;margin:40px 0;}
.sfll-ad-zone .elementor-widget.sfll-ad-zone__title{margin-bottom:20px;}
.sfll-ad-zone .sfll-ad-zone__title .elementor-heading-title{font-size:24px !important;}
.elementor-widget.sfll-ad-link{margin-bottom:40px;}
.sfll-sponsor-band .sfll-ad-zone.e-con{margin:0;}
}
@media (max-width:767px){
.sfll-ad-zone.e-con{padding:28px 16px;margin:32px 0;}
.sfll-ad-zone .elementor-widget.sfll-ad-zone__title{margin-bottom:16px;}
.sfll-ad-zone .sfll-ad-zone__title .elementor-heading-title{font-size:clamp(16px,5.1vw,20px) !important;}
.elementor-widget.sfll-ad-link{margin-bottom:32px;}
.sfll-sponsor-band .sfll-ad-zone.e-con{margin:0;}
}/* End custom CSS */