:root{--budo-navy:#031827;--budo-blue:#0a84d6;--budo-cyan:#78d9ec;--budo-gold:#d7a83f;--budo-green:#0f9f8f;--budo-red:#b63c36}.budo-shell{width:min(1180px,100% - 2rem);margin-inline:auto}.budo-page{min-width:0}.budo-subnav{z-index:20;margin:-.4rem 0 2rem;position:relative}.budo-subnav>.budo-shell{border:1px solid var(--border);background:var(--surface-solid);box-shadow:var(--shadow);align-items:stretch;display:flex}.budo-subnav-brand{background:var(--budo-navy);color:#fff;flex:none;align-items:center;gap:.65rem;padding:.65rem .9rem;text-decoration:none;display:flex}.budo-subnav-brand span{width:2.25rem;height:2.25rem;color:var(--budo-gold);border:1px solid #ffffff59;place-items:center;font-weight:950;display:grid}.budo-subnav-brand strong{letter-spacing:.05em;font-size:.82rem}.budo-subnav-links{scrollbar-width:thin;min-width:0;display:flex;overflow-x:auto}.budo-subnav-links a{border-left:1px solid var(--border);min-height:3.55rem;color:var(--ink);white-space:nowrap;align-items:center;padding:.7rem .8rem;font-size:.76rem;font-weight:900;text-decoration:none;display:flex}.budo-subnav-links a:hover,.budo-subnav-links a[aria-current=page]{background:color-mix(in srgb,var(--brand) 12%,var(--surface-solid));box-shadow:inset 0 -3px 0 var(--budo-gold);color:var(--brand-dark)}.budo-section{padding-block:clamp(2.5rem,7vw,5.5rem)}.budo-section.is-soft{background:color-mix(in srgb,var(--surface-soft) 82%,transparent);border-block:1px solid var(--border)}.budo-section-head{max-width:54rem;margin-bottom:clamp(1.4rem,4vw,2.6rem)}.budo-eyebrow{color:var(--brand);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .65rem;font-size:.72rem;font-weight:950}.budo-section-head h2,.budo-map-panel h2{color:var(--ink);letter-spacing:-.045em;margin:0;font-size:clamp(2rem,5vw,4rem);font-weight:950;line-height:.98}.budo-section-head>p:not(.budo-eyebrow),.budo-map-panel header>p:not(.budo-eyebrow){color:var(--muted);margin:.9rem 0 0;font-size:1.04rem;line-height:1.75}.budo-actions{flex-wrap:wrap;gap:.75rem;display:flex}.budo-button{letter-spacing:.02em;text-transform:uppercase;border:1px solid #0000;justify-content:center;align-items:center;min-height:3rem;padding:.75rem 1rem;font-size:.82rem;font-weight:950;text-decoration:none;display:inline-flex}.budo-button-primary{background:linear-gradient(135deg,var(--brand),var(--accent));color:#fff}.budo-button-secondary{border-color:var(--border);background:var(--surface-solid);color:var(--brand-dark)}.budo-button:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.budo-feature{border:1px solid var(--border);background:var(--surface-solid);box-shadow:var(--shadow);grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);display:grid}.budo-feature-copy{padding:clamp(1.5rem,5vw,4rem)}.budo-feature-copy h2{letter-spacing:-.05em;margin:0;font-size:clamp(2.2rem,5vw,4.8rem);font-weight:950;line-height:.95}.budo-feature-copy p{color:var(--muted);font-size:1.05rem;line-height:1.8}.budo-feature-aside{background:linear-gradient(145deg,var(--budo-navy),#073b60);color:#fff;align-content:center;gap:1rem;padding:clamp(1.4rem,4vw,3rem);display:grid}.budo-feature-aside strong{font-size:clamp(2rem,4vw,3.8rem);line-height:1}.budo-feature-aside p{color:#cce6f2;line-height:1.7}.budo-principles{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.budo-principle{border:1px solid var(--border);border-top:4px solid var(--budo-gold);background:var(--surface-solid);min-height:15rem;box-shadow:var(--shadow);padding:1.35rem;position:relative}.budo-principle span{color:var(--brand);letter-spacing:.14em;text-transform:uppercase;font-size:.68rem;font-weight:950}.budo-principle h3{margin:2.3rem 0 .65rem;font-size:1.45rem;font-weight:950}.budo-principle p{color:var(--muted);margin:0;line-height:1.7}.budo-stats{border:1px solid var(--border);background:var(--surface-solid);box-shadow:var(--shadow);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.budo-stats article{border-right:1px solid var(--border);border-bottom:1px solid var(--border);min-height:9rem;padding:1.25rem}.budo-stats strong{color:var(--brand-dark);font-size:clamp(2rem,5vw,3.6rem);font-weight:950;line-height:1;display:block}.budo-stats span{color:var(--muted);text-transform:uppercase;margin-top:.65rem;font-size:.76rem;font-weight:900;display:block}.budo-stats.is-compact{grid-template-columns:repeat(4,minmax(0,1fr))}.budo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem;display:grid}.budo-partner-card{border:1px solid var(--border);background:var(--surface-solid);min-height:34rem;box-shadow:var(--shadow);grid-template-rows:13rem 1fr;display:grid;overflow:hidden}.budo-partner-media{border-bottom:1px solid var(--border);background:linear-gradient(145deg,#edf7ff,#fff);place-items:center;display:grid;overflow:hidden}.budo-partner-media img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%;padding:1.1rem}.budo-partner-media span{background:var(--budo-navy);width:5.5rem;height:5.5rem;color:var(--budo-gold);place-items:center;font-size:1.5rem;font-weight:950;display:grid}.budo-partner-body{flex-direction:column;min-width:0;padding:1.25rem;display:flex}.budo-card-meta{color:var(--brand);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:.7rem;font-size:.67rem;font-weight:950;display:flex}.budo-card-meta b{background:var(--surface-soft);color:var(--muted);padding:.35rem .5rem}.budo-card-meta b.is-active{color:#08714d;background:#e5f8f2}.budo-partner-body h3,.budo-event-body h3{letter-spacing:-.025em;margin:.8rem 0 .45rem;font-size:1.42rem;font-weight:950}.budo-location,.budo-event-body>p{color:var(--muted);margin:.25rem 0;line-height:1.55}.budo-chip-list{flex-wrap:wrap;gap:.4rem;margin:1rem 0;padding:0;list-style:none;display:flex}.budo-chip-list li{border:1px solid var(--border);background:var(--surface-muted);color:var(--brand-dark);padding:.33rem .48rem;font-size:.68rem;font-weight:850}.budo-card-foot{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:.75rem;margin-top:auto;padding-top:1rem;display:flex}.budo-card-foot>span{max-width:11rem;color:var(--muted);font-size:.72rem;font-weight:800}.budo-event-list{gap:1rem;display:grid}.budo-event-card{border:1px solid var(--border);background:var(--surface-solid);min-height:15rem;box-shadow:var(--shadow);grid-template-columns:8rem minmax(0,1fr);display:grid}.budo-event-date{background:linear-gradient(155deg,var(--budo-navy),#073b60);color:#fff;align-content:center;justify-items:center;display:grid}.budo-event-date strong{font-size:3.3rem;font-weight:950}.budo-event-date span{color:var(--budo-cyan);text-transform:uppercase;font-size:.8rem;font-weight:950}.budo-event-body{padding:1.2rem}.budo-event-body h3 a{text-decoration:none}.budo-event-time{font-weight:800}.budo-text-link{color:var(--brand);text-transform:uppercase;margin-top:.8rem;font-size:.78rem;font-weight:950;text-decoration:none;display:inline-flex}.budo-empty{border:1px dashed color-mix(in srgb,var(--brand) 35%,var(--border));background:var(--surface-solid);text-align:center;padding:clamp(1.4rem,5vw,3.4rem)}.budo-empty strong{font-size:1.45rem;display:block}.budo-empty p{max-width:45rem;color:var(--muted);margin:.65rem auto 1.2rem;line-height:1.7}.budo-map-panel{border:1px solid var(--border);background:var(--surface-solid);box-shadow:var(--shadow);overflow:hidden}.budo-map-panel>header{border-bottom:1px solid var(--border);padding:clamp(1.2rem,4vw,2.4rem)}.budo-map-layout{grid-template-columns:minmax(0,1fr) minmax(20rem,.36fr);min-height:38rem;display:grid}.budo-map-stage{background:radial-gradient(circle at 50% 45%,#19a8c52e,#0000 45%),linear-gradient(145deg,#031522,#062f4f 55%,#020f1a);place-items:center;min-width:0;padding:clamp(1rem,4vw,3rem);display:grid;position:relative}.budo-map-svg{filter:drop-shadow(0 22px 26px #00000052);width:100%}.budo-map-svg .budo-counties-svg{width:100%;height:auto;display:block}.budo-map-svg .budo-map-county{cursor:pointer;fill:#36566b;stroke:#b9dce8;stroke-width:.7px;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:50%;transition:all .16s}.budo-map-svg .budo-map-county.has-partners{fill:#0a9ebd}.budo-map-svg .budo-map-county:hover,.budo-map-svg .budo-map-county:focus,.budo-map-svg .budo-map-county.is-active{fill:#f1b83c;stroke:#fff4cf;stroke-width:1.8px;filter:drop-shadow(0 0 8px #f1b83c99);outline:none;transform:scale(1.035)}.budo-map-details{border-left:1px solid var(--border);color:#fff;background:#073b60;align-content:start;gap:1rem;padding:1.7rem;display:grid}.budo-map-details [hidden]{display:none!important}.budo-map-details h3{color:#fff;margin:0;font-size:2.4rem}.budo-map-details>p:not(.budo-eyebrow){color:#c3dbe5;line-height:1.6}.budo-map-details dl{border-top:1px solid #ffffff2e;grid-template-columns:1fr 1fr;margin:.4rem 0;display:grid}.budo-map-details dl div{border-bottom:1px solid #ffffff2e;padding:.8rem 0}.budo-map-details dt{color:#a8d3df;text-transform:uppercase;font-size:.65rem;font-weight:900}.budo-map-details dd{margin:.2rem 0 0;font-size:1.45rem;font-weight:950}.budo-map-tooltip{z-index:5;color:#fff;pointer-events:none;background:#02121ff5;border:1px solid #b9dce880;padding:.65rem .8rem;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 12px))}.budo-map-tooltip[hidden]{display:none}.budo-map-tooltip span{color:#7ce0ef;font-size:.72rem;font-weight:850}.budo-county-list{border-top:1px solid var(--border);background:var(--border);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid}.budo-county-list a{background:var(--surface-solid);color:var(--ink);gap:.2rem;padding:.8rem;text-decoration:none;display:grid}.budo-county-list span{color:var(--muted);font-size:.72rem}.budo-filter{border:1px solid var(--border);background:var(--surface-solid);box-shadow:var(--shadow);grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem;padding:1rem;display:grid}.budo-filter label,.budo-form label{color:var(--brand-dark);gap:.4rem;font-size:.76rem;font-weight:900;display:grid}.budo-filter input,.budo-filter select,.budo-form input,.budo-form select,.budo-form textarea{border:1px solid var(--border);background:var(--surface-solid);width:100%;min-height:3rem;color:var(--ink);font:inherit;border-radius:0;padding:.72rem}.budo-form textarea{resize:vertical;min-height:8rem}.budo-filter-actions{align-items:end;gap:.5rem;display:flex}.budo-form{border:1px solid var(--border);background:var(--surface-solid);box-shadow:var(--shadow);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;padding:clamp(1rem,4vw,2rem);display:grid}.budo-form .wide,.budo-form fieldset{grid-column:1/-1}.budo-form fieldset{border:1px solid var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;padding:1rem;display:grid}.budo-form legend{color:var(--brand-dark);padding:0 .4rem;font-size:.82rem;font-weight:950}.budo-form .budo-check{border:1px solid var(--border);background:var(--surface-muted);align-items:flex-start;gap:.6rem;padding:.75rem;line-height:1.5;display:flex}.budo-form .budo-check input{flex:none;width:1.2rem;min-height:1.2rem;margin-top:.1rem}.budo-form-help{color:var(--muted);font-size:.76rem;line-height:1.55}.budo-notice{border-left:5px solid var(--budo-gold);background:var(--surface-solid);box-shadow:var(--shadow);padding:1rem 1.2rem}.budo-notice.is-success{border-color:var(--accent)}.budo-notice.is-error{border-color:var(--budo-red)}.budo-profile-hero{border:1px solid var(--border);background:linear-gradient(145deg,var(--budo-navy),#073b60);box-shadow:var(--shadow);color:#fff;grid-template-columns:20rem minmax(0,1fr);display:grid;overflow:hidden}.budo-profile-logo{background:#fff;place-items:center;min-height:22rem;padding:2rem;display:grid}.budo-profile-logo img{-o-object-fit:contain;object-fit:contain;width:100%;height:100%;max-height:18rem}.budo-profile-logo span{background:var(--budo-navy);width:8rem;height:8rem;color:var(--budo-gold);place-items:center;font-size:2rem;font-weight:950;display:grid}.budo-profile-copy{align-content:center;padding:clamp(1.4rem,5vw,3.5rem);display:grid}.budo-profile-copy h1{color:#fff;letter-spacing:-.05em;margin:.4rem 0;font-size:clamp(2.5rem,6vw,5.4rem);font-weight:950;line-height:.92}.budo-profile-copy p{color:#d2e7f1;line-height:1.7}.budo-verification{border:2px solid var(--budo-gold);background:var(--surface-solid);grid-template-columns:minmax(0,1fr) 14rem;gap:1.2rem;padding:1.3rem;display:grid}.budo-verification h2{margin:0;font-size:2rem}.budo-verification dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.budo-verification dl div{border-left:3px solid var(--brand);background:var(--surface-muted);padding:.7rem}.budo-verification dt{color:var(--muted);text-transform:uppercase;font-size:.67rem;font-weight:900}.budo-verification dd{margin:.25rem 0 0;font-weight:900}.budo-verification img{border:1px solid var(--border);background:#fff;width:100%;height:auto;padding:.5rem}.budo-prose{max-width:52rem}.budo-prose h2{margin-top:2.2rem;font-size:2rem}.budo-prose h3{margin-top:1.6rem;font-size:1.35rem}.budo-prose p,.budo-prose li{color:var(--muted);font-size:1.02rem;line-height:1.85}.budo-prose strong{color:var(--ink)}.budo-comparison{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.budo-comparison article{border:1px solid var(--border);border-top:4px solid var(--brand);background:var(--surface-solid);padding:1.4rem}.budo-comparison h3{margin:0;font-size:1.4rem}.budo-comparison p{color:var(--muted);line-height:1.7}@media (width<=980px){.budo-grid,.budo-principles,.budo-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.budo-feature,.budo-profile-hero{grid-template-columns:1fr}.budo-profile-logo{min-height:16rem}.budo-map-layout{grid-template-columns:1fr;min-height:0}.budo-map-stage{min-height:25rem}.budo-map-details{border-top:1px solid var(--border);border-left:0}.budo-county-list,.budo-filter{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.budo-shell{width:min(100% - 1rem,1180px)}.budo-subnav{margin-top:0}.budo-subnav>.budo-shell{border-inline:0;width:100%}.budo-subnav-brand strong{display:none}.budo-subnav-links a{padding-inline:.65rem}.budo-grid,.budo-principles,.budo-stats,.budo-filter,.budo-comparison{grid-template-columns:1fr}.budo-partner-card{grid-template-rows:11rem 1fr;min-height:31rem}.budo-event-card{grid-template-columns:5rem minmax(0,1fr)}.budo-event-date strong{font-size:2.2rem}.budo-county-list{grid-template-columns:1fr}.budo-map-stage{min-height:20rem;padding:.6rem}.budo-form{grid-template-columns:1fr}.budo-form .wide,.budo-form fieldset{grid-column:1}.budo-form fieldset,.budo-verification,.budo-verification dl{grid-template-columns:1fr}.budo-verification img{max-width:13rem;margin:auto}.budo-actions>.budo-button{width:100%}}.budo-detail-grid{grid-template-columns:minmax(0,1.25fr) minmax(18rem,.75fr);align-items:start;gap:1.25rem;display:grid}.budo-panel{border:1px solid var(--border);background:var(--surface-solid);box-shadow:var(--shadow);padding:clamp(1.2rem,4vw,2rem)}.budo-panel.is-navy{background:linear-gradient(145deg, var(--budo-navy), #073b60);color:#fff;border-color:#17486a}.budo-panel.is-navy h2,.budo-panel.is-navy h3,.budo-panel.is-navy strong{color:#fff}.budo-panel.is-navy p,.budo-panel.is-navy li{color:#cce6f2}.budo-panel h2,.budo-panel h3{margin-top:0}.budo-panel p,.budo-panel li{color:var(--muted);line-height:1.75}.budo-definition-list{background:var(--border);gap:1px;margin:1rem 0 0;display:grid}.budo-definition-list div{background:var(--surface-solid);grid-template-columns:minmax(8rem,.45fr) 1fr;gap:.8rem;padding:.85rem;display:grid}.budo-definition-list dt{color:var(--muted);text-transform:uppercase;font-size:.7rem;font-weight:900}.budo-definition-list dd{overflow-wrap:anywhere;margin:0;font-weight:850}.budo-status-banner{border-left:5px solid var(--budo-green);color:#075d43;background:#e5f8f2;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.2rem;font-weight:900;display:flex}.budo-status-banner.is-inactive{border-color:var(--budo-red);color:#842b28;background:#fff0ef}.budo-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.budo-gallery img{aspect-ratio:4/3;border:1px solid var(--border);background:var(--surface-soft);-o-object-fit:cover;object-fit:cover;width:100%}.budo-instructor-grid,.budo-info-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.budo-instructor-card,.budo-info-card{border:1px solid var(--border);border-top:4px solid var(--budo-gold);background:var(--surface-solid);box-shadow:var(--shadow);padding:1.15rem}.budo-instructor-card img{aspect-ratio:4/3;-o-object-fit:cover;object-fit:cover;width:100%;margin-bottom:1rem}.budo-instructor-card h3,.budo-info-card h3{margin:0 0 .55rem}.budo-instructor-card p,.budo-info-card p{color:var(--muted);line-height:1.7}.budo-form-section-title{border-bottom:3px solid var(--budo-gold);color:var(--ink);grid-column:1/-1;margin:.8rem 0 0;padding-bottom:.65rem;font-size:1.35rem;font-weight:950}.budo-form .budo-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.budo-form input[type=file]{padding:.55rem}.budo-form input:focus,.budo-form select:focus,.budo-form textarea:focus{outline:3px solid color-mix(in srgb, var(--brand) 24%, transparent);border-color:var(--brand)}.budo-campaign-card{border:1px solid var(--border);background:var(--surface-solid);box-shadow:var(--shadow);grid-template-columns:9rem minmax(0,1fr);display:grid}.budo-campaign-year{background:var(--budo-navy);color:var(--budo-gold);place-items:center;font-size:2rem;font-weight:950;display:grid}.budo-campaign-body{padding:1.25rem}.budo-campaign-body h2{margin:0 0 .5rem}.budo-campaign-body p{color:var(--muted);line-height:1.7}.budo-year-list{flex-wrap:wrap;gap:.6rem;margin-bottom:1.5rem;display:flex}.budo-year-list a{border:1px solid var(--border);background:var(--surface-solid);padding:.65rem .8rem;font-weight:900;text-decoration:none}.budo-year-list a[aria-current=page]{border-color:var(--brand);background:var(--brand);color:#fff}@media (width<=900px){.budo-detail-grid{grid-template-columns:1fr}.budo-instructor-grid,.budo-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.budo-definition-list div,.budo-gallery,.budo-instructor-grid,.budo-info-grid,.budo-campaign-card{grid-template-columns:1fr}.budo-campaign-year{min-height:6rem}.budo-status-banner{flex-direction:column;align-items:flex-start}}
