/* Shadcn-inspired semantic tokens, adapted to WordPress and the readable Field Guide scale. */
:root{
  --background:#fafafa;--foreground:#18181b;--card:#fff;--card-foreground:#18181b;
  --primary:#244b3e;--primary-foreground:#fff;--secondary:#f4f4f5;
  --muted-foreground:#52525b;--border:#e4e4e7;--input:#85858f;--ring:#31745a;
  --paper:var(--background);--white:var(--card);--ink:var(--foreground);--green:var(--primary);
  --muted:var(--muted-foreground);--line:var(--border);--sage:var(--secondary);--sage-deep:#e4e4e7;
  --sand:#f4f4f5;--gold:var(--ring);--serif:var(--sans);--radius:10px;
  scroll-padding-top:2rem;
}
body{background:var(--background);color:var(--foreground);font-size:1.125rem;line-height:1.75}
h1,h2,h3,h4{font-family:var(--sans);font-weight:600;letter-spacing:-.025em;text-wrap:balance}
h1,.hero-copy h1,.base-hero h1,.page-hero h1,.cb-state-hero h1{font-size:clamp(2.25rem,4.4vw,3.5rem);line-height:1.13;letter-spacing:-.04em}
h2,.feature-copy h2{font-size:clamp(1.75rem,3vw,2.5rem);line-height:1.2}
h3,.resource-card h3{font-size:1.375rem;line-height:1.4}
.lead{color:var(--muted-foreground);line-height:1.75}
.container{width:min(1240px,calc(100% - 64px))}
.site-header{background:var(--card);border-color:var(--border)}
.header-inner{min-height:80px}.logo{letter-spacing:-.06em}.logo-symbol{width:30px;height:30px}
.main-nav>a,.cb-menu a{color:var(--muted-foreground);font-weight:500}
.cb-menu a:hover,.cb-menu a[aria-current=page]{color:var(--foreground)}
.header-search{border-radius:8px;border-color:var(--border);background:var(--card)}
.eyebrow,.small-label{color:var(--muted-foreground);letter-spacing:.065em}
.eyebrow:before{display:none}
:is(a,button,input,select,textarea,summary):focus-visible,.cobases-directory :focus-visible{outline:3px solid var(--ring);outline-offset:3px}
.button,.button.small,.search-form .button{border-radius:7px;font-weight:600;border-color:var(--border);box-shadow:0 1px 2px #18181b08}
.button.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-foreground)}
.button.primary:hover{background:#183c30;border-color:#183c30}
.button:not(.primary):hover{background:var(--secondary)}
.text-link{border-bottom:0;text-decoration:underline;text-underline-offset:4px;gap:10px}.text-link:hover{gap:10px}
.home-hero{padding-top:64px;gap:48px}.section{padding-block:64px}
.hero-location,.hero-map-panel,.nv-hero-map,.context-note,.sidebar-box,.review-status,.cb-hub-statuses{
 background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 3px #18181b05;
}
.hero-location,.hero-map-panel{background:var(--secondary)}
.search-form{border-color:var(--input);border-radius:9px;box-shadow:0 1px 3px #18181b08}
.search-form:focus-within{outline:3px solid var(--ring);outline-offset:3px}
.search-form input::placeholder{color:var(--muted-foreground)}
.search-form input:focus-visible{outline:none}
.branch-grid,.base-card,.cb-hub-feature,.cb-region-card,.cb-hub-stats,.resource-card,.quick-facts{border-color:var(--border);border-radius:var(--radius);background:var(--card);box-shadow:0 1px 2px #18181b04}
.branch-mark,.base-card>.branch-mark{background:var(--secondary);color:var(--primary);border-radius:8px}
.base-card:hover{border-color:#a1a1aa;box-shadow:0 2px 5px #18181b08}
.base-card:focus-within{outline-color:var(--ring)}
.base-card .card-bottom,.base-location,.base-subtitle,.breadcrumbs,.breadcrumbs span,.page-toc a,.sidebar-footnote,.base-sidebar .sidebar-footnote,.timeline .year,.source-list li:before{color:var(--muted-foreground)}
.base-card h3,.cb-region-card h3{font-weight:600}.cb-region-card h3,.cb-hub-feature h3{font:600 1.75rem/1.3 var(--sans);letter-spacing:-.025em}
.cb-hub-stats dd{font:600 2.5rem/1.15 var(--sans);letter-spacing:-.04em}
.cb-hub-stats>div+div,.cb-region-card li{border-color:var(--border)}
.cb-hub-statuses{background:var(--secondary)}
.cb-hub-statuses a,.cb-hub-branches a,.pill{border-color:var(--border);border-radius:7px;background:var(--card);font-weight:500}
.pill.active,.pill[aria-current=page]{background:var(--foreground);border-color:var(--foreground);color:var(--card)}
.cb-filter-form{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 1px 3px #18181b05}
.cb-filter-form :is(input,select),.cb-comments input:not([type=checkbox]),.cb-comments textarea{border:1px solid var(--input);border-radius:7px;background:var(--card);color:var(--foreground)}
.cb-pagination a,.cb-pagination span{border-color:var(--border);background:var(--card)}
.cb-pagination .current{background:var(--primary);border-color:var(--primary);color:var(--card)}
.cb-profile-status{background:#eff6f1;border-color:#b8d1c2;color:#244b3e;border-radius:7px}
.cb-profile[data-status=closed] .cb-profile-status,.cb-profile[data-status=realigned] .cb-profile-status{background:var(--secondary);border-color:var(--border);color:var(--muted-foreground)}
.cb-profile[data-status=unknown] .cb-profile-status{background:#fffbeb;border-color:#d6b879;color:#754b12}
.base-hero{padding-bottom:32px}.base-hero .lead{max-width:65ch}.base-image{border-radius:var(--radius)}
.base-layout{grid-template-columns:170px minmax(0,1fr) 260px;gap:32px}
.page-toc{border:1px solid var(--border);border-radius:var(--radius);padding:16px;background:var(--card);top:24px}
.page-toc a{padding:10px 8px;border-radius:6px;line-height:1.5;min-height:44px}
.page-toc a:hover{background:var(--secondary);color:var(--foreground)}
.base-mobile-toc{padding:12px;background:var(--card);border:1px solid var(--border);border-radius:var(--radius)}
.base-mobile-toc a{padding:8px;border-radius:6px}.base-mobile-toc a:hover{background:var(--secondary)}
.sidebar-box h3{font:600 1.5rem/1.3 var(--sans);letter-spacing:-.025em}
.resource-grid{gap:16px}.resource-card{border:1px solid var(--border);padding:24px}
.resource-card h3{font-weight:600}.resource-card>a{font-weight:500;text-decoration:underline;text-underline-offset:4px}
.cobases-directory .cb-fact-sheet{border-color:var(--border);border-radius:var(--radius);box-shadow:0 1px 3px #18181b06}
.cobases-directory .cb-fact-heading{background:var(--secondary);color:var(--foreground);border-bottom:1px solid var(--border)}
.cobases-directory .cb-fact-heading :is(h2,h3,h4){font:600 1.75rem/1.3 var(--sans);letter-spacing:-.03em}
.cobases-directory .cb-fact-heading .eyebrow{color:var(--muted-foreground)}
.cobases-directory .cb-fact-stamp{border-color:var(--border);background:var(--card);color:var(--muted-foreground)}
.cobases-directory .cb-fact-grid{background:var(--border)}
.cobases-directory .cb-fact-cell dt,.cobases-directory .cb-fact-cell .cb-fact-source{color:var(--muted-foreground)}
.cobases-directory .cb-fact-note{background:var(--secondary);border-color:var(--border);color:var(--muted-foreground)}
.cobases-directory .cb-fact-sheet a:focus-visible{outline-color:var(--ring)}
.cb-editorial-note{background:var(--secondary);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:7px}
.faq-list{border:1px solid var(--border);border-radius:var(--radius);background:var(--card);overflow:hidden}
.faq-list details{padding:0 24px;border:0}.faq-list details+details{border-top:1px solid var(--border)}
.faq-list summary{font-weight:600;padding:20px 0;min-height:56px}.faq-list details[open]{padding-bottom:20px}
.faq-list summary:focus-visible{outline-offset:-3px;border-radius:4px}
.source-list,.external-list{border-top-color:var(--border)}
.external-list li,.source-list li{border-color:var(--border)}
.external-list a:hover{background:var(--secondary)}
.review-status{border-left:3px solid var(--primary)}
.nearby-section{background:var(--secondary);border-color:var(--border)}
.site-footer{background:#18181b;color:#f4f4f5}.site-footer :is(p,.small-label,.footer-bottom){color:#d4d4d8}.site-footer a:hover{color:white}
@media(max-width:1150px){.base-layout{grid-template-columns:minmax(0,1fr) 260px}.cb-mobile-nav[open]>nav{background:var(--card)}}
@media(max-width:950px){.base-layout{grid-template-columns:minmax(0,1fr)}}
@media(max-width:600px){.container{width:calc(100% - 32px)}.header-inner{min-height:72px}.home-hero{padding-top:40px;gap:32px}.section{padding-block:44px}.resource-card,.sidebar-box{padding:20px}.faq-list details{padding-inline:20px}.cb-hub-toc{gap:.25rem .75rem}.hero-copy h1{font-size:2.5rem}.cb-profile-status{font-size:1rem}}
@media print{body{background:#fff}.page-toc,.base-mobile-toc{display:none}.base-layout{display:block}.resource-card,.cb-region-card{box-shadow:none}}

/* Shared navigation remains legible and fits the narrowest phone layouts. */
.site-footer a,.site-footer .cb-menu a{color:#f4f4f5}
.site-footer a:hover,.site-footer .cb-menu a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
@media(max-width:400px){
 .header-inner{flex-wrap:nowrap;gap:6px}
 .site-header .logo{font-size:22px;gap:7px}
 .site-header .logo-symbol{width:24px;height:24px;flex-shrink:0}
 .cb-mobile-nav summary{font-size:16px;padding-inline:4px;gap:4px}
}

/* Keep profile anchors clear of tablet navigation and short-window sidebars reachable. */
@media(max-width:1150px){.cb-profile .base-mobile-toc{position:static}}
@media(max-height:800px){.cb-profile .base-sidebar{position:static}.cb-profile .page-toc{max-height:calc(100vh - 48px);overflow-y:auto;overscroll-behavior:contain}}
.cb-state-hub .cb-filter-form>.text-link{min-height:48px;display:inline-flex;align-items:center}

/* Directory navigation remains easy to scan without shrinking labels. */
@media(min-width:360px) and (max-width:600px){
 #cb-locations-states .cb-place-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
 #cb-locations-states .state-link{font-size:1rem;gap:8px;min-height:48px}
 #cb-locations-states .state-link .icon{width:16px;flex-shrink:0}
}
.results-main{scroll-margin-top:2rem}
.cb-filter-form>.text-link{min-height:48px;display:inline-flex;align-items:center}
.cb-site-search{margin:24px 0 32px}
