@font-face{font-family:"Barlow Condensed";src:url("fonts/barlow-condensed-latin-700-normal.woff2") format("woff2");font-weight:600 700;font-style:normal;font-display:swap}
@font-face{font-family:"Public Sans";src:url("fonts/public-sans-latin-wght-normal.woff2") format("woff2");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"Barlow Fallback";src:local("Arial Narrow"),local("Arial");size-adjust:88%;ascent-override:100%}
:root{color-scheme:light;
  --turf:#1E5A3A; --turf-deep:#164530; --chalk:#FAFAF5; --ink:#17201A; --ink-2:#4A5A4F;
  --line:#D8DDD6; --bib:#EBC53A; --bib-ink:#3A2F05; --paper:#FFFFFF; --wash:#EEF2EC;
  --display:"Barlow Condensed","Barlow Fallback","Arial Narrow",sans-serif;
  --body:"Public Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --step-0:1rem; --step-1:1.25rem; --step-2:1.6rem; --step-3:2.2rem; --step-4:clamp(2.4rem,6vw,4rem);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--chalk);color:var(--ink);font:400 var(--step-0)/1.6 var(--body)}
a{color:var(--turf)}
a:hover{color:var(--turf-deep)}
:focus-visible{outline:3px solid var(--bib);outline-offset:2px}
img,svg{max-width:100%}
.wrap{width:min(1120px,100% - 32px);margin-inline:auto}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:8px;background:var(--paper);padding:8px 12px;z-index:9}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.05;letter-spacing:.005em;margin:0 0 .5em}
h1{font-size:var(--step-4)} h2{font-size:var(--step-3)} h3{font-size:var(--step-2)}
p{margin:0 0 1em;max-width:68ch}
.lede{font-size:var(--step-1);color:var(--ink-2);max-width:60ch}
.muted{color:var(--ink-2)}
.sub{color:var(--ink-2);margin-top:-.25em}

/* Header */
.site-head{background:var(--turf);color:var(--chalk)}
.head-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;color:var(--chalk);text-decoration:none;font:700 1.6rem/1 var(--display)}
.brand:hover{color:var(--chalk)}
.site-head nav{display:flex;gap:4px 18px;flex-wrap:wrap;align-items:center}
.site-head nav a{color:var(--chalk);text-decoration:none;font-weight:500;padding:6px 0}
.site-head nav a:hover{text-decoration:underline;text-underline-offset:4px}
.site-head .nav-cta{background:var(--bib);color:var(--bib-ink);padding:6px 12px;border-radius:4px;font-weight:600}
.site-head .nav-cta:hover{text-decoration:none;filter:brightness(1.05)}
@media (max-width:760px){.site-head nav{gap:2px 14px;padding-bottom:10px;font-size:.95rem}}

