/* V24: additive vivid art direction and regional tennis directory. */
:root{--lime:#ceff42;--hub-blue:#2051d8;--hub-coral:#ff826b;--hub-mint:#b6f2d3;--hub-ink:#103c32;--hub-line:#c6d5c9}
.hero-image{filter:saturate(1.13) contrast(1.025)}.hero-type{background-color:#064f3e}.brand-strip{background:#d4ff3d}.hero-local-chips span{border-color:#b5f4ca88;color:#e7ffed}.wordmark-dot{color:#17664b}.hero-hub-link{font-size:11px;font-weight:650;letter-spacing:.015em;display:inline-flex;align-items:center;min-height:42px;color:var(--lime);border-bottom:1px solid #cfff4270}.hero-actions{column-gap:19px;row-gap:6px}.desktop-nav{gap:21px}.hub-nav-link{color:#1856ca}.button.lime:focus-visible,.hub-path:focus-visible{outline:3px solid #2866ef;outline-offset:5px}.region-card:hover,.guide-place:hover{border-color:#689f7e}.guide-feature>img,.region-card img{filter:saturate(1.08)}
.tennis-hub{background:#f0f3eb;padding:76px 0 0;scroll-margin-top:105px;border-top:1px solid #d3dfce}.hub-wrap{width:91.4%;max-width:1500px;margin-inline:auto}.hub-intro{display:grid;grid-template-columns:1fr 210px;gap:60px;align-items:end;margin-bottom:35px}.hub-intro .eyebrow{color:#175743;letter-spacing:.17em}.hub-intro h2{font-size:clamp(31px,3.65vw,56px);line-height:1.4;letter-spacing:-.045em;max-width:21em;margin-bottom:19px}.hub-lead{font-size:14px;line-height:1.95;color:#47614f;max-width:56em}.hub-stat{padding-inline-start:24px;border-inline-start:1px solid #b9cdb9;margin-bottom:8px}.hub-stat strong{display:block;font-size:96px;line-height:1;letter-spacing:-.085em;font-weight:800;font-family:Arial,sans-serif;color:#164f3b}.hub-stat strong span{font-size:47px;margin-inline-start:20px;color:#2051d8;display:inline-block;transform:translateY(-20px)}.hub-stat p{font-size:12px;line-height:1.8;margin-top:13px;margin-bottom:10px;color:#254e3e}.hub-stat>span{font-size:9px;letter-spacing:.1em;color:#506652;display:block}
.hub-paths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.hub-path{position:relative;display:flex;flex-direction:column;align-items:flex-start;border-radius:20px;padding:23px 25px 21px;min-height:225px;isolation:isolate;overflow:hidden;box-shadow:0 8px 16px #0d3b2408;transition:transform .25s,box-shadow .25s}.hub-path:hover{transform:translateY(-4px);box-shadow:0 12px 24px #07251822}.hub-path:after{content:'';width:190px;height:190px;border:1px solid currentColor;border-radius:50%;position:absolute;right:-75px;top:-70px;opacity:.18;z-index:-1}.hub-path-1{background:#075941;color:#e9ffe7}.hub-path-2{background:var(--hub-blue);color:white}.hub-path-3{background:var(--hub-coral);color:#232c23}.hub-path-number{font-size:11px;letter-spacing:.16em;opacity:.85}.hub-path>.hub-icon{position:absolute;inset-inline-end:25px;top:19px;width:31px;height:31px}.hub-path b{font-family:Arial,sans-serif;font-size:clamp(40px,4vw,63px);font-weight:850;letter-spacing:-.065em;line-height:1;margin:21px 0 25px;direction:ltr}.hub-path-bottom{display:flex;gap:10px;justify-content:space-between;align-items:center;width:100%;margin-top:auto}.hub-path-bottom strong{font-size:16px;line-height:1.6}.hub-icon{display:inline-block;vertical-align:middle;flex:0 0 20px;width:20px;height:20px}.hub-path-bottom>.hub-icon{width:25px;height:25px}
.hub-directory{padding-top:42px;scroll-margin-top:108px}.hub-directory-title{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:24px}.hub-directory-title h3{font-size:27px;font-weight:650;letter-spacing:-.03em}.hub-directory-title>span{font-size:10px;letter-spacing:.15em;color:#56705b}.hub-tools{margin-bottom:21px}.hub-search-row{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(130px,.7fr) minmax(150px,1fr);gap:18px;align-items:end}.hub-search>span,.hub-area>span{display:block;font-size:11px;font-weight:650;margin-bottom:8px;color:#425e4d}.hub-search>div{display:flex;align-items:center;background:#fff;border:1px solid #bfcec0;border-radius:12px;padding:0 14px;gap:10px}.hub-search input{width:100%;min-width:0;border:0;background:transparent;color:#183b2d;min-height:48px;padding:12px 0;font:inherit;font-size:14px}.hub-search input:focus{outline:none}.hub-search>div:focus-within{outline:2px solid #295fe0;outline-offset:2px}.hub-area select{appearance:auto;width:100%;height:50px;border:1px solid #bfcec0;border-radius:12px;font:inherit;font-size:13px;padding:10px 15px;background:#fff;color:#183b2d}.hub-compare-link{min-height:50px;display:flex;align-items:center;gap:10px;padding:10px 15px;border:1px solid #799d86;border-radius:12px;color:#174b35;font-size:12px;font-weight:650;line-height:1.6;background:#e8f3e4}.hub-compare-link>span{font-size:24px;line-height:1}.hub-filters{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}.hub-filters button{min-height:40px;border:1px solid #c6d5c9;border-radius:40px;font-size:12px;color:#3e5a46;background:#fafff4;padding:8px 16px;line-height:1.6;transition:background .15s,color .15s}.hub-filters button:hover{border-color:#1a6f51}.hub-filters button[aria-pressed=true]{background:#164d39;color:white;border-color:#164d39}.hub-results-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:17px;font-size:11px;color:#516853}.hub-results-row button{font-size:11px;text-decoration:underline;text-underline-offset:4px;min-height:36px;background:transparent;border:0;color:#365b43}
.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}.hub-card{position:relative;min-width:0;background:#fff;border:1px solid #d0dbcc;border-radius:17px;padding:24px 22px 17px;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s;scroll-margin-top:130px;--card-accent:#116c4c}.hub-card-school{--card-accent:#2051d8}.hub-card-public{--card-accent:#d64d35}.hub-card:before{content:'';height:4px;background:var(--card-accent);position:absolute;top:0;inset-inline:0}.hub-card:hover{border-color:var(--card-accent);box-shadow:0 10px 25px #244d3010;transform:translateY(-2px)}.hub-card.is-selected{border:2px solid #1c6547;padding:23px 21px 16px;background:#f6fff1}.hub-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:18px}.hub-card-top>span{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--card-accent);font-weight:650}.hub-card-top>span .hub-icon{width:23px;height:23px}.hub-select{display:flex;align-items:center;gap:5px;padding:6px 9px;min-height:36px;background:#fff;border:1px solid #d2dace;border-radius:25px;line-height:1.4;font-size:10px;font-weight:600;color:#275e40;max-width:58%}.hub-select .hub-icon{width:15px;height:15px;flex-basis:15px}.hub-select[aria-pressed=true]{color:white;background:#1e684b;border-color:#1e684b}.hub-card h4{font-size:22px;line-height:1.5;letter-spacing:-.02em;color:#183b2c;margin:0 0 6px;font-weight:650;overflow-wrap:anywhere}.hub-other-name{font-size:10px;color:#708070;line-height:1.7;margin-bottom:15px;overflow-wrap:anywhere;text-align:start}.hub-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}.hub-tags span{font-size:9px;padding:4px 7px;line-height:1.5;background:#eff4ed;color:#3d5c47;border-radius:4px}.hub-card-school .hub-tags span{background:#eff3ff;color:#35509a}.hub-card-public .hub-tags span{background:#fff0eb;color:#9b4937}.hub-desc{font-size:12px;line-height:1.9;color:#4a604f;flex-grow:1;margin-bottom:18px}.hub-address{display:flex;align-items:flex-start;gap:7px;font-size:11px;color:#62725f;margin-bottom:18px;line-height:1.7}.hub-address>.hub-icon{width:15px;height:18px;flex-basis:15px}.hub-card-links{display:flex;flex-wrap:wrap;gap:9px 18px;align-items:center;padding:16px 0;border-top:1px solid #e0e8dc}.hub-source,.hub-map{display:inline-flex;gap:7px;align-items:center;line-height:1.6;font-size:11px;font-weight:650;min-height:30px}.hub-source{color:#1b543c}.hub-map{color:#426649}.hub-source .hub-icon,.hub-map .hub-icon{width:14px;height:14px;flex-basis:14px}.hub-card-date{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;font-size:9px;color:#697666;padding-top:5px}.hub-card-date time{font-variant-numeric:tabular-nums}.hub-more-wrap{text-align:center;margin:26px 0}.hub-more-wrap button{min-width:190px}.hub-no-results{padding:36px;border:1px dashed #a9bcaa;border-radius:12px;font-size:14px;line-height:1.9}.hub-editor-note{border-top:1px solid #cedacb;padding-top:17px;color:#5b6c56;font-size:11px;line-height:1.9;margin:0 0 30px}.hub-editor-note p+p{margin-top:5px}
.hub-compare{background:#143d31;color:#f4fce9;border-radius:21px;padding:29px 30px;margin-top:26px;scroll-margin-top:108px}.hub-compare-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}.hub-compare .eyebrow{color:#cffe72;margin-bottom:9px}.hub-compare-head h3{font-size:26px;line-height:1.5;color:#fff;margin:0}.hub-compare-head>span{font-size:11px;flex-shrink:0;border:1px solid #5f8470;border-radius:30px;padding:7px 12px}.hub-compare-empty{font-size:13px;color:#d5e4cd;padding-bottom:15px}.hub-compare-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.hub-compare-item{border:1px solid #6b897855;border-radius:12px;background:#ffffff08;padding:19px;min-width:0}.hub-compare-item h4{font-size:17px;line-height:1.6;color:#fff;margin:8px 0 12px;overflow-wrap:anywhere}.hub-compare-item p{font-size:11px;line-height:1.85;color:#d6e5ce;margin-bottom:12px}.hub-compare-item .hub-tags span{background:#345846;color:#edffcf}.hub-compare-item>a{color:var(--lime);font-size:11px;display:inline-flex;gap:8px;margin:5px 15px 5px 0;line-height:1.6}.hub-compare-item .hub-remove{border:1px solid #789480;background:none;color:#d9efcf;font-size:10px;min-height:32px;border-radius:25px;padding:4px 10px;float:inline-end}.hub-check{border-top:1px solid #5f827354;padding-top:18px;margin-top:18px;font-size:11px;line-height:1.85;color:#d3e4ce;display:flex;gap:18px;align-items:baseline}.hub-check b{white-space:nowrap;color:#d8f1ba;font-weight:600}.hub-compare-actions{display:flex;align-items:center;gap:20px;margin-top:18px}.hub-compare-actions p{font-size:10px;color:#b9d4bf;line-height:1.9;max-width:38em}.hub-compare-actions .button{min-width:205px;flex-shrink:0}.hub-compare-actions .button:disabled{opacity:.4;cursor:not-allowed;transform:none}.hub-compare #hub-copy-status{font-size:12px;color:#ddffad;min-height:20px;margin-top:10px}.hub-compare textarea{width:100%;min-height:180px;font:inherit;font-size:12px;background:#fafff4;color:#193c2d;border:1px solid #b3cdad;border-radius:9px;padding:14px}
.hub-resources{padding:37px 0}.hub-resources h3{font-size:26px;letter-spacing:-.02em;margin-bottom:20px}.hub-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.hub-resource-grid>a{display:flex;align-items:center;gap:15px;padding:20px;border:1px solid #c3d3c1;border-radius:12px;background:#fafff5;transition:background .2s,border-color .2s}.hub-resource-grid>a:hover{background:#e4f4d3;border-color:#6ea78d}.hub-resource-grid strong{font-size:13px;font-weight:600;line-height:1.8}.hub-resource-grid .hub-icon{margin-inline-start:auto;flex-shrink:0;color:#245cc2}.hub-resource-n{font-size:10px;font-weight:650;color:#77906e}
.hub-after{display:grid;grid-template-columns:1.05fr 1fr;margin-top:8px;background:#163e34;border-radius:21px 21px 0 0;color:#ebfff0;overflow:hidden;min-height:340px}.hub-after>div:first-child{padding:37px 40px 41px;position:relative;z-index:1}.hub-after .eyebrow{color:#cfff69}.hub-after h3{color:#fff;font-size:clamp(27px,2.75vw,40px);line-height:1.5;letter-spacing:-.035em;margin-bottom:16px}.hub-after p:not(.eyebrow){font-size:13px;line-height:1.9;max-width:42em;color:#c9e0cf;margin-bottom:20px}.hub-after-art{position:relative;isolation:isolate;overflow:hidden;min-height:340px}.hub-after-art img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:saturate(1.18);z-index:-2}.hub-after-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#123a3388,#07162a22);z-index:-1}.hub-after-words{font-family:Arial,sans-serif;font-size:clamp(40px,4.6vw,72px);font-weight:850;line-height:.99;letter-spacing:-.06em;position:absolute;left:35px;bottom:34px;color:#ecffce;text-shadow:0 2px 25px #062b3790}
.tennis-hub [hidden]{display:none!important}.tennis-hub button:focus-visible,.tennis-hub select:focus-visible,.tennis-hub a:focus-visible{outline:3px solid #426df3;outline-offset:4px}.tennis-hub button,.tennis-hub input,.tennis-hub select{font-family:inherit}.tennis-hub [dir=ltr]{unicode-bidi:isolate}.tennis-hub h2,.tennis-hub h3,.tennis-hub h4{word-break:normal;overflow-wrap:anywhere}
@media(min-width:1151px) and (max-width:1380px){.desktop-nav{gap:14px}.desktop-nav a{font-size:11px}.wordmark{gap:11px}.wordmark-desc{padding-inline-start:10px}.nav-wrap{gap:16px}}
@media(max-width:1150px){.desktop-nav{display:none}.menu-toggle{display:inline-flex}.hub-wrap{width:91.4%}.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-intro{grid-template-columns:1fr 165px;gap:25px}.hub-stat strong{font-size:80px}.hub-stat strong span{font-size:37px;margin-inline-start:12px}.hub-path{padding:22px 20px;min-height:210px}.hub-path b{font-size:49px}.hub-path-bottom strong{font-size:14px}.hub-search-row{grid-template-columns:1.3fr .7fr}.hub-compare-link{grid-column:1/-1;min-height:40px;padding:8px 12px;justify-self:start}.hub-compare-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.tennis-hub{padding-top:43px}.hub-intro{grid-template-columns:1fr;gap:17px;margin-bottom:23px}.hub-intro h2{font-size:33px;margin-bottom:14px;letter-spacing:-.035em}.hub-lead{font-size:12px;line-height:1.95}.hub-stat{border:0;padding:0;display:flex;align-items:center;gap:15px;margin:0}.hub-stat strong{font-size:46px}.hub-stat strong span{font-size:22px;transform:translateY(-8px);margin-inline-start:7px}.hub-stat p{font-size:11px;margin:0;max-width:18em}.hub-stat>span{display:none}.hub-paths{gap:10px}.hub-path{padding:16px 13px;min-height:160px;border-radius:13px}.hub-path-number{font-size:9px}.hub-path>.hub-icon{width:23px;height:23px;inset-inline-end:12px;top:11px}.hub-path b{font-size:31px;letter-spacing:-.065em;margin-top:22px;margin-bottom:17px}.hub-path-bottom strong{font-size:11px;line-height:1.7}.hub-path-bottom>.hub-icon{display:none}.hub-directory{padding-top:29px}.hub-directory-title h3{font-size:22px}.hub-directory-title>span{display:none}.hub-search-row{gap:12px;grid-template-columns:1fr}.hub-compare-link{grid-column:auto}.hub-search>span,.hub-area>span{font-size:10px}.hub-search input{font-size:13px}.hub-filters{gap:7px}.hub-filters button{font-size:11px;padding:7px 12px;min-height:38px}.hub-results-row{font-size:10px;gap:10px}.hub-grid{gap:12px}.hub-card{padding:20px 17px 15px;border-radius:13px}.hub-card.is-selected{padding:19px 16px 14px}.hub-card h4{font-size:19px}.hub-card-top{gap:7px;margin-bottom:14px}.hub-card-top>span{font-size:11px}.hub-select{font-size:9px;padding:6px 7px;gap:3px}.hub-tags span{font-size:9px}.hub-desc{font-size:12px}.hub-card-links{gap:7px 15px}.hub-source,.hub-map{font-size:11px}.hub-card-date{font-size:9px}.hub-editor-note{font-size:10px}.hub-compare{padding:23px 18px;border-radius:15px}.hub-compare-head{display:block}.hub-compare-head h3{font-size:22px}.hub-compare-head>span{display:inline-block;margin-top:14px}.hub-compare-grid{grid-template-columns:1fr}.hub-compare-item{padding:17px}.hub-check{display:block;font-size:11px}.hub-check b{display:block;margin-bottom:7px}.hub-compare-actions{display:block}.hub-compare-actions .button{width:100%;min-width:0}.hub-compare-actions p{margin-top:12px}.hub-resource-grid{grid-template-columns:1fr;gap:10px}.hub-resources{padding-block:29px}.hub-resources h3{font-size:23px}.hub-resource-grid>a{padding:15px}.hub-resource-grid strong{font-size:12px}.hub-after{grid-template-columns:1fr;min-height:0}.hub-after>div:first-child{padding:27px 24px 30px}.hub-after h3{font-size:30px}.hub-after p:not(.eyebrow){font-size:12px}.hub-after-art{min-height:230px}.hub-after-words{font-size:55px;left:24px;bottom:24px}}
@media(max-width:560px){.hub-grid{grid-template-columns:1fr}.hub-intro h2{font-size:30px}.hub-paths{grid-template-columns:1fr}.hub-path{min-height:115px;display:grid;grid-template-columns:1fr 1fr;align-items:center;padding:18px 20px}.hub-path-number{grid-column:1;align-self:start}.hub-path b{grid-column:1;margin:10px 0 0;font-size:43px;grid-row:2}.hub-path-bottom{grid-column:2;grid-row:2;align-self:end;margin-bottom:4px}.hub-path-bottom strong{font-size:13px}.hub-path>.hub-icon{top:16px;inset-inline-end:22px;width:26px;height:26px}.hero-hub-link{font-size:11px}.hub-card-top>span{font-size:12px}.hub-select{font-size:11px}.hub-card h4{font-size:22px}.hub-card-links{justify-content:space-between}}
@media(prefers-reduced-motion:reduce){.hub-path,.hub-card,.hub-resource-grid>a{transition:none}.hub-path:hover,.hub-card:hover{transform:none}}
@media print{.hub-tools,.hub-select,.hub-more-wrap,.hub-compare,.hub-after-art{display:none!important}.hub-grid{display:block}.hub-card{break-inside:avoid;margin-bottom:12px}.hub-card[hidden]{display:flex!important}.hub-path{box-shadow:none}.tennis-hub{background:#fff}.hub-wrap{width:100%}}
.hub-illustration{position:absolute;top:16px;inset-inline-end:17px;background:#103c32dc;color:#efffe9;border:1px solid #e5ffcf80;border-radius:30px;padding:5px 10px;font-size:9px;line-height:1.6}
