/* Public, self-contained directory. Light follows the site's light default; dark follows data-sc-theme. */
.scx-directory{--scx-bg:#f3f7fc;--scx-card:#fff;--scx-ink:#102b48;--scx-muted:#58718a;--scx-border:#dce7f2;--scx-soft:#eaf3ff;--scx-blue:#167be6;--scx-shadow:0 10px 32px rgba(28,69,118,.065);color:var(--scx-ink);background:var(--scx-bg);min-height:80vh;width:100%;padding:26px 0 78px;font-family:inherit;box-sizing:border-box}
html[data-sc-theme="dark"] .scx-directory{--scx-bg:#101923;--scx-card:#172432;--scx-ink:#eef6ff;--scx-muted:#9bb1c8;--scx-border:#2b4258;--scx-soft:#1d344b;--scx-blue:#64adff;--scx-shadow:0 12px 34px rgba(0,0,0,.16)}
.scx-directory *{box-sizing:border-box}.scx-directory svg{flex:none;display:inline-block;width:19px;height:19px;vertical-align:middle}.scx-directory a{text-decoration:none!important}.scx-directory a:hover{text-decoration:none!important}.scx-wrap{width:min(1520px,calc(100% - 48px));margin:0 auto;max-width:1520px}.scx-hero{min-height:235px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:36px 46px;position:relative;overflow:hidden;border:1px solid #cfe1f6;border-radius:23px;background:linear-gradient(114deg,#f9fcff 0%,#e7f3ff 56%,#d5e9ff 100%);box-shadow:var(--scx-shadow)}
html[data-sc-theme="dark"] .scx-hero{background:linear-gradient(110deg,#16293d 0%,#183657 60%,#13334d 100%);border-color:#31506c}.scx-hero>div:first-child{position:relative;z-index:1;max-width:900px}.scx-eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:12px;font-weight:850;letter-spacing:.11em;color:#0b73d8;text-transform:uppercase}.scx-eyebrow .scx-icon{width:16px;height:16px}html[data-sc-theme="dark"] .scx-eyebrow{color:#7fc0ff}.scx-hero h1{font-size:clamp(27px,3vw,42px)!important;line-height:1.17!important;letter-spacing:-.035em!important;font-weight:850!important;color:var(--scx-ink)!important;margin:15px 0 12px!important}.scx-hero p{font-size:15px!important;line-height:1.68!important;color:var(--scx-muted)!important;max-width:790px;margin:0!important}.scx-hero-metrics{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin-top:22px}.scx-hero-metrics span{display:inline-flex;gap:7px;align-items:center;font-size:13px;color:#3272ac;font-weight:650}.scx-hero-metrics strong{font-weight:900;font-size:16px;color:#0d6fce}.scx-hero-metrics svg{width:16px;height:16px}html[data-sc-theme="dark"] .scx-hero-metrics span,html[data-sc-theme="dark"] .scx-hero-metrics strong{color:#a7d3ff}.scx-hero-symbol{width:145px;height:145px;display:grid;place-items:center;border-radius:39px;background:linear-gradient(130deg,#add5ff,#ecf7ff);border:1px solid rgba(255,255,255,.7);transform:rotate(-9deg);box-shadow:0 14px 32px rgba(14,99,186,.12)}.scx-hero-symbol svg{width:74px;height:74px;color:#187bdc}.scx-hero-detail{min-height:235px}
.scx-promo{position:relative;margin:16px 0 20px;border-radius:19px;background:linear-gradient(111deg,#075bc4,#1988ee 50%,#6044df 100%);box-shadow:0 12px 30px rgba(30,104,219,.18);padding:24px 33px;color:white;display:flex;align-items:center;justify-content:space-between;gap:22px;overflow:hidden}.scx-promo:after{position:absolute;right:-35px;top:-70px;content:"";border:2px solid rgba(255,255,255,.22);border-radius:100%;width:250px;height:250px;pointer-events:none}.scx-promo .scx-eyebrow{color:#d9edff!important;font-size:10px}.scx-promo h2{font-size:23px!important;color:#fff!important;line-height:1.25;margin:8px 0!important;font-weight:850!important}.scx-promo p{font-size:13px!important;color:#eef8ff!important;margin:0!important;line-height:1.6!important;max-width:870px}.scx-btn{display:inline-flex;gap:9px;align-items:center;justify-content:center;padding:13px 18px;border-radius:11px;font-size:13px;font-weight:800;cursor:pointer;white-space:nowrap;border:1px solid transparent;line-height:1.2;transition:transform .15s,box-shadow .15s,background .15s}.scx-btn:hover{transform:translateY(-1px)}.scx-btn-white{background:#fff;color:#145fc5!important;box-shadow:0 6px 18px rgba(14,36,82,.15);position:relative;z-index:1}.scx-btn-white:hover{color:#0754b7!important}.scx-btn-primary{background:linear-gradient(120deg,#1385f0,#1571dd);color:#fff!important;box-shadow:0 6px 15px rgba(21,119,226,.14)}.scx-btn-primary:hover{background:#0865cb;color:#fff!important}.scx-btn-outline{border-color:var(--scx-border);background:var(--scx-card);color:var(--scx-ink)!important}.scx-btn .scx-icon{width:17px;height:17px}
.scx-filters{display:grid;grid-template-columns:minmax(220px,2.1fr) repeat(3,minmax(125px,1fr)) auto;gap:12px;align-items:end;border:1px solid var(--scx-border);border-radius:17px;background:var(--scx-card);padding:18px;box-shadow:var(--scx-shadow)}.scx-filters label,.scx-company-search label{font-size:12px;color:var(--scx-muted);font-weight:800;margin:0 0 7px;display:block}.scx-input-icon{position:relative}.scx-input-icon>svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#438bd1;width:18px;height:18px;pointer-events:none}.scx-directory input,.scx-directory select{display:block;background:var(--scx-card)!important;color:var(--scx-ink)!important;border:1px solid var(--scx-border)!important;border-radius:10px!important;height:44px;outline:none!important;width:100%!important;font-size:13px!important;box-shadow:none!important;min-width:0;max-width:none!important}.scx-directory input:focus,.scx-directory select:focus{border-color:#3b98ed!important;box-shadow:0 0 0 3px rgba(39,132,229,.12)!important}.scx-directory input{padding:0 13px 0 40px!important}.scx-directory select{padding:0 10px!important}.scx-directory input::placeholder{color:#8da0b5}.scx-filters .scx-btn{height:44px}
.scx-results{margin-top:25px}.scx-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 14px}.scx-kicker{display:block;color:#348adc;font-weight:800;font-size:11px;letter-spacing:.09em}.scx-heading h2{font-size:25px!important;font-weight:850!important;color:var(--scx-ink)!important;margin:5px 0 0!important}.scx-heading>span{font-size:12px;color:var(--scx-muted);font-weight:600}.scx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.scx-fair-card{display:flex;align-items:center;gap:15px;background:var(--scx-card);border:1px solid var(--scx-border);border-radius:16px;min-height:145px;padding:18px;box-shadow:var(--scx-shadow);color:var(--scx-ink)!important;transition:transform .17s,border-color .17s,box-shadow .17s}.scx-fair-card:hover{transform:translateY(-3px);border-color:#78baff;box-shadow:0 12px 27px rgba(26,111,222,.13)}.scx-card-icon{display:grid;place-items:center;flex:none;background:var(--scx-soft);color:var(--scx-blue);width:50px;height:50px;border-radius:13px}.scx-card-icon svg{width:24px;height:24px}.scx-card-copy{min-width:0;flex:1;display:flex;flex-direction:column;gap:7px}.scx-card-overline{color:var(--scx-muted);font-size:11px;font-weight:700}.scx-card-copy strong{font-size:16px;color:var(--scx-ink);line-height:1.35;overflow-wrap:anywhere}.scx-card-count{display:flex;gap:5px;align-items:center;font-size:12px;color:var(--scx-blue);font-weight:750}.scx-card-count svg{width:15px;height:15px}.scx-card-arrow{color:var(--scx-blue);align-self:center}.scx-card-arrow svg{width:20px;height:20px}.scx-empty{padding:36px;background:var(--scx-card);border:1px dashed var(--scx-border);color:var(--scx-muted);text-align:center;border-radius:15px}.scx-pages{display:flex;justify-content:center;gap:7px;margin:24px 0;flex-wrap:wrap}.scx-pages a{border-radius:10px;padding:11px 14px;min-width:41px;text-align:center;background:var(--scx-card);border:1px solid var(--scx-border);font-weight:750;color:var(--scx-ink)!important;font-size:13px}.scx-pages a:hover,.scx-pages a.is-active{background:var(--scx-blue);color:#fff!important;border-color:var(--scx-blue)}
.scx-footer-note{margin-top:38px;border-radius:16px;background:var(--scx-card);border:1px solid var(--scx-border);padding:23px 27px}.scx-footer-note>div{display:flex;gap:15px}.scx-footer-note>div>svg{width:28px;height:28px;color:var(--scx-blue);flex:none}.scx-footer-note h3{font-size:16px!important;font-weight:800!important;color:var(--scx-ink)!important;margin:0 0 7px!important}.scx-footer-note p{font-size:13px!important;line-height:1.65!important;margin:0!important;color:var(--scx-muted)!important}.scx-footer-note a{color:var(--scx-blue)!important;font-weight:750}
.scx-breadcrumb{display:flex;align-items:center;gap:9px;font-size:13px;margin:10px 0 16px;color:var(--scx-muted);flex-wrap:wrap}.scx-breadcrumb a{color:var(--scx-blue)!important;font-weight:750}.scx-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:25px;margin-bottom:15px}.scx-detail-actions h2{font-size:25px!important;color:var(--scx-ink)!important;font-weight:850!important;margin:0 0 4px!important}.scx-detail-actions p{color:var(--scx-muted)!important;font-size:13px!important;margin:0!important}.scx-company-search{padding:17px;background:var(--scx-card);border:1px solid var(--scx-border);border-radius:15px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}.scx-company-search label{grid-column:1/-1;margin-bottom:-7px}.scx-company-search .scx-btn{height:44px}.scx-result-total{font-size:12px;font-weight:750;color:var(--scx-muted);margin:15px 0 10px}.scx-companies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.scx-company{display:flex;align-items:center;gap:12px;min-width:0;padding:16px;background:var(--scx-card);border:1px solid var(--scx-border);border-radius:14px;box-shadow:var(--scx-shadow)}.scx-company-logo{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--scx-soft);color:var(--scx-blue);flex:none}.scx-company-info{min-width:0;flex:1}.scx-company-info strong{display:block;overflow-wrap:anywhere;line-height:1.32;font-size:14px;color:var(--scx-ink)}.scx-company-info small{display:block;color:var(--scx-muted);margin-top:5px;font-size:11px}.scx-company-contact{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex-wrap:wrap;max-width:47%}.scx-company-contact a,.scx-company-contact summary{list-style:none;background:var(--scx-soft);color:var(--scx-blue)!important;border:1px solid transparent;padding:7px 9px;border-radius:7px;cursor:pointer;font-size:11px;font-weight:750;white-space:nowrap}.scx-company-contact a{display:flex;gap:4px;align-items:center}.scx-company-contact a svg{width:14px;height:14px}.scx-company-contact details{position:relative}.scx-company-contact summary::-webkit-details-marker{display:none}.scx-company-contact details[open] summary{border-color:var(--scx-blue)}.scx-company-contact details>div{position:absolute;z-index:5;right:0;top:calc(100% + 6px);white-space:nowrap;max-width:300px;overflow-wrap:anywhere;background:var(--scx-card);color:var(--scx-ink);border:1px solid var(--scx-border);border-radius:8px;padding:11px 13px;box-shadow:0 6px 25px rgba(0,0,0,.17);font-size:12px;user-select:text}.scx-bottom-actions{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:20px}.scx-bottom-actions>a{color:var(--scx-blue)!important;font-size:13px;font-weight:750}.scx-bottom-actions>a svg{width:16px;height:16px}
@media(max-width:1220px){.scx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scx-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.scx-search{grid-column:1/-1}.scx-filters .scx-btn{grid-column:1/-1}.scx-companies{grid-template-columns:1fr}}
@media(max-width:760px){.scx-directory{padding-top:15px}.scx-wrap{width:calc(100% - 24px)}.scx-hero{padding:25px 24px;min-height:unset}.scx-hero-symbol{display:none}.scx-hero h1{font-size:29px!important}.scx-promo{padding:20px;align-items:stretch;flex-direction:column}.scx-promo h2{font-size:21px!important}.scx-promo .scx-btn{width:100%}.scx-grid{grid-template-columns:1fr}.scx-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px}.scx-search{grid-column:1/-1}.scx-filters .scx-btn{grid-column:1/-1}.scx-filters label:nth-of-type(4){grid-column:1/-1}.scx-detail-actions{align-items:stretch;flex-direction:column}.scx-company{flex-wrap:wrap}.scx-company-contact{width:100%;max-width:none;justify-content:flex-start;padding-left:52px}.scx-footer-note{padding:20px}.scx-hero-metrics{gap:12px}}
@media(max-width:430px){.scx-filters{grid-template-columns:1fr}.scx-filters label:nth-of-type(4){grid-column:auto}.scx-company-search{grid-template-columns:1fr}.scx-company-search label{grid-column:1}.scx-company-contact{padding-left:0}.scx-heading{align-items:flex-start;flex-direction:column}.scx-fair-card{padding:14px}.scx-card-icon{width:42px;height:42px}.scx-hero-metrics{align-items:flex-start;flex-direction:column}}

.scx-region-links{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:15px 3px 0}.scx-region-links>div{display:flex;align-items:center;flex-wrap:wrap;gap:7px}.scx-region-links strong{font-size:12px;margin-right:5px;color:var(--scx-muted)}.scx-region-links a{background:var(--scx-soft);border:1px solid var(--scx-border);padding:6px 10px;font-size:11px;font-weight:750;border-radius:8px;color:var(--scx-blue)!important}.scx-region-links a:hover{border-color:var(--scx-blue)}@media(max-width:760px){.scx-region-links{grid-template-columns:1fr}}

/* v1.1.0 — official-link-only directory; no company payloads or download UI. */
.scx-directory{padding-top:102px!important}
.scx-directory .scx-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.scx-directory .scx-fair-card{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:255px;padding:22px!important;color:var(--scx-ink);box-shadow:var(--scx-shadow);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.scx-directory .scx-fair-card:hover{transform:translateY(-3px);border-color:var(--scx-blue);box-shadow:0 18px 40px rgba(14,79,149,.13)}
.scx-directory .scx-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px;width:100%}
.scx-directory .scx-card-icon{width:43px;height:43px;display:grid;place-items:center;flex:none}
.scx-directory .scx-source-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:rgba(14,167,114,.1);color:#087e57;font-size:10px;font-weight:800;white-space:nowrap}
html[data-sc-theme="dark"] .scx-source-pill{color:#6ee6b8;background:rgba(39,203,148,.11)}
.scx-directory .scx-source-pill svg{width:12px;height:12px}
.scx-directory .scx-card-overline{color:var(--scx-muted);font-size:12px;font-weight:750;letter-spacing:0;margin:0 0 9px}
.scx-directory .scx-fair-card h3{font-size:18px!important;line-height:1.31!important;margin:0 0 9px!important;color:var(--scx-ink)!important;font-weight:850;overflow-wrap:anywhere}
.scx-directory .scx-fair-card h3 a{color:inherit!important}
.scx-directory .scx-fair-card h3 a:hover{color:var(--scx-blue)!important}
.scx-directory .scx-fair-card p{font-size:12.5px!important;line-height:1.55!important;color:var(--scx-muted)!important;margin:0 0 14px!important;flex:1}
.scx-directory .scx-card-actions{display:flex;align-items:center;justify-content:space-between;gap:9px;flex-wrap:wrap;margin-top:auto;padding-top:14px;border-top:1px solid var(--scx-border);width:100%}
.scx-directory .scx-card-actions .scx-local-link{color:var(--scx-muted)!important;font-size:11px;font-weight:750}
.scx-directory .scx-list-link{display:inline-flex;align-items:center;gap:6px;justify-content:center;border-radius:9px;background:linear-gradient(120deg,#0e84f0,#076ad2);padding:10px 12px;color:#fff!important;font-weight:850;font-size:11px!important;white-space:nowrap}
.scx-directory .scx-list-link:hover{filter:brightness(1.08);color:#fff!important}
.scx-directory .scx-list-link svg{width:14px;height:14px}
.scx-directory .scx-official-panel{display:flex;align-items:center;gap:21px;margin-top:23px;background:var(--scx-card);border:1px solid var(--scx-border);border-radius:18px;padding:27px;box-shadow:var(--scx-shadow)}
.scx-directory .scx-official-icon{display:grid;place-items:center;flex:0 0 64px;height:64px;border-radius:16px;color:#0b82e9;background:var(--scx-soft)}
.scx-directory .scx-official-icon svg{width:28px;height:28px}
.scx-directory .scx-official-copy{flex:1;min-width:0}
.scx-directory .scx-official-copy h2{color:var(--scx-ink)!important;font-size:23px!important;line-height:1.25!important;margin:5px 0 6px!important}
.scx-directory .scx-official-copy p{font-size:13px!important;line-height:1.55!important;color:var(--scx-muted)!important;margin:0 0 7px!important}
.scx-directory .scx-official-copy small{color:var(--scx-blue)!important;font-weight:750;overflow-wrap:anywhere}
.scx-directory .scx-official-panel .scx-btn{flex:none}
.scx-directory .scx-info{background:var(--scx-card);border:1px solid var(--scx-border);padding:30px;margin-top:15px;border-radius:18px;box-shadow:var(--scx-shadow)}
.scx-directory .scx-info h2,.scx-directory .scx-info h3{color:var(--scx-ink)!important;font-size:22px!important;line-height:1.3!important;margin:0 0 12px!important}
.scx-directory .scx-info h3{font-size:17px!important;margin-top:25px!important}
.scx-directory .scx-info p{color:var(--scx-muted)!important;font-size:14px!important;line-height:1.7!important;margin:0 0 8px!important}
.scx-directory .scx-info-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:19px 0 20px}
.scx-directory .scx-info-grid>div{background:var(--scx-soft);border-radius:11px;padding:17px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.scx-directory .scx-info-grid>div>svg{color:var(--scx-blue);width:18px;height:18px}
.scx-directory .scx-info-grid span{font-size:12px;color:var(--scx-muted)}
.scx-directory .scx-info-grid strong{display:block;width:100%;font-size:14px;color:var(--scx-ink)}
.scx-directory .scx-footer-note{display:flex;align-items:flex-start;gap:16px}
.scx-directory .scx-footer-note>svg{color:var(--scx-blue);width:25px;height:25px}
.scx-directory .scx-footer-note>div{display:block}
.scx-directory .scx-breadcrumb{margin-top:0}
@media(max-width:1180px){.scx-directory .scx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scx-directory .scx-official-panel{flex-wrap:wrap}.scx-directory .scx-official-panel .scx-btn{margin-left:85px}}
@media(max-width:760px){.scx-directory{padding-top:82px!important}.scx-directory .scx-grid{grid-template-columns:1fr}.scx-directory .scx-fair-card{min-height:200px}.scx-directory .scx-official-panel{gap:12px;padding:18px}.scx-directory .scx-official-icon{flex-basis:49px;height:49px;border-radius:12px}.scx-directory .scx-official-copy{flex-basis:calc(100% - 65px)}.scx-directory .scx-official-panel .scx-btn{width:100%;margin:6px 0 0}.scx-directory .scx-info{padding:20px}.scx-directory .scx-info-grid{grid-template-columns:1fr}.scx-directory .scx-card-actions{gap:12px}}
@media(max-width:390px){.scx-directory .scx-card-actions .scx-list-link{width:100%}.scx-directory .scx-source-pill{font-size:9px}}

/* v1.2.0: season and event-stage filters; compact at all breakpoints. */
.scx-directory .scx-filters{grid-template-columns:minmax(200px,1.45fr) repeat(4,minmax(130px,1fr)) auto;align-items:end}
.scx-directory .scx-filters .scx-search{grid-column:auto}
.scx-directory .scx-filters .scx-btn{grid-column:auto}
.scx-directory .scx-timing-help{font-size:12px!important;line-height:1.5!important;color:var(--scx-muted)!important;margin:10px 3px 0!important}
@media(max-width:1350px){.scx-directory .scx-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.scx-directory .scx-filters .scx-search{grid-column:span 2}}
@media(max-width:760px){.scx-directory .scx-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.scx-directory .scx-filters .scx-search{grid-column:1/-1}.scx-directory .scx-filters .scx-btn{grid-column:1/-1}}
@media(max-width:430px){.scx-directory .scx-filters{grid-template-columns:1fr}.scx-directory .scx-filters .scx-search{grid-column:1}.scx-directory .scx-filters .scx-btn{grid-column:1}}
