/* The permit-company pages (/permit-companies). Same tokens and frame as about-routeall.html;
   site-shell.css supplies the light/dark values. Mobile first: one column, then two from 760px. */
:root{--bg:#0A0E14;--surface:#161d27;--line:#232D3A;--text:#EDF2F7;--dim:#828FA6;--accent:#4DABF7;--accent-ink:#0A0E14;--focus:#8FD3FF;--max:1080px}
*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--accent)}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}
.nums{font-variant-numeric:tabular-nums}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--accent);color:var(--accent-ink);padding:11px 18px;font-weight:700;text-decoration:none}
.skip:focus{left:0}

header{border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--bg);z-index:10}
header .wrap{display:flex;align-items:center;gap:12px;height:64px}
header .site-appearance{margin-left:auto}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--text);text-decoration:none;font-size:17px}
.brand img{border-radius:7px}
.top-link{color:var(--dim);text-decoration:none;font-size:14px;display:inline-flex;align-items:center;min-height:44px}
.top-link:hover{color:var(--text)}

main{padding:40px 0 72px}
main>.wrap{display:flex;flex-direction:column;gap:72px}
h1{font-size:clamp(30px,6vw,52px);line-height:1.08;letter-spacing:-.025em;margin:0;max-width:16em}
h2{font-size:clamp(22px,3.2vw,30px);line-height:1.2;letter-spacing:-.015em;margin:0}
h3{font-size:18px;line-height:1.3;margin:0}
p{margin:0}
.lede{font-size:18px;max-width:40em}
.stack{display:flex;flex-direction:column;gap:16px}
.prose{display:flex;flex-direction:column;gap:14px;max-width:44em}
.dim{color:var(--dim)}
.small{font-size:14px}

.actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 22px;border-radius:999px;background:var(--accent);color:var(--accent-ink);font-weight:700;text-decoration:none;border:0;font-size:16px;cursor:pointer}
.btn:hover{filter:brightness(1.08)}
.btn:active{transform:scale(.98)}
.text-link{font-weight:600;text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.text-link:hover{text-decoration:underline}

/* The walkthrough: the RouteAll window a permit desk uses, one step at a time. Without script every step shows. */
.walk{display:flex;flex-direction:column;gap:14px}
.walk-tabs{display:flex;flex-wrap:wrap;gap:6px}
.walk-tabs::-webkit-scrollbar{display:none}
.walk-tabs button{flex:none;min-height:40px;padding:0 16px;border-radius:999px;border:0;background:var(--surface);color:var(--dim);font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.walk-tabs button[aria-selected="true"]{background:var(--text);color:var(--bg)}
.walk figure{margin:0;display:flex;flex-direction:column;gap:12px}
.walk img{display:block;width:100%;height:auto;border-radius:10px;background:var(--surface)}
.walk figcaption{max-width:44em}
.walk-nav{display:flex;gap:12px;align-items:center}
.walk-nav .count{color:var(--dim);font-size:14px}

.split{display:flex;flex-direction:column;gap:40px}
.split>*{flex:1 1 0;min-width:0}
.panel{background:var(--surface);border-radius:14px;padding:24px 20px;display:flex;flex-direction:column;gap:14px}
pre{margin:0;overflow-x:auto;background:var(--bg);border-radius:8px;padding:14px;font-size:13px;line-height:1.5}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

.facts{margin:0;border-top:1px solid var(--line)}
.facts div{display:flex;flex-direction:column;gap:2px;padding:14px 0;border-bottom:1px solid var(--line)}
.facts dt{font-weight:650}
.facts dd{margin:0;color:var(--text)}
.steps{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px}
.reading{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.reading li{border-bottom:1px solid var(--line)}
.reading a{display:flex;flex-direction:column;gap:2px;padding:14px 0;text-decoration:none;color:var(--text)}
.reading a span{color:var(--dim);font-size:14px}
.reading a:hover strong{color:var(--accent)}

details{border-bottom:1px solid var(--line)}
details summary{cursor:pointer;padding:16px 0;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:16px}
details summary::-webkit-details-marker{display:none}
details summary::after{content:"+";color:var(--dim);font-weight:400;font-size:20px;flex:none}
details[open] summary::after{content:"\2212"}
details p{margin:0 0 16px}

.close{background:var(--surface);border-radius:14px;padding:32px 20px;display:flex;flex-direction:column;gap:16px;align-items:flex-start}

/* Directory */
.finder{display:flex;flex-direction:column;gap:8px;max-width:520px}
.finder label{font-weight:600}
.finder input{min-height:44px;padding:0 14px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit}
.companies{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.companies li{display:flex;flex-direction:column;gap:6px;padding:18px 0;border-bottom:1px solid var(--line)}
.companies h3 a{color:var(--text);text-decoration:none}
.companies h3 a:hover{color:var(--accent);text-decoration:underline}
.companies .meta{display:flex;flex-direction:column;gap:2px;font-size:15px}
.companies .meta b{font-weight:600;color:var(--dim)}
.companies .links{display:flex;flex-wrap:wrap;gap:0 18px;font-size:14px}
.companies .links a{display:inline-flex;align-items:center;min-height:36px}
.empty{padding:18px 0;color:var(--dim)}

footer{border-top:1px solid var(--line);padding:28px 0;color:var(--dim);font-size:14px}
footer .wrap{display:flex;flex-wrap:wrap;gap:8px 14px;justify-content:space-between}
footer a{color:var(--dim);text-decoration:none;margin-right:16px;display:inline-flex;align-items:center;min-height:44px}
footer a:hover{color:var(--text)}

@media (min-width:760px){
  main{padding:64px 0 96px}
  main>.wrap{gap:112px}
  .split{flex-direction:row;gap:48px}
  .panel{padding:32px}
  .facts div{flex-direction:row;gap:24px}
  .facts dt{flex:0 0 220px}
  .companies li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:6px 32px}
  .companies li>h3{grid-column:1}
  .companies li>.meta,.companies li>.links{grid-column:2}
  .companies li>h3{grid-row:1/span 2}
  .close{padding:48px}
}
@media (prefers-reduced-motion:reduce){.btn:active{transform:none}}