/* Hero: the one bold moment — chalk lines on turf */
.hero{position:relative;background:var(--turf);color:var(--chalk);overflow:hidden;border-top:1px solid #ffffff22}
.pitch{position:absolute;inset:0;width:100%;height:100%;color:#ffffff;opacity:.16}
@media (prefers-reduced-motion:no-preference){
  .pitch g>*{stroke-dasharray:1400;stroke-dashoffset:1400;animation:chalk 1.8s ease-out forwards}
  .pitch g>*:nth-child(n+2){animation-delay:.25s}
  .pitch g>*:nth-child(n+4){animation-delay:.5s}
  @keyframes chalk{to{stroke-dashoffset:0}}
}
.hero-inner{position:relative;padding:72px 0 56px}
.hero h1{max-width:16ch;color:var(--chalk)}
.hero .lede{color:#E3EBE4}
.finder{margin:28px 0 20px;max-width:640px}
.finder label{display:block;font-weight:600;margin-bottom:6px}
.finder-row{display:flex;gap:8px;flex-wrap:wrap}
.finder-row input{flex:1 1 240px;min-height:52px;padding:0 14px;font:inherit;font-size:1.05rem;border:2px solid transparent;border-radius:4px;background:var(--paper);color:var(--ink)}
button,.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 20px;border:0;border-radius:4px;background:var(--bib);color:var(--bib-ink);font:600 1rem var(--body);text-decoration:none;cursor:pointer}
button:hover,.btn:hover{filter:brightness(1.06);color:var(--bib-ink)}
.finder-row button{min-height:52px}
.btn-quiet{background:transparent;color:var(--turf);box-shadow:inset 0 0 0 2px var(--turf)}
.btn-quiet:hover{background:var(--turf);color:var(--chalk);filter:none}
.hero-facts{color:#E3EBE4;margin:0}
.hero-facts strong{font:700 1.5rem/1 var(--display);color:var(--chalk)}
.hero-facts span{margin:0 8px;opacity:.6}

.block{padding:48px 0}
.page-head{padding:40px 0 8px}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;gap:4px;padding:14px 0 0;margin:0;font-size:.9rem;color:var(--ink-2)}
.crumbs li+li::before{content:"›";margin-right:4px;color:var(--line)}
.crumbs a{color:var(--ink-2)}

/* City list: looks like a team sheet, not cards */
.city-list{list-style:none;margin:0;padding:0;columns:3 240px;column-gap:32px}
.city-list li{break-inside:avoid;border-bottom:1px solid var(--line)}
.city-list a{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 2px;text-decoration:none;color:var(--ink)}
.city-list a:hover .city-name{color:var(--turf);text-decoration:underline}
.city-name{font:700 1.35rem/1.1 var(--display)}
.city-meta{color:var(--ink-2);font-size:.9rem;white-space:nowrap}
.city-jump a{white-space:nowrap}

.band{background:var(--wash);padding:56px 0;border-block:1px solid var(--line)}
.two-col{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:start}
@media (max-width:820px){.two-col{grid-template-columns:1fr}}
.compare{margin:0;border-left:4px solid var(--turf)}
.compare div{padding:12px 0 12px 18px}
.compare div+div{border-top:1px solid var(--line)}
.compare dt{font:700 1.3rem var(--display)}
.compare dd{margin:0;color:var(--ink-2)}
.text-link{font-weight:600}

.split{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media (max-width:820px){.split{grid-template-columns:1fr}}
.split-card{padding:28px;border:1px solid var(--line);background:var(--paper)}
.split-card.coach{background:var(--turf);color:var(--chalk);border-color:var(--turf)}
.split-card.coach p{color:#E3EBE4}

/* Tables */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);background:var(--paper)}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
thead th{font:700 1.05rem var(--display);letter-spacing:.01em;background:var(--wash);white-space:nowrap}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}
.programs td:first-child a{font-weight:600}
.lv{display:block;color:var(--ink-2);font-size:.85rem}
tr.is-featured{background:#FFF9E0}
.tag-feat{display:inline-block;background:var(--bib);color:var(--bib-ink);font-size:.75rem;font-weight:700;padding:1px 7px;border-radius:3px;vertical-align:2px}
@media (max-width:640px){
  .programs thead{display:none}
  .programs tr{display:block;padding:12px 14px;border-bottom:1px solid var(--line)}
  .programs td{display:block;border:0;padding:2px 0}
}
.filters{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:end;margin-bottom:12px}
.filters label{display:flex;flex-direction:column;font-size:.85rem;font-weight:600;gap:4px}
.filters input[type=search],.filters select{min-height:44px;padding:0 10px;font:inherit;border:1px solid #AEB8B0;border-radius:4px;background:var(--paper);min-width:170px}
.filters .check{flex-direction:row;align-items:center;min-height:44px;gap:8px;font-size:.95rem}
.filters .check input{width:20px;height:20px;accent-color:var(--turf)}
.count{font-weight:600;margin:0 0 8px}
.empty{padding:20px;background:var(--wash)}

/* Listing page */
.kind{color:var(--ink-2);font-weight:500;margin-bottom:.4em}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:24px 0;border-top:3px solid var(--turf)}
.facts div{padding:14px 16px 14px 0;border-bottom:1px solid var(--line)}
.facts dt{font:700 1.1rem var(--display);color:var(--ink-2)}
.facts dd{margin:2px 0 0;font-size:1.05rem}
.src{font-size:.85rem}
.claim{margin:32px 0;padding:24px;background:var(--wash);border-left:4px solid var(--bib)}
.claim h2{font-size:var(--step-2)}
.plain-list{padding-left:1.2em}.plain-list li{margin:6px 0}

.faq details{border-bottom:1px solid var(--line);padding:14px 0;max-width:780px}
.faq summary{cursor:pointer;font-weight:600;font-size:1.08rem}
.faq details p{margin:10px 0 0}

/* Coach + forms */
.ticks{list-style:none;padding:0}
.ticks li{padding:8px 0 8px 30px;position:relative;border-bottom:1px solid var(--line)}
.ticks li::before{content:"";position:absolute;left:4px;top:15px;width:12px;height:7px;border-left:3px solid var(--turf);border-bottom:3px solid var(--turf);transform:rotate(-45deg)}
.buy{padding:28px;background:var(--paper);border:2px solid var(--turf)}
.price{font:700 3.2rem/1 var(--display);margin-bottom:16px}
.price span{display:block;font:400 .95rem var(--body);color:var(--ink-2);margin-top:6px}
.prose{max-width:760px}
.prose h2{font-size:var(--step-2);margin-top:1.4em}.prose h3{font-size:var(--step-1);margin-top:1.2em}
.prose li{margin:4px 0}
.sample{border-top:1px solid var(--line)}
.capture,.claim-form{max-width:760px;padding:28px;background:var(--paper);border:1px solid var(--line)}
.capture label{display:block;font-weight:600;margin-bottom:6px}
.capture input{border:1px solid #AEB8B0}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
@media (max-width:640px){.form-grid{grid-template-columns:1fr}}
.form-grid label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.9rem}
.form-grid .full{grid-column:1/-1}
.form-grid input,.form-grid select,.form-grid textarea{font:inherit;padding:10px;border:1px solid #AEB8B0;border-radius:4px;min-height:44px;background:var(--paper)}
.tiers th[scope=row]{font-weight:600;background:var(--paper)}
.callout{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding:18px 22px;background:var(--wash);border-left:4px solid var(--bib)}
.callout p{margin:0}
.guide-list{list-style:none;padding:0}.guide-list li{padding:16px 0;border-bottom:1px solid var(--line)}
.guide-list a{font:700 1.5rem var(--display)}.guide-list p{margin:4px 0 0;color:var(--ink-2)}

.site-foot{background:var(--ink);color:#D6DDD8;margin-top:56px;padding:48px 0 24px;font-size:.95rem}
.site-foot a{color:#FFFFFF}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px}
@media (max-width:760px){.foot-grid{grid-template-columns:1fr}}
.foot-brand{font:700 1.6rem var(--display);color:#fff}
.foot-h{font-weight:700;color:#fff;margin-bottom:6px}
.site-foot ul{list-style:none;padding:0;margin:0}.site-foot li{margin:6px 0}
.fine{font-size:.85rem;color:#9AA79E;margin-top:28px}
@media print{.site-head nav,.filters,.claim,.site-foot{display:none}}
.prose .table-wrap td{min-width:110px}
.prose .table-wrap td:first-child{min-width:150px}

/* Coach kit: product shown, price visible, one primary action */
.kit-promo{background:var(--bib);color:var(--bib-ink);padding:40px 0}
.kit-promo .btn{background:var(--turf);color:var(--chalk)}
.kit-promo .btn:hover{color:var(--chalk);filter:brightness(1.12)}
.kit-promo .text-link{color:var(--bib-ink)}
.kit-row{display:flex;gap:32px;align-items:center}
.kit-copy{min-width:0;flex:1}
.kit-copy p{max-width:58ch}
.kit-cover img,.kit-cover-lg{display:block;height:auto;box-shadow:0 10px 24px rgba(23,32,26,.28);transform:rotate(-2deg)}
.kit-cover img{width:170px}
.kit-buy{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;margin:4px 0 10px}
.kit-fine{font-size:.88rem;margin:0}
.kit-promo.compact{padding:28px 0;margin:8px 0}
.kit-promo.compact h2{font-size:var(--step-2)}
.kit-promo.compact .kit-cover img{width:120px}
.kit-hero{background:var(--turf);color:var(--chalk);padding:48px 0}
.kit-hero h1{color:var(--chalk)}
.kit-hero .lede{color:#E3EBE4}
.kit-hero .price span{color:#E3EBE4}
.kit-hero .text-link{color:var(--chalk)}
.kit-cover-lg{width:260px;flex:none}
.btn-lg{min-height:56px;padding:0 28px;font-size:1.1rem}
.inside{margin:0}
.inside img{width:100%;max-width:420px;height:auto;border:1px solid var(--line)}
.inside figcaption{color:var(--ink-2);font-size:.9rem;margin-top:6px}
@media (max-width:700px){
  .kit-row{flex-direction:column;align-items:flex-start;gap:20px}
  .kit-cover img{width:130px}
  .kit-cover-lg{width:180px}
}

/* Revenue components */
.is-pending{opacity:.55;cursor:not-allowed}
.small{font-size:.88rem}
.ask{font-weight:600;font-size:.92rem}
.jump-types{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 8px}
.type-group{margin-top:28px}
.group-h{font-size:var(--step-2)}
.listing-actions{display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center;margin-top:8px}
.date-chip{display:inline-block;background:#FFF9E0;border-left:4px solid var(--bib);padding:8px 12px;margin:4px 0 12px}
.inquiry,.alerts{margin:32px 0;padding:24px;background:var(--paper);border:2px solid var(--turf);max-width:760px}
.inquiry h2,.alerts h2{font-size:var(--step-2)}
.inquiry .form-grid textarea{font:inherit}
.alerts{border-color:var(--line);background:var(--wash)}
.alerts-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0 16px}
.alerts-grid label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.9rem}
.alerts-grid input:not([type=checkbox]){font:inherit;padding:10px;border:1px solid #AEB8B0;border-radius:4px;min-height:44px;background:var(--paper)}
.alerts fieldset{grid-column:1/-1;border:0;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 20px}
.alerts legend{font-weight:600;font-size:.9rem;margin-bottom:6px;width:100%}
.alerts .check{flex-direction:row;align-items:center;gap:8px;font-weight:500}
.alerts .check input,.form-grid .check input{width:20px;height:20px;accent-color:var(--turf)}
@media (max-width:640px){.alerts-grid{grid-template-columns:1fr}}
.form-done{padding:14px 16px;background:#E6F2EA;border-left:4px solid var(--turf);font-weight:600}
.owner-bar{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center;justify-content:space-between;margin-top:24px;padding:18px 20px;border:2px dashed #AEB8B0;background:var(--paper)}
.owner-bar p{margin:0;flex:1 1 380px}
.owner-actions{display:flex;flex-wrap:wrap;gap:10px}
.kit-line{margin:24px 0;padding:16px 20px;background:#FFF9E0;border-left:4px solid var(--bib)}
.kit-line p{margin:0 0 6px}
.feat-cards{list-style:none;padding:0;display:grid;gap:10px}
.feat-cards li{padding:12px 14px;background:#FFF9E0;border:1px solid #EADFA8}
.feat-cards a{font-weight:600}
.feat-cards .muted{display:block;font-size:.9rem}
.lead-magnet{margin-top:-1px}
.lead-magnet .capture{max-width:none;border:0;border-bottom:1px solid var(--line);background:var(--wash);padding:28px max(16px,3vw)}
.end-cta{text-align:left}
.sticky-buy{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px max(16px, env(safe-area-inset-left, 0px)) calc(10px + env(safe-area-inset-bottom, 0px));background:var(--ink);color:#fff;box-shadow:0 -6px 18px rgba(0,0,0,.18)}
.sticky-buy[hidden]{display:none}
.sticky-buy .btn{min-height:44px}
.sell-hero{background:var(--turf);color:var(--chalk);padding:48px 0}
.sell-hero h1{color:var(--chalk);max-width:18ch}
.sell-hero .lede{color:#E3EBE4}
.sell-hero .text-link{color:var(--chalk)}
.sell-actions{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center}
.mock-row{display:grid;grid-template-columns:1.2fr 1fr;gap:32px;align-items:start}
@media (max-width:820px){.mock-row{grid-template-columns:1fr}}
.mock{margin:0;min-width:0}.mock figcaption{color:var(--ink-2);font-size:.9rem;margin-top:6px}
.fake-link{color:var(--ink-2)}
.plan-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0 6px}
.extra-offers{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}
.extra-offers>div{padding:20px;border:1px solid var(--line);background:var(--paper)}
.extra-offers h3{font-size:1.35rem}
@media (max-width:760px){.extra-offers{grid-template-columns:1fr}}
.tourney-list{list-style:none;padding:0;margin:0;border-top:1px solid var(--line)}
.tourney{display:grid;grid-template-columns:1.2fr 2fr;gap:8px 24px;padding:16px 0;border-bottom:1px solid var(--line)}
.t-name{font-size:1.3rem;margin:0 0 2px;font-family:var(--display)}
.t-meta{margin:0;color:var(--ink-2);font-size:.92rem}
.t-facts{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:6px 16px;margin:0}
.t-facts dt{font-weight:700;font-size:.82rem;color:var(--ink-2)}
.t-facts dd{margin:0;font-size:.95rem}
@media (max-width:760px){.tourney,.t-facts{grid-template-columns:1fr}}

/* Phone header: brand row plus one scrollable nav row, instead of three stacked rows */
.hero-facts{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px}
.hero-facts li{white-space:nowrap}
.hero{border-top:0}
@media (max-width:760px){
  .head-row{min-height:0;padding-top:10px;gap:6px}
  .brand{font-size:1.4rem}
  .site-head nav{width:100%;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;
    gap:18px;padding:2px 0 10px;font-size:.95rem;white-space:nowrap}
  .site-head nav::-webkit-scrollbar{display:none}
  .site-head nav a{flex:none}
  .site-head .nav-cta{padding:4px 10px}
  .hero-inner{padding:28px 0 28px}
  .hero h1{font-size:2.3rem;max-width:none}
  .hero .lede{font-size:1.05rem;line-height:1.5}
  .finder{margin:18px 0 16px}
  .finder-row button{width:100%}
  .pitch{opacity:.09}
  .hero-facts{font-size:.95rem;gap:4px 16px}
  .hero-facts strong{font-size:1.25rem}
}
@media (max-width:760px){
  .site-head nav{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:36px}
  .block{padding:28px 0}
  .page-head{padding:24px 0 0}
  .page-head .lede{font-size:1.05rem}
  .filters{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}
  .filters label:first-child{grid-column:1/-1}
  .filters input[type=search],.filters select{min-width:0;width:100%}
  .filters .check{grid-column:1/-1;min-height:32px}
  .jump-types{gap:4px 14px;font-size:.95rem}
}
.start-here{padding-block:28px 0}
.start-here h2{font-size:var(--step-2)}
.start-here ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.start-here a{display:block;padding:14px 16px;background:var(--paper);border:1px solid var(--line);border-left:4px solid var(--turf);font-weight:600;text-decoration:none;color:var(--ink)}
.start-here a:hover{color:var(--turf);border-left-color:var(--bib)}
@media (max-width:820px){.start-here ul{grid-template-columns:1fr 1fr}}
@media (max-width:640px){
  .stack thead{display:none}
  .stack tr{display:block;padding:12px 14px;border-bottom:1px solid var(--line)}
  .stack td{display:grid;grid-template-columns:7.5em 1fr;gap:8px;border:0;padding:3px 0}
  .stack td::before{content:attr(data-label);font-weight:700;font-size:.82rem;color:var(--ink-2)}
  .stack td:first-child{display:block;font-size:1.05rem}
  .stack td:first-child::before{content:none}
}
