@font-face{font-family:Inter;src:url('../fonts/InterVariable.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap}
:root {
    --ink: #191e24;
    --muted: #4b555f;
    --accent: #3d5268;
    --green: var(--accent);
    --green-hover: #293e52;
    --green-soft: #e9eff4;
    --mint: #d9e6ef;
    --paper: #fff;
    --line: #d3d9de;
    --surface: #f5f8fa;
    --surface-blue: #e6eef4;
    --surface-radius: 12px;
    --section-space: clamp(30px, 4vw, 58px);
    --peach: #f9e6d9;
    --lavender: #e9e5f7;
    --radius: 8px;
}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{padding:0;background:var(--paper);color:var(--ink);font-family:Inter,'Segoe UI',Arial,sans-serif;font-size:15px;line-height:1.65}
.site-frame{min-width:0}


::selection{background:var(--mint);color:var(--ink)}
.shell{width:min(1180px,calc(100% - 80px))}
h1,h2,h3,h4{color:var(--ink);font-family:inherit;font-weight:750;letter-spacing:-.045em;line-height:1.12}
h1{font-weight:820}h2{font-size:29px}h3{font-size:19px}p{color:var(--muted)}
a{color:var(--green);text-underline-offset:4px}a:hover{color:var(--green-hover)}
:focus-visible{outline:3px solid var(--accent)!important;outline-offset:3px}
.button{min-height:44px;border-radius:6px;padding:11px 18px;gap:10px;font-size:13px;font-weight:650;line-height:1.35;box-shadow:none;transition:background-color .15s ease}
.button:hover{transform:none;box-shadow:none;filter:none;text-decoration:none}
.button-primary,.button-dark{background:var(--green);color:white;border-color:var(--green)}
.button-primary:hover,.button-dark:hover{background:var(--green-hover);border-color:var(--green-hover);color:white}
.button-outline{background:transparent;border-color:#cbd3ce;color:var(--ink)}
.button-outline:hover,.button-light{background:var(--green-soft);color:var(--ink)}
.text-link{font-size:13px;color:var(--green);font-weight:650}
.eyebrow{font-size:10px;font-weight:700;letter-spacing:.1em;color:#596565;margin-bottom:16px}
.small-dot{display:none}
.site-header{position:sticky;top:0;z-index:1000;border-bottom:1px solid var(--line);background:var(--paper);backdrop-filter:none}
.header-inner{height:auto;min-height:82px;padding:14px 0;gap:25px}
.brand{font-size:26px;font-weight:800;color:var(--ink);letter-spacing:-1.1px;gap:10px}
.brand:hover{color:var(--ink);text-decoration:none}
.brand-symbol{width:26px;height:26px;flex:none}
.brand-wordmark {
    display: block;
    font-weight: 400;
    white-space: nowrap;
    letter-spacing: -.035em;
}
.brand-wordmark strong {
    display: inline;
    margin: 0;
    font-size: inherit;
    font-weight: 800;
    line-height: inherit;
}
.brand-accent{color:inherit}
.site-footer .brand-symbol{width:23px;height:23px}
.header-inner nav{display:flex;gap:28px;font-size:12px;font-weight:550;align-items:center}
.header-inner nav a{color:var(--ink);padding:6px 0}
.header-inner nav a:hover{color:var(--green)}
.header-inner nav .nav-contribute{padding:6px 0;border:0;background:none;border-radius:0}
.nav-toggle{display:none}
.home-hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:center;gap:30px;padding-block:45px 20px;min-height:0}
.home-hero-copy{max-width:660px}
.home-hero h1{font-size:clamp(40px,4.7vw,63px);font-weight:820;line-height:1.04;letter-spacing:-.065em;margin:0 0 18px}
.home-hero-copy>p{font-size:16px;max-width:610px;line-height:1.6;margin:0 0 13px;color:#485454}
.home-hero-copy .home-reassurance{font-size:11px;color:#6d7775;margin:0}
.editorial-hero-art{display:block;width:100%;height:340px;object-fit:contain;object-position:center bottom}
.discovery-search{display:grid;grid-template-columns:auto minmax(180px,1.4fr) minmax(125px,.8fr) minmax(130px,.8fr) auto;align-items:center;gap:10px;border:1px solid var(--line);padding:13px 15px;border-radius:8px;background:#fff}
.discovery-search>strong{font-size:14px;letter-spacing:-.035em;margin-right:7px}
.discovery-search .field{margin:0;min-width:0}
.field>label,.field legend{color:var(--ink);font-size:12px;font-weight:650;margin-bottom:6px}
.field input:not([type=checkbox]),.field select,.field textarea,.input{width:100%;min-width:0;border:1px solid #c5cdd5;background:#fff;border-radius:5px;padding:10px 12px;min-height:43px;box-shadow:none;color:var(--ink);font-family:inherit;font-size:13px}
.field input::placeholder{color:#58636e}.field small{font-size:11px;line-height:1.5;color:#6a7672}
.field input[type=checkbox]{accent-color:var(--green);width:18px;height:18px}
.discovery-search .button{min-height:43px}
.home-map-section{padding-top:36px}.home-map-section>h2{margin:0 0 18px}
.home-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:30px;align-items:stretch}
.home-map-description{align-self:center;padding-left:26px;border-left:1px solid var(--line)}
.home-map-description p{font-size:13px;line-height:1.6;color:#485554;margin:0 0 18px}
.directory-map{position:relative;min-width:0}
.directory-map.is-collapsed{min-height:55px}

.map-view-controls{position:absolute;z-index:500;display:flex;gap:5px;top:16px;left:16px}
.map-view-controls button{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:8px 14px;border:1px solid #d5dcd7;border-radius:5px;background:#fff;color:var(--ink);font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 2px 5px #00000008}
.map-view-controls button[aria-pressed=true]{color:#fff;background:var(--green);border-color:var(--green)}
#map-panel{display:block;scroll-margin-top:96px;border:0;border-radius:0;background:transparent;padding:0;margin:0;box-shadow:none}
#map-panel[hidden]{display:none}
.map-area{position:relative;display:grid;place-items:center;aspect-ratio:2.1;height:auto;min-height:0;margin:0;padding:20px;border-radius:0;background:#f8faf9 url('../images/italy-outline.svg') center/contain no-repeat;text-align:center;overflow:hidden}
.map-start{position:absolute;right:18px;bottom:15px;max-width:300px;padding:12px;background:rgba(250,250,247,.94);border:1px solid #e1e7e0;border-radius:5px}
.map-start .map-note{font-size:10px;line-height:1.45;margin:9px 0 0;color:#63726c}
.map-area.loaded{display:block;height:auto;min-height:0;padding:0}
.map-area .map-canvas,.map-area .leaflet-container{width:100%;height:100%!important;min-height:0}
.map-legend{display:flex;justify-content:space-between;align-items:start;gap:18px;flex-wrap:wrap;border:0;border-radius:0;background:transparent;padding:8px 0 0;margin:0;font-size:10px;color:#687571}
.map-legend a{text-decoration:underline}.map-status{font-size:11px;margin:5px 0}.map-status:empty{display:none}
.home-map-layout .map-area,.home-map-layout .map-area.loaded{aspect-ratio:2.1;height:auto;min-height:0}.home-map-layout .map-canvas,.home-map-layout .leaflet-container{height:100%!important;min-height:0}
.home-map-layout .map-view-controls{display:none}
.home-map-layout .map-legend{font-size:9px}
.petrol-map-pin{display:block;position:absolute;width:18px;height:23px;background:var(--green);border:2px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 1px 4px #0003}
.petrol-map-pin::after{content:'';position:absolute;width:5px;height:5px;left:5px;top:5px;border-radius:50%;background:#fff}
.purpose-section{padding-block:35px 30px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}
.section-heading .eyebrow{display:none}.section-heading h2{font-size:28px;margin:0}.section-heading>.muted{font-size:12px}
.purpose-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.purpose-card{position:relative;min-height:0;border:0;border-radius:0;background:transparent!important;padding:0 26px 0 0;box-shadow:none!important;transition:none}
.purpose-card+.purpose-card{border-left:1px solid var(--line);padding-left:26px}
.purpose-card:hover{transform:none;text-decoration:none}
.purpose-illustration{display:grid;place-items:center;width:30px;height:30px;margin:0 0 12px;background:var(--mint);border-radius:6px}
.purpose-together .purpose-illustration{background:var(--peach)}
.purpose-challenge .purpose-illustration{background:var(--lavender)}
.purpose-illustration svg{width:24px;height:24px;fill:none;stroke:var(--green);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.purpose-number{display:none}.purpose-card h3{font-size:19px;letter-spacing:-.035em;margin:0 0 7px}.purpose-card p{font-size:12px;line-height:1.6;max-width:95%;margin:0 0 10px}
.round-arrow{position:static;display:inline-block;border:0;background:none;border-radius:0;width:auto;height:auto;line-height:1;font-size:19px;color:var(--green)}
.featured-section{border:0;background:transparent;padding:10px 0 36px}.featured-section>.shell{border-top:1px solid var(--line);padding-top:23px}
.featured-section .listing-grid,.organization-search .results-grid{display:block}
.featured-section p.muted{font-size:12px;margin:-8px 0 10px}
.organization-card,.organization-results .organization-card{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:17px;align-items:start;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;box-shadow:none;padding:23px 0;overflow:visible;transition:none}
.organization-card:hover,.organization-results .organization-card:hover{transform:none;box-shadow:none}
.directory-logo{width:54px;height:54px;object-fit:contain;border-radius:8px;background:#edf1ed;filter:saturate(.55)}
.directory-monogram{display:grid;place-items:center;background:var(--green-soft);color:var(--green);font-size:16px;font-weight:650;letter-spacing:-.04em;filter:none}
.directory-summary{min-width:0}.directory-title{display:flex;align-items:start;justify-content:space-between;gap:12px}.directory-title h3{margin:0 0 5px;font-size:17px;line-height:1.3;letter-spacing:-.035em;overflow-wrap:anywhere}
.directory-title h3 a{color:var(--ink)}.card-place{font-size:12px;letter-spacing:0;font-weight:450;margin:0 0 8px;color:#65716c}
.tags{gap:5px}.tag,.sport-tags .tag{display:inline-block;border:1px solid var(--line);border-radius:4px;background:var(--green-soft);color:var(--green-hover);padding:3px 8px;font-size:11px;font-weight:500;line-height:1.4}
.organization-card .sport-tags{margin:0 0 6px}.organization-excerpt{font-size:12px;line-height:1.6;margin:8px 0 0;color:#64716c;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.directory-open{align-self:center;white-space:nowrap;font-size:12px;font-weight:650;text-decoration:underline}
.profile-badge.verified{display:inline-flex;align-items:center;gap:5px;white-space:nowrap;background:var(--green-soft);color:var(--green-hover);border:0;border-radius:999px;font-size:10px;font-weight:600;padding:3px 8px}
.featured-section .organization-card{grid-template-columns:38px minmax(0,1fr) auto;padding:14px 0;gap:14px}.featured-section .directory-logo{width:38px;height:38px}.featured-section .organization-excerpt{display:none}.featured-section .directory-title h3{font-size:15px}.featured-section .directory-summary{display:grid;grid-template-columns:minmax(180px,1.3fr) minmax(100px,.7fr) minmax(150px,1fr);align-items:center;gap:12px}.featured-section .card-place,.featured-section .sport-tags{margin:0}
.home-how{display:grid;grid-template-columns:.85fr 1.15fr;gap:75px;border-top:1px solid var(--line);padding-block:40px}.home-how-heading h2{font-size:35px}.home-how-heading p{font-size:14px}.home-how-steps{border:0}.home-how-steps article{padding:14px 0;display:grid;grid-template-columns:35px 1fr;gap:13px;border-bottom:1px solid var(--line)}.step-marker{display:grid;place-items:center;width:29px;height:29px;background:none;border:1px solid var(--line);border-radius:4px;font-size:10px;color:var(--green)}.home-how-steps h3{font-size:16px;margin:2px 0 6px}.home-how-steps p{font-size:12px}
.home-contribute-section{padding-bottom:48px}.contribute-banner{padding:25px 0;margin:0;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;display:flex;gap:30px;justify-content:space-between;align-items:center}.contribute-banner .eyebrow{margin-bottom:8px}.contribute-banner h2{font-size:28px;margin:0 0 9px}.contribute-banner p{font-size:13px}
.page-heading{padding-block:33px 22px}.page-heading h1{font-size:clamp(34px,4vw,48px);letter-spacing:-.06em;margin:0 0 12px}.page-heading p{max-width:760px;font-size:14px}.organization-page-heading .eyebrow,.organization-map-jump{display:none}.organization-page-heading{padding-bottom:17px}.directory-search-top{padding-bottom:24px}.directory-search-top .discovery-search{grid-template-columns:minmax(200px,1fr) minmax(160px,1fr) auto;border:0;background:none;padding:0;gap:12px}
.map-feature{padding:0;margin-block:0 32px;border:0;border-radius:0;background:transparent;box-shadow:none}
.search-layout.organization-search{display:grid;grid-template-columns:235px minmax(0,1fr);gap:36px;align-items:start;padding-bottom:55px}
.organization-search .filter-panel{position:sticky;top:99px;max-height:none;overflow:visible;padding:0 23px 0 0;background:transparent;border:0;border-right:1px solid var(--line);border-radius:0;box-shadow:none}
.filter-heading{border:0;padding:0;margin:0 0 18px}.filter-heading-icon,.filter-heading p{display:none}.filter-heading h2{font-size:21px;margin:0}
.organization-search .filter-fields{display:block}.filter-group{padding:0;margin:0 0 15px;border:0}.filter-group>h3{display:none}.organization-search .field{width:100%;min-width:0;margin:0 0 13px}.organization-search .field input:not([type=checkbox]),.organization-search .field select{width:100%;min-width:0;border:1px solid #cbd4ce;border-radius:4px;background:white;min-height:40px;padding:9px 10px;font-size:12px}.organization-search .field>label{font-size:12px}.organization-search .field small{font-size:10px}
.filter-advanced{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;background:none;margin:16px 0}.filter-advanced summary{display:flex;align-items:center;justify-content:space-between;list-style:none;padding:13px 0;cursor:pointer}.filter-advanced summary::-webkit-details-marker{display:none}.filter-advanced summary strong{font-size:12px}.filter-advanced summary small{display:none}.advanced-chevron{background:none;width:auto;height:auto}.filter-advanced-fields{padding:0;border:0}.filter-checks{display:grid;gap:9px;margin-bottom:13px}.filter-checks label{display:flex;align-items:center;gap:8px;font-size:11px}.filter-checks input{width:17px;height:17px;accent-color:var(--green)}
.filter-actions{display:grid;grid-template-columns:1fr;gap:4px;margin:0}.organization-search .filter-panel .button{width:100%;border-radius:5px;min-height:41px;padding:10px;font-size:12px;margin:0}.filter-actions .button-outline{border:0;background:none;text-decoration:underline;box-shadow:none;color:var(--muted)}.filter-help{font-size:10px;color:#768078}.organization-results{min-width:0;scroll-margin-top:96px}.organization-results .results-heading{padding:0;margin:0 0 5px;border:0}.results-heading .eyebrow{display:none}.organization-results .results-heading h2{font-size:24px;margin:0}.pagination-links{gap:7px}.pagination-links a{border:1px solid var(--line);background:transparent;border-radius:4px;padding:6px 11px}.pagination-links a[aria-current=page]{background:var(--green);color:#fff}
.organization-page{padding-top:25px}.organization-back{font-size:12px;margin-bottom:20px}.organization-hero{display:grid;grid-template-columns:90px minmax(0,1fr);gap:22px;padding:12px 0 27px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:none;min-height:0;margin-bottom:25px}.organization-logo{width:84px;height:84px;background:#f0f3ef;border:1px solid var(--line);border-radius:8px;padding:8px;box-shadow:none}.organization-hero h1{font-size:clamp(29px,3vw,43px);margin:5px 0 12px}.organization-hero .eyebrow{font-size:11px;margin-bottom:8px}.organization-hero .sport-tags{margin:12px 0 0}.organization-hero .sport-tags .tag{background:var(--green-soft);border:1px solid var(--line);color:var(--green-hover);border-radius:4px;padding:4px 9px;font-size:12px;font-weight:500}.organization-detail-layout{grid-template-columns:minmax(0,1fr) 270px;gap:35px}.organization-main{gap:22px}.organization-main>.panel{padding:0 0 23px;border:0;border-bottom:1px solid var(--line);border-radius:0;box-shadow:none;background:transparent}.organization-main h2{font-size:25px;margin:0 0 16px}.organization-main h3{font-size:18px}.organization-main .message{font-size:15px;line-height:1.8}.organization-actions{top:100px;gap:16px;max-height:calc(100dvh - 120px)}.organization-actions .panel{padding:20px;border:1px solid var(--line);border-radius:6px;box-shadow:none;background:#fff}.organization-actions h2{font-size:19px}.organization-actions h3{font-size:16px}.organization-actions .button{border-radius:5px;white-space:normal}.organization-contact-grid{gap:15px}.organization-contact-grid>div{padding:0 15px 10px 0;border:0;background:none;border-radius:0}.organization-contact-grid h3{font-size:14px}.organization-contact-grid p,.organization-contact-grid a{font-size:13px}.available-supports li{background:#eef2ee;border:1px solid #dde5de;border-radius:4px;padding:5px 9px;font-size:12px}.organization-gallery figure img{border-radius:5px}.organization-sources{font-size:12px}
.panel,.metric,.review-card{border:1px solid var(--line);border-radius:6px;background:#fff;box-shadow:none}.panel{padding:23px}.notice,.editor-note{background:#f3f4ee;border:1px solid #e0e3d5;border-left:3px solid #919a75;border-radius:0;padding:14px 17px;color:#586251;font-size:13px}.notice.success{background:#edf3ef;border-color:#d4e1d8;border-left-color:var(--green);color:#36564a}.empty-state{background:#f2f5f1;border:1px dashed #c5d0c5;border-radius:5px}.legal-copy{padding-bottom:50px}.legal-copy h2{font-size:24px;margin-top:30px}.legal-copy p,.legal-copy li{font-size:14px;line-height:1.8}.form-shell{max-width:790px;padding-bottom:55px}.form-shell fieldset.panel{background:#fafbf8}.form-shell legend{float:none;width:auto;padding:0 7px;font-size:17px;font-weight:700}.login-shell{max-width:460px;padding:25px;border:1px solid var(--line);border-radius:6px;background:white;margin:45px auto 65px}.admin-header{background:#edf1ee;color:var(--ink);border-bottom:1px solid var(--line);padding:18px 0}.admin-header h1{font-size:22px}.admin-nav{gap:15px}.admin-nav a,.admin-nav button{color:var(--green);font-size:12px}.admin-nav button{border-color:#b9c9c1}.admin-content{padding-top:26px}.metric-grid{gap:12px}.metric{padding:18px}.metric strong{font-size:30px}.editor-table{font-size:12px}.editor-table th{background:#f0f3ef;color:#52655d}.editor-table th,.editor-table td{border-color:var(--line)}.editor-section-nav a{background:transparent;border-color:var(--line);border-radius:4px}.editor-table a{text-underline-offset:3px}
.site-footer{background:#f3f6f8;color:var(--ink);border-top:1px solid var(--line);padding-top:33px}.site-footer .brand{font-size:23px;color:var(--ink)}.site-footer p,.site-footer a,.footer-bottom{color:var(--muted)}.site-footer .footer-grid strong{color:var(--ink)}.footer-bottom{border-color:var(--line);font-size:10px}.footer-grid{padding-bottom:26px;gap:30px}
@media(max-width:1000px){.shell{width:calc(100% - 48px)}.header-inner nav{gap:18px}.brand{font-size:24px}.home-hero h1{font-size:47px}.editorial-hero-art{height:290px}.discovery-search{grid-template-columns:1.3fr 1fr 1fr auto}.discovery-search>strong{grid-column:1/-1}.home-map-layout{grid-template-columns:minmax(0,1fr) 190px;gap:23px}.search-layout.organization-search{grid-template-columns:215px minmax(0,1fr);gap:25px}.directory-title{flex-wrap:wrap;gap:5px}.featured-section .directory-summary{grid-template-columns:1fr 1fr}.featured-section .sport-tags{grid-column:1/-1}.organization-detail-layout{grid-template-columns:minmax(0,1fr) 245px;gap:24px}}
@media(max-width:700px){
 body{padding:0}.site-frame{width:100%;border:0;border-radius:0;box-shadow:none}.site-frame>.site-header,.site-frame>.site-footer{border-radius:0}
 .shell{width:calc(100% - 36px)}.header-inner{min-height:68px;flex-wrap:wrap;padding:12px 0;gap:0}.brand{font-size:23px}.brand-symbol{width:24px;height:24px}.nav-toggle{display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--line);border-radius:5px;background:white;color:var(--ink)}.nav-toggle-icon{display:grid;gap:4px}.nav-toggle-icon i{display:block;width:17px;height:2px;background:currentColor}.js .header-inner nav{display:none}.js .header-inner.menu-open nav{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:3px 16px;padding:13px 0 4px}.header-inner nav a{padding:10px 0;border-bottom:1px solid var(--line)}
 .home-hero{grid-template-columns:1fr;gap:13px;padding-block:29px 15px}.home-hero h1{font-size:clamp(38px,10vw,49px)}.home-hero-copy>p{font-size:14px}.home-hero .eyebrow{font-size:9px;margin-bottom:13px}.editorial-hero-art{height:245px;object-position:center;max-width:370px;margin:auto}.discovery-search{grid-template-columns:1fr 1fr;gap:9px;padding:13px}.discovery-search>strong{font-size:14px}.discovery-search>.field:first-of-type{grid-column:1/-1}.discovery-search .button{grid-column:1/-1}.discovery-search .field input,.discovery-search .field select{font-size:12px;min-height:44px;padding:10px}.home-map-section{padding-top:27px}.home-map-section>h2{font-size:25px;margin-bottom:13px}.home-map-layout{grid-template-columns:1fr;gap:14px}.home-map-description{padding-left:0;border:0}.home-map-description p{font-size:12px;margin-bottom:9px}.home-map-layout .map-area,.home-map-layout .map-area.loaded{aspect-ratio:4/3;min-height:0;height:auto}.home-map-layout .map-legend{font-size:9px}.map-start{padding:15px;max-width:290px}.map-start .button{font-size:12px}.map-area{aspect-ratio:4/3;min-height:0;height:auto;padding:15px}.map-area.loaded{aspect-ratio:4/3;height:auto!important;min-height:0}.map-area .map-canvas,.map-area .leaflet-container{height:100%!important;min-height:0}.map-view-controls{top:10px;left:10px}.map-view-controls button{min-height:33px;padding:7px 11px;font-size:11px}.map-legend{gap:4px;font-size:9px}.purpose-section{padding-top:28px;padding-bottom:22px}.section-heading{align-items:start;flex-direction:column;gap:7px;margin-bottom:18px}.section-heading h2{font-size:25px}.purpose-grid{grid-template-columns:1fr;gap:0}.purpose-card,.purpose-card+.purpose-card{padding:15px 0;border:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:32px 1fr 22px;gap:0 13px;align-items:start}.purpose-illustration{grid-row:1/3;margin:0}.purpose-card h3{font-size:17px;grid-column:2;grid-row:1}.purpose-card p{grid-column:2;grid-row:2;margin:0}.round-arrow{grid-column:3;grid-row:1/3;align-self:center}.featured-section{padding-top:0}.featured-section .directory-summary{display:block}.featured-section .directory-title h3{font-size:14px}.featured-section .card-place{font-size:11px;margin:3px 0 5px}.featured-section .directory-open{font-size:11px}.organization-card,.organization-results .organization-card{grid-template-columns:42px minmax(0,1fr);gap:11px;padding:18px 0}.directory-logo{width:42px;height:42px;border-radius:6px}.directory-title h3{font-size:15px}.directory-open{grid-column:2;justify-self:start;margin-top:4px;font-size:12px}.organization-card .organization-excerpt{font-size:11px}.profile-badge.verified{font-size:9px}.featured-section .organization-card{grid-template-columns:34px minmax(0,1fr) auto;gap:10px}.featured-section .directory-logo{width:34px;height:34px}.featured-section .directory-open{grid-column:auto}.home-how{grid-template-columns:1fr;gap:10px;padding-block:30px}.home-how-heading h2{font-size:31px}.home-how-heading p{font-size:13px}.contribute-banner{align-items:start;flex-direction:column;gap:17px}.contribute-banner h2{font-size:25px}.contribute-banner .button{width:100%}.page-heading{padding-block:28px 16px}.page-heading h1{font-size:35px}.page-heading p{font-size:13px}.directory-search-top{padding-bottom:17px}.directory-search-top .discovery-search{grid-template-columns:1fr auto;gap:9px}.directory-search-top .discovery-search>.field:first-of-type{grid-column:1/-1}.directory-search-top .discovery-search .button{grid-column:auto}.map-feature{margin-bottom:24px}.search-layout.organization-search{grid-template-columns:1fr;gap:23px;padding-bottom:40px}.organization-search .filter-panel{position:static;padding:0 0 20px;border:0;border-bottom:1px solid var(--line)}.filter-heading{margin-bottom:14px}.filter-heading h2{font-size:20px}.filter-fields{display:block}.filter-group{margin-bottom:12px}.organization-search .field select,.organization-search .field input:not([type=checkbox]){min-height:43px;font-size:13px}.filter-actions{grid-template-columns:1fr auto;gap:10px}.filter-help{margin:6px 0 0}.organization-results .results-heading h2{font-size:23px}.organization-hero{grid-template-columns:64px minmax(0,1fr);gap:14px;padding-top:5px}.organization-logo{width:64px;height:64px;padding:5px}.organization-hero h1{font-size:27px}.organization-detail-layout{grid-template-columns:1fr;gap:24px}.organization-actions{position:static;max-height:none;overflow:visible}.organization-main h2{font-size:22px}.organization-main .message{font-size:14px}.organization-contact-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:0}.panel{padding:18px}.login-shell{width:calc(100% - 36px);margin-block:30px 45px;padding:20px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.metric{padding:13px}.metric strong{font-size:25px}.admin-header .shell{align-items:start;flex-direction:column;gap:12px}.admin-toolbar{align-items:start;flex-direction:column;gap:13px}.admin-nav{gap:11px}.footer-grid{grid-template-columns:1fr;gap:20px}.footer-bottom{flex-direction:column;gap:6px}
}
/* Compact result navigation: full page links on desktop, sequential controls on mobile. */
#directory-results{scroll-margin-top:90px}
.result-pagination{container-type:inline-size;margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.pagination-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}
.pagination-pages{display:flex;align-items:center;justify-content:center;gap:4px}
.pagination-action,.pagination-number{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;border:1px solid transparent;border-radius:6px;text-decoration:none;font-size:13px;font-weight:600;line-height:1.2;color:var(--ink)}
.pagination-action{padding:10px 14px;border-color:var(--line);background:#fff;white-space:nowrap}
.pagination-number{padding:8px}
.pagination-action:hover,.pagination-number:hover{background:#edf2ef;border-color:#c3d0c9;color:var(--ink);text-decoration:none}
.pagination-number.is-current{background:var(--green);border-color:var(--green);color:#fff}
.pagination-action.is-disabled{background:transparent;color:#717b76;border-color:transparent}
.pagination-gap{display:inline-flex;align-items:center;justify-content:center;width:22px;color:#687571}
.pagination-summary{text-align:center;font-size:12px;line-height:1.6;color:#65716c;margin:12px 0 0}
.pagination-summary>span[aria-hidden]{margin-inline:6px}
.pagination-summary strong{color:var(--ink);font-weight:650}
.result-pagination a:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.pagination-jump{display:none;align-items:center;justify-content:center;gap:10px;margin-top:14px;font-size:12px;color:#485554}
.pagination-jump select{min-height:44px;min-width:64px;padding:8px;border:1px solid var(--line);border-radius:6px;background:white;color:var(--ink);font:inherit}
.pagination-jump .pagination-action{min-width:44px;cursor:pointer}
@container(max-width:560px){.pagination-pages{display:none}.pagination-jump{display:flex}}
@media(max-width:1100px){.pagination-controls{gap:8px}.pagination-number{min-width:36px}.pagination-action{padding-inline:10px}.pagination-gap{width:16px}}
@media(max-width:760px){.pagination-pages{display:none}.pagination-jump{display:flex}.pagination-controls{gap:12px}.pagination-action{min-width:120px;padding-inline:14px}.pagination-summary{margin-top:14px}.result-pagination{padding-top:20px;margin-top:24px}}
.directory-map .directory-view-controls{display:none;position:static;gap:6px}
.js .directory-map .directory-view-controls{display:flex}
.directory-view-controls button{min-height:44px;padding:8px 15px;font-size:13px;box-shadow:none}
.map-feature{scroll-margin-top:96px}
.map-feature #map-panel:not([hidden]){margin-top:14px}
.directory-map [hidden]{display:none}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}


/* Slate mockup. The shared styles above also support organization details and forms. */
.header-inner nav a {
    color: var(--ink);
    font-size: 14px;
    position: relative;
    text-decoration: none;
}
.header-inner nav a:is(:hover, :focus-visible, [aria-current="page"])::after {
    content: "";
    position: absolute;
    inset: auto 0 0;
    border-bottom: 3px solid var(--accent);
    border-radius: 3px;
}
.header-inner nav a[aria-current="page"]::after { border-bottom-color: var(--accent-gold); }
.header-inner nav .nav-account {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding-inline-start: 18px;
    border-inline-start: 1px solid var(--line);
}
.nav-account svg, .search-icon-field svg, .filter-rays, .directory-map-toggle svg, .card-place svg, .directory-monogram svg {
    width: 21px;
    height: 21px;
    flex: none;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.home-hero {
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: 0;
    padding-block: 14px 12px;
}
.home-hero .home-kicker {
    margin-bottom: clamp(22px, 3vw, 41px);
    color: var(--accent);
    font-size: clamp(11px, 1.3vw, 16px);
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}
.home-kicker::after {
    content: "";
    display: block;
    width: 47px;
    height: 3px;
    margin-top: 11px;
    border-radius: 3px;
    background: var(--accent);
}
.home-hero h1 {
    font-size: clamp(45px, 7vw, 96px);
    font-weight: 820;
    letter-spacing: -.053em;
    line-height: .99;
    margin-bottom: 22px;
}
.home-hero h1 span { color: var(--accent-gold); }
.home-hero .home-lead {
    color: var(--ink);
    max-width: 25ch;
    font-size: clamp(17px, 2.3vw, 27px);
    line-height: 1.35;
    letter-spacing: -.025em;
    margin: 0;
}
.editorial-hero-art {
    width: 100%;
    height: auto;
    max-height: 545px;
    object-fit: contain;
    object-position: right bottom;
}

.discovery-search.home-search {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr) auto;
    gap: 0;
    padding: 7px;
    border-color: #aeb9c3;
    box-shadow: 0 3px 9px #191e2412;
}
.home-search .field + .field { border-inline-start: 1px solid var(--line); }
.discovery-search .search-icon-field { position: relative; }
.search-icon-field svg {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--accent);
    pointer-events: none;
}
.discovery-search .search-icon-field :is(input, select) {
    padding-inline-start: 46px;
    min-height: 48px;
    font-size: 15px;
}
.home-search .field :is(input, select) { border-color: transparent; }
.home-search .field select { margin-inline-end: 10px; width: calc(100% - 10px); }
.home-search .button, .directory-search-top .button {
    min-width: 112px;
    min-height: 48px;
    font-size: 15px;
    font-weight: 750;
}

.purpose-section { padding-block: clamp(30px, 4.5vw, 62px) 28px; }
.purpose-section > h2 {
    margin: 0 0 19px;
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 820;
}
.home-discovery {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.04fr);
    gap: clamp(20px, 3vw, 42px);
}
.home-discovery .purpose-grid { display: grid; grid-template-columns: 1fr; }
.home-discovery .purpose-card {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr) 22px;
    gap: clamp(10px, 1.7vw, 25px);
    align-items: center;
    padding: 14px 4px;
    border: 0;
    border-bottom: 1px solid var(--line);
}
.home-discovery .purpose-card:last-child { border-bottom: 0; }
.home-discovery .purpose-card:hover { background: #f5f8fa !important; }
.home-discovery .purpose-illustration {
    width: 48px;
    height: 48px;
    margin: 0;
    background: none;
    grid-area: auto;
}
.home-discovery .purpose-illustration svg { width: 100%; height: 100%; stroke-width: 2.5; }
.home-discovery .purpose-card h3 {
    font-size: clamp(19px, 2.3vw, 26px);
    margin: 0 0 4px;
    font-weight: 800;
}
.home-discovery .purpose-card p { max-width: 33ch; font-size: 14px; line-height: 1.4; margin: 0; }
.home-discovery .round-arrow { grid-area: auto; font-size: 24px; }
.home-map-card {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: 6px;
    align-items: center;
    min-height: 240px;
    background: #e3edf4;
    border-radius: 14px;
    padding: 20px;
    color: var(--ink);
}
.home-map-card:hover { background: #d9e7f0; color: var(--ink); text-decoration: none; }
.home-map-card img { display: block; width: 100%; height: auto; max-height: 250px; object-fit: contain; }
.home-map-copy { display: grid; gap: clamp(16px, 4vw, 42px); }
.home-map-copy strong {
    max-width: 9ch;
    font-size: clamp(25px, 3.2vw, 43px);
    line-height: 1.02;
    font-weight: 800;
    letter-spacing: -.05em;
}
.home-map-action, .home-report-link a { font-weight: 750; color: var(--accent); text-decoration: underline; }
.home-map-action { font-size: 15px; }
.home-report-link { margin-top: 24px; padding-top: 12px; border-top: 1px solid var(--line); }
.home-report-link a { font-size: 15px; }

.organization-page-heading { padding-block: clamp(30px, 4vw, 56px) 22px; }
.organization-page-heading h1 {
    font-size: clamp(32px, 5vw, 66px);
    margin: 0;
    font-weight: 800;
}
.directory-search-top { padding-bottom: 32px; }
.directory-search-top .discovery-search { grid-template-columns: minmax(0, 1fr) auto; }
.directory-search-top .discovery-search > .field:first-of-type { grid-column: auto; }
.search-layout.organization-search { grid-template-columns: clamp(228px, 26%, 302px) minmax(0, 1fr); gap: clamp(20px, 3vw, 44px); }
.organization-search .filter-panel {
    padding: 20px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fafbfc;
    min-width: 0;
}
.directory-filter-disclosure > summary {
    display: flex;
    align-items: center;
    gap: 7px;
    color: var(--ink);
    font-size: 25px;
    font-weight: 820;
    line-height: 1.2;
    letter-spacing: -.045em;
    list-style: none;
    cursor: pointer;
}
.directory-filter-disclosure > summary::-webkit-details-marker { display: none; }
.directory-filter-disclosure > summary::after,
.filter-advanced .advanced-chevron {
    content: "";
    display: block;
    margin-left: auto;
    width: 8px;
    height: 8px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
}
.directory-filter-disclosure[open] > summary::after,
.filter-advanced[open] .advanced-chevron { transform: rotate(225deg); }
.directory-filter-disclosure:not([open]) > summary { margin-bottom: 0; }
.organization-search .field label { font-size: 13px; font-weight: 730; }
.organization-search .field :is(input:not([type=checkbox]), select) {
    border-color: #aeb9c3;
    min-height: 44px;
    font-size: 13px;
}
.organization-search .field small { color: var(--muted); }
.organization-search .filter-advanced { margin: 18px 0; }
.filter-advanced summary strong { font-size: 13px; }
.organization-search .filter-panel .button { min-height: 44px; font-size: 13px; font-weight: 750; }
.organization-results .results-heading {
    min-height: 62px;
    margin: 0;
    border-bottom: 1px solid var(--line);
    padding-block: 7px 14px;
}
.organization-results .results-heading h2 { font-size: clamp(22px, 3vw, 33px); font-weight: 810; }
.directory-map-toggle {
    display: none;
    align-items: center;
    gap: 8px;
    border: 1px solid transparent;
    border-radius: 7px;
    background: var(--green-soft);
    color: var(--ink);
    padding: 9px 13px;
    min-height: 44px;
    font-size: 14px;
    font-weight: 750;
    cursor: pointer;
}
.js .directory-map-toggle { display: inline-flex; }
.directory-map-toggle svg { color: var(--accent); }
.directory-map-toggle:hover { border-color: var(--accent); }
.directory-map-toggle[aria-expanded="true"] { background: var(--accent); color: #fff; }
.directory-map-toggle[aria-expanded="true"] svg { color: #fff; }
.organization-results .map-feature { margin: 0; }
.organization-results #map-panel:not([hidden]) { margin-block: 12px 20px; }
.organization-results #map-panel [hidden] { display: none; }
.organization-results .map-area { border-radius: 8px; }
.organization-results .map-area.loaded { aspect-ratio: 1.6; background: #e9eff4; }
.organization-results .leaflet-popup-content section + section {
    border-top: 1px solid var(--line);
    margin-top: 14px;
    padding-top: 14px;
}
.organization-results .leaflet-popup-content p { margin-block: 7px; }
.map-popup-sports { list-style: none; padding: 0; margin: 8px 0; }
.map-popup-sports .tag { overflow-wrap: anywhere; max-width: 100%; }
.organization-results .empty-state { margin-top: 20px; background: #f5f8fa; }

.organization-results .organization-card {
    grid-template-columns: clamp(64px, 8vw, 104px) minmax(0, 1fr);
    gap: 3px clamp(12px, 2.5vw, 30px);
    padding-block: clamp(20px, 3vw, 33px);
}
.organization-results .directory-logo {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    grid-row: 1 / span 2;
    background: #e3edf4;
    filter: none;
}
.organization-results .directory-monogram {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 3px;
    color: var(--ink);
    font-size: clamp(19px, 3vw, 31px);
    font-weight: 820;
    line-height: 1;
}
.directory-monogram svg { color: var(--accent); width: 43%; height: auto; }
.featured-section .directory-monogram svg { display: none; }
.organization-results .directory-title h3 { font-size: clamp(18px, 2.5vw, 28px); font-weight: 800; }
.organization-results .organization-excerpt { display: none; }
.organization-results .card-place { font-size: 14px; }
.card-place svg { width: 16px; height: 16px; margin-inline-end: 3px; vertical-align: -.17em; }
.organization-results .sport-tags .tag {
    border-color: #8b9aaa;
    background: #fff;
    color: var(--ink);
    font-size: 13px;
    overflow-wrap: anywhere;
}
.organization-results .directory-open {
    grid-column: 2;
    justify-self: start;
    margin-top: 4px;
    font-size: 15px;
    font-weight: 750;
    white-space: normal;
}

@media (max-width: 700px) {
    .header-inner nav .nav-account { border-inline-start: 0; padding-inline-start: 0; }
    .home-hero { grid-template-columns: 1fr; gap: 12px; padding-block: 25px 12px; }
    .home-hero h1 { font-size: clamp(43px, 11vw, 68px); margin-bottom: 14px; }
    .home-hero .home-kicker { margin-bottom: 20px; }
    .editorial-hero-art { max-width: 440px; }
    .discovery-search.home-search { grid-template-columns: minmax(0, 1fr) auto; }
    .home-search .field:first-of-type { border-bottom: 1px solid var(--line); }
    .home-search .field + .field { border: 0; }
    .home-search .button { grid-column: auto; }
    .home-search .button, .directory-search-top .button { min-width: 76px; padding-inline: 12px; }
    .home-discovery { grid-template-columns: 1fr; gap: 15px; }
    .home-map-card { min-height: 190px; padding: 16px 20px; }
    .home-map-card img { max-height: 180px; }
    .home-map-copy strong { font-size: clamp(26px, 6vw, 39px); }
    .directory-search-top { padding-bottom: 18px; }
    .search-layout.organization-search { grid-template-columns: 1fr; gap: 14px; }
    .organization-search .filter-panel { position: static; padding: 14px; }
    .directory-filter-disclosure > summary { font-size: 21px; min-height: 27px; }
    .organization-results .results-heading { gap: 8px; min-height: 57px; }
    .organization-results .map-area.loaded { aspect-ratio: 4 / 3; }
    .organization-results .card-place { font-size: 13px; }
}


/* A tall filter form follows the page scroll so its actions stay reachable. */
.organization-search .filter-panel:has(.filter-advanced[open]) { position: static; }
@media (max-height: 800px) {
    .organization-search .filter-panel { position: static; }
}

/* Project page */
.about-page { padding-block: 26px 64px; }
.about-page h2 { font-size: clamp(27px, 3.5vw, 42px); margin: 0 0 16px; }
.about-page p { margin: 0 0 14px; }
.about-page a:not(.button) { text-decoration: underline; }
.about-page .text-link { font-size: 15px; }
.about-hero, .about-territory {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(24px, 5vw, 72px);
    align-items: center;
}
.about-hero { padding-block: 18px 28px; }
.about-hero .home-kicker {
    color: var(--accent);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .075em;
    margin-bottom: 21px;
}
.about-hero h1 {
    font-size: clamp(39px, 5.7vw, 76px);
    letter-spacing: -.045em;
    line-height: 1.02;
    margin-bottom: 18px;
}
.about-hero h1 span { color: var(--accent); }
.about-hero .about-lead {
    font-size: clamp(17px, 2vw, 24px);
    line-height: 1.42;
    max-width: 36ch;
    margin-bottom: 22px;
}
.about-hero-art {
    display: block;
    width: 100%;
    height: auto;
    max-height: 400px;
    object-fit: contain;
}
.about-benefits, .about-territory, .about-trust {
    padding-block: clamp(27px, 4vw, 52px);
    border-top: 1px solid var(--line);
}
.about-benefits .about-intro { max-width: 74ch; margin-bottom: 24px; }
.about-benefit-grid, .about-contribute-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.about-benefit-grid article {
    padding: clamp(16px, 2.2vw, 27px);
    background: #f2f6f9;
    border: 1px solid #e2e9ef;
    border-radius: 12px;
}
.about-benefit-grid svg {
    width: 40px;
    height: 40px;
    margin-bottom: 12px;
    fill: none;
    stroke: var(--accent);
    stroke-width: 2.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.about-benefit-grid h3, .about-contribute h3 {
    font-size: clamp(19px, 2vw, 23px);
    margin: 0 0 8px;
}
.about-benefit-grid p { margin: 0; }
.about-benefits .about-sources {
    color: var(--muted);
    font-size: 13px;
    margin: 14px 0 0;
}
.about-sources span { padding-inline: 5px; }
.about-territory { grid-template-columns: minmax(0, .73fr) minmax(0, 1.27fr); }
.about-territory-art {
    display: grid;
    place-items: center;
    background: #e3edf4;
    border-radius: 14px;
    padding: 18px;
}
.about-territory-art img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 210px;
    object-fit: contain;
}
.about-trust details { border-bottom: 1px solid var(--line); }
.about-trust summary {
    min-height: 48px;
    padding: 12px 3px;
    color: var(--accent);
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}
.about-trust details p { padding-inline: 19px 10px; max-width: 78ch; }
.about-contribute {
    padding: clamp(18px, 3.5vw, 40px);
    border: 1px solid var(--line);
    background: #f2f6f9;
    border-radius: 14px;
}
.about-contribute-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; }
.about-contribute-grid > div { display: flex; align-items: flex-start; flex-direction: column; }
.about-contribute-grid .button { margin-top: auto; }
@media (max-width: 700px) {
    .about-page { padding-block: 17px 36px; }
    .about-hero, .about-territory, .about-benefit-grid, .about-contribute-grid { grid-template-columns: minmax(0, 1fr); }
    .about-hero { gap: 12px; }
    .about-hero-art { max-height: 250px; }
    .about-benefit-grid { gap: 10px; }
    .about-territory > div:last-child { grid-row: 1; }
    .about-territory-art img { max-height: 150px; }
}

.profile-badge.verified {
    background: #ffd45f;
    color: #352300;
    border: 1px solid #b07810;
    font-weight: 750;
}
.access-dialog { width: min(480px, calc(100% - 32px)); }
.access-dialog::backdrop { background: #191e247a; }
#accessi [data-revoke-id][hidden] { display: none; }
#accessi tbody th { background: transparent; text-transform: none; letter-spacing: normal; font-size: inherit; }

:root {
    --accent-gold: #b07810;
    --accent-gold-ink: #795100;
    --accent-gold-soft: #fff1ce;
    --accent-gold-surface: #fff9eb;
    --accent-gold-line: #e9cd8c;
}
.accent-rays {
    display: inline-block;
    width: .8em;
    height: .8em;
    margin-inline-start: .1em;
    vertical-align: .05em;
    flex: none;
    fill: none;
    stroke: var(--accent-gold);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.home-kicker::after { background: var(--accent-gold); }
.home-how-heading .eyebrow { color: var(--accent-gold-ink); }
.site-frame :is(.text-link, .directory-open, .home-map-action) {
    text-decoration-line: underline;
    text-decoration-color: var(--accent-gold);
    text-underline-offset: .23em;
}
.site-frame :is(a.text-link, .directory-open):is(:hover, :focus-visible) { color: var(--accent-gold-ink); }
.home-map-action {
    align-self: start;
    width: fit-content;
    padding: .35em .65em;
    border-radius: 5px;
    background: var(--accent-gold-soft);
    color: var(--accent-gold-ink);
}
.home-how-steps .step-marker {
    background: var(--accent-gold-soft);
    color: var(--accent-gold-ink);
    border-color: var(--accent-gold-line);
}
.home-contribute-section .contribute-banner { background: var(--accent-gold-surface); padding-inline: clamp(16px, 3vw, 34px); }
.organization-card .directory-open { color: var(--accent-gold-ink); }
.directory-map-toggle[aria-expanded="false"] {
    color: var(--accent-gold-ink);
    background: var(--accent-gold-soft);
    border-color: var(--accent-gold-line);
}
.directory-map-toggle[aria-expanded="false"] svg { color: inherit; }
.directory-map-toggle[aria-expanded="false"]:is(:hover, :focus-visible) { border-color: var(--accent-gold); }
.organization-search .filter-advanced .advanced-chevron { color: var(--accent-gold-ink); }
.organization-actions .panel:first-child {
    background: var(--accent-gold-surface);
    border-top: 3px solid var(--accent-gold);
}
.organization-hero .sport-tags .tag {
    background: var(--accent-gold-soft);
    border-color: var(--accent-gold-line);
    color: var(--accent-gold-ink);
}
.about-benefit-grid svg {
    box-sizing: content-box;
    padding: 7px;
    border-radius: 9px;
    background: var(--accent-gold-soft);
    stroke: var(--accent-gold-ink);
}
.about-trust details[open] > summary { color: var(--accent-gold-ink); }
.about-contribute { background: var(--accent-gold-surface); border-color: var(--accent-gold-line); }
.form-shell:has(#report-help) .page-heading .eyebrow { color: var(--accent-gold-ink); }
.form-shell form:has(#report-help) > .notice,
.legal-copy nav[aria-label="Indice della privacy"] {
    background: var(--accent-gold-surface);
    border-inline-start: 3px solid var(--accent-gold);
}
.legal-copy nav[aria-label="Indice della privacy"] { padding: .65rem 1rem; }
.legal-copy nav[aria-label="Indice della privacy"] p { margin: 0; }
.legal-copy nav[aria-label="Indice della privacy"] a {
    color: var(--accent-gold-ink);
    text-decoration: underline;
    text-underline-offset: .2em;
}
.account-desktop-name { max-inline-size: 11rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-mobile-name { display: none; }
.account-first-name { overflow-wrap: anywhere; }

.featured-track {
    --featured-columns: 1;
    --featured-gap: 14px;
    display: grid;
    position: relative;
    grid-auto-flow: column;
    grid-auto-columns: calc((100% - (var(--featured-columns) - 1) * var(--featured-gap)) / var(--featured-columns));
    gap: var(--featured-gap);
    margin: 0;
    padding: 4px 0 10px;
    list-style: none;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
}
.featured-track > li { display: flex; min-inline-size: 0; scroll-snap-align: start; }
.featured-track:has(+ .featured-controls:not([hidden])) { scrollbar-width: none; }
.featured-section .featured-track .organization-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--line);
    border-radius: var(--surface-radius);
    background: var(--paper, #fff);
}
.featured-section .featured-track .directory-summary { display: block; width: 100%; }
.featured-section .featured-track .directory-title { display: flex; align-items: flex-start; flex-direction: column; gap: 6px; }
.featured-section .featured-track .directory-title h3 { font-size: 16px; overflow-wrap: anywhere; }
.featured-section .featured-track .card-place { margin-block: 6px 9px; }
.featured-section .featured-track .directory-open {
    display: inline-flex;
    align-items: center;
    gap: .25em;
    min-height: 44px;
    margin-top: auto;
    padding-inline: .75rem;
}
.featured-controls { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.featured-controls[hidden] { display: none; }
.featured-controls [aria-disabled="true"] { opacity: .55; cursor: default; }
.featured-controls .button { min-height: 44px; }
.featured-controls .featured-autoplay { margin-inline-end: auto; }
.home-contribute-section .eyebrow::before {
    content: "";
    display: inline-block;
    width: 15px;
    height: 3px;
    margin-inline-end: 8px;
    vertical-align: middle;
    background: var(--accent-gold);
}
.organization-update-note { padding-top: 14px; margin-top: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: .875rem; }
.organization-update-note p { margin-block: 0 6px; }
@media (max-width: 700px) {
    .account-desktop-name { display: none; }
    .account-mobile-name { display: inline; }
}
@media (min-width: 620px) { .featured-track { --featured-columns: 2; } }
@media (min-width: 1024px) { .featured-track { --featured-columns: 4; } }
@media (min-width: 1600px) { .featured-track { --featured-columns: 6; } }

/* Shared surfaces and rhythm for public pages. */
.featured-section {
    padding-block: clamp(24px, 3vw, 42px);
    border-block: 1px solid var(--line);
    background: var(--surface);
}
.featured-section > .shell { border-top: 0; padding-top: 0; }
.featured-section .section-heading { margin-bottom: 12px; }
.featured-section p.muted { font-size: .875rem; margin: 0 0 14px; }
.featured-section .featured-track .organization-card:focus-within { border-color: var(--accent); }
.featured-section .featured-track .directory-open { align-self: flex-start; padding-inline: 0; }
.home-how { border-top: 0; padding-block: var(--section-space); }
.home-map-card,
.about-territory-art { background: var(--surface-blue); border-radius: var(--surface-radius); }
.home-contribute-section .contribute-banner { border-radius: var(--surface-radius); border: 1px solid var(--accent-gold-line); }

.organization-search .filter-panel,
.about-benefit-grid article {
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--surface-radius);
}
.organization-results .directory-logo { background: var(--surface-blue); border-radius: var(--surface-radius); }
.organization-results .sport-tags .tag,
.featured-section .sport-tags .tag {
    background: var(--surface);
    border-color: var(--line);
    color: var(--green-hover);
}
.organization-hero h1 { overflow-wrap: anywhere; }
.organization-hero .sport-tags .tag {
    background: var(--surface-blue);
    border-color: var(--line);
    color: var(--green-hover);
}
.organization-actions .panel { border-radius: var(--surface-radius); }
.organization-main > .organization-intro {
    padding: clamp(18px, 2.7vw, 30px);
    border: 1px solid var(--line);
    border-radius: var(--surface-radius);
    background: var(--surface);
}
.organization-contact-grid > div { min-width: 0; }
.organization-contact-grid .contact-value { overflow-wrap: anywhere; }

.about-benefits, .about-territory, .about-trust { padding-block: var(--section-space); }
.about-benefit-grid svg { width: 28px; height: 28px; }
.about-trust details[open] > summary { text-decoration: underline .12em var(--accent-gold); }
.form-shell > form.panel, .login-shell {
    border-radius: var(--surface-radius);
    background: var(--surface);
}
.form-shell fieldset.panel { border-radius: var(--surface-radius); background: var(--paper); }
.form-shell :is(input:not([type="checkbox"]), select, textarea),
.login-shell input:not([type="hidden"]) { background-color: var(--paper); }
.login-shell { padding: clamp(21px, 3vw, 36px); }
.login-shell .eyebrow { color: var(--accent-gold-ink); }
.login-shell form.panel { padding: 0; border: 0; box-shadow: none; background: transparent; }

@media (max-width: 700px) {
    .featured-section .featured-track .organization-card { padding: 14px 16px; }
    .featured-controls { justify-content: space-between; }
    .featured-controls .featured-autoplay { margin-inline-end: 0; }
    .featured-controls .button { padding-inline: 11px; }
}

/* Give search a clear home on the landing and directory pages. */
.home-masthead, .directory-masthead {
    background: linear-gradient(115deg, #f9f6ee, var(--surface-blue));
    border-bottom: 1px solid var(--line);
}
.home-masthead .home-hero {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    grid-template-areas: "copy illustration" "search illustration";
    gap: 22px clamp(18px, 3vw, 48px);
    align-content: center;
    padding-block: clamp(28px, 4vw, 64px);
}
.home-masthead .home-hero-copy { grid-area: copy; }
.home-masthead .home-hero h1 { font-size: clamp(47px, 6vw, 86px); }
.home-masthead .home-kicker { margin-bottom: 22px; }
.home-masthead .home-lead { max-width: 32ch; font-size: clamp(17px, 1.8vw, 24px); }
.home-masthead .home-search { grid-area: search; align-self: start; margin: 0; background: var(--paper); }
.home-masthead .editorial-hero-art { grid-area: illustration; mix-blend-mode: multiply; }
.purpose-section .home-discovery { grid-template-columns: minmax(0, 1fr); gap: 18px; }
.home-discovery .purpose-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.home-discovery .purpose-card,
.home-discovery .purpose-card:last-child {
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: 12px;
    min-height: 116px;
    padding: 15px;
    border: 1px solid var(--line);
    border-radius: var(--surface-radius);
    background: var(--surface);
}
.home-discovery .purpose-card:hover { border-color: var(--accent); background: var(--surface-blue) !important; }
.home-discovery .purpose-illustration { width: 38px; height: 38px; }
.home-discovery .purpose-card h3 { font-size: clamp(17px, 1.65vw, 22px); }
.home-discovery .home-map-card {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) minmax(0, .52fr);
    padding: 18px clamp(18px, 4vw, 50px);
}
.home-discovery .home-map-copy { gap: 14px; }
.home-discovery .home-map-copy strong { max-width: 19ch; }
.home-discovery .home-map-card img { max-height: 145px; }

.directory-masthead { margin-bottom: clamp(22px, 3vw, 40px); }
.directory-masthead .organization-page-heading { padding-block: clamp(24px, 3.5vw, 48px) 18px; }
.directory-masthead .home-kicker { margin: 0 0 13px; font-size: .8rem; font-weight: 750; text-transform: uppercase; }
.directory-masthead .organization-page-heading h1 { font-size: clamp(32px, 5vw, 60px); }
.directory-masthead .organization-page-heading h1 + p { margin: 10px 0 0; }
.directory-masthead .discovery-search { background: var(--paper); }
.organization-results .results-grid { display: grid; gap: 12px; margin-top: 14px; }
.organization-results .organization-card {
    grid-template-columns: clamp(48px, 5vw, 72px) minmax(0, 1fr);
    padding: clamp(14px, 2.1vw, 24px);
    border: 1px solid var(--line);
    border-radius: var(--surface-radius);
    background: var(--paper);
}
.organization-results .directory-title h3 { font-size: clamp(18px, 2vw, 24px); overflow-wrap: anywhere; }
.organization-page .organization-hero {
    padding: clamp(17px, 3vw, 36px);
    margin-block: 14px 24px;
    border: 1px solid var(--line);
    border-radius: var(--surface-radius);
    background: var(--surface);
}
.about-page .about-hero {
    margin-bottom: var(--section-space);
    padding: clamp(20px, 4vw, 56px);
    border-radius: var(--surface-radius);
    background: linear-gradient(115deg, #f9f6ee, var(--surface-blue));
}
.about-page .about-hero-art { mix-blend-mode: multiply; }

.cookie-consent:not([hidden]) {
    position: fixed;
    z-index: 1050;
    inset: auto 16px 16px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    max-width: 850px;
    max-height: calc(100dvh - 32px);
    overflow: auto;
    margin-inline: auto;
    padding: clamp(14px, 3vw, 24px);
    background: var(--paper);
    border: 1px solid var(--line);
    border-top: 3px solid var(--accent-gold);
    border-radius: var(--surface-radius);
    box-shadow: 0 8px 32px #191e2426;
}
.cookie-consent > div:first-child { flex: 1 1 290px; }
.cookie-consent h2 { font-size: 1.2rem; margin-bottom: 5px; }
.cookie-consent p { margin: 0 0 4px; }
.cookie-consent-actions, .footer-cookie-links { display: flex; flex-wrap: wrap; gap: 8px 12px; }
.cookie-consent-actions .button { flex: 1 1 auto; }
.cookie-preferences-link {
    border: 0;
    background: none;
    color: inherit;
    font: inherit;
    padding: 0;
    text-decoration: underline;
    text-underline-offset: .2em;
}

.admin-header {
    position: relative;
    z-index: 10;
    background: var(--paper);
    padding-block: 10px;
}
.admin-header .shell { flex-direction: row; align-items: center; gap: 10px; }
.admin-header-brand { display: flex; align-items: center; gap: 10px; min-width: 0; }
.admin-header-brand h1 { margin: 0; font-size: 1rem; letter-spacing: -.02em; }
.admin-header-brand h1 span { display: block; color: var(--muted); font-size: .7rem; letter-spacing: 0; margin-top: 3px; }
.admin-header-mark, .dashboard-icon {
    display: grid;
    place-items: center;
    flex: none;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    background: var(--surface-blue);
    color: var(--accent);
}
.admin-header-mark svg, .dashboard-icon svg, .admin-menu summary svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.admin-menu { position: relative; flex: none; }
.admin-menu summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    min-height: 44px;
    padding: 7px 11px;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    color: var(--ink);
    font-weight: 720;
    font-size: .875rem;
    list-style: none;
    cursor: pointer;
}
.admin-menu summary::-webkit-details-marker { display: none; }
.admin-menu[open] summary, .admin-menu summary:hover { background: var(--surface); }
.admin-menu[open] summary svg { transform: rotate(180deg); }
.admin-menu-panel {
    position: absolute;
    inset: calc(100% + 8px) 0 auto auto;
    width: min(310px, calc(100vw - 36px));
    max-height: min(600px, calc(100dvh - 155px));
    overflow: auto;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: var(--surface-radius);
    box-shadow: 0 12px 30px #191e2426;
    background: var(--paper);
}
.admin-menu-panel a, .admin-menu-panel button {
    display: block;
    width: 100%;
    padding: 7px 10px;
    border: 0;
    border-radius: 6px;
    background: none;
    text-align: start;
    text-decoration: none;
    color: var(--ink);
    font: inherit;
    font-size: .875rem;
}
.admin-menu-panel :is(a, button):hover { background: var(--surface); }
.admin-menu-panel a[aria-current="page"] { background: var(--surface-blue); font-weight: 750; }
.admin-menu-panel :focus-visible { outline-offset: -3px; }
.admin-menu-group { margin-top: 5px; padding-top: 5px; border-top: 1px solid var(--line); }
.admin-menu-group p { margin: 0; padding: 3px 10px; font-size: .72rem; font-weight: 750; text-transform: uppercase; letter-spacing: .04em; }
.admin-page-heading { margin-bottom: 24px; }
.admin-page-heading .eyebrow { color: var(--accent-gold-ink); margin-bottom: 6px; }
.admin-page-heading h2 { font-size: clamp(30px, 4vw, 48px); margin: 0 0 8px; overflow-wrap: anywhere; }
.admin-page-heading p { margin: 0; }
.admin-overview { padding-top: clamp(18px, 3vw, 36px); }
.dashboard-hero {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: clamp(18px, 4vw, 42px);
    border-radius: var(--surface-radius);
    background: linear-gradient(115deg, #23364a, var(--accent));
    color: white;
}
.dashboard-hero h2 { margin: 0 0 8px; color: inherit; font-size: clamp(34px, 5vw, 62px); }
.dashboard-hero p { margin: 0; color: #e4edf5; }
.dashboard-hero .dashboard-kicker { margin-bottom: 6px; color: #ffdb88; font-weight: 750; font-size: .75rem; letter-spacing: .08em; text-transform: uppercase; }
.dashboard-hero-count {
    display: grid;
    gap: 4px;
    padding: 12px 18px;
    border-radius: 9px;
    background: #ffffff14;
    border: 1px solid #ffffff43;
    color: white;
    text-decoration: none;
}
.dashboard-hero-count:hover { color: white; background: #ffffff22; }
.dashboard-hero-count:focus-visible { outline-color: #ffdb88 !important; }
.dashboard-hero-count strong { color: #ffdb88; font-size: 2.1rem; line-height: 1.1; }
.dashboard-section { margin-block: clamp(20px, 3.5vw, 34px); }
.dashboard-section h3, .dashboard-panel h3 { margin-bottom: 12px; font-size: 1.3rem; }
.admin-dashboard-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.admin-stat {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: clamp(12px, 2vw, 21px);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--surface);
    color: var(--ink);
    text-decoration: none;
}
.admin-stat strong { color: var(--ink); font-size: clamp(1.7rem, 3vw, 2.45rem); line-height: 1.2; }
.admin-stat span { font-size: .875rem; font-weight: 700; }
.admin-stat:hover { border-color: var(--accent); text-decoration: none; }
.admin-metric-note { margin: 12px 0 0; font-size: .875rem; }
.dashboard-columns { display: grid; grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr); gap: 14px; }
.dashboard-panel { padding: clamp(14px, 2.5vw, 24px); border: 1px solid var(--line); border-radius: var(--surface-radius); }
.dashboard-panel > p { margin: -4px 0 8px; font-size: .875rem; }
.dashboard-queue, .dashboard-shortcuts { list-style: none; padding: 0; margin: 0; }
.dashboard-panel li + li { border-top: 1px solid var(--line); }
.dashboard-panel li a {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    min-height: 44px;
    padding: 10px 2px;
    color: var(--ink);
    text-decoration: none;
}
.dashboard-panel li a:hover { color: var(--accent-gold-ink); }
.dashboard-queue li a { grid-template-columns: minmax(0, 1fr) auto auto; }
.dashboard-queue small { display: block; color: var(--muted); }
.dashboard-queue-count { min-width: 32px; padding: 2px 8px; border-radius: 20px; text-align: center; background: var(--surface-blue); font-weight: 750; }
.dashboard-queue-count[data-open="true"] { color: var(--accent-gold-ink); background: var(--accent-gold-soft); }
.admin-list-filters {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 10px;
    margin-bottom: 20px;
    padding: 14px;
    background: var(--surface);
    border: 1px solid var(--line);
    border-radius: var(--surface-radius);
}
.admin-list-filters .field { flex: 1 1 155px; margin: 0; }
.admin-list-filters .field:first-child { flex-basis: 240px; }
.admin-list-count { margin-bottom: 12px; }
.admin-list-table { border: 1px solid var(--line); border-radius: var(--surface-radius); }
.admin-list-table table { margin: 0; min-width: 590px; }
.admin-list-table tbody th { font-size: inherit; text-transform: none; letter-spacing: normal; background: var(--paper); color: var(--ink); }
.admin-list-table tbody tr:last-child > * { border-bottom: 0; }
.admin-row-action { white-space: nowrap; font-weight: 700; color: var(--accent-gold-ink); }
.admin-empty { padding: 16px; border: 1px dashed var(--line); border-radius: var(--surface-radius); }
.admin-report-status { display: inline-block; padding: 2px 8px; border-radius: 999px; background: var(--surface-blue); white-space: nowrap; }
.admin-report-status[data-status="Pending"] { background: var(--accent-gold-soft); color: var(--accent-gold-ink); }
.admin-report-detail { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; }
.admin-report-message { white-space: pre-wrap; overflow-wrap: anywhere; }
.admin-report-fields { margin-block: 12px; overflow-wrap: anywhere; }
.admin-report-fields dd { margin: 0 0 10px; }
.published-changes-table { table-layout: fixed; }
.published-changes-table th, .published-changes-table td { overflow-wrap: anywhere; vertical-align: top; }
.published-changes-table th:first-child { width: 13%; }
.published-changes-table th:nth-child(2), .published-changes-table th:nth-child(3) { width: 18%; }
.published-changes-table img { display: block; object-fit: contain; margin-bottom: 5px; }
.published-changes-table summary { cursor: pointer; }
.report-linked, .report-extra { margin-bottom: 18px; padding: 14px; border: 1px solid var(--line); border-radius: var(--surface-radius); background: var(--paper); }
.report-linked span, .report-linked strong { display: block; }
.report-linked span { font-size: .875rem; color: var(--muted); }
.report-extra summary { cursor: pointer; font-weight: 700; }
.report-extra[open] summary { margin-bottom: 8px; }
@media (max-width: 720px) {
    .admin-dashboard-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-columns { grid-template-columns: minmax(0, 1fr); }
    .admin-report-detail { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 760px) {
    .home-masthead .home-hero {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "copy" "search" "illustration";
        gap: 16px;
    }
    .home-masthead .home-hero h1 { font-size: clamp(42px, 10vw, 66px); }
    .home-masthead .editorial-hero-art { max-height: 245px; }
    .home-discovery .purpose-grid { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .home-discovery .purpose-card, .home-discovery .purpose-card:last-child { min-height: 0; padding: 12px; }
    .organization-results .organization-card { grid-template-columns: 46px minmax(0, 1fr); gap: 5px 12px; }
}
