/* Tahoe Backcountry Radio. Built to look like the trailhead sign:
   sign black, safety-yellow border, the zone colour band, white numbers. */
:root{
  --black:#111111; --black-2:#1C1C1C; --black-3:#2A2A2A;
  --yellow:#FFC20E; --yellow-deep:#E5A800;
  --snow:#F6F5F1; --snow-2:#ECEAE3; --line:#D9D6CC; --line-dark:#3A3A3A;
  --ink:#111111; --ink-2:#4A4A46; --ink-3:#6B6A64;
  --lake:#1F3FE0;
  --z16:#FF0000; --z18:#00CD00; --z20:#009AFF; --z22:#A200FF; --z05:#6B6B66;
  --r:6px;
  --shadow:0 12px 30px -14px rgba(0,0,0,.45);
  --font:"TBR Dot","Overpass",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif;
}
/* Overpass ships its middle dot (U+00B7) with no width, so "A · B" prints as "A ·B".
   This takes that one character from a system font; every other character skips it. */
@font-face{font-family:"TBR Dot";src:local("Arial"),local("Helvetica Neue"),local("Helvetica"),local("Roboto"),local("Noto Sans"),local("DejaVu Sans"),local("Liberation Sans");unicode-range:U+00B7}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:84px;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{margin:0;overflow-x:hidden;background:var(--snow);color:var(--ink);
  font-family:var(--font);
  font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;
  min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
main{flex:1 0 auto}
img{max-width:100%}
a{color:var(--ink);text-decoration-color:var(--yellow-deep);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{text-decoration-color:var(--ink)}
:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.top :focus-visible,.hero :focus-visible,.page-head :focus-visible,.band-black :focus-visible,footer :focus-visible,.tx.emergency :focus-visible{outline-color:var(--yellow)}
.skip{position:absolute;left:8px;top:-80px;z-index:1300;background:var(--yellow);color:var(--black);font-weight:800;padding:10px 14px;border-radius:var(--r);text-decoration:none}
.skip:focus{top:8px}
h1,h2,h3{margin:0;font-weight:900;line-height:1.05;letter-spacing:-.015em;text-wrap:balance}
h1{font-size:clamp(2.3rem,5.5vw,4rem)}
h2{font-size:clamp(1.6rem,3.2vw,2.3rem)}
h3{font-size:1.2rem;font-weight:800}
p{margin:0}
.wrap{max-width:1180px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.muted{color:var(--ink-2)}
.small{font-size:.9rem}
.num{font-variant-numeric:tabular-nums}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:1200;background:var(--black);color:#fff;border-bottom:4px solid var(--yellow)}
.top .wrap{display:flex;align-items:center;gap:18px;min-height:64px}
.lockup{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;flex:0 1 auto;min-width:0}
.lockup img{width:44px;height:44px;flex:none}
.wordmark{font-weight:900;font-size:1.05rem;line-height:1.05;letter-spacing:-.01em;white-space:nowrap;min-width:0;overflow-x:clip;text-overflow:ellipsis}
.wordmark small{display:block;font-weight:600;font-size:.75rem;color:#BDBDB6;letter-spacing:0}
nav.primary{margin-left:auto;display:flex;gap:2px}
nav.primary a,.menu nav a{color:#E9E9E4;text-decoration:none;font-weight:700;font-size:.95rem;padding:8px 10px;border-radius:4px}
nav.primary a:hover{background:var(--black-3);color:#fff}
nav.primary a[aria-current]{color:var(--yellow)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:800;font-size:1rem;line-height:1;padding:14px 18px;border-radius:var(--r);text-decoration:none;border:2px solid transparent;cursor:pointer;white-space:nowrap;min-height:48px}
.btn-yellow{background:var(--yellow);color:var(--black);border-color:var(--yellow)}
.btn-yellow:hover{background:var(--yellow-deep);border-color:var(--yellow-deep)}
.btn-black{background:var(--black);color:#fff;border-color:var(--black)}
.btn-black:hover{background:var(--black-3)}
.btn-line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-line:hover{background:var(--ink);color:#fff}
.on-dark .btn-line{border-color:#fff;color:#fff}
.on-dark .btn-line:hover{background:#fff;color:var(--black)}
.top .cta{flex:none;padding:11px 14px;min-height:42px}
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;font-weight:800;color:#fff;padding:10px 14px;border:2px solid var(--line-dark);border-radius:var(--r);min-height:44px}
.menu summary::-webkit-details-marker{display:none}
.menu nav{position:absolute;right:0;top:calc(100% + 10px);background:var(--black);border:2px solid var(--yellow);border-radius:var(--r);display:grid;min-width:220px;padding:6px;box-shadow:var(--shadow)}
.menu nav a{padding:13px 12px;font-size:1.05rem}
.menu nav a[aria-current]{color:var(--yellow)}
.menu nav a.menu-cta{display:none;margin-top:6px;border-top:1px solid var(--line-dark);border-radius:0;color:var(--yellow)}
/* The header's steps are in em, so they follow the reader's font size. At 16px the row needs 1104px with
   the full nav, 579px with the tagline and 503px with the button; each step leaves room to spare. If it
   still does not fit (another font, a longer label), the wordmark is cut short, never a button. */
@media (max-width:72em){nav.primary{display:none}.menu{display:block}.top .cta{margin-left:auto}}
/* The row stops growing at 1180px. At a larger font size the full nav never fits in that, on any screen,
   so the row itself is measured as well (rem follows the reader's font size). */
.top .wrap{container-type:inline-size}
@container (max-width:67rem){nav.primary{display:none}.menu{display:block}.top .cta{margin-left:auto}}
@media (max-width:40em){.wordmark small{display:none}}
@media (max-width:34em){.top .cta{display:none}.menu{margin-left:auto}.menu nav a.menu-cta{display:block}}
@media (max-width:22.4em){.wordmark{white-space:normal}}

/* ---------- hero: lookup over real terrain ---------- */
.hero{position:relative;background:var(--black) url(/assets/img/terrain.jpg) center 35%/cover no-repeat;color:#fff}
@media (max-width:700px){.hero{background-image:url(/assets/img/terrain-900.jpg)}}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(17,17,17,.25) 0%,rgba(17,17,17,.55) 45%,rgba(17,17,17,.92) 100%)}
.hero .wrap{position:relative;padding-block:clamp(36px,7vw,84px) clamp(28px,5vw,56px);display:grid;gap:22px}
.hero h1{max-width:16ch;text-shadow:0 2px 18px rgba(0,0,0,.45)}
.hero .lede{font-size:clamp(1.05rem,1.6vw,1.25rem);max-width:56ch;color:#F1F1EC;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.hero .lede strong{color:var(--yellow)}

.finder{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:'pick sign' 'updates sign' 'details sign';grid-template-rows:auto auto 1fr;column-gap:clamp(18px,3vw,36px);row-gap:0;align-items:start;background:var(--black);border:2px solid var(--black-3);border-radius:10px;padding:clamp(16px,2.5vw,26px);box-shadow:var(--shadow)}
.finder .pick{grid-area:pick}.finder .details{grid-area:details;margin:clamp(18px,3vw,28px) 0 0}.finder .sign-wrap{grid-area:sign;align-self:center}
.finder .updates{margin-top:clamp(18px,3vw,28px)}
@media (max-width:820px){.finder{grid-template-columns:minmax(0,1fr);grid-template-areas:'pick' 'sign' 'updates' 'details';grid-template-rows:none}.finder .sign-wrap{margin-top:clamp(18px,3vw,28px)}.sign{max-width:270px}}
.finder label{display:block;font-weight:800;font-size:1rem;margin-bottom:8px;color:#fff}
.select-wrap{position:relative}
.select-wrap select{width:100%;appearance:none;-webkit-appearance:none;background:#fff;color:var(--black);border:3px solid var(--yellow);border-radius:var(--r);padding:14px 48px 14px 16px;font:inherit;font-size:1.1rem;font-weight:700;min-height:58px;text-overflow:ellipsis}
.select-wrap select:disabled{opacity:.7}
.select-wrap::after{content:"";position:absolute;right:20px;top:50%;width:11px;height:11px;border-right:3px solid var(--black);border-bottom:3px solid var(--black);transform:translateY(-70%) rotate(45deg);pointer-events:none}
.finder-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:12px}
.finder-actions .status{font-size:.92rem;color:#C9C9C2}
.finder .btn-line{border-color:#fff;color:#fff}
.finder .btn-line:hover{background:#fff;color:var(--black)}
.finder dl{display:grid;gap:12px}
.finder dt{font-weight:800;color:var(--yellow);font-size:.95rem}
.finder dd{margin:2px 0 0;color:#EDEDE8}
.finder dd b{color:#fff;font-size:1.15rem}
.notice{font-size:.92rem;color:#D8D8D2;max-width:62ch}

/* the sign: same layout as the trailhead sign */
.sign{width:100%;max-width:360px;margin-inline:auto;display:block;cursor:pointer;transition:transform .15s}
.sign-wrap:hover .sign{transform:scale(1.03)}
/* the readout just changed */
.sign.is-flash{animation:signflash .7s ease-out}
@keyframes signflash{0%{filter:drop-shadow(0 0 2px var(--yellow)) drop-shadow(0 0 18px var(--yellow))}100%{filter:drop-shadow(0 0 0 rgba(255,194,14,0))}}
.sign-hint{color:var(--yellow);font-weight:800}
.sign-text{fill:#fff;font-family:var(--font);font-weight:900}
.sign-wrap{display:grid;justify-items:center;gap:6px}
.sign-caption{font-size:.85rem;color:#B9B9B2;text-align:center}
.sign-caption a{color:var(--yellow);font-weight:700}

/* ---------- sections ---------- */
section.band{padding-block:clamp(44px,7vw,84px)}
section.band+section.band{border-top:1px solid var(--line)}
.band-black{background:var(--black);color:#fff}
.band-black+section.band{border-top:0}
.band-black .muted{color:#C9C9C2}
.band-black a{color:#fff}
.sec-head{display:grid;gap:10px;align-content:start;margin-bottom:clamp(20px,3vw,34px);max-width:66ch}
.sec-head p{color:var(--ink-2);font-size:1.05rem}
.band-black .sec-head p{color:#C9C9C2}
.two-up{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px)}
.two-up>.sec-head{margin-bottom:0}
@media (max-width:860px){.two-up{grid-template-columns:minmax(0,1fr);row-gap:clamp(36px,7vw,52px)}}

.page-head{background:var(--black);color:#fff;border-bottom:4px solid var(--yellow)}
.page-head .wrap{padding-block:clamp(30px,5vw,56px);display:grid;gap:12px}
.page-head .lede{font-size:clamp(1.05rem,1.5vw,1.2rem);color:#DEDED8;max-width:60ch}
.page-head .lede a{color:#fff}

/* numbered checklist, like the back of a sign */
.checklist{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:c;max-width:780px}
.checklist li{counter-increment:c;display:grid;grid-template-columns:52px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid var(--line)}
.checklist li::before{content:counter(c);display:grid;place-items:center;width:44px;height:44px;background:var(--yellow);color:var(--black);font-weight:900;font-size:1.3rem;border-radius:4px}
.checklist b{display:block;font-size:1.15rem;font-weight:900}
.checklist span{color:var(--ink-2)}

.channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:820px}
@media (max-width:820px){.channels{grid-template-columns:minmax(0,1fr)}}
.channels>div{border:2px solid var(--ink);border-radius:var(--r);padding:16px 18px;display:grid;gap:6px;align-content:start}
.channels>div:first-child{background:var(--black);color:#fff;border-color:var(--black)}
.channels>div:first-child p{color:#DCDCD6}
.channels b{font-size:1.15rem;font-weight:900}
.channels p{color:var(--ink-2)}

.video-card{margin:0;max-width:420px;display:grid;gap:10px}
.video-card iframe{width:100%;aspect-ratio:9/16;min-height:560px;border:2px solid var(--ink);border-radius:var(--r);background:var(--black)}
.rows{display:grid;border-top:2px solid var(--ink)}
.rows a{display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center;padding:16px 4px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.rows a:hover{background:var(--snow-2)}
.rows a b{font-weight:900;font-size:1.15rem}
.rows a span{grid-column:1;color:var(--ink-2);font-size:.98rem}
.rows a::after{content:"→";grid-column:2;grid-row:1/3;font-weight:900;font-size:1.3rem}

/* map */
.map-frame{position:relative;isolation:isolate;border:2px solid var(--ink);border-radius:var(--r);overflow:hidden;background:#E9EFE8}
.map-caption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.9rem;color:var(--ink-2);margin-top:10px}
.real-map{height:clamp(440px,72vh,720px);width:100%;font:inherit}
.real-map.is-svg,.real-map.is-failed{height:auto;min-height:0}
.real-map.leaflet-container{font-family:var(--font)}
.legend{background:#fff;color:var(--ink);border:2px solid var(--ink);border-radius:var(--r);padding:8px 10px;display:grid;gap:5px;font-weight:800;font-size:.85rem}
.legend .row{display:flex;align-items:center;gap:8px}
.legend .sw{width:14px;height:14px;border-radius:2px;flex:none}
.legend .other{font-weight:600;font-size:.78rem;color:var(--ink-2);border-top:1px solid var(--line);padding-top:5px}
.legend .hint{font-size:.78rem;background:var(--yellow);color:var(--black);border-radius:3px;padding:4px 7px;margin-top:2px;display:flex;align-items:center;gap:7px}
.legend .hint i{width:8px;height:8px;border-radius:50%;background:var(--black);flex:none;animation:pulse 1.6s ease-out infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(17,17,17,.55)}100%{box-shadow:0 0 0 8px rgba(17,17,17,0)}}
/* the tapped trailhead */
.real-map .th-ring{animation:ring 1.8s ease-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes ring{0%{transform:scale(.6);opacity:1}100%{transform:scale(1.5);opacity:0}}
.real-map .leaflet-interactive{transition:fill-opacity .15s,stroke-width .15s}
.real-map .leaflet-control.legend{margin:0 0 12px 12px}
.real-map .leaflet-control-attribution{font-size:10px}
.real-map .leaflet-bar a{color:var(--ink)}
.zone-tip{font-weight:800;font-size:.9rem;border-radius:4px}
.leaflet-tooltip.zone-name-tip{background:transparent;border:0;box-shadow:none;padding:0;font-weight:900;font-size:12px;color:#111;text-shadow:0 0 3px #fff,0 0 3px #fff,0 0 3px #fff;display:none}
.leaflet-tooltip.zone-name-tip::before{display:none}
.real-map.names-on .leaflet-tooltip.zone-name-tip{display:block}
@media (max-width:560px){
  .real-map .leaflet-control.legend{display:grid;grid-template-columns:repeat(2,auto);gap:3px 12px;padding:6px 8px;font-size:.72rem;margin:0 0 8px 8px}
  .real-map .legend .other,.real-map .legend .hint{grid-column:1/-1;font-size:.7rem}
}
/* fallback drawing when the map library can't load */
.map-frame .is-svg svg{display:block;width:100%;height:auto;max-height:86vh}
.zone{fill-opacity:.22;stroke-width:2;cursor:pointer}
.zone:hover,.zone:focus-visible,.zone.is-selected{fill-opacity:.5;stroke-width:4}
svg.has-selection .zone:not(.is-selected):not(:hover){fill-opacity:.12}
.zone-label{font:900 12px var(--font);fill:#111;paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none}
.th{fill:#111;stroke:#fff;stroke-width:1;cursor:pointer}
.th:hover{fill:var(--yellow)}
.lake{fill:#9CC3EC;stroke:#5C88B8;stroke-width:1}
.lake-label{font:800 14px var(--font);fill:#fff}

/* tables */
.table-scroll{overflow-x:auto;border:2px solid var(--ink);border-radius:var(--r);
  background:linear-gradient(to left,#fff 40%,rgba(255,255,255,0)) right/36px 100% no-repeat local,
    radial-gradient(farthest-side at 100% 50%,rgba(0,0,0,.28),rgba(0,0,0,0)) right/14px 100% no-repeat scroll #fff}
table{border-collapse:separate;border-spacing:0;width:100%;min-width:600px;font-variant-numeric:tabular-nums}
.table-scroll th:first-child{position:sticky;left:0;z-index:1}
.table-scroll tbody th{background:#fff;box-shadow:1px 0 0 var(--line)}
th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
thead th{background:var(--black);color:#fff;font-weight:800;font-size:.95rem}
tbody th{font-weight:800;font-size:.9rem;color:var(--ink-2);white-space:nowrap}
tbody tr:last-child td,tbody tr:last-child th{border-bottom:0}
.pill{display:inline-block;font-size:.78rem;font-weight:800;padding:3px 9px;border-radius:999px;border:2px solid var(--line);color:var(--ink-2)}
.pill.good{border-color:var(--ink);background:var(--yellow);color:var(--ink)}
.zone-table{min-width:0}
.zone-table tbody th{box-shadow:none;padding-left:34px;text-indent:-20px}  /* a wrapped zone name lines up after the swatch */
.zone-table .none{color:var(--ink-3)}
.zone-table td:nth-child(2){font-weight:900;white-space:nowrap}
.zone-table th,.zone-table td{padding:8px 12px}
.zone-table tbody th{font-size:.95rem}
.zone-table td:last-child{width:52%;color:var(--ink-2);font-size:.95rem}
.zone-table tr.group th{background:var(--snow-2);color:var(--ink);font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;padding:7px 12px;text-indent:0}
.zone-table .sw{display:inline-block;width:12px;height:12px;border-radius:2px;margin-right:8px;vertical-align:-1px}
@media (max-width:640px){.zone-table th:nth-child(4),.zone-table td:nth-child(4){display:none}.zone-table tbody th{white-space:normal}}
@media (max-width:900px){th,td{padding:12px 10px}.zone-table tbody th{padding-left:30px}}
.radio-notes{margin-top:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 40px;color:var(--ink-2)}
@media (max-width:760px){.radio-notes{grid-template-columns:minmax(0,1fr)}}
.radio-notes strong{color:var(--ink)}

/* radio calls */
.transcripts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:760px){.transcripts{grid-template-columns:minmax(0,1fr)}}
.tx{background:#fff;border:2px solid var(--ink);border-radius:var(--r);padding:16px 18px;display:grid;gap:6px}
.tx .when{font-weight:800;font-size:.85rem;color:var(--ink-2)}
.tx q{font-weight:800;font-size:1.2rem;line-height:1.3;quotes:"\201C" "\201D"}
.tx.emergency{background:var(--black);color:#fff;border-color:var(--black);box-shadow:inset 6px 0 0 var(--z16)}
.tx.emergency .when{color:var(--yellow)}
.tips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 40px;max-width:90ch}
@media (max-width:760px){.tips{grid-template-columns:minmax(0,1fr)}}
.tips div{color:var(--ink-2)}
.tips strong{color:var(--ink);display:block}

/* stewards */
.duties{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:26px}
@media (max-width:860px){.duties{grid-template-columns:minmax(0,1fr)}}
.duty{border-top:4px solid var(--yellow);padding-top:12px;color:#DCDCD6}
.duty b{display:block;color:#fff;font-weight:900;font-size:1.2rem;margin-bottom:4px}
.actions{display:flex;flex-wrap:wrap;gap:10px}

/* events */
.event-list{display:grid;border-top:2px solid var(--ink)}
.event{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid var(--line);align-items:baseline}
.event .d{font-weight:900}
.event .t{color:var(--ink-2)}
.event .t b{color:var(--ink)}
.event .status{font-weight:800;font-size:.8rem;color:var(--z16);margin-left:6px}
.event.past{opacity:.6}

/* prose pages */
.prose{max-width:66ch;display:grid;gap:14px;color:var(--ink-2)}
.prose strong{color:var(--ink)}
.prose h2{color:var(--ink);margin-top:18px}
.prose h3{color:var(--ink);margin-top:8px}
.prose ul,.prose ol,.article ul,.article ol{margin:0;padding-left:1.2em;display:grid;gap:6px}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.facts div{border-top:4px solid var(--yellow);padding-top:8px;color:var(--ink-2);font-size:.95rem}
.facts b{display:block;font-size:2rem;font-weight:900;color:var(--ink);line-height:1.1}
.about{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,5vw,72px)}
@media (max-width:860px){.about{grid-template-columns:minmax(0,1fr)}}
.faq dt{font-weight:900;color:var(--ink);margin-top:22px;font-size:1.1rem}
.faq dd{margin:6px 0 0;color:var(--ink-2)}
.press-list{border-top:2px solid var(--ink)}
.band-black .press-list{border-top-color:#fff}
.band-black .press-item{border-bottom-color:var(--line-dark)}
.band-black .press-item .src{color:#C9C9C2}
.band-black .press-item q{color:#DCDCD6}
.covers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:460px}
.covers figure{margin:0;display:grid;gap:6px}
.covers img{width:100%;height:auto;border:1px solid var(--line);border-radius:4px;display:block}
.covers figcaption{font-size:.8rem;color:var(--ink-2)}
.rows.learn{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,5vw,64px);border-top:0}
.rows.learn a{border-top:0}
.rows.learn a:nth-child(-n+2){border-top:2px solid var(--ink)}
@media (max-width:760px){.rows.learn{grid-template-columns:minmax(0,1fr)}.rows.learn a:nth-child(2){border-top:0}}
.press-item{padding:16px 0;border-bottom:1px solid var(--line);display:grid;gap:5px}
.press-item a{font-weight:800}
.press-item .src{font-size:.85rem;color:var(--ink-3)}
.press-item q{color:var(--ink-2);font-style:italic}
.downloads{display:flex;flex-wrap:wrap;gap:8px}
.data-error{background:#fff;border-left:6px solid var(--z16);padding:12px 16px;color:var(--ink);border-radius:0 var(--r) var(--r) 0}

/* email sign-up */
.signup{display:grid;gap:12px;max-width:600px}
.signup-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:10px}
@media (max-width:520px){.signup-fields{grid-template-columns:minmax(0,1fr)}}
.signup label{display:grid;gap:4px;font-size:.92rem;font-weight:700}
.signup input{font:inherit;width:100%;min-width:0;padding:13px 14px;border:2px solid var(--ink);border-radius:var(--r);background:#fff;color:var(--ink);min-height:50px}
.band-black .signup input{border-color:#fff}
.signup .btn{justify-self:start}

/* footer */
footer{background:var(--black);color:#C9C9C2;padding-block:40px 46px;font-size:.95rem;border-top:4px solid var(--yellow)}
footer .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.7fr) minmax(0,.8fr) minmax(0,1fr);gap:28px}
@media (max-width:1040px){footer .wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media (max-width:520px){footer .wrap{grid-template-columns:minmax(0,1fr)}}
footer h4{color:#fff;margin:0 0 10px;font-size:.95rem;font-weight:900}
footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
footer li{overflow-wrap:anywhere}
footer a{color:#C9C9C2;text-decoration:none}
footer a:hover{color:var(--yellow)}
.foot-mark{display:grid;gap:12px;max-width:34ch}
.foot-mark img{width:96px;height:96px}
.fine{grid-column:1/-1;border-top:1px solid var(--line-dark);padding-top:16px;font-size:.85rem;color:#9A9A93;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.band-black a.btn-yellow,.page-head a.btn-yellow{color:var(--black)}
.wrap.prose{max-width:1180px}
.wrap.prose>*{max-width:66ch}

/* content that comes from WordPress */
.lede p+p{margin-top:10px}
.wp-content img{height:auto;border-radius:var(--r)}
.wp-content ul.facts{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}
.wp-content ul.facts li{border-top:4px solid var(--yellow);padding-top:8px;color:var(--ink-2);font-size:.95rem}
.wp-content ul.facts strong{display:block;font-size:2rem;font-weight:900;color:var(--ink);line-height:1.1}
.faq.wp-content{gap:0}
.faq.wp-content>*+*{margin-top:6px}
.faq.wp-content>h3{font-size:1.1rem;margin-top:26px;color:var(--ink)}
.faq.wp-content>:first-child{margin-top:0}
.radio-notes.wp-content p{margin:0}

/* area updates */
.updates{display:grid;gap:10px}
.update{background:#fff;border:2px solid var(--ink);border-left:8px solid var(--yellow);border-radius:var(--r);padding:12px 14px;color:var(--ink)}
.update .meta{font-size:.82rem;font-weight:800;color:var(--ink-2)}
.update h3{font-size:1.05rem;margin:2px 0 4px}
.update .body{color:var(--ink-2);font-size:.98rem}
.update .body>*+*{margin-top:6px}
.update .body ul,.update .body ol{margin-bottom:0;padding-left:1.2em}
.update.t-sign{border-left-color:var(--z16)}
.update.t-access{border-left-color:var(--z22)}
.finder .update{background:var(--black-2);border-top-color:var(--line-dark);border-right-color:var(--line-dark);border-bottom-color:var(--line-dark);color:#fff}
.finder .update .meta,.finder .update .body{color:#D6D6D0}
.finder .update a{color:#fff}

/* news */
.posts{display:grid;gap:22px}
.post-card{display:grid;grid-template-columns:200px 1fr;gap:18px;align-items:start;padding-bottom:22px;border-bottom:1px solid var(--line);text-decoration:none;color:var(--ink)}
.post-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--r)}
.post-card h3{font-size:1.3rem;margin:2px 0 6px}
.post-card .date{font-size:.85rem;font-weight:800;color:var(--ink-2)}
.post-card p{color:var(--ink-2)}
@media (max-width:600px){.post-card{grid-template-columns:minmax(0,1fr)}}
.article{max-width:70ch;display:grid;gap:16px;color:var(--ink-2)}
.article h2,.article h3{color:var(--ink);margin-top:10px}
.article img{max-width:100%;height:auto;border-radius:var(--r)}
.article figure{margin:0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* layout fixes */
.pill{white-space:nowrap}
.event .t{overflow-wrap:anywhere}
.post-card.no-img{grid-template-columns:minmax(0,1fr)}
.zone-list{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:clamp(24px,4vw,56px);align-items:start}
.zone-side{position:sticky;top:88px}
@media (max-width:900px){.zone-list{grid-template-columns:minmax(0,1fr)}.zone-side{position:static}}
.real-map{min-height:440px}
.event{grid-template-columns:150px 1fr}
@media (max-width:520px){.event{grid-template-columns:1fr;gap:2px}}

/* ---------- events: rows, home strip, calendar ---------- */
.ev-list{display:grid;border-top:2px solid var(--ink)}
.ev{display:grid;grid-template-columns:64px 1fr;gap:14px;align-items:start;padding:14px 4px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none;transition:background .3s}
a.ev:hover{background:var(--snow-2)}
.ev.is-flash{background:#FFF2C2}
.ev-date{display:grid;justify-items:center;text-align:center;background:var(--black);color:#fff;border-radius:var(--r);padding:6px 4px 7px;border-bottom:4px solid var(--yellow);line-height:1}
.ev-mon{font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--yellow)}
.ev-day{font-size:1.35rem;font-weight:900;margin-top:4px;white-space:nowrap}
.ev-body{display:grid;gap:2px;min-width:0}
.ev-title{font-size:1.08rem;font-weight:900;overflow-wrap:anywhere}
.ev-meta{color:var(--ink-2);font-size:.92rem}
.ev-detail{color:var(--ink-2);font-size:.92rem;overflow-wrap:anywhere;margin-top:4px}
.ev-flag{justify-self:start;font-size:.75rem;font-weight:800;color:#fff;background:#B00000;padding:1px 7px;border-radius:3px;margin-top:3px}
.ev.is-canceled .ev-title{text-decoration:line-through;color:var(--ink-3)}
.ev.is-past{opacity:.6}
.row-head{display:flex;justify-content:space-between;align-items:end;gap:12px;flex-wrap:wrap;max-width:none}
.ev-strip{grid-template-columns:repeat(4,minmax(0,1fr));border-top:0;gap:12px}
.ev-strip .ev{border:2px solid var(--ink);border-radius:var(--r);padding:12px;background:#fff}
.ev-strip>p,.cal>p{grid-column:1/-1}
.ev-list:not(.ev-strip)>p{padding:14px 4px 0}
@media (max-width:980px){.ev-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.ev-strip{grid-template-columns:minmax(0,1fr);gap:8px}}

.cal-bar-top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.cal-nav{display:flex;align-items:center;gap:10px}
.cal-nav .btn{min-width:48px;font-size:1.4rem;padding:8px 14px}
.cal-nav-label{font-weight:900;font-size:1.15rem}
.cal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,36px)}
@media (max-width:1000px){.cal{grid-template-columns:minmax(0,1fr)}}
.cal-title{font-size:1.4rem;margin-bottom:8px}
.cal-head{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));font-size:.75rem;font-weight:800;color:var(--ink-2);text-transform:uppercase;letter-spacing:.04em;padding-bottom:4px;border-bottom:2px solid var(--ink)}
.cal-head span{padding-left:6px}
.cal-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-template-rows:30px;grid-auto-rows:min-content;row-gap:3px;position:relative;min-height:92px;border-bottom:1px solid var(--line);padding-bottom:6px}
.cal-day{grid-row:1 / span 7;align-self:stretch;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start;background:none;border:0;border-right:1px solid var(--line);font:inherit;text-align:left;padding:4px 6px;cursor:pointer;color:var(--ink);min-height:92px}
.cal-day:nth-child(7){border-right:0}
.cal-day:hover{background:var(--snow-2)}
.cal-day.is-out{color:var(--ink-3);background:repeating-linear-gradient(135deg,transparent 0 6px,rgba(0,0,0,.025) 6px 12px)}
.cal-day.is-past .cal-num{color:var(--ink-3)}
.cal-num{font-weight:800;font-size:.9rem}
.cal-day.is-today .cal-num{background:var(--black);color:var(--yellow);border-radius:4px;padding:1px 6px}
.cal-bar{position:relative;z-index:1;margin:0 3px;padding:2px 6px;background:var(--yellow);color:var(--black);font-size:.75rem;font-weight:800;line-height:1.35;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.cal-bar.is-multi{background:var(--black);color:#fff;box-shadow:inset 0 -3px 0 var(--yellow)}
.cal-bar.cont-left{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}
.cal-bar.cont-right{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}
.cal-bar.is-canceled{background:var(--snow-2);color:var(--ink-3);text-decoration:line-through}
.cal-more{position:relative;z-index:1;font-size:.72rem;font-weight:800;color:var(--ink-2);padding-left:7px;pointer-events:none}
@media (max-width:640px){
  .cal-week{min-height:62px;grid-template-rows:24px}.cal-day{min-height:62px;padding:3px 4px}
  .cal-bar{font-size:0;height:8px;padding:0;margin:1px 2px;border-radius:3px}
  .cal-bar.is-multi{box-shadow:none}
  .cal-more{font-size:.62rem;padding-left:3px}
  .cal-head span{padding-left:3px}
}
.ev-day.is-range{font-size:1.05rem}
.ev-date{min-width:0}
/* a one-day event has one narrow column: let its label run to two lines instead of "6pm Ra…" */
@media (min-width:641px){
  .cal-bar{align-self:start}
  /* the inset is a border, not padding: a clamped third line would show through padding */
  .cal-bar:not(.is-multi){white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow-wrap:anywhere;padding-block:0;border-block:2px solid transparent}
}

/* ---------- avalanche conditions ---------- */
.cond{display:grid;gap:14px}
.cond-alerts{display:grid;gap:8px}
.cond-alert{display:grid;gap:2px;padding:12px 14px;border-radius:var(--r);background:#FFF4D6;border:2px solid var(--ink);border-left-width:10px;color:var(--ink);text-decoration:none}
.cond-alert b{font-size:1.05rem}
.cond-alert-kind{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.cond-alert-detail{font-size:.92rem;color:var(--ink-2)}
.cond-alert.is-avy,.cond-alert.is-warning{background:#FDE3E3;border-left-color:var(--z16)}
.cond-alert.is-avy .cond-alert-kind,.cond-alert.is-warning .cond-alert-kind{color:#B00000}
.cond-alert.is-watch{border-left-color:#F7941E}
.cond-alert.is-advisory{border-left-color:var(--yellow)}
a.cond-alert:hover{background:#fff}
.cond-clear{font-size:.95rem;color:var(--ink-2);padding:10px 14px;border:1px dashed var(--line);border-radius:var(--r)}
.cond-body{background:#fff;border:2px solid var(--ink);border-radius:var(--r);padding:clamp(14px,2.4vw,22px);display:grid;gap:12px}
.cond-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:560px){.cond-grid{grid-template-columns:minmax(0,1fr)}}
.cond-day h3{font-size:1.1rem;margin-bottom:6px}
.cond-band{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:6px 0;border-bottom:1px solid var(--line)}
.cond-band-name{font-weight:700;color:var(--ink-2);font-size:.95rem}
.cond-level{display:inline-block;min-width:150px;text-align:center;font-weight:900;font-size:.95rem;padding:6px 10px;border-radius:4px;border:1px solid rgba(0,0,0,.25)}
.cond-problems{font-weight:800}
.cond-bottom{color:var(--ink);font-size:1.02rem;max-width:80ch}
.cond-meta{font-size:.88rem;color:var(--ink-2)}
.cond-none{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cond-none p{font-weight:700}
.cond-clear.is-unknown{border:2px solid var(--ink);border-left:10px solid #F7941E;background:#FFF4D6;color:var(--ink);font-weight:700}

/* snow forecast */
.snow-pick{display:flex;align-items:center;gap:10px;font-weight:800}
.snow-pick select{min-width:0;font:inherit;font-weight:700;padding:10px 36px 10px 12px;border:2px solid var(--ink);border-radius:var(--r);background:#fff;color:var(--ink);min-height:44px;max-width:260px}
.snow-head{font-size:1.15rem;margin-bottom:14px}
.snow-head b{font-weight:900;color:var(--ink)}
.snow-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}
.snow-day{background:#fff;border:2px solid var(--ink);border-top-width:6px;border-radius:var(--r);padding:12px 10px;display:grid;gap:3px;text-align:center}
.snow-day.has-snow{border-top-color:var(--yellow);background:#FFFBEB}
.snow-dow{font-weight:900;font-size:1rem}
.snow-date{font-size:.8rem;color:var(--ink-3)}
.snow-in{font-size:2rem;font-weight:900;line-height:1.1;margin:6px 0 2px}
.snow-day.has-snow .snow-in{color:var(--ink)}
.snow-day:not(.has-snow) .snow-in{color:var(--ink-3)}
.snow-words{font-size:.85rem;font-weight:700}
.snow-temp{font-size:.9rem;color:var(--ink-2)}
.snow-wind{font-size:.78rem;color:var(--ink-3)}
@media (max-width:900px){.snow-days{grid-template-columns:repeat(7,minmax(128px,1fr));overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;margin-inline:-4px;padding-inline:4px}.snow-day{scroll-snap-align:start}}
@media (max-width:560px){.sec-head.row-head .snow-pick{width:100%}.snow-pick select{max-width:none;flex:1}}

/* row lists on a black band (news and resources: downloads) */
.band-black .rows{border-top-color:#fff}
.band-black .rows a{color:#fff;border-bottom-color:var(--line-dark)}
.band-black .rows a span{color:#C9C9C2}
.band-black .rows a:hover{background:var(--black-3)}

.band-black .covers img{border-color:var(--line-dark)}
.band-black .covers figcaption{color:#C9C9C2}
/* zone list as blocks: three areas, one tile per zone */
.zone-list .table-scroll{border:0;overflow:visible;border-radius:0}
.zone-table thead{display:none}
.zone-table{display:block}
.zone-table tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.zone-table tr{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 12px;align-items:center;border:2px solid var(--ink);border-radius:var(--r);background:#fff;padding:10px 12px}
.zone-table tr.group{grid-column:1/-1;display:block;padding:0;border:0;background:none;margin-top:8px}
.zone-table tr.group:first-child{margin-top:0}
.zone-table tr.group th{display:block;width:auto;background:none;padding:0 0 2px;font-size:.8rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;text-indent:0}
.zone-table th,.zone-table td{border:0;padding:0}
.zone-table tbody th{grid-column:2;grid-row:1;position:static;box-shadow:none;padding:0;text-indent:0;font-size:1.02rem;line-height:1.15;align-self:end}
.zone-table td.zb-ch{grid-column:1;grid-row:1/3}
.zone-table td:last-child{grid-column:2;grid-row:2;width:auto;padding:0;font-size:.82rem;line-height:1.25;align-self:start}
@media (max-width:560px){.zone-table tbody{grid-template-columns:minmax(0,1fr)}}

/* channel badge: the zone colour with the channel number, like the band on the sign */
.zb-ch{width:46px;height:46px;border-radius:6px;background:var(--zc);color:#fff;font-weight:900;font-size:1.3rem;line-height:1;display:grid;place-items:center;text-shadow:0 1px 2px rgba(0,0,0,.4);font-variant-numeric:tabular-nums;flex:none}

/* home picker: area blocks, then zone blocks */
.pick-label{font-weight:800;font-size:1rem;margin:0 0 8px;color:#fff}
.area-blocks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.area-blocks .status{grid-column:1/-1;font-size:.92rem;color:#C9C9C2}
.area-block{font:inherit;text-align:left;background:#fff;color:var(--black);border:3px solid #fff;border-radius:var(--r);padding:10px 12px;cursor:pointer;display:grid;gap:2px;align-content:start;min-height:58px}
.area-block b{font-weight:900;font-size:1.05rem}
.area-block span{font-size:.8rem;color:var(--ink-2);line-height:1.2}
.area-block:hover{border-color:var(--yellow)}
.area-block[aria-pressed="true"]{border-color:var(--yellow);background:var(--yellow)}
.area-block[aria-pressed="true"] span{color:var(--black)}
.zone-blocks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.zone-block{font:inherit;text-align:left;background:#fff;color:var(--black);border:2px solid #fff;border-radius:var(--r);padding:9px 11px;cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 11px;align-items:center;transition:transform .12s,border-color .12s}
.zone-block .zb-ch{grid-row:1/3}
.zone-block .zb-name{font-weight:900;font-size:1.02rem;line-height:1.15;align-self:end}
.zone-block .zb-ths{font-size:.78rem;color:var(--ink-2);line-height:1.25;align-self:start}
.zone-block:hover{border-color:var(--yellow);transform:translateY(-1px)}
.zone-block.is-selected{border-color:var(--yellow);background:#FFF6CC;box-shadow:0 0 0 2px var(--yellow)}
.finder .small-label{display:block;font-size:.9rem;font-weight:700;margin:16px 0 6px;color:#C9C9C2}
.search-wrap{position:relative}
.search-wrap input{width:100%;box-sizing:border-box;font:inherit;font-size:1rem;font-weight:700;padding:10px 12px;border:2px solid #fff;border-radius:var(--r);background:#fff;color:var(--black);min-height:46px;appearance:none;-webkit-appearance:none}
.search-wrap input:focus{outline:3px solid var(--yellow);outline-offset:1px}
.suggest-list{position:absolute;left:0;right:0;top:100%;z-index:6;background:#fff;border:2px solid var(--ink);border-radius:var(--r);margin-top:4px;display:grid;overflow:hidden;box-shadow:var(--shadow)}
.suggest{font:inherit;text-align:left;background:#fff;color:var(--black);border:0;border-bottom:1px solid var(--line);padding:9px 12px;display:grid;gap:1px;cursor:pointer}
.suggest:last-child{border-bottom:0}
.suggest b{font-weight:900}
.suggest span{font-size:.82rem;color:var(--ink-2)}
.suggest:hover,.suggest:focus{background:var(--snow-2)}
@media (max-width:560px){
  .area-blocks{grid-template-columns:minmax(0,1fr)}
  .area-block{min-height:0;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:8px;padding:9px 12px}
  .zone-blocks{grid-template-columns:minmax(0,1fr)}
}
