
/* Black Sheep type - Archivo (SIL OFL 1.1, self-hosted variable: wght 100-900, wdth 62-125).
   Text face: Archivo normal width. Display face: 'Archivo Expanded' = the same variable file
   pinned to its 125% width cut, so headlines run WIDE, the opposite cut from the other network's condensed faces. */
@font-face{font-family:'Archivo';src:url('/assets/fonts/archivo-var-latin.woff2') format('woff2');
 font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Archivo';src:url('/assets/fonts/archivo-var-latin-ext.woff2') format('woff2');
 font-weight:100 900;font-stretch:62% 125%;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Archivo';src:url('/assets/fonts/archivo-var-italic-latin.woff2') format('woff2');
 font-weight:100 900;font-stretch:62% 125%;font-style:italic;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Archivo';src:url('/assets/fonts/archivo-var-italic-latin-ext.woff2') format('woff2');
 font-weight:100 900;font-stretch:62% 125%;font-style:italic;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Archivo Expanded';src:url('/assets/fonts/archivo-var-latin.woff2') format('woff2');
 font-weight:100 900;font-stretch:125%;font-style:normal;font-display:swap;unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Archivo Expanded';src:url('/assets/fonts/archivo-var-latin-ext.woff2') format('woff2');
 font-weight:100 900;font-stretch:125%;font-style:normal;font-display:swap;unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
:root{
 --font-text:'Archivo','Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
 --font-display:'Archivo Expanded','Archivo','Arial Narrow',sans-serif;
 --deep:#030309; --navy:#0a0a1e; --ink:#eceeff; --bg:#06060f; --card:#10101f;
 --line:#262640; --muted:#9a9cc4; --blue:#146fff; --cyan:#8114ff; --teal:#4dff1e;
 --orange:#ff6a00; --gold:#ff6a00; --purple:#8114ff; --green:#4dff1e;
 --grad-hero:linear-gradient(100deg,#020208 0%,rgba(4,4,16,.88) 42%,rgba(4,4,16,.35) 78%,rgba(4,4,16,.55) 100%);
 --grad-band:linear-gradient(92deg,#080c2a 0%,#250a5e 40%,#4c0fb0 75%,#146fff 115%);
 --grad-fire:linear-gradient(92deg,#ff5100 0%,#ff6a00 48%,#ff9e2c 100%);
 --grad-cyan:linear-gradient(92deg,#146fff,#4d2bff 55%,#8114ff);
 --grad-purple:linear-gradient(92deg,#8114ff,#a83bff);
 --grad-blue:linear-gradient(92deg,#0f56d6,#146fff);
 --rad:16px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-text);
 background:var(--bg);color:var(--ink);line-height:1.55;font-size:16.5px;-webkit-font-smoothing:antialiased}
a{color:#5e9bff;text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wrap{max-width:1140px;margin:0 auto;padding:0 18px}
h1{font-size:2.35rem;line-height:1.08;font-weight:800;letter-spacing:.005em;margin:.2em 0 .35em}
h2{font-size:1.55rem;font-weight:800;letter-spacing:0;margin:1.5em 0 .55em;line-height:1.15}
h3{font-size:1.12rem;font-weight:750;margin:.4em 0 .3em}
h1,h2,h3,.brand,.site-foot .brandline{font-family:var(--font-display)}
.lede{font-size:1.13rem;color:#b9bce0;max-width:46em}
.fine{font-size:.82rem;color:var(--muted)}
.kicker{display:inline-block;font-weight:800;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;
 color:#bb8cff;background:rgba(129,20,255,.14);border:1px solid rgba(129,20,255,.55);
 padding:.32em .9em;border-radius:999px}
.kicker.fire{color:#82f75e;background:rgba(77,255,30,.12);border-color:rgba(77,255,30,.55)}
/* header */
.site-head{position:sticky;top:0;z-index:50;background:rgba(3,3,9,.96);backdrop-filter:blur(6px);
 border-bottom:3px solid;border-image:linear-gradient(90deg,var(--blue),var(--purple),var(--green),var(--orange)) 1}
.head-in{max-width:1140px;margin:0 auto;padding:10px 18px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:9px;color:#fff;font-weight:850;font-size:1.28rem;letter-spacing:-.01em}
.brand:hover{text-decoration:none}
.brand .pin{width:27px;height:27px;flex:none}
.brand img.brand-logo{height:42px;width:auto;flex:none;display:block}
.site-head nav{margin-left:auto;display:flex;gap:4px;align-items:center;flex-wrap:wrap}
.site-head nav a{color:#c9ccf5;font-weight:650;font-size:.95rem;padding:.42em .7em;border-radius:999px}
.site-head nav a:hover{background:rgba(255,255,255,.09);text-decoration:none;color:#fff}
.site-head nav a.nav-cta{background:var(--grad-cyan);color:#fff;font-weight:800;margin-left:6px;
 box-shadow:0 4px 16px rgba(20,111,255,.4)}
.site-head nav a.nav-cta:hover{background:var(--grad-cyan);color:#fff}
/* heroes */
.hero{position:relative;color:#fff;overflow:hidden;background:var(--deep)}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%}
.hero .shade{position:absolute;inset:0;background:var(--grad-hero)}
.hero .in{position:relative;max-width:1140px;margin:0 auto;padding:52px 18px 46px}
.hero h1{color:#fff;max-width:12em}
.hero .lede{color:#ccd0f5}
.hero .proof{margin-top:18px;font-weight:700;color:#fff}
.hero .proof .star{display:block;color:var(--green);font-size:1.3rem;letter-spacing:3px;margin-bottom:3px}
.band{color:#fff;background:var(--grad-band)}
.band.fire{background:var(--grad-fire)}
.band .in{max-width:1140px;margin:0 auto;padding:26px 18px}
.band h2{color:#fff;margin:.1em 0 .3em;font-size:1.9rem}
.band p{color:#e3e5ff;max-width:52em;margin:.2em 0}
.band.fire p{color:#fff1e6}
.minihero{color:#fff;background:var(--grad-band);border-bottom:4px solid var(--purple)}
.minihero .in{max-width:1140px;margin:0 auto;padding:30px 18px 26px}
.minihero h1{color:#fff;margin:.15em 0 .25em}
.minihero .lede{color:#dfe2ff}
.chiprow{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.chip{display:inline-block;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.35);
 color:#fff;font-weight:700;font-size:.88rem;padding:.34em .85em;border-radius:999px}
a.chip:hover{background:rgba(255,255,255,.28);text-decoration:none}
.chip.gold{background:rgba(129,20,255,.18);border-color:rgba(129,20,255,.65);color:#d9baff}
/* search */
.search{display:flex;gap:0;max-width:620px;background:#fff;border-radius:999px;padding:5px;
 box-shadow:0 12px 34px rgba(0,0,0,.35);margin:20px 0 8px}
.search input{flex:1;border:0;outline:0;font-size:1.02rem;padding:.55em 1em;border-radius:999px;min-width:0;color:#0b0b18;background:transparent}
.search button{border:0;cursor:pointer;background:var(--grad-cyan);color:#fff;font-weight:850;
 font-size:1rem;padding:.6em 1.35em;border-radius:999px;display:flex;align-items:center;gap:8px}
.search button .circ{display:inline-flex;width:24px;height:24px;border-radius:50%;background:#05050f;color:#fff;
 align-items:center;justify-content:center;font-size:.9rem}
.search.light{box-shadow:0 4px 18px rgba(0,0,0,.5);border:1px solid var(--line)}
/* stats */
.stats{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}
.stat{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:14px;
 padding:10px 16px;min-width:118px}
.stat b{display:block;font-size:1.45rem;line-height:1;color:#fff}
.stat span{font-size:.8rem;color:#a7abdd;font-weight:650;letter-spacing:.04em;text-transform:uppercase}
/* cards */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:16px;margin:14px 0 8px}
.card{background:var(--card);border:1px solid var(--line);border-top:5px solid var(--cyan);border-radius:var(--rad);
 padding:15px 16px 14px;position:relative;box-shadow:0 2px 10px rgba(0,0,0,.5)}
.card.a1{border-top-color:var(--blue)} .card.a2{border-top-color:var(--teal)}
.card.a3{border-top-color:var(--green)} .card.a4{border-top-color:var(--purple)}
.card h3{margin:.15em 2.2em .25em 0;font-size:1.06rem;line-height:1.25}
.card h3 a{color:var(--ink)}
.card .addr{color:var(--muted);font-size:.92rem;margin:.25em 0}
.card .thumb{margin:-15px -16px 10px;height:128px;overflow:hidden;border-radius:var(--rad) var(--rad) 0 0}
.card .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.rankbadge{display:inline-block;background:var(--grad-purple);color:#fff;font-weight:850;
 font-size:.78rem;padding:.28em .7em;border-radius:999px;box-shadow:0 3px 10px rgba(129,20,255,.45);margin-bottom:7px}
.ranknum{position:absolute;top:10px;right:10px;background:var(--navy);color:#9db4ff;font-weight:800;
 font-size:.78rem;padding:.28em .65em;border-radius:999px}
.rate{font-weight:750}
.rate .star,.star{color:var(--green);letter-spacing:1px}
.rate .rev{color:var(--muted);font-weight:600;font-size:.88em}
.rate.big{font-size:1.15rem}
.phone{display:inline-flex;align-items:center;gap:7px;margin-top:8px;background:rgba(77,255,30,.09);border:1px solid rgba(77,255,30,.45);
 color:#7dff5e;font-weight:800;padding:.42em .95em;border-radius:999px;font-size:.95rem}
.phone:hover{background:rgba(77,255,30,.17);text-decoration:none}
.call-btn{display:inline-flex;align-items:center;gap:9px;background:var(--grad-cyan);color:#fff;
 font-weight:850;font-size:1.06rem;padding:.62em 1.4em;border-radius:999px;box-shadow:0 6px 20px rgba(20,111,255,.4)}
.call-btn:hover{text-decoration:none;filter:brightness(1.07)}
.btn-ghost{display:inline-flex;align-items:center;gap:8px;border:2px solid var(--purple);color:#c9a6ff;font-weight:800;
 padding:.55em 1.2em;border-radius:999px;background:transparent}
.btn-ghost:hover{background:rgba(129,20,255,.14);text-decoration:none}
.btn-gold{display:inline-flex;align-items:center;gap:8px;background:var(--grad-cyan);color:#fff;font-weight:850;
 padding:.6em 1.3em;border-radius:999px;box-shadow:0 6px 18px rgba(20,111,255,.4)}
.btn-gold:hover{text-decoration:none;filter:brightness(1.06)}
.cats{color:var(--muted);font-size:.93rem}
.addr.big{font-size:1.06rem;color:#c6c9ec}
/* state/city grids */
.state-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:11px;margin:14px 0}
.state-card{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--teal);
 border-radius:12px;padding:11px 14px;display:block;color:var(--ink)}
.state-card:hover{border-color:var(--cyan);text-decoration:none;box-shadow:0 4px 14px rgba(129,20,255,.28)}
.state-card strong{display:block;font-size:1.02rem}
.state-card span{color:var(--muted);font-size:.86rem;font-weight:600}
.state-card .vlt{color:var(--green);font-weight:800}
.city-list{columns:2;column-gap:26px;margin:10px 0}
@media(min-width:760px){.city-list{columns:3}}
.city-link{display:block;padding:.34em 0;color:#5e9bff;font-weight:600;break-inside:avoid}
.city-link span{color:var(--muted);font-weight:600;font-size:.88em}
.nearby a{font-weight:650}
/* content blocks */
.cols2{display:grid;gap:22px;margin:16px 0}
@media(min-width:820px){.cols2{grid-template-columns:1.25fr .9fr;align-items:start}}
.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:18px 20px;
 box-shadow:0 2px 10px rgba(0,0,0,.5)}
.panel h2,.panel h3{margin-top:.2em}
.lawbox{background:linear-gradient(160deg,#07071a,#1c0b40);color:#e6e8ff;border-radius:var(--rad);
 padding:18px 20px;border:1px solid #2e2260}
.lawbox h3{color:#fff;margin-top:0}
.lawbox a{color:#bb8cff;font-weight:750}
.lawbox .big-vlt{font-size:2rem;font-weight:850;color:var(--green);line-height:1}
.checks{list-style:none;padding:0;margin:.6em 0}
.checks li{padding:.34em 0 .34em 1.9em;position:relative}
.checks li::before{content:"✓";position:absolute;left:0;top:.3em;width:1.35em;height:1.35em;border-radius:50%;
 background:var(--grad-cyan);color:#fff;font-weight:900;font-size:.82em;display:flex;align-items:center;justify-content:center}
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:14px 0}
.svc{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:15px 17px;border-bottom:5px solid var(--teal)}
.svc.b{border-bottom-color:var(--blue)} .svc.o{border-bottom-color:var(--green)} .svc.g{border-bottom-color:var(--purple)}
.svc h3{margin-top:0}
.svc ul{list-style:none;padding:0;margin:.4em 0 0}
.svc ul li{padding:.2em 0 .2em 1.6em;position:relative;font-size:.95rem}
.svc ul li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:900}
figure.photo{margin:0;border-radius:var(--rad);overflow:hidden;box-shadow:0 10px 28px rgba(0,0,0,.5)}
figure.photo img{width:100%;height:100%;object-fit:cover;display:block;min-height:230px}
.photos{display:flex;gap:10px;overflow-x:auto;padding:6px 0 10px}
.photos img{height:170px;width:auto;border-radius:12px;flex:none;object-fit:cover}
table.hours,table.law{border-collapse:collapse;width:100%;background:var(--card);border-radius:12px;overflow:hidden}
table.hours th,table.hours td,table.law th,table.law td{border:1px solid var(--line);padding:.5em .8em;text-align:left;vertical-align:top}
table.hours th,table.law th{background:#171730;width:38%}
table.law td{font-weight:600}
.faq{margin:10px 0}
.faq .qa{background:var(--card);border:1px solid var(--line);border-left:5px solid var(--blue);
 border-radius:12px;padding:13px 17px;margin:0 0 10px}
.faq .qa h3{margin:.1em 0 .3em;font-size:1.03rem}
.faq .qa p{margin:.2em 0;color:#b9bce0}
.crumbs{font-size:.9rem;color:var(--muted);padding:14px 0 2px}
.crumbs a{color:#5e9bff;font-weight:650}
.proofline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
/* money system — claim block, tier cards, badges (Nov 6) */
.claimbox{background:linear-gradient(160deg,#07071a,#1c0b40);color:#e6e8ff;border-radius:var(--rad);
 padding:20px 22px;border:1px solid #2e2260;margin:26px 0}
.claimbox h2{color:#fff;margin-top:0}
.claimbox p{color:#ccd0f5;max-width:52em}
.claimbox a{font-weight:800}
.claimbox .btn-gold{margin-top:6px}
.yourshop{display:flex;gap:14px;align-items:center;flex-wrap:wrap;background:var(--card);
 border:1px dashed var(--cyan);border-radius:var(--rad);padding:14px 18px;margin:22px 0;color:var(--ink)}
.yourshop strong{font-size:1.05rem}
.yourshop .btn-ghost{margin-left:auto}
.tierbadge{display:inline-block;font-weight:850;font-size:.78rem;padding:.28em .7em;border-radius:999px;margin-bottom:7px}
.tierbadge.top{background:var(--grad-purple);color:#fff;box-shadow:0 3px 10px rgba(129,20,255,.45)}
.tierbadge.feat{background:var(--grad-blue);color:#fff;box-shadow:0 3px 10px rgba(20,111,255,.4)}
.tierbadge.claimed{background:#171730;color:#9db4ff;border:1px solid var(--line)}
.card.tier-top{border:2px solid var(--purple);border-top:5px solid var(--purple)}
.card.tier-featured{border-top:5px solid var(--blue)}
.tiergrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));gap:16px;margin:16px 0}
.tiercard{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:20px 20px 16px;
 box-shadow:0 2px 10px rgba(0,0,0,.5);display:flex;flex-direction:column}
.tiercard.hot{border:2px solid var(--purple)}
.tiercard .price{font-size:2rem;font-weight:850;line-height:1.05;color:var(--purple)}
.tiercard .price span{font-size:.95rem;font-weight:650;color:var(--muted)}
.tiercard ul{list-style:none;padding:0;margin:.6em 0 1em}
.tiercard ul li{padding:.3em 0 .3em 1.6em;position:relative;font-size:.96rem}
.tiercard ul li::before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:900}
.tiercard .spacer{flex:1}
.enroll-note{background:rgba(129,20,255,.1);border:1px solid rgba(129,20,255,.55);color:#d9baff;border-radius:12px;
 padding:.65em .95em;font-weight:650;font-size:.94rem}
table.vs{border-collapse:collapse;width:100%;background:var(--card);border-radius:12px;overflow:hidden;margin:12px 0}
table.vs th,table.vs td{border:1px solid var(--line);padding:.55em .85em;text-align:left;vertical-align:top}
table.vs th{background:#171730}
/* lead + claim forms, wheel, claim pages (DOMINATION build, Nov 6) */
.leadbox{background:linear-gradient(160deg,#07071a,#1c0b40);color:#e6e8ff;border-radius:var(--rad);
 padding:20px 22px;border:1px solid #2e2260;margin:26px 0}
.leadbox h2{color:#fff;margin-top:0}
.leadbox p{color:#ccd0f5;max-width:52em}
.bs-form{display:grid;gap:10px;max-width:560px;margin-top:12px}
.bs-form label{font-weight:700;font-size:.92rem;color:#dfe2ff;display:block}
.bs-form input,.bs-form select,.bs-form textarea{width:100%;margin-top:4px;background:#0a0a1e;
 border:1px solid var(--line);border-radius:10px;color:var(--ink);font-size:1rem;padding:.6em .8em;font-family:inherit}
.bs-form input:focus,.bs-form select:focus,.bs-form textarea:focus{outline:2px solid var(--blue);border-color:var(--blue)}
.bs-form .btn-gold{justify-self:start;border:0;cursor:pointer;font-family:inherit;font-size:1rem}
.form-ok{background:rgba(77,255,30,.1);border:1px solid rgba(77,255,30,.55);color:#c9ffb0;
 border-radius:12px;padding:14px 17px;margin-top:12px;max-width:560px}
.form-ok[hidden]{display:none}
.form-err{background:rgba(255,60,60,.12);border:1px solid rgba(255,90,90,.6);color:#ffc9c9;
 border-radius:12px;padding:12px 15px;margin-top:12px;max-width:560px}
.form-err[hidden]{display:none}
.wheelbox{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);
 padding:18px 20px;margin:26px 0;box-shadow:0 2px 10px rgba(0,0,0,.5)}
.wheelbox h2{margin-top:0}
.cc-stage img,.cc-stage canvas{display:block;width:100%;height:auto;border-radius:12px;background:#0a0a1e}
.cc-stage canvas[hidden],.cc-panel[hidden]{display:none}
.cc-panel{margin-top:12px;background:#0a0a1e;border:1px solid var(--line);border-radius:14px;padding:10px}
.cc-spec{position:relative;border-radius:10px;overflow:hidden;touch-action:none;cursor:pointer;line-height:0}
.cc-spec[hidden]{display:none}
.cc-spec canvas{display:block;width:100%;height:auto}
.cc-thumb{position:absolute;width:26px;height:26px;border-radius:50%;border:3px solid #fff;
 box-shadow:0 0 0 2px rgba(0,0,0,.55),0 2px 8px rgba(0,0,0,.5);transform:translate(-50%,-50%);
 pointer-events:none;background:rgba(255,255,255,.12)}
.cc-rail{position:relative;height:46px;margin-top:10px;border-radius:10px;touch-action:none;cursor:pointer;
 background:linear-gradient(90deg,#e9f1f8 0%,#b9cbdd 26%,#5f7488 55%,#1a2635 80%,#04060a 100%);
 box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.cc-knob{position:absolute;top:50%;width:28px;height:28px;border-radius:50%;border:3px solid #fff;
 background:rgba(10,20,34,.35);box-shadow:0 0 0 2px rgba(0,0,0,.45),0 2px 8px rgba(0,0,0,.5);
 transform:translate(-50%,-50%);pointer-events:none}
.cc-diag{margin-top:12px;font-size:.92rem;line-height:1.45;color:#d9baff;background:#170b2e;
 border:1px solid #3d2a6b;border-radius:10px;padding:9px 11px;cursor:pointer}
.cc-diag[hidden]{display:none}
.cc-honest{font-size:.86rem;color:var(--muted);margin-top:10px}
.cc-shade-note{font-weight:700;color:#dfe2ff;margin:.2em 0 .4em}
.cc-shade-note[hidden]{display:none}
/* footer */
.site-foot{background:var(--deep);color:#a7abcf;margin-top:48px;border-top:4px solid;border-image:linear-gradient(90deg,var(--blue),var(--purple),var(--green),var(--orange)) 1}
.foot-in{max-width:1140px;margin:0 auto;padding:30px 18px 20px}
.foot-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px}
.site-foot h4{color:#fff;margin:.2em 0 .5em;font-size:.98rem;letter-spacing:.02em}
.site-foot a{color:#8fb0ff;display:block;padding:.22em 0;font-weight:550}
.site-foot a:hover{color:#fff}
.site-foot .brandline{display:flex;align-items:center;gap:9px;color:#fff;font-weight:850;font-size:1.15rem}
.site-foot .brandline img.brand-logo{height:36px;width:auto;display:block}
.site-foot .brandline .pin{width:24px;height:24px}
.site-foot .fine{color:#767aa3;margin-top:18px}
#results .result-link{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;
 padding:11px 15px;margin:0 0 9px;color:var(--ink);font-weight:700}
#results .result-link:hover{border-color:var(--cyan);text-decoration:none}
#results .result-link .t{color:var(--muted);font-weight:600;font-size:.85em}
@media(max-width:560px){
 h1{font-size:1.85rem} .hero .in{padding:38px 16px 34px} .band h2{font-size:1.5rem}
 .site-head nav a{padding:.4em .5em;font-size:.9rem} .search button{padding:.6em 1em}
 .stat{min-width:100px;padding:8px 12px} .stat b{font-size:1.2rem}
}

/* training directory additions (door build) */
.tcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:14px 0}
.tcard{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:16px 18px}
.tcard h3{margin:.1em 0 .25em;font-size:1.08rem}
.tcard h3 a{color:#fff}
.tcard .meta{color:var(--muted);font-size:.9rem;margin:.15em 0}
.tcard .desc{color:#c6c9ea;font-size:.95rem}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.chip{font-size:.76rem;font-weight:700;letter-spacing:.04em;padding:.24em .7em;border-radius:999px;
 background:rgba(20,111,255,.13);border:1px solid rgba(20,111,255,.5);color:#a9c8ff}
.chip.kind{background:rgba(129,20,255,.13);border-color:rgba(129,20,255,.55);color:#cf9dff}
.chip.fmt{background:rgba(77,255,30,.10);border-color:rgba(77,255,30,.45);color:#b6ff9e}
.factgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin:14px 0}
.fact{background:var(--card);border:1px solid var(--line);border-radius:var(--rad);padding:12px 15px}
.fact h4{margin:0 0 .3em;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.fact p{margin:0;font-weight:650}
.stategrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin:12px 0}
.stategrid a,.stategrid span{display:block;padding:.55em .8em;border:1px solid var(--line);
 border-radius:10px;background:var(--card);color:var(--ink);font-weight:650}
.stategrid span{color:var(--muted);font-weight:500}
.honest{background:linear-gradient(160deg,#07071a,#10102a);border:1px solid var(--line);
 border-radius:var(--rad);padding:16px 20px;margin:20px 0}
.honest h2{margin-top:.2em}
