/* USFS Test Session Finder — modern premium, matched to krigorstudio.com:
   Futura PT (Jost web fallback), teal #23B3AC accent, clean white canvas with
   soft depth (light = default) + a refined graphite dark theme. Rounded corners,
   restrained accent, accordion result cards (open card lifts; others recede). */
:root{
  /* LIGHT = default: clean white premium */
  --bg1:#ffffff; --nc:#ffffff; --t1:#0d1a18; --t2:#5a6967; --t3:#677875;
  --b1:rgba(0,0,0,.08); --b2:rgba(0,0,0,.14);
  --c1:#23b3ac; --c2:#0f726e; --ct:#03211e;
  --pageGrad:linear-gradient(180deg,#ffffff 0%,#f7fbfb 100%);
  --green:#177a4b; --blue:#0f726e; --amber:#a8620f; --red:#c0392b;
  --sh:0 1px 2px rgba(20,40,38,.05),0 10px 28px rgba(20,40,38,.06);
  --shO:0 16px 40px rgba(20,40,38,.13);
}
html[data-theme=dark]{
  /* DARK = refined graphite */
  --bg1:#0b100f; --nc:#141c1a; --t1:#eef4f3; --t2:#9fb1ae; --t3:#7e918e;
  --b1:rgba(255,255,255,.09); --b2:rgba(255,255,255,.15);
  --c1:#23b3ac; --c2:#5fd9d0; --ct:#03211e;
  --pageGrad:linear-gradient(180deg,#0e1514 0%,#0a100f 100%);
  --green:#5dba8a; --blue:#5fd9d0; --amber:#d4914a; --red:#e8938a;
  --sh:0 2px 8px rgba(0,0,0,.45);
  --shO:0 18px 44px rgba(0,0,0,.6);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg1)}
body{font-family:'Jost','futura-pt','Futura','Century Gothic',-apple-system,'Segoe UI',sans-serif;color:var(--t1);background:var(--pageGrad);min-height:100vh;-webkit-font-smoothing:antialiased;line-height:1.55}
a{color:var(--c2)}
.wrap{max-width:900px;margin:0 auto;padding:0 20px 64px;position:relative}
/* site bar */
.sitebar{position:relative;display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:0.5px solid var(--b1)}
.sb-brand{font-weight:700;font-size:15px;letter-spacing:1.7px;text-transform:uppercase;color:var(--t1);text-decoration:none;white-space:nowrap;flex-shrink:0}
.sb-nav{display:flex;gap:18px;overflow-x:auto;flex:1;-webkit-overflow-scrolling:touch;scrollbar-width:none;mask-image:linear-gradient(90deg,#000 92%,transparent)}
.sb-nav::-webkit-scrollbar{display:none}
.sb-nav a{font-size:12px;letter-spacing:.9px;text-transform:uppercase;color:var(--t2);text-decoration:none;white-space:nowrap;font-weight:600}
.sb-nav a:hover{color:var(--c2)}
.theme{flex-shrink:0;width:44px;height:44px;border-radius:12px;border:0.5px solid var(--b2);background:var(--nc);color:var(--c2);font-size:17px;cursor:pointer}
/* hamburger (mobile) */
.sb-burger{display:none;flex-direction:column;justify-content:center;gap:4px;width:44px;height:44px;flex-shrink:0;border:0.5px solid var(--b2);border-radius:12px;background:var(--nc);cursor:pointer;padding:0}
.sb-burger span{display:block;width:18px;height:2px;margin:0 auto;background:var(--t1);border-radius:2px;transition:transform .22s ease,opacity .2s ease}
.sitebar.open .sb-burger span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.sitebar.open .sb-burger span:nth-child(2){opacity:0}
.sitebar.open .sb-burger span:nth-child(3){transform:translateY(-6px) rotate(-135deg)}
/* hero */
.hero{text-align:center;padding:50px 10px 40px;margin-bottom:6px}
.hero-logo{display:block;margin:0 auto 20px;height:104px;width:auto;filter:brightness(0)}
html[data-theme=dark] .hero-logo{filter:brightness(0) invert(1)}
.eyebrow{font-size:11px;font-weight:700;letter-spacing:3.4px;text-transform:uppercase;color:var(--c2);margin-bottom:16px}
h1{font-weight:700;font-size:clamp(32px,6.4vw,52px);line-height:1.03;letter-spacing:-.8px}
h1 em{font-style:normal;color:var(--c2)}
.subtitle{font-size:15px;color:var(--t2);font-weight:400;margin-top:14px;letter-spacing:.2px}
.intro{max-width:660px;margin:18px auto 26px;text-align:center;font-size:15px;line-height:1.8;color:var(--t2);font-weight:400}
.intro strong{color:var(--t1);font-weight:600}
/* panel/form */
.panel{background:var(--nc);border:0.5px solid var(--b1);border-radius:18px;padding:22px;margin-bottom:22px;box-shadow:var(--sh)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px}
.grid2.hidden{display:none}
label{display:flex;flex-direction:column;gap:7px;font-size:10px;letter-spacing:1.6px;text-transform:uppercase;color:var(--t2);font-weight:700}
select,input{font-family:inherit;font-size:16px;padding:13px 15px;border:0.5px solid var(--b2);border-radius:11px;background:var(--nc);color:var(--t1);width:100%}
select:focus,input:focus{outline:none;border-color:var(--c1);box-shadow:0 0 0 3px rgba(35,179,172,.16)}
.seg-wrap{display:flex;gap:5px;background:var(--b1);border-radius:13px;padding:5px;margin-bottom:14px}
.seg{flex:1;min-height:46px;border:none;border-radius:9px;background:none;color:var(--t2);font-family:inherit;font-size:12px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;cursor:pointer}
.seg.on{background:var(--c1);color:var(--ct);font-weight:700}
.btn-search{width:100%;padding:17px;border:none;border-radius:12px;background:var(--c1);color:var(--ct);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;font-size:13px;cursor:pointer;box-shadow:0 6px 16px rgba(35,179,172,.22)}
.btn-search:active{transform:translateY(1px)}
/* home-club quick search */
.homeclub{background:var(--nc);border:0.5px solid var(--b1);border-radius:16px;padding:16px 18px;margin-bottom:22px;box-shadow:var(--sh)}
.homeclub>label{margin-bottom:8px}
.ac{position:relative}
.ac>input{font-size:16px;padding:13px 15px;border:0.5px solid var(--b2);border-radius:11px;background:var(--nc);color:var(--t1);width:100%}
.ac-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);list-style:none;margin:0;padding:5px;background:var(--nc);border:0.5px solid var(--b2);border-radius:12px;box-shadow:0 18px 40px rgba(20,40,38,.16);max-height:340px;overflow:auto}
.ac-item{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:11px 12px;border-radius:9px;cursor:pointer}
.ac-item:hover,.ac-item.on{background:var(--b1)}
.ac-nm{font-size:14px;font-weight:600;color:var(--t1)}
.ac-st{font-size:12px;color:var(--t3);white-space:nowrap}
.club-note{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;color:var(--t2)}
.club-note a{font-weight:700;white-space:nowrap}
.results-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 2px 16px}
#text-filter{font-size:14px;padding:11px 16px;border:0.5px solid var(--b2);border-radius:999px;background:var(--nc);color:var(--t1);width:280px;max-width:100%}
.banner{margin:0 0 16px;padding:13px 16px;border:0.5px solid var(--b2);border-left:3px solid var(--amber);background:var(--nc);border-radius:10px;font-size:13px;color:var(--t2);line-height:1.6}
.pages{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;align-items:center;padding:22px 0}
.pages a,.pages .pg-cur,.pages .pg-off,.pages .pg-dots{padding:9px 14px;border-radius:10px;font-size:13px;font-weight:600;text-decoration:none}
.pages a{border:0.5px solid var(--b2);color:var(--t2)}
.pages a:hover{border-color:var(--c1);color:var(--c2)}
.pages .pg-cur{background:var(--c1);color:var(--ct);font-weight:700}
.pages .pg-off{color:var(--t3);opacity:.5}
.count{font-size:13px;color:var(--t2)}
.count strong{font-size:19px;font-weight:700;color:var(--c2)}
/* club cards — accordion */
.results.has-open .club:not([open]){opacity:.55}
.club{background:var(--nc);border:0.5px solid var(--b1);border-radius:15px;margin-bottom:12px;overflow:hidden;box-shadow:var(--sh);transition:opacity .2s ease,border-color .2s ease,box-shadow .25s ease,transform .25s ease}
.club:not([open]):hover{border-color:var(--b2);transform:translateY(-1px)}
.club[open]{border-color:rgba(35,179,172,.5);box-shadow:var(--shO),0 0 0 1px rgba(35,179,172,.2);transform:translateY(-1px)}
.club>summary{list-style:none;cursor:pointer;padding:17px 20px;transition:background .12s ease}
.club>summary::-webkit-details-marker{display:none}
.club-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.club-name{font-size:16px;font-weight:500;color:var(--t1)}
.club-loc{font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--t3);margin-top:4px}
.club-badges{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}
.club-meta{display:flex;align-items:center;gap:16px;font-size:12px;color:var(--t2);margin-top:10px}
.chev{margin-left:auto;width:9px;height:9px;border-right:2px solid var(--t3);border-bottom:2px solid var(--t3);transform:rotate(45deg);transition:transform .25s ease,border-color .2s ease;flex-shrink:0}
.club[open] .chev{transform:rotate(-135deg);border-color:var(--c2)}
.club-body{padding:0 20px 20px;border-top:0.5px solid var(--b1)}
.lbl{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--t3);margin:16px 0 8px}
.ses{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:0.5px solid var(--b1)}
.ses-date{font-size:13px;font-weight:500;color:var(--t1)}
.ses-sub{font-size:11px;color:var(--t2)}
.muted{color:var(--t3);font-size:12px}
.fmt{display:inline-flex;padding:4px 10px;border-radius:999px;font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;border:0.5px solid transparent}
.fmt.v{background:rgba(35,179,172,.10);color:var(--blue);border-color:rgba(35,179,172,.30)}
.fmt.p{background:rgba(23,122,75,.10);color:var(--green);border-color:rgba(23,122,75,.28)}
.fmt.pr{background:rgba(168,98,15,.10);color:var(--amber);border-color:rgba(168,98,15,.28)}
.fmt.ot{background:rgba(124,140,137,.12);color:var(--t2);border-color:var(--b2)}
.badge{display:inline-flex;padding:4px 11px;border-radius:999px;font-size:11px;font-weight:700;background:rgba(23,122,75,.10);color:var(--green);white-space:nowrap}
.badge.soon{background:rgba(168,98,15,.12);color:var(--amber)}
.badge.closed{background:rgba(192,57,43,.10);color:var(--red)}
.ann{margin:10px 0 4px;border:0.5px solid var(--b1);border-radius:12px;background:rgba(127,140,137,.05)}
.ann>summary{list-style:none;cursor:pointer;padding:11px 14px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--c2)}
.ann>summary::-webkit-details-marker{display:none}
.ann[open]>summary{border-bottom:0.5px solid var(--b1)}
.ann-cta{color:var(--t3);font-weight:400;text-transform:none;letter-spacing:0}
.ann[open] .ann-cta{display:none}
.ann>p{padding:0 14px 13px}
.msch{display:block;background:var(--bg1);border:0.5px solid var(--b2);border-radius:12px;padding:13px 15px;margin:8px 0;text-decoration:none}
.msch:hover{border-color:var(--c1)}
.msch .nm{font-size:13px;font-weight:600;color:var(--t1)}
.msch .mt{font-size:11px;color:var(--t2);margin-top:4px}
.msch .cta{font-size:11px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--c2);margin-top:6px}
.info-row{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;margin:8px 0;border:0.5px dashed var(--b2);border-radius:12px;background:none}
.btn-member{display:flex;align-items:center;justify-content:center;width:100%;padding:15px;margin-top:14px;border-radius:12px;background:var(--c1);color:var(--ct);font-weight:700;font-size:12px;letter-spacing:1.3px;text-transform:uppercase;text-decoration:none;box-shadow:0 6px 16px rgba(35,179,172,.22)}
.sk-note{font-size:12px;color:var(--t3);margin:8px 0 12px}
.sk-row{height:62px;border-radius:12px;margin:8px 0;background:linear-gradient(90deg,var(--b1) 25%,var(--b2) 37%,var(--b1) 63%);background-size:400% 100%;animation:sksh 1.4s ease infinite}
@keyframes sksh{0%{background-position:100% 50%}100%{background-position:0 50%}}
.empty{text-align:center;padding:48px 20px;color:var(--t2);background:var(--nc);border:0.5px solid var(--b1);border-radius:16px;box-shadow:var(--sh)}
/* seo */
.divider{height:0.5px;background:var(--b1);margin:44px 0}
.seo h2{font-weight:700;font-size:clamp(22px,3vw,30px);letter-spacing:-.4px;margin:30px 0 10px}
.seo h2 em{font-style:normal;color:var(--c2)}
.seo p{font-size:15px;line-height:1.85;color:var(--t2);font-weight:400;margin-bottom:12px}
.faq details{border-bottom:0.5px solid var(--b1);padding:8px 0}
.faq summary{font-size:15px;font-weight:600;cursor:pointer;padding:9px 0}
.faq p{padding-bottom:12px}
.foot{text-align:center;padding:30px 0 0;margin-top:34px;border-top:0.5px solid var(--b1);font-size:12px;color:var(--t3)}
@media(max-width:620px){
  .grid2{grid-template-columns:1fr}
  .sb-burger{display:flex}
  .theme{margin-left:auto}
  .hero{padding:38px 6px 30px}
  .hero-logo{height:78px;margin-bottom:16px}
  .sb-nav{position:absolute;top:calc(100% + 8px);left:0;right:0;flex:none;flex-direction:column;gap:0;overflow:visible;mask-image:none;background:var(--nc);border:0.5px solid var(--b2);border-radius:14px;padding:6px;box-shadow:0 18px 40px rgba(20,40,38,.18);opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .2s ease,transform .2s ease,visibility .2s;z-index:60}
  .sitebar.open .sb-nav{opacity:1;visibility:visible;transform:none}
  .sb-nav a{padding:13px 12px;font-size:14px;border-radius:9px;min-height:44px;display:flex;align-items:center}
  .sb-nav a:active{background:var(--b1)}
}
@media(prefers-reduced-motion:reduce){
  .sb-burger span,.sb-nav,.club,.chev,.sk-row{transition:none;animation:none}
}
