/* Multi-page shell for D.O.C. Layered on top of doc.css, which carries the
   original component styles (cards, venues, planner, ballot, drawer). */

/* `hidden` means hidden, whatever display a component sets. The published
   single file gets this from the artifact's own reset; the multi-page site did
   not, so any element with display:flex or grid ignored its hidden attribute —
   the Tour Planner's stop editor sat open over the page on every load
   (found 2026-09-24). */
[hidden]{display:none!important}

/* ============================ Stage Time ============================== */
.st-tabs{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 26px;border-bottom:1px solid var(--line);
  padding-bottom:14px}
.st-tabs button{background:transparent;border:1px solid #543923;color:#c9b89e;padding:10px 15px;
  font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
.st-tabs button:hover{border-color:var(--gold);color:var(--gold)}
.st-tabs button.active{background:var(--gold);border-color:var(--gold);color:#160f08}
.st-panel{display:none}
.st-panel.active{display:block}
.st-h{margin:0 0 14px;font:400 26px/1 Georgia,serif;color:#f1d39c}

.st-sample-banner{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;
  border:1px dashed #9e291f;background:rgba(158,41,31,.09);padding:16px 18px;margin-bottom:22px;
  color:#d8c2a6;font-size:13px;line-height:1.55}
.st-sample-banner b{color:#efb64e}

.st-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-bottom:24px}
.st-filters label{font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;
  color:#b7a48a;display:flex;flex-direction:column;gap:6px}
.st-filters select,.st-filters input[type=text]{background:#15100c;border:1px solid #69472f;
  color:#f1e5d2;padding:10px 11px;font-size:12px;letter-spacing:0;text-transform:none;font-weight:400}
.st-check{flex-direction:row!important;align-items:center;gap:8px!important;padding-bottom:11px}
.st-filters label[hidden]{display:none}       /* a filter that would change nothing (1 Oct 2026) */

.st-mics{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(310px,100%),1fr));gap:15px}
.st-mic{border:1px solid #6b482f;background:#0f0b08;padding:18px}
.st-mic.aging{border-color:#7a5a20}
.st-mic.dormant{opacity:.58;border-style:dashed}
.st-mic-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.st-mic-top b{display:block;font:400 21px/1.1 Georgia,serif;color:#f1d7a4}
.st-mic-top span{font-size:11px;color:#a9967f}
.st-fresh{flex:0 0 auto;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
  padding:5px 7px;border:1px solid currentColor}
.st-fresh.fresh{color:#7fb069}
.st-fresh.aging{color:#e0a32e}
.st-fresh.dormant{color:#b8564b}
.st-mic-when{margin:12px 0 10px;font-size:13px;font-weight:900;color:#efb64e;letter-spacing:.04em}
.st-tags{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:10px}
.st-tags .tag.warn{border-color:#b8564b;color:#e08a80}
.st-warn{border-left:2px solid #b8564b;padding-left:10px;margin-bottom:11px;font-size:11px;
  line-height:1.5;color:#dba79f}
.st-facts{margin:0 0 14px;font-size:11px;line-height:1.5}
.st-facts dt{color:#8f806d;font-weight:900;letter-spacing:.06em;text-transform:uppercase;font-size:8px;
  margin-top:8px}
.st-facts dd{margin:3px 0 0;color:#c5b69e}
.st-mic-actions{display:flex;gap:7px;flex-wrap:wrap}
.st-mic-actions button{font-size:9px;padding:8px 10px}

.st-add{margin-top:30px;border:1px solid var(--line);padding:18px}
.st-add summary{cursor:pointer;font-size:11px;font-weight:900;letter-spacing:.09em;
  text-transform:uppercase;color:var(--gold)}
.st-add-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:12px;
  margin:18px 0}
.st-add-grid label,.st-form label{font-size:9px;font-weight:900;letter-spacing:.09em;
  text-transform:uppercase;color:#b7a48a;display:flex;flex-direction:column;gap:6px}
.st-add-grid label.wide{grid-column:1/-1}
.st-add-grid input,.st-add-grid select,.st-add-grid textarea{background:#15100c;
  border:1px solid #69472f;color:#f1e5d2;padding:11px;font-size:13px;letter-spacing:0;
  text-transform:none;font-weight:400;font-family:inherit}
.st-add-grid textarea{min-height:70px;resize:vertical}
.st-status{margin-left:12px;font-size:11px;color:#9ec49a}

.st-form{border:1px solid #6b482f;background:#0f0b08;padding:24px;max-width:780px}
.st-form h3{margin:0 0 6px;font:400 27px/1 Georgia,serif;color:#f1d39c}

.st-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:14px;
  margin-bottom:34px}
.st-stat{border:1px solid #6b482f;background:#0f0b08;padding:20px}
.st-stat strong{display:block;font:400 40px/1 Georgia,serif;color:var(--gold)}
.st-stat small{display:block;margin-top:7px;font-size:9px;font-weight:900;letter-spacing:.1em;
  text-transform:uppercase;color:#9d8d78}
.st-sets{display:grid;gap:11px}
.st-set{border:1px solid #543923;border-left-width:3px;background:#0f0b08;padding:15px 17px}
.st-set.good{border-left-color:#7fb069}
.st-set.ok{border-left-color:#e0a32e}
.st-set.bad{border-left-color:#b8564b}
.st-set b{font:400 18px/1.1 Georgia,serif;color:#f1d7a4}
.st-set span{display:block;font-size:11px;color:#9d8d78;margin-top:3px}
.st-set-bits{display:flex;flex-wrap:wrap;gap:5px;margin-top:10px}
.st-set p{margin:10px 0 0;font-size:12px;color:#c5b69e;line-height:1.5}

.st-split{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.st-bits{display:grid;gap:9px}
.st-bit{display:flex;justify-content:space-between;align-items:center;gap:12px;
  border:1px solid #543923;background:#0f0b08;padding:13px 15px}
.st-bit b{font-size:15px;color:#f1e5d2}
.st-bit span{display:block;font-size:10px;color:#9d8d78;margin-top:2px}
.tag.st-tight{border-color:#7fb069;color:#7fb069}
.tag.st-working{border-color:#e0a32e;color:#e0a32e}
.tag.st-new{border-color:#7d7060;color:#9d8d78}
.tag.st-retired{opacity:.5}
.st-tight-row{display:flex;gap:13px;align-items:center;border-bottom:1px solid #2b1d12;padding:12px 0}
.st-tight-row .num{font:900 12px/1 Inter,sans-serif;color:var(--gold);opacity:.7;letter-spacing:.1em}
.st-tight-row b{font:400 19px/1.1 Georgia,serif;color:#f1d7a4}
.st-tight-row span{display:block;font-size:11px;color:#9d8d78;margin-top:3px}

.st-ladder{display:grid;gap:10px;margin:24px 0}
.st-rung{display:grid;grid-template-columns:52px 1fr;gap:16px;align-items:center;
  border:1px solid #543923;background:#0f0b08;padding:17px 19px;opacity:.62}
.st-rung.done{opacity:.85}
.st-rung.here{opacity:1;border-color:var(--gold);box-shadow:inset 0 0 0 1px rgba(239,182,78,.2)}
.st-rung-n{font:400 34px/1 Georgia,serif;color:var(--gold);text-align:center}
.st-rung b{display:block;font:400 22px/1 Georgia,serif;color:#f1d7a4;margin-bottom:5px}
.st-rung span{font-size:12px;color:#b9a68d;line-height:1.5}
.st-rung em{display:block;margin-top:8px;font-style:normal;font-size:10px;font-weight:900;
  letter-spacing:.09em;text-transform:uppercase;color:var(--gold)}

/* ---- Exposure: working comics surfaced on a legend's page -------------- */
.working-now{border-top:1px solid var(--line);padding-top:22px}
.working-grid{display:grid;gap:11px;margin-top:15px}
.working-card{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;
  border:1px solid #6b482f;background:#0f0b08;padding:12px 14px;cursor:pointer;transition:.18s}
.working-card:hover{border-color:var(--gold);transform:translateX(3px)}
.working-card .portrait{width:52px;height:52px;border-width:2px}
.working-card b{display:block;font:400 19px/1.1 Georgia,serif;color:#f1d7a4;margin-bottom:5px}
.working-card .tag{font-size:8px;padding:3px 6px}
.working-card .source-btn{font-size:9px;padding:8px 10px;white-space:nowrap}

/* ---- Life's a Stage ---------------------------------------------------- */
.stages-intro{border:1px solid #7c512d;background:linear-gradient(125deg,#341e0e,#0f0b08 62%);
  padding:26px 28px;margin-bottom:26px}
.stages-intro h3{margin:0 0 10px;font:400 31px/1 Georgia,serif;color:#f1d39c}
.stages-intro>p{margin:0;color:#c9b89e;line-height:1.6;max-width:74ch}
.stages-where{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap;margin:22px 0 18px}
.stages-where label{font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;
  color:#b7a48a;display:flex;flex-direction:column;gap:6px}
.stages-where input{background:#15100c;border:1px solid #69472f;color:#f1e5d2;padding:11px;
  font-size:13px;letter-spacing:0;text-transform:none;font-weight:400;min-width:220px}
.stages-where .section-note{flex:1 1 280px;margin:0}
.stages-filter{display:flex;flex-wrap:wrap;gap:6px}
.stages-filter button{font-size:9px;padding:8px 11px}
.stages-filter button.active{background:var(--gold);color:#1a1008}
.stages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(330px,100%),1fr));gap:15px}
.stage-card{border:1px solid #6b482f;background:#0f0b08;padding:20px;display:flex;
  flex-direction:column}
.stage-top b{display:block;font:400 22px/1.15 Georgia,serif;color:#f1d7a4;margin-bottom:8px}
.stage-why{margin:12px 0 14px;font-size:13px;line-height:1.55;color:#c5b69e}
.stage-facts{margin:0 0 16px;font-size:12px;line-height:1.5}
.stage-facts dt{font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold);margin-top:11px}
.stage-facts dd{margin:4px 0 0;color:#bdaa90}
.stage-facts strong{color:#f1e5d2}
.stage-card .source-btn{margin-top:auto;align-self:flex-start;font-size:10px}
.stage-hint{margin-top:auto;font-size:10px;font-weight:900;letter-spacing:.07em;
  text-transform:uppercase;color:#7d7060}

@media(max-width:760px){
  .st-split{grid-template-columns:1fr;gap:26px}
  .st-sample-banner{grid-template-columns:1fr}
  .working-card{grid-template-columns:44px 1fr;gap:11px}
  .working-card .source-btn{grid-column:1/-1}
}

.sitehead{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:26px;
  padding:0 clamp(16px,3vw,34px);min-height:68px;
  background:rgba(14,9,5,.95);backdrop-filter:blur(14px);
  border-bottom:1px solid #6d4526;box-shadow:0 12px 30px rgba(0,0,0,.4)}
.brandmark{flex:0 0 auto;display:flex;align-items:center}
.brandmark img{height:34px;width:auto;display:block}
.sitenav{display:flex;gap:4px;flex:1 1 auto;overflow-x:auto;scrollbar-width:none}
.sitenav::-webkit-scrollbar{display:none}
.sitenav a{white-space:nowrap;padding:10px 14px;color:#e4d2b4;text-decoration:none;
  font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;
  border:1px solid transparent}
.sitenav a:hover{border-color:#6d4526;color:var(--gold)}
.sitenav a.active{background:var(--gold);color:#160f08;border-color:var(--gold)}
/* The Comic's Corner trigger is a <button>, so it inherited the body font and
   sat in the nav at the wrong size, weight and case — and wrapped onto two
   lines. It has to be typographically identical to the links beside it. */
.navgroup-btn{white-space:nowrap;padding:10px 14px;color:#e4d2b4;
  font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;
  font-family:inherit;line-height:inherit;border:1px solid transparent}
.navgroup-btn:hover{border-color:#6d4526;color:var(--gold)}
.navgroup.active .navgroup-btn{border-color:#6d4526;color:var(--gold)}
.nav-twelve{flex:0 0 auto;display:flex;align-items:baseline;gap:4px;text-decoration:none;
  border:1px solid var(--gold);padding:8px 12px;color:var(--gold)}
.nav-twelve b{font:900 15px/1 Georgia,serif}
.nav-twelve span{font-size:9px;font-weight:900;letter-spacing:.1em;opacity:.8}

.page{width:min(var(--max),calc(100% - 32px));margin:0 auto;padding:44px 0 90px}
/* Every page opens on a picture.
   .page-head used to be a rule under a line of text, which made eight of the
   fourteen pages open like a spreadsheet — the same stack of heading, caption,
   grid, on a site whose whole look is pasted paper and stage light. It is now a
   framed hero: art behind, brick-red stamp for the kicker, and the heading
   carrying the wordmark's offset shadow so it matches the pin and the filming
   banner. Each page adds a .hero-* class for its own art; anything without one
   still gets the dark wash rather than breaking. */
.page-head{position:relative;isolation:isolate;overflow:hidden;
  margin:0 0 34px;padding:clamp(30px,5vw,54px) clamp(20px,4vw,44px);
  min-height:clamp(210px,26vw,320px);display:flex;flex-direction:column;
  justify-content:flex-end;
  border:1px solid #6b482f;border-bottom:5px solid var(--red);
  background:#0b0806 center/cover no-repeat;
  box-shadow:0 26px 70px rgba(0,0,0,.45)}
/* Legibility wash. Without it a light photograph eats the type, and the whole
   point of the picture is that the words still read over it. */
.page-head:before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(7,4,2,.94) 0%,rgba(7,4,2,.72) 46%,rgba(7,4,2,.28) 100%),
             linear-gradient(0deg,rgba(7,4,2,.92),transparent 62%)}
.page-head>*{position:relative}
.page-head .meta{display:inline-block;align-self:flex-start;margin-bottom:14px;
  padding:6px 12px;background:var(--red);color:#f2e7cd;
  font:900 10px/1 Inter,sans-serif;letter-spacing:.22em;text-transform:uppercase}
.page-head h1{margin:0;font:700 clamp(2.4rem,5vw,3.9rem)/.95 Georgia,serif;
  letter-spacing:-.035em;color:#f2e7cd;text-shadow:4px 4px 0 var(--red),0 6px 26px #000}
.page-head p{max-width:64ch;color:#d8c9ae;line-height:1.6;margin:16px 0 0;
  text-shadow:0 2px 12px #000}
/* A hero photograph comes through data-art like every other photo on the site,
   so its credit is on the credits page (24 Sept 2026 — the owner, looking at
   Stage Time's drawn microphone: "literally all these pages need real graphics
   not background svgs"). The drawn SVGs that stood behind nine heroes and
   Stage Time's eight tabs are retired in assets/heroes/ and assets/stage-tabs/,
   not deleted. The two .page-hero pages had no wash — a drawing is dark by
   design; a photograph is not — so they get the same one as .page-head. */
.page-head[data-art],.page-hero[data-art]{background-image:var(--art);
  background-position:var(--art-pos,center)}
.page-hero[data-art]::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(7,4,2,.94) 0%,rgba(7,4,2,.74) 48%,rgba(7,4,2,.3) 100%),
             linear-gradient(0deg,rgba(7,4,2,.8),transparent 60%)}
@media(max-width:700px){.page-hero[data-art]::before{background:rgba(7,4,2,.74)}}

/* A candlelit table set for a private dinner — "your own event". It was the
   Corporate Events tab's photo, which then showed twice on the page (24 Sept,
   tools/photo-check.mjs). */
.hero-book{background-image:url('../assets/card-art/stage-backroom.jpg');background-position:center 58%}
.hero-craft{background-image:url('../assets/era-art/art-1.jpg')}
/* Your Twelve is the working comics, so it wears the 2010s–2020s painting (the
   same one the Legends ballot hangs over the 2020s). It used to carry art-4,
   the 60s–70s legends — the other vote's people, on the wrong page. */
.hero-twelve{background-image:url('../assets/era-art/art-2.jpg')}
.hero-venue{background-image:url('../assets/events/event-1.jpg')}
/* Stage Time, Tour, the Desk, Join, Critique, Working a Room, Industry, List a
   Room and Filling the Room wear photographs now, and so does Legends (its
   painting, art-3, hangs over the 1980s ballot instead) — data-art="hero-*" on
   each page's header, credited. */

/* The hat-switch prompt: going out and hiring are the same person. */
/* Each side carries a photograph of where it leads. The hiring prompt shows
   what a private booking really is — a small stage, a stool, candles, a few
   tables — not an arena; the hire-side prompt sends people to a club night
   first. The photo holds the right-hand side and fades out before the words,
   so the copy never sits on a busy picture, and the button sits under the
   copy rather than on top of the photo. */
.crossover{position:relative;isolation:isolate;overflow:hidden;display:grid;
  grid-template-columns:minmax(0,40rem);justify-items:start;align-content:center;gap:18px;
  margin:52px 0 0;padding:32px 30px;min-height:250px;border:1px solid #7c512d;
  border-bottom:4px solid var(--red);
  background:linear-gradient(125deg,#341e0e,#0f0b08 62%)}
.crossover:before{content:"";position:absolute;z-index:-1;inset:0 0 0 max(30%,42rem);
  background:center 30%/cover no-repeat;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 45%);
          mask-image:linear-gradient(90deg,transparent,#000 45%)}
.crossover-night:before{background-image:url('../assets/booking-tabs/private-parties.webp')}
.crossover-book:before{background-image:url('../assets/feed-tabs/near-you.webp');
  background-position:center 12%}
.crossover b{display:block;font:400 25px/1.1 Georgia,serif;color:#f1d39c;margin-bottom:7px}
.crossover p{margin:0;color:#c3b098;line-height:1.55;max-width:62ch;font-size:14px}
.crossover .cta{white-space:nowrap}
@media(max-width:900px){
  /* Too narrow for words and picture side by side: the photo becomes a band
     across the top and the copy starts under it. */
  .crossover-night,.crossover-book{padding-top:214px}
  .crossover:before{inset:0 0 auto 0;height:230px;
    -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);
            mask-image:linear-gradient(180deg,#000 55%,transparent)}
}

/* Stage light and haze over a photograph (27 Sept 2026, the owner: "can we add lighting/fog effects to the
   images in the page ie hero and the last 2 cards"): the front page's hero, its Comic's Corner door and the
   crossover banner. Drawn here in the logo's gold and cream, nothing downloaded — beams that swing a few
   degrees from the rig, haze that drifts, a glow that breathes, candlelight that flickers — over the photo
   and under the words, and masked to the photo's own shape. It moves for good, so it pauses (js/shell.js:
   .fx-toggle, html.fx-paused). Asked for less motion, the beams swing a little less far and everything runs
   a little slower, as the rising faces keep rising: this machine asks for less motion, and a feature that
   froze for it was never seen here at all. */
/* --fx-gain turns every layer's light up or down at once, --fx-pace every layer's speed (lower is faster).
   The owner, after the first version: "make the fog and lights stronger i see no effects" — it changed the
   hero by under 5% and, with less motion asked for here, moved too slowly to notice. */
.stage-fx{position:absolute;inset:0;overflow:hidden;pointer-events:none;--fx-gain:2.6;--fx-pace:.55}
.stage-fx i{position:absolute;display:block}
.fx-beam{top:-4%;left:var(--x,60%);width:52%;height:116%;margin-left:-26%;transform-origin:50% 0;
  background:conic-gradient(from 164deg at 50% 0,transparent,rgba(255,214,140,calc(var(--a,.2) * var(--fx-gain))) 16deg,transparent 32deg,transparent);
  -webkit-mask-image:linear-gradient(180deg,#000 8%,rgba(0,0,0,.65) 50%,transparent 95%);
          mask-image:linear-gradient(180deg,#000 8%,rgba(0,0,0,.65) 50%,transparent 95%);
  mix-blend-mode:screen;transform:rotate(var(--r,0deg));will-change:transform,opacity;
  animation:fx-sweep calc(var(--t,14s) * var(--fx-pace)) ease-in-out var(--d,0s) infinite alternate,
            fx-shimmer 3.4s ease-in-out var(--d,0s) infinite}
@keyframes fx-sweep{from{transform:rotate(calc(var(--r,0deg) - 11deg))}to{transform:rotate(calc(var(--r,0deg) + 11deg))}}
@keyframes fx-shimmer{0%,100%{opacity:.68}50%{opacity:1}}
/* Haze: soft banks on a strip twice the width, each half the same, so sliding it one half along loops. */
.fx-haze{left:0;top:var(--y,30%);width:200%;height:var(--h,60%);will-change:transform;
  --fx-haze:rgba(242,231,205,calc(var(--a,.12) * var(--fx-gain)));
  background:radial-gradient(24% 40% at 18% 58%,var(--fx-haze),transparent 72%),
             radial-gradient(20% 30% at 44% 40%,var(--fx-haze),transparent 72%),
             radial-gradient(26% 44% at 68% 62%,var(--fx-haze),transparent 72%),
             radial-gradient(16% 28% at 88% 44%,var(--fx-haze),transparent 72%);
  background-size:50% 100%;background-repeat:repeat-x;
  animation:fx-drift calc(var(--t,70s) * var(--fx-pace)) linear var(--d,0s) infinite}
@keyframes fx-drift{to{transform:translateX(-50%)}}
/* Stage fog: lower, denser banks rolling along the floor the other way. */
.fx-haze.fx-floor{top:auto;bottom:-8%;height:var(--h,36%);animation-direction:reverse;
  background:radial-gradient(30% 62% at 16% 78%,var(--fx-haze),transparent 72%),
             radial-gradient(26% 54% at 42% 88%,var(--fx-haze),transparent 72%),
             radial-gradient(32% 64% at 67% 76%,var(--fx-haze),transparent 72%),
             radial-gradient(20% 50% at 88% 86%,var(--fx-haze),transparent 72%);
  background-size:50% 100%;background-repeat:repeat-x}
.fx-glow{left:var(--x,55%);top:var(--y,45%);width:var(--w,32%);aspect-ratio:1;transform:translate(-50%,-50%);
  background:radial-gradient(closest-side,rgba(255,214,140,calc(var(--a,.3) * var(--fx-gain))),rgba(255,214,140,.1) 58%,transparent);
  mix-blend-mode:screen;animation:fx-breathe calc(var(--t,7s) * var(--fx-pace)) ease-in-out var(--d,0s) infinite}
@keyframes fx-breathe{0%,100%{opacity:.3}50%{opacity:1}}
.fx-glow.fx-flicker{animation-name:fx-flicker;animation-timing-function:linear}
@keyframes fx-flicker{0%{opacity:.62}9%{opacity:.94}17%{opacity:.5}26%{opacity:1}38%{opacity:.7}47%{opacity:.9}
  59%{opacity:.55}71%{opacity:.98}84%{opacity:.66}100%{opacity:.62}}
.fx-paused .stage-fx i{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){
  .stage-fx{--fx-pace:.8}
  .fx-beam{animation-name:fx-sweep-soft,fx-shimmer}
}
@keyframes fx-sweep-soft{from{transform:rotate(calc(var(--r,0deg) - 7deg))}to{transform:rotate(calc(var(--r,0deg) + 7deg))}}
/* The hero: above the photo's wash, under the words (z 3) and the torn edge (z 2); full over the stage and
   the rig on the right, fainter behind the words on the left. */
.hero>.stage-fx{z-index:1;
  -webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,.4),rgba(0,0,0,.7) 35%,#000 58%);
          mask-image:linear-gradient(90deg,rgba(0,0,0,.4),rgba(0,0,0,.7) 35%,#000 58%)}
.hero>.fx-toggle{top:auto;bottom:62px;right:22px;z-index:3}
/* The Comic's Corner door: the photo drops a layer so the light sits on it, still under the words. Two
   classes, because the photo's own rule (.art-side::after, further down) would otherwise win and paint the
   photo over the light — which is how the first version showed nothing on this card. */
.comic-door.art-side::after{z-index:-2}
.comic-door>.stage-fx{z-index:-1;left:auto;width:var(--art-w);
  -webkit-mask-image:var(--art-fade-left);mask-image:var(--art-fade-left)}
/* The crossover banner: the same box and fade as its photo (:before). */
.crossover>.stage-fx{z-index:-1;left:max(30%,42rem);
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 45%);mask-image:linear-gradient(90deg,transparent,#000 45%)}
.crossover>.fx-toggle{z-index:2}
/* Its candles: .fx-photo is the 960×640 picture's own frame, laid out the way the photo is — cover, at
   center 30% (.crossover:before) — in the box's container units, so a flicker's x/y percentages are a point
   in the picture and stay on their flame at any width. Small, warm, each on its own beat. */
.crossover>.stage-fx.fx-candles{container-type:size}
.fx-photo{position:absolute;width:max(100cqw,150cqh);height:max(100cqh,66.667cqw);
  left:calc((100cqw - max(100cqw,150cqh)) * .5);top:calc((100cqh - max(100cqh,66.667cqw)) * .3)}
.fx-candles .fx-glow{--a:.36}
@media(max-width:900px){
  .crossover>.stage-fx{left:0;bottom:auto;height:230px;
    -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
}
@media(max-width:760px){
  .comic-door>.stage-fx{left:0;bottom:auto;width:auto;height:156px;
    -webkit-mask-image:var(--art-fade-down);mask-image:var(--art-fade-down)}
}

/* Fee guidance — only ever rendered on the hire/industry side. */
.fee-note{border-left:3px solid var(--gold);background:#17100b;padding:16px 18px;margin:22px 0;
  color:#d6c4a8;font-size:13px;line-height:1.6}
.fee-note b{color:var(--gold)}
.tier-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:16px;margin:26px 0}
.tier{border:1px solid #74502e;background:#0f0b08;padding:20px}
.tier .band{font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--gold);text-transform:uppercase}
.tier h3{margin:9px 0 4px;font:400 27px/1 Georgia,serif;color:#f1d7a4}
.tier .range{font:900 15px/1 Inter,sans-serif;color:#fff1d5;margin-bottom:12px}
.tier p{margin:0;color:#b9a68d;font-size:13px;line-height:1.55}
.tier ul{margin:12px 0 0;padding-left:17px;color:#a9977e;font-size:12px;line-height:1.7}

/* Event type chooser: photographic, useful, and connected to the inquiry. */
.event-picker{margin:0 0 46px;padding:28px 0 42px;border-bottom:1px solid var(--line)}
.event-picker-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:18px}
.event-picker-head h2{margin:0;font:400 clamp(2rem,4vw,3.5rem)/.96 Georgia,serif;color:#f2d59c;letter-spacing:-.035em}
.event-picker-head p{margin:0 0 3px;color:#bda98c;font-size:13px}
.event-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.event-type{appearance:none;position:relative;isolation:isolate;min-height:210px;padding:0;overflow:hidden;border:1px solid #75502e;background:#100b08;color:#fff;text-align:left;cursor:pointer;box-shadow:0 18px 42px rgba(0,0,0,.28);transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.event-type:after{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(180deg,rgba(5,3,2,.02) 20%,rgba(5,3,2,.92) 100%);pointer-events:none}
.event-type img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(1.04);transition:transform .5s ease,filter .3s ease}
.event-type span{position:absolute;z-index:1;left:20px;right:20px;bottom:18px;display:block}
.event-type b{display:block;color:#ffe2a6;font:600 25px/1 Georgia,serif;margin-bottom:7px;text-shadow:0 2px 12px #000}
.event-type small{display:block;color:#dfcfb7;font:600 10px/1.35 Inter,sans-serif;letter-spacing:.035em;text-transform:uppercase;text-shadow:0 1px 8px #000}
.event-type:hover,.event-type:focus-visible{transform:translateY(-5px);border-color:var(--gold);box-shadow:0 24px 52px rgba(0,0,0,.42)}
.event-type:hover img,.event-type:focus-visible img{transform:scale(1.055);filter:saturate(1) contrast(1.06)}
.event-type:focus-visible{outline:2px solid #f4c66d;outline-offset:3px}
.event-type.active,.event-type[aria-pressed="true"]{border-color:#f1bd55;box-shadow:0 0 0 2px #f1bd55,0 24px 52px rgba(0,0,0,.45)}
.event-type.active:before,.event-type[aria-pressed="true"]:before{content:"SELECTED";position:absolute;z-index:2;top:13px;right:13px;padding:7px 9px;background:var(--gold);color:#1b1008;font:900 9px/1 Inter,sans-serif;letter-spacing:.11em}

@media(max-width:900px){
  .event-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:560px){
  .event-picker-head{display:block}.event-picker-head p{margin-top:9px}
  .event-type-grid{grid-template-columns:1fr}
  .event-type{min-height:190px}
}

/* Nearby, grouped by when you'd actually do it */
.nearby-group{margin:26px 0 0}
.nearby-group h5{margin:0 0 12px;font-size:10px;font-weight:900;letter-spacing:.13em;
  text-transform:uppercase;color:var(--gold)}

/* Industry gate */
.gate{max-width:560px;margin:60px auto;border:1px solid #74502e;background:#0f0b08;padding:34px}
.gate h2{margin:0 0 10px;font:400 30px/1 Georgia,serif;color:#f1d39c}
.gate p{color:#bdaa90;line-height:1.6;font-size:14px}
.gate input{width:100%;margin:16px 0 12px;background:#1a120c;border:1px solid #67452e;
  color:#fff1d5;padding:13px}
.gate .status{margin-top:12px;font-size:12px;color:#c99;min-height:1.2em}

.sitefoot{border-top:1px solid var(--line);background:#0b0907;padding:48px clamp(16px,3vw,34px) 40px}
.footgrid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr;gap:34px;
  width:min(var(--max),100%);margin:0 auto 26px}
.footgrid strong{display:block;font:400 21px/1 Georgia,serif;color:#f1d39c;margin-bottom:9px}
.footgrid p{margin:0;color:#9d8d78;font-size:13px;line-height:1.6;max-width:46ch}
.footgrid b{display:block;font-size:10px;font-weight:900;letter-spacing:.12em;color:var(--gold);
  text-transform:uppercase;margin-bottom:11px}
.footgrid a{display:block;color:#bdaa90;text-decoration:none;font-size:13px;padding:4px 0}
.footgrid a:hover{color:var(--gold)}
/* The first column: the logo file at up to 340px wide, with a drop shadow like
   the hero's; the line under it in the house serif. */
.foot-brand .foot-logo{width:min(340px,100%);padding:0;margin:-6px 0 16px}
.foot-brand .foot-logo img{display:block;width:100%;height:auto;filter:drop-shadow(0 12px 16px rgba(0,0,0,.6))}
.foot-brand p{font:italic 400 15px/1.6 Georgia,serif;color:#b9a68b;max-width:38ch}
.sitefoot small{display:block;width:min(var(--max),100%);margin:0 auto;color:#7d7060;
  font-size:11px;line-height:1.6;border-top:1px solid #2b1d12;padding-top:18px}
/* The light and dark switch (js/shell.js docThemeSync): a link-like word in the footer's last line. */
.theme-switch{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;text-decoration:underline;
  text-underline-offset:2px}
.theme-switch:hover,.theme-switch:focus-visible{color:var(--gold)}

@media(max-width:860px){
  .crossover{grid-template-columns:1fr}
  .footgrid{grid-template-columns:1fr;gap:26px}
  .sitehead{gap:14px}
  .brandmark img{height:27px}
}

/* ---- Era art: stop cropping the ensemble on small screens --------------
   The source images are 3:1 (2172x724). doc.css narrows the box to 2/1 at
   900px and 1.35/1 at 560px, which crops to the middle 67% and 45% — on an
   ensemble of twelve faces, that quietly deletes the outer ones. The reason
   the box was made taller is the overlay caption needing vertical room, so
   the caption moves below the image instead and the art keeps its full
   width at every size. */
@media(max-width:900px){
  .era-art img{aspect-ratio:3/1}
  .era-art figcaption{position:static;background:none;padding:13px 16px 15px;
    font-size:17px;line-height:1.25;border-top:1px solid #472e1b}
  .era-art:after{bottom:auto;height:0;padding-bottom:33.33%}
}
@media(max-width:560px){
  .era-art img{aspect-ratio:3/1}
  .era-art figcaption{font-size:15px;padding:11px 13px 13px}
}

/* Comic Desk — the signed-in daily work surface. */
.desk-body{background:#080706}
.comic-desk{width:min(1440px,calc(100% - 40px));margin:auto;padding:30px 0 90px}
.desk-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 0 26px;border-bottom:1px solid #4b3322}
.desk-person{display:flex;align-items:center;gap:15px}.desk-person img{width:62px;height:62px;object-fit:cover;border-radius:50%;border:2px solid #e5c17b;box-shadow:0 0 0 5px #1c130d}
.desk-person span,.desk-kicker{display:block;color:var(--gold);font:900 11px/1.2 Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase}
.desk-person h1{margin:5px 0 0;color:#f5dfb6;font:500 clamp(1.8rem,3vw,2.8rem)/1 Georgia,serif}
.desk-account{display:flex;align-items:center;gap:12px}.demo-flag{border:1px solid #67452d;color:#a9967c;padding:9px 11px;font-size:12px;text-transform:uppercase;letter-spacing:.09em}
.desk-outline,.desk-primary,.desk-quiet,.desk-link,.demand-row button,.op-action button{font:900 12px/1 Inter,sans-serif;letter-spacing:.035em;cursor:pointer}
.desk-outline{border:1px solid #8c6035;background:#130d09;color:#e6c98e;padding:12px 15px}.desk-outline:hover{border-color:var(--gold);color:#ffd681}.desk-outline.full{width:100%;margin-top:18px}
.desk-primary{border:1px solid var(--gold);background:var(--gold);color:#160f08;padding:14px 18px}.desk-primary:hover{background:#ffd37a}
.desk-quiet,.desk-link{border:0;background:transparent;color:#cbb48e;padding:12px}.desk-quiet:hover,.desk-link:hover{color:var(--gold)}
.daily-command{display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;margin:28px 0 18px;padding:28px 31px;border:1px solid #9b682f;background:radial-gradient(circle at 80% 20%,rgba(239,182,78,.12),transparent 31%),linear-gradient(105deg,#251509,#100b08 58%);box-shadow:0 25px 70px rgba(0,0,0,.36);transition:.3s}
.daily-command h2{font:500 clamp(1.8rem,3.6vw,3.15rem)/1 Georgia,serif;color:#f5dba8;margin:7px 0 8px;letter-spacing:-.025em}.daily-command p{margin:0;color:#c7b69d;line-height:1.55;max-width:72ch}.daily-actions{display:flex;gap:4px;white-space:nowrap}.daily-command.done{border-color:#446f55;opacity:.72}.daily-command.done h2{text-decoration:line-through;text-decoration-thickness:1px}
.pulse-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #563a26;margin-bottom:26px}.pulse{position:relative;text-align:left;padding:20px 22px;background:#0e0b09;color:#fff;border:0;border-right:1px solid #563a26;cursor:pointer}.pulse:last-child{border-right:0}.pulse:hover,.pulse.active{background:#191008}.pulse.active:before{content:"";position:absolute;left:0;right:0;top:-1px;height:3px;background:var(--gold)}.pulse span{display:block;color:#b8a78f;font-size:13px}.pulse strong{display:block;color:#f5dfb6;font:600 36px/1 Georgia,serif;margin:9px 0 5px}.pulse small{color:#927f68;font-size:12px}.pulse.active small{color:#d0ae70}
.desk-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:26px}.desk-main{min-width:0}.desk-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;padding:22px 0 15px}.desk-section-head h2,.rail-panel h2{margin:6px 0 0;color:#f1d39c;font:500 27px/1 Georgia,serif}.desk-section-head select{background:#17100b;color:#d8c5a7;border:1px solid #64442c;padding:10px 12px}
.demand-board{border-top:1px solid #5e402a}.demand-row{display:grid;grid-template-columns:38px minmax(min(145px,100%),1fr) minmax(min(150px,100%),2fr) 55px 76px;gap:14px;align-items:center;padding:17px 12px;border-bottom:1px solid #38271c;background:#0d0a08}.demand-row:hover{background:#120d09}.city-rank{color:#6f604e;font:900 11px Inter,sans-serif}.city-name b{display:block;color:#e8d4b2;font:500 18px Georgia,serif}.city-name small{color:#75b48c;font-size:11px}.demand-meter{height:7px;background:#281b12}.demand-meter i{display:block;height:100%;background:linear-gradient(90deg,#8f2d24,var(--gold));box-shadow:0 0 14px rgba(239,182,78,.25)}.demand-row>strong{color:#f4d79d;font:600 18px Georgia,serif;text-align:right}.demand-row button,.op-action button{border:1px solid #68472e;background:transparent;color:#d7b97f;padding:10px 9px}.demand-row button:hover,.op-action button:hover{background:var(--gold);border-color:var(--gold);color:#170f08}
.route-match{display:grid;grid-template-columns:1.15fr .9fr;gap:28px;align-items:center;margin:30px 0 12px;padding:30px;border:1px solid #744d2d;background:linear-gradient(125deg,#1e1209,#0d0a08 68%)}.route-match h2{margin:6px 0 11px;color:#f3d7a3;font:500 31px/1 Georgia,serif}.route-match p{color:#b9a68d;font-size:14px;line-height:1.55}.route-facts{display:flex;gap:18px;margin-top:20px}.route-facts span{color:#9e8e79;font-size:11px}.route-facts b{display:block;color:#efcf94;font:600 20px Georgia,serif;margin-bottom:3px}.route-line{list-style:none;margin:0;padding:0;border-left:1px solid #79502f}.route-line li{position:relative;display:grid;grid-template-columns:62px 1fr;gap:2px 11px;padding:3px 0 18px 22px}.route-line li:before{content:"";position:absolute;left:-5px;top:5px;width:9px;height:9px;border-radius:50%;background:#8d6b42}.route-line li.suggested:before{background:var(--gold);box-shadow:0 0 0 5px rgba(239,182,78,.15)}.route-line b{grid-row:1/3;color:#b8a68e;font-size:11px}.route-line span{color:#f0d9b1;font:500 17px Georgia,serif}.route-line em{color:#8f7e68;font:normal 10px Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em}.route-line .suggested em{color:var(--gold)}.route-match>.desk-primary{grid-column:1/-1;justify-self:start}
.opportunity-list{border-top:1px solid #5e402a}.opportunity{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:17px;align-items:center;padding:20px 14px;border-bottom:1px solid #3e2b1e}.fit-score{width:52px;height:52px;border:1px solid #8e6236;display:flex;flex-direction:column;align-items:center;justify-content:center}.fit-score strong{font:600 20px Georgia,serif;color:#f0cf91}.fit-score span{font-size:8px;font-weight:900;color:#907d65}.op-type{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.opportunity h3{margin:4px 0;color:#ead7b5;font:500 19px Georgia,serif}.opportunity p,.opportunity small{margin:0;color:#9e8b72;font-size:12px}.opportunity small{display:block;margin-top:5px}.op-action{text-align:right}.op-action b{display:block;color:#bba98f;font-size:11px;margin-bottom:9px}
.desk-rail{display:flex;flex-direction:column;gap:18px}.rail-panel{border:1px solid #583b27;background:#0e0a08;padding:23px}.momentum-row{display:grid;grid-template-columns:1fr auto 48px;gap:10px;padding:13px 0;border-bottom:1px solid #322319;color:#a99780;font-size:13px}.momentum-row b{color:#ead4ac}.momentum-row em{color:#71b288;font-style:normal;text-align:right}.spark{height:82px;display:flex;align-items:end;gap:7px;padding-top:18px}.spark i{flex:1;background:linear-gradient(#efb64e,#6c211c);min-height:5px}.rail-title{display:flex;justify-content:space-between;gap:10px}.save-state{color:#70ad83;font-size:10px}.availability label{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #34241a;color:#d6c2a2;font-size:13px}.availability label small{display:block;color:#7f6f5d;margin-top:4px}.availability input{appearance:none;width:38px;height:21px;border-radius:20px;background:#39271b;border:1px solid #62442d;cursor:pointer;position:relative;flex:0 0 auto}.availability input:before{content:"";position:absolute;width:13px;height:13px;left:3px;top:3px;border-radius:50%;background:#9b8972;transition:.2s}.availability input:checked{background:#8f5d26;border-color:var(--gold)}.availability input:checked:before{left:20px;background:#ffe0a1}.profile-health{position:relative;min-height:215px;padding-right:120px}.health-ring{position:absolute;right:22px;top:62px;width:84px;height:84px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:conic-gradient(var(--gold) 0 92%,#2e2016 92%);color:#130d09}.health-ring:before{content:"";position:absolute;inset:7px;border-radius:50%;background:#0e0a08}.health-ring>*{position:relative}.health-ring strong{color:#f2d59c}.health-ring span{color:#897762;font-size:9px}.profile-health p{color:#978570;font-size:12px;line-height:1.55}.profile-health .desk-link{padding-left:0}
.desk-modal{position:fixed;z-index:60;inset:0;display:none;place-items:center;padding:20px;background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}.desk-modal.open{display:grid}.desk-dialog{position:relative;width:min(620px,100%);max-height:90vh;overflow:auto;padding:38px;border:1px solid #906038;background:linear-gradient(135deg,#22150c,#0d0a08 70%);box-shadow:0 35px 100px #000}.dialog-close{position:absolute;right:14px;top:12px;border:0;background:transparent;color:#c9b492;font-size:27px;cursor:pointer}.desk-dialog h2{margin:8px 0 15px;color:#f3d7a4;font:500 clamp(2rem,5vw,3.3rem)/1 Georgia,serif}.desk-dialog p{color:#bba98e;line-height:1.6}.share-preview{margin:24px 0;padding:32px;border:1px solid #7f542f;background:radial-gradient(circle at 85% 15%,#56251c,#17100b 60%)}.share-preview b{display:block;color:#f6dba7;font:500 30px Georgia,serif}.share-preview span{display:block;color:var(--gold);font-weight:900;letter-spacing:.13em;margin:10px 0 32px}.share-preview small{color:#b7a68e}.inquiry-detail{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #5b3d28;margin:23px 0}.inquiry-detail div{padding:15px;border-bottom:1px solid #5b3d28}.inquiry-detail dt{color:#8f7d67;font-size:10px;text-transform:uppercase;letter-spacing:.1em}.inquiry-detail dd{margin:5px 0 0;color:#eed8b2}.route-review{display:grid;grid-template-columns:1fr auto;gap:0;margin:22px 0}.route-review>*{padding:13px;border-bottom:1px solid #49311f}.route-review b{color:#e8d1a9}.route-review span{color:#9c8b75}.fit-options{display:grid;gap:13px;margin:20px 0}.fit-options label{display:grid;gap:6px;color:#b8a58b;font-size:12px}.fit-options select,.desk-input{width:100%;background:#15100c;border:1px solid #69472f;color:#f4e7d2;padding:12px}.desk-input{margin:12px 0}
@media(max-width:1050px){.desk-layout{grid-template-columns:1fr}.desk-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.route-match{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.comic-desk{width:min(100% - 24px,1440px);padding-top:18px}.desk-topbar,.daily-command{grid-template-columns:1fr;display:grid}.desk-account{justify-content:space-between}.daily-actions{white-space:normal}.pulse-grid{grid-template-columns:1fr 1fr}.pulse:nth-child(2){border-right:0}.pulse:nth-child(-n+2){border-bottom:1px solid #563a26}.desk-rail{grid-template-columns:1fr}.route-match{grid-template-columns:1fr}.demand-row{grid-template-columns:30px 1fr 48px 68px}.demand-meter{grid-column:2/5}.opportunity{grid-template-columns:52px 1fr}.op-action{grid-column:2;text-align:left}.desk-dialog{padding:32px 22px}}
@media(max-width:470px){.desk-person img{width:50px;height:50px}.desk-account{align-items:stretch;flex-direction:column}.daily-command{padding:23px 20px}.daily-actions>*{flex:1}.pulse{padding:16px 14px}.pulse strong{font-size:29px}.route-facts{flex-wrap:wrap}.inquiry-detail{grid-template-columns:1fr}.profile-health{padding-right:105px}}
.pulse{min-height:126px}

/* ---- "Like that act, at a level I can book" ---------------------------- */
.likebut-row{display:flex;gap:16px;align-items:end;flex-wrap:wrap;margin:18px 0 22px}
.likebut-row label{font-size:9px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;
  color:#b7a48a;display:flex;flex-direction:column;gap:6px}
.likebut-row input[type=text],.likebut-row #likeComic{background:#15100c;border:1px solid #69472f;
  color:#f1e5d2;padding:12px;font-size:14px;min-width:260px;letter-spacing:0;text-transform:none;
  font-weight:400}
.likebut-check{flex-direction:row!important;align-items:center;gap:8px!important;padding-bottom:13px}
.likebut-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(210px,100%),1fr));gap:14px}
.tag.tier-rising{border-color:#7fb069;color:#7fb069}
.tag.tier-working{border-color:#e0a32e;color:#e0a32e}
.tag.tier-established{border-color:#8f806d;color:#9d8d78}

/* ---- Craft / How They Started ------------------------------------------ */
.craft-rule{display:grid;grid-template-columns:1fr 210px;gap:26px;align-items:center;
  border:1px solid #9e291f;background:rgba(158,41,31,.08);padding:22px 24px;margin-bottom:34px;
  color:#d8c2a6;font-size:13px;line-height:1.6}
.craft-rule b{color:var(--gold)}
.craft-coverage{text-align:right}
.craft-coverage strong{display:block;font:400 36px/1 Georgia,serif;color:var(--gold)}
.craft-coverage small{display:block;font-size:9px;font-weight:900;letter-spacing:.1em;
  text-transform:uppercase;color:#9d8d78;margin-top:5px}
.craft-bar{height:4px;background:#2b1d12;margin-top:10px}
.craft-bar span{display:block;height:100%;background:var(--gold)}

.craft-questions{display:grid;gap:14px}
.craft-q{border:1px solid #6b482f;background:#0f0b08;padding:22px 24px}
.craft-q-head{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start}
.craft-q-head .num{font:900 12px/1.4 Inter,sans-serif;color:var(--gold);opacity:.7;letter-spacing:.1em}
.craft-q-head b{display:block;font:400 25px/1.15 Georgia,serif;color:#f1d7a4;margin-bottom:6px}
.craft-q-head span{font-size:12px;color:#9d8d78;line-height:1.5}
.craft-common{margin:18px 0 0 54px;border-left:2px solid #543923;padding-left:16px}
.craft-common .meta{font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;
  color:#8f806d;margin-bottom:7px}
.craft-common p{margin:0;font-size:13px;line-height:1.65;color:#c5b69e}
.craft-quotes{margin:14px 0 0 54px}
.craft-gap{font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;
  color:#7d7060;border:1px dashed #543923;padding:7px 10px;display:inline-block}

.craft-origins{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:15px}
.craft-origin{border:1px solid #6b482f;background:#0f0b08;padding:20px}
.craft-origin.wait{border-style:dashed}
.craft-origin-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;
  margin-bottom:12px}
.craft-origin-top b{display:block;font:400 23px/1.1 Georgia,serif;color:#f1d7a4;margin-bottom:5px}
.craft-before{font-size:11px;color:var(--gold);font-weight:900;letter-spacing:.04em}
.tag.craft-ok{border-color:#7fb069;color:#7fb069}
.tag.craft-wait{border-color:#8f806d;color:#9d8d78;border-style:dashed}
.craft-route{margin:0 0 14px;font-size:13px;line-height:1.6;color:#c5b69e}
.craft-why{font-size:12px;line-height:1.55;color:#bdaa90;border-left:2px solid var(--gold);
  padding-left:13px;margin-bottom:13px}
.craft-why b{display:block;font-size:8px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;
  color:var(--gold);margin-bottom:5px}
.craft-note{font-size:11px;line-height:1.5;color:#8f806d;border-top:1px solid #2b1d12;padding-top:11px}

@media(max-width:760px){
  .craft-rule{grid-template-columns:1fr}
  .craft-coverage{text-align:left}
  .craft-common,.craft-quotes{margin-left:0}
}

/* ---- Sourced quotations ------------------------------------------------ */
.craft-quote{margin:0 0 14px;border-left:3px solid var(--gold);padding:14px 0 2px 17px}
.craft-quote blockquote{margin:0;font:400 17px/1.55 Georgia,serif;color:#f1e5d2}
.craft-quote blockquote:before{content:'\201C'}
.craft-quote blockquote:after{content:'\201D'}
.craft-quote figcaption{margin-top:9px;display:flex;flex-wrap:wrap;gap:10px;align-items:baseline}
.craft-quote figcaption b{font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;
  color:var(--gold)}
.craft-quote figcaption a{font-size:10px;color:#9d8d78;text-decoration:none;border-bottom:1px solid #3d2a19}
.craft-quote figcaption a:hover{color:var(--gold)}
.craft-qnote{margin-top:9px;font-size:11px;line-height:1.55;color:#a9967f;font-style:italic}
.craft-sources,.craft-conflict{margin-bottom:12px;font-size:11px;line-height:1.55}
.craft-sources b,.craft-conflict b{display:block;font-size:8px;font-weight:900;letter-spacing:.11em;
  text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.craft-sources a{display:block;color:#bdaa90;text-decoration:none;padding:2px 0}
.craft-sources a:hover{color:var(--gold)}
.craft-conflict{border-left:2px solid #9e291f;padding-left:12px;color:#c5ac9e}
.craft-conflict b{color:#d8837a}

/* ---- The index: located, linked, not yet transcribed ------------------- */
.craft-index{margin-top:16px;border:1px solid #543923;background:#0b0907}
.craft-index-head{padding:14px 16px;border-bottom:1px solid #2b1d12}
.craft-index-head b{display:block;font-size:10px;font-weight:900;letter-spacing:.09em;
  text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.craft-index-head span{font-size:11px;line-height:1.55;color:#8f806d}
.craft-index-row{display:grid;grid-template-columns:1fr 1.3fr auto;gap:14px;align-items:center;
  padding:11px 16px;border-bottom:1px solid #1d1410;text-decoration:none;transition:.15s}
.craft-index-row:last-child{border-bottom:0}
.craft-index-row:hover{background:#130d09}
.craft-index-row b{font-size:14px;color:#f1e5d2;display:flex;align-items:center;gap:8px}
.craft-index-row b .tag{font-size:7px;padding:2px 5px;border-color:#7fb069;color:#7fb069}
.craft-index-row span{font-size:11px;color:#a9967f;line-height:1.45}
.craft-index-row em{font-style:normal;font-size:9px;font-weight:900;letter-spacing:.06em;
  text-transform:uppercase;color:#7d7060;text-align:right;white-space:nowrap}
.craft-index-row:hover em{color:var(--gold)}
@media(max-width:700px){
  .craft-index-row{grid-template-columns:1fr;gap:5px}
  .craft-index-row em{text-align:left;white-space:normal}
}

/* ---- Source veins ------------------------------------------------------ */
.craft-veins{margin-top:16px}
.craft-veins-head{font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;
  color:#8f806d;margin-bottom:10px}
.craft-vein{border:1px solid #543923;background:#0b0907;padding:16px 18px;margin-bottom:10px}
.craft-vein-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;
  margin-bottom:10px}
.craft-vein-top b{display:block;font:400 20px/1.1 Georgia,serif;color:#f1d7a4;margin-bottom:4px}
.craft-vein-top span:not(.tag){font-size:10px;color:#8f806d;letter-spacing:.04em}
.craft-vein-top .tag{flex:0 0 auto;font-size:8px}
.craft-vein p{margin:0 0 11px;font-size:12px;line-height:1.6;color:#bdaa90}
.craft-vein-guests{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:11px}
.craft-vein-guests .tag{font-size:8px}
.craft-vein-guests .tag.roster{border-color:#7fb069;color:#7fb069}
.craft-vein .source-btn{font-size:9px;padding:8px 11px}

/* ---- WTF cross-reference ----------------------------------------------- */
.wtf-list{border:1px solid #543923;background:#0b0907}
.wtf-head{padding:14px 16px;border-bottom:1px solid #2b1d12}
.wtf-head b{display:block;font-size:10px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;
  color:var(--gold);margin-bottom:6px}
.wtf-head span{font-size:11px;line-height:1.55;color:#8f806d}
.wtf-row{display:grid;grid-template-columns:62px 1fr 1.1fr auto;gap:14px;align-items:center;
  padding:11px 16px;border-bottom:1px solid #1d1410;text-decoration:none;transition:.15s}
.wtf-row:last-child{border-bottom:0}
.wtf-row:hover{background:#130d09}
.wtf-ep{font:900 13px/1 Inter,sans-serif;color:var(--gold);opacity:.75;letter-spacing:.04em}
.wtf-row b{font-size:14px;color:#f1e5d2;display:flex;align-items:center;gap:8px}
.wtf-row b .tag{font-size:7px;padding:2px 5px;border-color:#7fb069;color:#7fb069}
.wtf-note{font-size:11px;color:#a9967f}
.wtf-row em{font-style:normal;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;
  color:#7d7060;text-align:right;white-space:nowrap}
.wtf-row:hover em{color:var(--gold)}
@media(max-width:700px){
  .wtf-row{grid-template-columns:52px 1fr;gap:6px}
  .wtf-note,.wtf-row em{grid-column:1/-1;text-align:left;white-space:normal}
}
.wtf-method{border-left:3px solid var(--gold);background:#17100b;padding:15px 18px;margin:18px 0;
  font-size:12px;line-height:1.65;color:#c5b69e}
.wtf-method b{display:block;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;
  color:var(--gold);margin-bottom:7px}
.wtf-method code{background:#0b0907;border:1px solid #543923;padding:1px 5px;font-size:11px;
  color:#f1d7a4}
.wtf-row b .tag{border-color:#7fb069;color:#7fb069}

/* ---- Comic Desk honesty layer ------------------------------------------ */
.desk-truth{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:center;
  padding:18px 22px;margin:0 0 26px;font-size:13px;line-height:1.6}
.desk-truth.real{border:1px solid #4a7c59;background:rgba(74,124,89,.09);color:#c6d8c8}
.desk-truth.real b{color:#8fce9e}
.desk-truth.demo{border:1px dashed #9e291f;background:rgba(158,41,31,.12);color:#e2c3bd}
.desk-truth.demo b{color:#e08a80}
.desk-truth button{white-space:nowrap}
.desk-empty{border:1px dashed #543923;background:#0b0907;padding:22px 24px;text-align:left}
.desk-empty b{display:block;font:400 21px/1.15 Georgia,serif;color:#f1d7a4;margin-bottom:8px}
.desk-empty span{display:block;font-size:13px;line-height:1.6;color:#9d8d78;max-width:64ch}
.is-demo{position:relative}
body.desk-demo .pulse strong,body.desk-demo .demand-row strong,
body.desk-demo .fit-score strong,body.desk-demo .momentum-row b,
body.desk-demo .health-ring strong{color:#e08a80}
@media(max-width:760px){.desk-truth{grid-template-columns:1fr}}
/* Real mode is the default, and in it the demo-only chrome goes: Erica's
   portrait and "Good evening, Erica.", the "Sample data" flag, a city-request
   link to a domain that does not exist, and the two daily buttons that opened
   an invented Columbus post. desk-truth.js adds .desk-demo for the demo. */
body:not(.desk-demo) .desk-topbar,
body:not(.desk-demo) .daily-actions{display:none}

/* ---- Accessibility: the smallest text was unreadable -------------------- */
.tag,.meta,.desk-kicker,.st-fresh,.craft-gap,.wtf-ep,.wtf-row em,.craft-index-row em,
.stage-hint,.craft-vein-guests .tag,.working-card .tag,.st-facts dt,.stage-facts dt,
.craft-sources b,.craft-conflict b,.craft-why b,.craft-index-head b,.wtf-head b,
.st-stat small,.footgrid b,.craft-veins-head,.craft-common .meta{font-size:11px!important}
.sitenav a,.navgroup-btn,.st-tabs button,.stages-filter button,.st-mic-actions button,
.craft-vein .source-btn,.stage-card .source-btn{font-size:12px!important}
.st-add-grid label,.st-form label,.st-filters label,.stages-where label,
.likebut-row label,.st-check{font-size:11px!important}
.footgrid a,.sitefoot small,.st-set span,.st-bit span,.wtf-note,.craft-index-row span,
.craft-quote figcaption a,.craft-qnote,.craft-note{font-size:12px!important}
/* Tap targets: the ballot buttons were 28x26 */
.vote-btn,.track-btn,.track-na{min-height:36px;min-width:40px;padding:9px 11px!important;
  font-size:11px!important}
/* stragglers the class-based pass missed */
.nav-twelve span{font-size:11px!important}
.desk-account .save-state,.rail-panel .save-state{font-size:11px!important}
.rail-panel label small,.availability label small{font-size:11px!important}
.ballot-action{font-size:11px!important;min-height:36px}
.person p,.era .people .person p{font-size:11px!important}
.scene-card .tags .tag,.person .num{font-size:11px!important}
.demand-note{font-size:11px!important}

/* ---- Tour Planner ------------------------------------------------------ */
.tour-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(120px,100%),1fr));gap:12px;
  margin-bottom:30px}
.tour-stat{border:1px solid #6b482f;background:#0f0b08;padding:16px 18px}
.tour-stat strong{display:block;font:400 28px/1 Georgia,serif;color:var(--gold)}
.tour-stat small{display:block;margin-top:6px;font-size:11px;font-weight:900;letter-spacing:.09em;
  text-transform:uppercase;color:#9d8d78}
.tour-stat.good strong{color:#7fb069}
.tour-stat.bad strong{color:#e08a80}
.tour-head{display:flex;justify-content:space-between;align-items:baseline;gap:18px;flex-wrap:wrap}
.tour-head .section-note{margin:0;flex:1 1 300px}
.tour-checks{display:grid;gap:10px;margin-top:16px}
.tour-check{display:grid;grid-template-columns:130px 1fr;gap:16px;align-items:start;
  border:1px solid #543923;background:#0b0907;padding:15px 17px}
.tour-check-tag{font-size:11px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.tour-check p{margin:0;font-size:13px;line-height:1.6;color:#c5b69e}
.tour-check.hard{border-color:#9e291f;background:rgba(158,41,31,.1)}
.tour-check.hard .tour-check-tag{color:#e08a80}
.tour-check.soft .tour-check-tag,.tour-check.time .tour-check-tag{color:#e0a32e}
.tour-check.money .tour-check-tag{color:#d99b6c}
.tour-check.ok{border-color:#4a7c59;background:rgba(74,124,89,.08)}
.tour-check.ok .tour-check-tag{color:#8fce9e}
.tour-board{display:grid;gap:10px;margin-top:16px}
.tour-stop{display:grid;grid-template-columns:150px 1fr 150px;gap:18px;align-items:center;
  border:1px solid #543923;border-left-width:3px;background:#0f0b08;padding:15px 18px;cursor:pointer;
  transition:.15s}
.tour-stop:hover{border-color:var(--gold);transform:translateX(3px)}
.tour-stop.ok{border-left-color:#7fb069}
.tour-stop.wait{border-left-color:#e0a32e}
.tour-stop.idle{border-left-color:#7d7060}
.tour-stop.done{border-left-color:#4a7c59;opacity:.75}
.tour-when b{display:block;font:900 13px/1 Inter,sans-serif;color:var(--gold);letter-spacing:.04em}
.tour-when span{display:block;font:400 19px/1.1 Georgia,serif;color:#f1d7a4;margin-top:5px}
.tour-mid{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.tour-venue{font-size:13px;color:#c5b69e}
.tour-miles{font-size:11px;color:#8f806d}
.tour-money{text-align:right}
.tour-money b{display:block;font:400 24px/1 Georgia,serif;color:#7fb069}
.tour-money.bad b{color:#e08a80}
.tour-money small{display:block;margin-top:5px;font-size:11px;color:#8f806d}
.tour-editor{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.82);backdrop-filter:blur(6px);
  display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto}
.tour-dialog{position:relative;width:min(820px,100%);border:1px solid #74502e;background:#120d09;
  padding:30px}
.tour-dialog h3{margin:0 0 20px;font:400 30px/1 Georgia,serif;color:#f1d39c}
.tour-dialog .close{position:absolute;right:14px;top:12px;background:transparent;border:0;
  color:var(--gold);font-size:26px;cursor:pointer;line-height:1}
@media(max-width:820px){
  .tour-stop{grid-template-columns:1fr;gap:10px}
  .tour-money{text-align:left}
  .tour-check{grid-template-columns:1fr;gap:7px}
}

/* ---- Tour Planner: run settings + the day in town ---------------------- */
.tour-run{border:1px solid #7c512d;background:linear-gradient(125deg,#341e0e,#0f0b08 62%);
  padding:22px 24px;margin-bottom:26px}
.tour-run-head b{display:block;font-size:11px;font-weight:900;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold);margin-bottom:7px}
.tour-run-head span{font-size:13px;line-height:1.6;color:#c9b89e;max-width:76ch;display:block}
.tour-run-fields{display:flex;flex-wrap:wrap;gap:14px;margin-top:18px}
.tour-run-fields label{font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;
  color:#b7a48a;display:flex;flex-direction:column;gap:6px}
.tour-run-fields input{background:#15100c;border:1px solid #69472f;color:#f1e5d2;padding:11px;
  font-size:14px;letter-spacing:0;text-transform:none;font-weight:400;min-width:130px}
/* Gas or electric: the fields for the other one carry `hidden` (the rule at
   the top of this file keeps it hidden though the labels are flex). */
.tour-run-fields select{background:#15100c;border:1px solid #69472f;color:#f1e5d2;padding:11px;
  font-size:14px;letter-spacing:0;text-transform:none;font-weight:400;min-width:150px}
.tour-ev-note{margin:14px 0 0;font-size:13px;line-height:1.6;color:#c9b89e;max-width:84ch}
.tour-ev-note a{color:var(--gold)}
.tour-check.charge .tour-check-tag{color:#8fcfb8}
.tour-stop-wrap{border:1px solid #543923;background:#0f0b08}
.tour-stop-wrap .tour-stop{border:0;border-left:3px solid;background:transparent}
.tour-local{border-top:1px solid #2b1d12}
.tour-local summary{cursor:pointer;padding:11px 18px;font-size:11px;font-weight:900;
  letter-spacing:.09em;text-transform:uppercase;color:var(--gold)}
.tour-local summary:hover{background:#130d09}
.tour-local-body{padding:6px 18px 20px}
.tour-ride{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.tour-ride .source-btn{font-size:11px}
.tour-local-group{margin-bottom:16px}
.tour-local-group h5{margin:0 0 9px;font-size:11px;font-weight:900;letter-spacing:.1em;
  text-transform:uppercase;color:#8f806d}
.tour-local-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:7px}
.tour-local-links a{border:1px solid #543923;padding:10px 12px;color:#e8c983;text-decoration:none;
  font-size:12px;transition:.15s}
.tour-local-links a:hover{border-color:var(--gold);background:#17100b}

/* ---- Craft: the deeper forks ------------------------------------------- */
.craft-topics{display:grid;gap:16px}
.craft-topic{border:1px solid #6b482f;background:#0f0b08;padding:24px}
.craft-topic-head{display:grid;grid-template-columns:40px 1fr;gap:14px;align-items:start;
  margin-bottom:18px}
.craft-topic-head .num{font:900 12px/1.5 Inter,sans-serif;color:var(--gold);opacity:.7;
  letter-spacing:.1em}
.craft-topic-head b{display:block;font:400 26px/1.15 Georgia,serif;color:#f1d7a4;margin-bottom:9px}
.craft-topic-head p{margin:0;font-size:13px;line-height:1.65;color:#c5b69e;max-width:74ch}
.craft-fork{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-left:54px}
.craft-side{border:1px solid #543923;background:#0b0907;padding:16px 18px}
.craft-side-name{font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;
  color:var(--gold);margin-bottom:9px}
.craft-side p{margin:0;font-size:12px;line-height:1.6;color:#bdaa90}
.craft-side-who{display:flex;flex-wrap:wrap;gap:5px;margin-top:11px}
.craft-side-who .tag{font-size:11px}
.craft-side-who .tag.roster{border-color:#7fb069;color:#7fb069}
.craft-test{margin:16px 0 0 54px;border-left:2px solid var(--gold);padding-left:14px;
  font-size:12px;line-height:1.6;color:#c5b69e}
.craft-test b{display:block;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold);margin-bottom:6px}
.tour-notebook{border-top:1px solid #2b1d12;padding-top:16px}
.tour-notebook p{margin:0 0 11px;font-size:12px;line-height:1.6;color:#9d8d78}
.tour-note-row{display:flex;gap:8px;flex-wrap:wrap}
.tour-note-input{flex:1 1 320px;background:#15100c;border:1px solid #69472f;color:#f1e5d2;
  padding:11px;font-size:13px}
.tour-notes{margin:12px 0 0;padding-left:18px;color:#c5b69e;font-size:12px;line-height:1.7}
@media(max-width:760px){
  .craft-fork,.craft-test{margin-left:0;grid-template-columns:1fr}
}

/* ---- Bootstrap a Room -------------------------------------------------- */
.kit-tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(310px,100%),1fr));gap:15px;margin-top:18px}
.kit-tier{border:1px solid #6b482f;background:#0f0b08;padding:20px}
.kit-tier-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;
  margin-bottom:14px}
.kit-tier-head b{display:block;font:400 22px/1.1 Georgia,serif;color:#f1d7a4;margin-bottom:5px}
.kit-tier-head span:not(.tag){font-size:12px;color:#9d8d78;line-height:1.5}
.kit-items{list-style:none;margin:0;padding:0}
.kit-items li{border-top:1px solid #2b1d12;padding:10px 0}
.kit-items a{display:block;color:#e8c983;text-decoration:none;font-size:13px;font-weight:700}
.kit-items a:hover{color:var(--gold)}
.kit-items span{display:block;font-size:11px;color:#8f806d;line-height:1.5;margin-top:3px}
.kit-note{margin-top:14px;border-left:2px solid var(--gold);padding-left:12px;font-size:12px;
  line-height:1.55;color:#c5b69e}
.room-check{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr));gap:11px;margin-top:16px}
.room-q{display:grid;grid-template-columns:32px 1fr;gap:11px;border:1px solid #543923;
  background:#0b0907;padding:14px 16px}
.room-q .num{font:900 11px/1.5 Inter,sans-serif;color:var(--gold);opacity:.7;letter-spacing:.1em}
.room-q b{display:block;font-size:13px;color:#f1e5d2;margin-bottom:5px;line-height:1.35}
.room-q span{font-size:11px;color:#9d8d78;line-height:1.5}
.boot-spaces{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr));gap:15px;margin-top:16px}
.boot-space{border:1px solid #6b482f;background:#0f0b08;padding:20px;display:flex;flex-direction:column}
.boot-space>b{display:block;font:400 21px/1.15 Georgia,serif;color:#f1d7a4;margin-bottom:12px}
.boot-space dl{margin:0 0 15px;font-size:12px;line-height:1.55}
.boot-space dt{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold);margin-top:10px}
.boot-space dd{margin:4px 0 0;color:#bdaa90}
.boot-pitch{font-style:italic;color:#e0d2ba!important;border-left:2px solid #543923;padding-left:11px}
.boot-space .source-btn{margin-top:auto;align-self:flex-start;font-size:11px}
.boot-calc{display:flex;flex-wrap:wrap;gap:12px;margin:18px 0}
.boot-calc label{font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;
  color:#b7a48a;display:flex;flex-direction:column;gap:6px}
.boot-calc input{background:#15100c;border:1px solid #69472f;color:#f1e5d2;padding:11px;
  font-size:14px;letter-spacing:0;text-transform:none;font-weight:400;width:110px}
.boot-math{border:1px solid #6b482f;background:#0f0b08;padding:20px 22px;max-width:620px}
.boot-math-row{display:flex;justify-content:space-between;gap:16px;padding:9px 0;font-size:13px;
  color:#c5b69e;border-bottom:1px solid #1d1410}
.boot-math-row.sub{color:#9d8d78}
.boot-math-row b{color:#f1e5d2;font-weight:700}
.boot-math-total{display:flex;justify-content:space-between;gap:16px;align-items:baseline;
  padding-top:14px;margin-top:6px}
.boot-math-total span{font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold)}
.boot-math-total b{font:400 32px/1 Georgia,serif;color:#7fb069}
.boot-math-total.bad b{color:#e08a80}
.boot-math .demand-note{margin-top:12px}
.tape-rule{border:1px solid #4a7c59;background:rgba(74,124,89,.08);padding:22px 24px;margin-top:22px;
  max-width:780px}
.tape-rule b{color:#8fce9e}
.tape-rule>b{display:block;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
  margin-bottom:11px}
.tape-rule p{margin:0 0 11px;font-size:13px;line-height:1.65;color:#c6d8c8}
.tape-rule p:last-child{margin-bottom:0}
.tape-when{border-left:2px solid #8fce9e;padding-left:13px}
.st-tape{display:inline-block;margin-top:9px;font-size:11px;font-weight:900;letter-spacing:.06em;
  text-transform:uppercase;color:var(--gold);text-decoration:none;border-bottom:1px solid #543923}

/* ---- Tech -------------------------------------------------------------- */
.cam-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:14px;margin-top:16px}
.cam-card{border:1px solid #6b482f;background:#0f0b08;padding:20px}
.cam-card .num{font:900 11px/1 Inter,sans-serif;color:var(--gold);opacity:.7;letter-spacing:.1em}
.cam-card b{display:block;font:400 21px/1.15 Georgia,serif;color:#f1d7a4;margin:9px 0 6px}
.cam-role{display:block;font-size:12px;color:var(--gold);margin-bottom:10px}
.cam-card p{margin:0;font-size:12px;line-height:1.6;color:#bdaa90}
.tape-rules{margin:16px 0 0;padding-left:20px;display:grid;gap:9px}
.tape-rules li{font-size:13px;line-height:1.6;color:#c5b69e}
.tech-fixes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:12px;margin-top:16px}
.tech-fix{border:1px solid #543923;border-left:3px solid #9e291f;background:#0b0907;padding:16px 18px}
.tech-fix b{display:block;font:400 18px/1.2 Georgia,serif;color:#f1d7a4;margin-bottom:8px}
.tech-fix p{margin:0;font-size:12px;line-height:1.6;color:#bdaa90}

/* ---- Promotion --------------------------------------------------------- */
.promo-beats{display:grid;gap:9px;margin-top:6px}
.promo-beat{border:1px solid #543923;background:#0b0907}
.promo-beat summary{cursor:pointer;padding:13px 16px;list-style:none}
.promo-beat summary::-webkit-details-marker{display:none}
.promo-beat summary b{display:block;font:400 18px/1.15 Georgia,serif;color:#f1d7a4;margin-bottom:5px}
.promo-beat summary span{font-size:12px;line-height:1.55;color:#8f806d}
.promo-beat summary:hover b{color:var(--gold)}
.promo-platforms{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px;
  padding:4px 16px 18px}
.promo-post{border:1px solid #3d2a19;background:#0f0b08;padding:13px 15px}
.promo-post-head{display:flex;justify-content:space-between;align-items:center;gap:10px;
  margin-bottom:8px}
.promo-post-head b{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
  color:var(--gold)}
.promo-post-head button{font-size:11px;padding:6px 10px}
.promo-note{font-size:11px;line-height:1.5;color:#8f806d;margin-bottom:9px}
.promo-post textarea{width:100%;background:#15100c;border:1px solid #543923;color:#e8dcc8;
  padding:11px;font:inherit;font-size:13px;line-height:1.55;resize:vertical}
.vp-fields{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0}
.vp-fields label{font-size:11px;font-weight:900;letter-spacing:.09em;text-transform:uppercase;
  color:#b7a48a;display:flex;flex-direction:column;gap:6px}
/* min-width:200px on a grid child is a floor the track cannot go under, so two
   of these in a row already exceed a phone. Let it shrink and cap it instead. */
.vp-fields input{background:#15100c;border:1px solid #69472f;color:#f1e5d2;padding:11px;
  font-size:14px;letter-spacing:0;text-transform:none;font-weight:400;
  min-width:0;width:100%;box-sizing:border-box}
.vp-nights{display:grid;gap:8px;margin-bottom:12px}
/* 1fr is minmax(auto,1fr) and will not shrink below an input's min-content, so
   the "two columns on a phone" rule still overflowed by 57px at 375. This tool
   sits behind the industry gate, which is why nobody caught it: the gate page
   was throwing before it ever rendered. minmax(0,…) is the same fix applied to
   the other 22 grids on this site. */
.vp-night{display:grid;gap:8px;
  grid-template-columns:minmax(0,130px) minmax(0,1fr) minmax(0,110px) auto}
.vp-night input{background:#15100c;border:1px solid #543923;color:#f1e5d2;padding:10px;
  font-size:13px;min-width:0;width:100%;box-sizing:border-box}
.vp-night .source-btn{font-size:11px;padding:8px 10px;white-space:nowrap}
@media(max-width:700px){.vp-night{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:460px){.vp-night{grid-template-columns:minmax(0,1fr)}}
.dj-frame{border:1px solid var(--gold);background:rgba(239,182,78,.07);padding:20px 22px;margin-top:20px}
.dj-frame b{display:block;font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold);margin-bottom:10px}
.dj-frame p{margin:0 0 11px;font-size:13px;line-height:1.65;color:#e0d2ba}
.dj-frame p:last-child{margin-bottom:0}
.kit-plays{border:1px solid #4a7c59;background:rgba(74,124,89,.08);padding:13px 15px;margin-bottom:14px}
.kit-plays-head{font-size:10px;font-weight:900;letter-spacing:.11em;text-transform:uppercase;
  color:#8fce9e}
.kit-plays-n{font:400 26px/1 Georgia,serif;color:#8fce9e;margin:5px 0 10px}
.kit-plays dl{margin:0;font-size:11px;line-height:1.5}
.kit-plays dt{font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
  color:#7d9b82;margin-top:7px}
.kit-plays dd{margin:3px 0 0;color:#c6d8c8}

/* ---- Houston pilot: seeded but unconfirmed ----------------------------- */
.st-seed-banner{border:1px solid #e0a32e;background:rgba(224,163,46,.08);padding:22px 24px;
  margin-bottom:24px}
.st-seed-banner b{display:block;font:400 23px/1.15 Georgia,serif;color:#e0a32e;margin-bottom:11px}
.st-seed-banner p{margin:0 0 11px;font-size:13px;line-height:1.65;color:#d8c9ae;max-width:80ch}
.st-seed-banner p:last-child{margin-bottom:0}
.st-seed-ask{border-left:2px solid #e0a32e;padding-left:13px;color:#f1d7a4!important}
.st-fresh.seeded{color:#e0a32e}
.st-mic.seeded{border-color:#7a5a20;border-style:dashed}
.st-prov{border-left:3px solid;padding:11px 13px;margin:11px 0;background:#0b0907}
.st-prov b{display:block;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;
  margin-bottom:6px}
.st-prov span{display:block;font-size:12px;line-height:1.55;color:#bdaa90}
.st-prov.ok{border-color:#7fb069}.st-prov.ok b{color:#8fce9e}
.st-prov.wait{border-color:#e0a32e}.st-prov.wait b{color:#e0a32e}
.st-prov.bad{border-color:#b8564b}.st-prov.bad b{color:#e08a80}
.st-prov-src{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.st-prov-src a{font-size:11px;color:#8f806d;text-decoration:none;border-bottom:1px solid #3d2a19}
.st-prov-src a:hover{color:var(--gold)}

/* ---- Houston scene map -------------------------------------------------- */
.st-venues{margin-top:26px;border:1px solid #6b482f;background:#0f0b08}
.st-venues summary{cursor:pointer;padding:15px 18px;font-size:12px;font-weight:900;
  letter-spacing:.09em;text-transform:uppercase;color:var(--gold)}
.st-venues summary:hover{background:#130d09}
.st-venues-body{padding:4px 18px 22px}
.htx-venues{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr));gap:14px;
  margin-top:14px}
.htx-venue{border:1px solid #543923;background:#0b0907;padding:18px 20px;display:flex;
  flex-direction:column}
.htx-venue.gone{border-style:dashed;opacity:.72}
.htx-venue-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;
  margin-bottom:11px}
.htx-venue-top b{display:block;font:400 21px/1.15 Georgia,serif;color:#f1d7a4;margin-bottom:5px}
.htx-addr{font-size:11px;color:#8f806d;line-height:1.45}
.tag.htx-club{border-color:#7fb069;color:#7fb069}
.tag.htx-improv{border-color:#6b8fb0;color:#8fb4d4}
.tag.htx-theatre{border-color:#b08fc0;color:#c4a5d4}
.tag.htx-room{border-color:#8f806d;color:#9d8d78}
.tag.htx-gone{border-color:#b8564b;color:#e08a80}
.htx-what{margin:0 0 12px;font-size:12px;line-height:1.6;color:#c5b69e}
.htx-heads{font-size:12px;line-height:1.55;color:#bdaa90;border-left:2px solid var(--gold);
  padding-left:12px;margin-bottom:12px}
.htx-heads b{display:block;font-size:11px;font-weight:900;letter-spacing:.09em;
  text-transform:uppercase;color:var(--gold);margin-bottom:5px}
.htx-flag{font-size:12px;line-height:1.55;color:#dba79f;border-left:2px solid #b8564b;
  padding-left:12px;margin-bottom:12px}
.htx-venue .source-btn{margin-top:auto;align-self:flex-start;font-size:11px}
.htx-rooms{margin-top:22px;border-top:1px solid #2b1d12;padding-top:18px}
.htx-rooms h5{margin:0 0 8px;font-size:11px;font-weight:900;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold)}
.htx-rooms p{margin:0 0 12px;font-size:12px;line-height:1.6;color:#9d8d78;max-width:76ch}
.htx-room-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.htx-room-tags .tag{text-decoration:none;font-size:12px}
.htx-room-tags .tag:hover{border-color:var(--gold);color:var(--gold)}
.htx-dated{border-left:2px solid #e0a32e;padding-left:12px;color:#c5b69e!important}

/* ---- Suburbs ----------------------------------------------------------- */
.htx-venue.sub-star{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}
.sub-meta{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline;margin:10px 0 2px}
.sub-town{font:900 10px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold);border:1px solid #6b482f;padding:5px 9px}
.sub-drive{font:400 13px/1.3 Georgia,serif;color:#b9a58f;font-style:italic}
.sub-why{border-left:2px solid var(--gold);padding:10px 0 10px 14px;margin:14px 0;
  font:400 15px/1.5 Georgia,serif;color:#d8c6ae}
.sub-why b{display:block;font:900 10px/1 Inter,sans-serif;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.sub-maybes{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:12px;margin:14px 0 26px}
.sub-maybe{border:1px solid #4a3527;background:#0f0b08;padding:16px}
.sub-maybe b{display:block;font:400 17px/1.2 Georgia,serif;color:#f1e4d0;margin-bottom:8px}
.sub-maybe .sub-town{display:inline-block;margin-bottom:10px}
.sub-maybe p{font:400 14px/1.5 Georgia,serif;color:#b9a58f;margin:0 0 8px}
.sub-maybe em{display:block;font:400 13px/1.5 Georgia,serif;color:#8d7a64}
.sub-empties{display:grid;gap:10px;margin:14px 0 22px}
.sub-empty{display:grid;grid-template-columns:150px 1fr;gap:16px;align-items:baseline;
  border-top:1px solid #33241a;padding-top:10px}
.sub-empty b{font:900 11px/1.3 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#c9a227}
.sub-empty span{font:400 14px/1.55 Georgia,serif;color:#b9a58f}
@media(max-width:620px){.sub-empty{grid-template-columns:1fr;gap:4px}}

/* ---- "new rooms since you last looked" prompt -------------------------- */
.st-seed-new{display:grid;gap:8px;border:1px solid var(--gold);background:rgba(239,182,78,.06);
  padding:16px 18px;margin:18px 0}
.st-seed-new b{color:var(--gold);font:900 11px/1.4 Inter,sans-serif;letter-spacing:.08em;
  text-transform:uppercase}
.st-seed-new span{font:400 14px/1.55 Georgia,serif;color:#d8c6ae}
.st-seed-new .ballot-action{justify-self:start;margin-top:4px}
.st-sample-banner.st-new-rooms{border-style:solid;border-color:var(--gold);
  background:rgba(239,182,78,.06)}
.st-sample-banner.st-new-rooms b{color:var(--gold)}

/* ---- narrow-screen overflow fixes -------------------------------------- */
/* Both of these were flex rows with nowrap holding a chip longer than the
   row itself, so the chip pushed the page sideways at phone width. Wrapping
   costs nothing on desktop — a flex row only wraps when it has to. */
.st-mic-top{flex-wrap:wrap}
.st-fresh{white-space:normal;max-width:100%}
.craft-vein-top{flex-wrap:wrap;gap:8px}
.craft-vein-top .tag{white-space:normal;max-width:100%}

/* ---- Stage Time tabs, with art ----------------------------------------- */
.st-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;border-bottom:0;padding-bottom:0;
  margin:0 0 26px}
.st-tabs button{position:relative;isolation:isolate;min-width:0;min-height:104px;
  padding:62px 12px 13px;overflow:hidden;text-align:left;
  border:1px solid #67452b;background-color:#100b08;background-size:cover;
  background-position:center;color:#f4dfb8;font:900 10px/1.25 Inter,sans-serif;
  letter-spacing:.1em;text-transform:uppercase;text-shadow:0 2px 8px #000;
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.st-tabs button:before{content:"";position:absolute;z-index:-1;inset:0;
  background:linear-gradient(180deg,rgba(5,3,2,.1),rgba(5,3,2,.3) 38%,rgba(5,3,2,.93));
  transition:background .24s ease}
/* Each tab is a photograph, keyed on the button (data-art="st-tab-*"). Until
   24 Sept 2026 these were eight drawn SVGs — assets/stage-tabs/, retired, not
   deleted ("literally all these pages need real graphics not background svgs"). */
.st-tabs button[data-art]{background-image:var(--art);background-position:var(--art-pos,center)}
.st-tabs button:hover,.st-tabs button:focus-visible{transform:translateY(-4px);
  border-color:#e9b14b;box-shadow:0 15px 30px rgba(0,0,0,.34)}
.st-tabs button:focus-visible{outline:2px solid #f2c66d;outline-offset:3px}
.st-tabs button.active{color:#fff4d8;border-color:var(--gold);background-color:#100b08;
  box-shadow:inset 0 -4px 0 var(--gold),0 14px 30px rgba(0,0,0,.38)}
.st-tabs button.active:before{background:linear-gradient(180deg,rgba(5,3,2,.02),
  rgba(5,3,2,.16) 35%,rgba(41,20,6,.95))}
.st-tabs button.active:after{content:"";position:absolute;top:11px;right:11px;width:9px;height:9px;
  border-radius:50%;background:var(--gold);
  box-shadow:0 0 0 5px rgba(239,182,78,.18),0 0 18px var(--gold)}
@media(max-width:860px){.st-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){.st-tabs{gap:7px}
  .st-tabs button{min-height:86px;padding:50px 9px 11px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.st-tabs button{transition:none}}

/* ---- which city -------------------------------------------------------- */
.st-metros{margin:0 0 24px}
.st-metro-head{margin-bottom:12px}
.st-metro-head b{display:block;font:400 22px/1.2 Georgia,serif;color:#f1d39c;margin-bottom:5px}
.st-metro-head span{font:400 14px/1.55 Georgia,serif;color:#b9a58f}
.st-metro-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.st-metro{text-align:left;border:1px solid #543923;background:#0f0b08;color:#c9b89e;
  padding:15px 16px;cursor:pointer;transition:border-color .2s ease,transform .2s ease}
.st-metro b{display:block;font:400 19px/1.15 Georgia,serif;color:#f1d7a4;margin-bottom:3px}
.st-metro small{display:block;font:900 9px/1 Inter,sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold);opacity:.75;margin-bottom:8px}
.st-metro span{display:block;font:400 13px/1.5 Georgia,serif;color:#a9967f}
.st-metro:hover{border-color:var(--gold);transform:translateY(-2px)}
.st-metro.active{border-color:var(--gold);background:rgba(239,182,78,.07);
  box-shadow:inset 3px 0 0 var(--gold)}
.st-metro.active b{color:var(--gold)}
@media(max-width:760px){.st-metro-row{grid-template-columns:1fr}}
.st-allcities{display:flex;gap:10px;align-items:flex-start;margin-top:12px;
  border:1px solid #543923;background:#0f0b08;padding:13px 15px;cursor:pointer}
.st-allcities input{accent-color:var(--gold);margin-top:3px;flex:0 0 auto}
.st-allcities span{font:400 13px/1.5 Georgia,serif;color:#b9a58f}
.st-metro-note{min-height:1.2em;margin:9px 0 0;font:400 13px/1.4 Georgia,serif;color:var(--gold)}

/* ---- scroll targets clear the sticky header ---------------------------- */
/* The site header is position:sticky and 68px tall, and nothing had a
   scroll-margin — so every #anchor jump and scrollIntoView() landed with its
   target tucked underneath the nav. 84px gives it 16px of air. */
:where(.st-tabs, .st-panel, section[id], details[id], [id^="tab-"], h2[id], h3[id],
       #ladder, #bits, #stages, #micList, #metroPicker){scroll-margin-top:84px}

/* ---- Comic's Corner nav group ------------------------------------------ */
.navgroup{position:relative;display:inline-flex}
/* No `font:inherit` and no `padding:0` here — the shorthand reset the size and
   weight set alongside .sitenav a, so the trigger rendered at body-text size
   in the middle of the nav and wrapped onto two lines. Typography for this
   button lives with the nav links it sits beside; this rule only does layout. */
.navgroup-btn{display:inline-flex;align-items:center;gap:6px;background:transparent;
  cursor:pointer}
.navgroup-btn i{font-style:normal;font-size:9px;opacity:.7;transition:transform .18s ease}
.navgroup-btn[aria-expanded="true"] i{transform:rotate(180deg)}
.navgroup.active .navgroup-btn,.navgroup-btn:hover{color:var(--gold)}
.navgroup-menu{position:absolute;top:calc(100% + 14px);right:0;z-index:30;width:min(330px,86vw);
  border:1px solid #6b482f;background:#120c08;padding:8px;
  box-shadow:0 24px 60px rgba(0,0,0,.6)}
.navgroup-head{margin:6px 10px 8px;font:900 9px/1 Inter,sans-serif;letter-spacing:.13em;
  text-transform:uppercase;color:var(--gold);opacity:.75}
.navgroup-menu a{display:block;padding:11px 10px;text-decoration:none;border-left:2px solid transparent}
.navgroup-menu a b{display:block;font:400 17px/1.2 Georgia,serif;color:#f1d7a4;
  letter-spacing:0;text-transform:none}
.navgroup-menu a span{display:block;font:400 12px/1.45 Georgia,serif;color:#a9967f;
  letter-spacing:0;text-transform:none;margin-top:2px}
.navgroup-menu a:hover,.navgroup-menu a.active{background:rgba(239,182,78,.08);
  border-left-color:var(--gold)}
.navgroup-menu a.active b{color:var(--gold)}
@media(max-width:760px){.navgroup-menu{right:auto;left:0}}

/* ---- signal chain ------------------------------------------------------ */
.chain-list{display:grid;gap:12px;margin-top:18px}
.chain-step{display:grid;grid-template-columns:54px 1fr;gap:18px;
  border:1px solid #543923;background:#0f0b08;padding:20px 22px}
.chain-step.first{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}
.chain-n{font:900 13px/1 Inter,sans-serif;letter-spacing:.1em;color:var(--gold);opacity:.6;
  padding-top:5px}
.chain-step.first .chain-n{opacity:1}
.chain-body b{display:block;font:400 23px/1.15 Georgia,serif;color:#f1d7a4;margin-bottom:10px}
.chain-setting{display:inline-block;font:700 11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace;
  letter-spacing:.03em;color:#0f0b08;background:var(--gold);padding:6px 10px;margin-bottom:14px}
.chain-body p{margin:0 0 11px;font:400 15px/1.62 Georgia,serif;color:#c5b69e}
.chain-body .chain-more{color:#a9967f;font-size:14px}
@media(max-width:620px){.chain-step{grid-template-columns:1fr;gap:6px}
  .chain-n{padding-top:0}}

/* ---- grid blowout guard ------------------------------------------------ */
/* `1fr` is shorthand for `minmax(auto, 1fr)`, and that `auto` floor means a
   track will NOT shrink below its content's min-content width — so one long
   unbreakable string makes the whole grid wider than its container and the
   page scrolls sideways. `minmax(0, 1fr)` plus min-width:0 on the children is
   the actual fix. This bit the craft questions at tablet width, where the
   track resolved to 956px inside a 733px parent. */
.craft-questions{grid-template-columns:minmax(0,1fr)}
.craft-q-head{grid-template-columns:40px minmax(0,1fr)}
.craft-q,.craft-q-head>*,.craft-common,.craft-quotes{min-width:0}
.craft-q b,.craft-q p,.craft-q span,.craft-common .meta{overflow-wrap:anywhere}
@media(max-width:620px){.craft-common{margin-left:0}}

/* ---- remaining grid blowouts ------------------------------------------- */
/* Same `1fr` = `minmax(auto, 1fr)` trap as the craft questions. Found by
   sweeping every view at 360 / 600 / 780 / 1100px rather than at one width:
   each of these is invisible at the widths either side of where it breaks. */
.crossover{grid-template-columns:minmax(0,40rem)}
.crossover>*{min-width:0}
.crossover .cta{white-space:normal}
.craft-index-row{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto}
.craft-index-row>*{min-width:0}
.craft-index-row em,.craft-index-row span,.craft-index-row b{overflow-wrap:anywhere}
.htx-venue,.htx-venue>*{min-width:0}
.htx-venue-top{flex-wrap:wrap}
.htx-addr,.htx-what,.htx-heads,.htx-flag,.sub-why{overflow-wrap:anywhere}
@media(max-width:520px){
  .crossover{grid-template-columns:minmax(0,1fr)}
  .craft-index-row{grid-template-columns:minmax(0,1fr)}
}

/* ---- comics rising behind "Or start with the comic" -------------------- */
.livehub{position:relative;isolation:isolate}
.livehub>.live-top,.livehub>.venues{position:relative;z-index:1}
.bubble-field{position:absolute;inset:0;z-index:0;overflow:hidden}
/* The panel's content sits above the bubbles, and its box covers the whole
   panel — so clicks fall through its empty space to the faces behind, while
   the words, the search form and the links stay clickable as ever. */
.livehub>.live-top{pointer-events:none}
.livehub>.live-top h2,.livehub>.live-top .lede,.livehub .finder,.livehub .source-row>*{pointer-events:auto}
/* Each bubble rises the full height of the panel: from just under the bottom
   edge (translated down its own height) to just over the top (--rise, set by
   index.html to the panel's height plus the biggest bubble), swelling as it
   climbs the way a real bubble does. The old rise was a percentage of each
   face's OWN height, about 70px, so faces barely cleared the bottom edge.
   Four layers because each motion needs its own transform: .bubble climbs,
   .b-sway wobbles, .b-face swells under the pointer, .b-name says who it is. */
.bubble{position:absolute;bottom:0;left:var(--x,50%);width:var(--s,56px);height:var(--s,56px);
  cursor:pointer;opacity:0;transform:translate3d(0,100%,0) scale(.8);
  animation:doc-rise var(--dur,18s) linear var(--delay,0s) infinite;will-change:transform,opacity}
.b-sway{display:block;width:100%;height:100%;
  animation:doc-sway var(--sway-dur,3s) ease-in-out var(--delay,0s) infinite alternate}
.b-face{position:relative;display:block;width:100%;height:100%;border-radius:50%;overflow:hidden;
  border:2px solid rgba(239,182,78,.5);background:#20140c;
  box-shadow:0 8px 26px rgba(0,0,0,.5),0 0 24px rgba(239,182,78,.16);
  transition:transform .3s cubic-bezier(.2,.8,.3,1.35),border-color .2s,box-shadow .2s}
.b-face img{display:block;width:100%;height:100%;object-fit:cover;filter:saturate(.85) contrast(1.05)}
/* The glass: a highlight up top and warm light caught underneath. */
.b-face:after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;
  background:radial-gradient(circle at 31% 24%,rgba(255,250,235,.42),rgba(255,250,235,0) 33%),
             radial-gradient(circle at 70% 84%,rgba(239,182,78,.22),rgba(239,182,78,0) 44%)}
.b-name{position:absolute;left:50%;top:calc(100% + 8px);z-index:1;white-space:nowrap;
  padding:5px 10px;border:1px solid rgba(239,182,78,.6);background:rgba(12,8,5,.92);color:#f1d7a4;
  font:600 12px/1 Inter,sans-serif;letter-spacing:.02em;pointer-events:none;
  opacity:0;transform:translate(-50%,4px);transition:opacity .2s,transform .25s}
@keyframes doc-rise{
  0%{transform:translate3d(0,100%,0) scale(.8);opacity:0}
  9%{opacity:var(--peak,.4)}
  86%{opacity:var(--peak,.4)}
  100%{transform:translate3d(0,calc(-1 * var(--rise,420px)),0) scale(1.2);opacity:0}
}
@keyframes doc-sway{
  from{transform:translate3d(calc(-1 * var(--sway,10px)),0,0)}
  to{transform:translate3d(var(--sway,10px),0,0)}
}
/* Point at one: it stops where it is, comes up to full strength, swells and
   shows its name. Click it: a quick pop, and the name lands in the search box. */
.bubble:hover{z-index:3;opacity:1!important;animation-play-state:paused}
.bubble:hover .b-sway{animation-play-state:paused}
.bubble:hover .b-face{transform:scale(1.5);border-color:var(--gold);
  box-shadow:0 0 0 4px rgba(239,182,78,.25),0 16px 38px rgba(0,0,0,.65)}
.bubble:hover .b-name{opacity:1;transform:translate(-50%,calc(var(--s,56px) * .25 + 4px))}
.bubble.popped .b-face{animation:doc-pop .5s ease-out}
@keyframes doc-pop{
  0%{transform:scale(1.5)}40%{transform:scale(1.8);box-shadow:0 0 0 10px rgba(239,182,78,.35)}
  100%{transform:scale(1.5);box-shadow:0 0 0 4px rgba(239,182,78,0)}
}
.finder input.picked{animation:doc-picked 1s ease-out}
@keyframes doc-picked{0%{box-shadow:0 0 0 3px var(--gold);border-color:var(--gold)}
  100%{box-shadow:0 0 0 0 rgba(239,182,78,0)}}
.bubble-field.paused .bubble,.bubble-field.paused .b-sway{animation-play-state:paused}
/* Asked for less motion: the same faces still rise, straight and a third
   slower, with no wobble. They used to freeze — on this machine that meant the
   owner never saw the feature at all. The pause button stops it outright. */
@media(prefers-reduced-motion:reduce){
  .bubble{animation-duration:calc(var(--dur,18s) * 1.35)}
  .b-sway{animation:none}
}
.bubble-toggle{position:absolute;top:12px;right:12px;z-index:2;display:grid;place-items:center;
  width:32px;height:32px;padding:0;border:1px solid rgba(239,182,78,.55);border-radius:50%;
  background:rgba(12,8,5,.78);color:var(--gold);cursor:pointer}
.bubble-toggle svg{width:14px;height:14px}
.bubble-toggle:hover,.bubble-toggle:focus-visible{background:var(--gold);color:#171008}

/* ---- nav scroll affordance --------------------------------------------- */
/* The nav scrolls sideways below ~1024px and its scrollbar is hidden, so there
   was nothing telling you more items existed. A gold fade on the right edge
   shows up only while there is something still to scroll to. */
.sitehead{position:sticky;top:0}
.sitenav{scroll-snap-type:x proximity;
  mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 26px),transparent 100%);
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 26px),transparent 100%)}
.sitenav>a,.navgroup{scroll-snap-align:start}
@media(min-width:1100px){.sitenav{mask-image:none;-webkit-mask-image:none}}

/* ---- vote pack --------------------------------------------------------- */
.vote-why{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));
  gap:12px;margin:18px 0 22px}
.vote-point{border:1px solid #543923;background:#0f0b08;padding:17px 19px}
.vote-point b{display:block;font:400 18px/1.2 Georgia,serif;color:#f1d7a4;margin-bottom:8px}
.vote-point span{font:400 13px/1.55 Georgia,serif;color:#a9967f}
.vote-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));
  gap:12px;margin-bottom:20px}
.vote-form label{display:flex;flex-direction:column;gap:7px;font:900 9px/1 Inter,sans-serif;
  letter-spacing:.1em;text-transform:uppercase;color:#b7a48a}
.vote-form label span{text-transform:none;letter-spacing:0;font-weight:400;color:#7d6e5c}
.vote-form input{background:#15100c;border:1px solid #69472f;color:#f1e5d2;padding:12px;
  font:400 14px/1.4 Georgia,serif;letter-spacing:0;text-transform:none}
.kit-all{display:block;margin-top:14px}

/* ---- Join the roster --------------------------------------------------- */
.join-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));
  gap:14px;margin-top:18px}
.join-col{border:1px solid #543923;background:#0f0b08;padding:22px 24px}
.join-col.open{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}
.join-kicker{display:block;font:900 9px/1 Inter,sans-serif;letter-spacing:.13em;
  text-transform:uppercase;color:var(--gold);opacity:.8;margin-bottom:10px}
.join-col>b{display:block;font:400 42px/1 Georgia,serif;color:#f1d7a4;margin-bottom:12px}
.join-col p{margin:0;font:400 14px/1.6 Georgia,serif;color:#a9967f}
.bar-list{display:grid;gap:12px;margin-top:18px}
.bar-item{display:grid;grid-template-columns:52px minmax(0,1fr);gap:18px;
  border:1px solid #543923;background:#0f0b08;padding:20px 22px}
.bar-n{font:900 13px/1 Inter,sans-serif;letter-spacing:.1em;color:var(--gold);padding-top:6px}
.bar-item b{display:block;font:400 22px/1.2 Georgia,serif;color:#f1d7a4;margin-bottom:9px}
.bar-item p{margin:0 0 11px;font:400 15px/1.6 Georgia,serif;color:#c5b69e}
.join-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:28px;
  margin-top:18px;align-items:start}
@media(max-width:900px){.join-grid{grid-template-columns:minmax(0,1fr)}}
.join-form{border:1px solid #6b482f;background:#0f0b08;padding:24px}
.join-form .f-row{margin-bottom:16px}
.join-form label{display:block;font:900 9px/1 Inter,sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:#b7a48a;margin-bottom:7px}
.join-form label em{font-style:normal;color:var(--gold);margin-left:7px}
.join-form label span{text-transform:none;letter-spacing:0;font-weight:400;color:#7d6e5c}
.join-form input,.join-form textarea,.join-form select{width:100%;background:#15100c;
  border:1px solid #69472f;color:#f1e5d2;padding:12px;font:400 14px/1.5 Georgia,serif}
.join-form textarea{resize:vertical}
.f-hint{display:block;margin-top:7px;font:400 12px/1.5 Georgia,serif;color:#8f806d}
.join-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px}
.btn-gold{border:1px solid var(--gold);background:var(--gold);color:#1b1008;padding:12px 18px;
  font:900 10px/1 Inter,sans-serif;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
.btn-gold:hover{background:#ffd37b}
.join-preview{position:sticky;top:96px}
.join-checks{margin-top:16px;display:grid;gap:8px}
.join-check{display:grid;grid-template-columns:22px minmax(0,1fr);gap:9px;align-items:start;
  font:400 13px/1.45 Georgia,serif;color:#8f806d}
.join-check .mark{color:#6b5b48;font-weight:700;text-align:center}
.join-check.ok{color:#c5b69e}
.join-check.ok .mark{color:var(--green,#7fb069)}
.join-check b{font-weight:400;color:inherit}
.join-check span{display:block;font-size:12px;color:#7d6e5c;margin-top:2px}
.join-verdict{margin-top:6px;border-top:1px solid #33241a;padding-top:12px;
  font:400 13px/1.5 Georgia,serif;color:#a9967f}
.join-verdict.ok{color:#7fb069}
.join-avatar{width:76px;height:76px;margin:0 auto;border-radius:50%;display:grid;
  place-items:center;border:3px solid rgba(239,182,78,.5);background:#1a110b;
  font:400 26px/1 Georgia,serif;color:var(--gold)}
.join-card-line{margin:10px 0 0;font:400 13px/1.5 Georgia,serif;color:#a9967f}
.join-card-sub{margin:7px 0 0;font:400 12px/1.45 Georgia,serif;color:#7d6e5c}

/* ---- transcript consent ------------------------------------------------ */
.consent{border-color:var(--gold)}
.consent legend em{font-style:normal;color:var(--gold);margin-left:7px}
.consent-lede{margin:0 0 16px;font:400 15px/1.6 Georgia,serif;color:#c5b69e}
.consent-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr));
  gap:18px;margin-bottom:16px}
.join-kicker.gold{color:var(--gold);opacity:1}
.consent-list{display:grid;gap:9px}
.consent-item{border:1px solid #3d2a1c;background:#0b0806;padding:13px 15px}
.consent-item.gold{border-color:#6b482f}
.consent-item b{display:block;font:400 16px/1.2 Georgia,serif;color:#f1d7a4;margin-bottom:6px}
.consent-item.gold b{color:var(--gold)}
.consent-item p{margin:0;font:400 12.5px/1.55 Georgia,serif;color:#a9967f}
.consent-item em{display:block;margin-top:7px;font:400 12px/1.5 Georgia,serif;color:#8f806d}
.consent-check{margin-top:14px;border:1px solid var(--gold);background:rgba(239,182,78,.06);
  padding:14px 16px}
.consent-check span{font:400 14px/1.55 Georgia,serif;color:#d8c6ae}

/* ---- set stats on the desk --------------------------------------------- */
.set-stats{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
.set-stats li{border-top:1px solid #33241a;padding-top:10px}
.set-stats b{display:block;font:400 15px/1.2 Georgia,serif;color:#f1d7a4;margin-bottom:3px}
.set-stats span{font:400 12px/1.5 Georgia,serif;color:#8f806d}
.desk-note{margin:0;font:400 13px/1.55 Georgia,serif;color:#a9967f}
.desk-note a{color:var(--gold)}
.set-stats-panel .desk-link{display:inline-block;padding:14px 0 0;color:var(--gold);
  text-decoration:none}

/* ---- venue side switch -------------------------------------------------- */
.side-switch{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;
  justify-content:space-between;margin-bottom:6px}
.side-switch h4{margin:0}
.side-toggle{display:flex;gap:0;flex:0 0 auto;border:1px solid #543923}
.side-toggle button{border:0;background:transparent;color:#c9b89e;padding:11px 16px;
  font:900 10px/1 Inter,sans-serif;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
.side-toggle button+button{border-left:1px solid #543923}
.side-toggle button.on{background:var(--gold);color:#160f08}
.comic-link em{display:block;margin-top:6px;font:400 11.5px/1.45 Georgia,serif;color:#8f806d;
  font-style:normal}
.nearby-link.comic-link{min-height:0;padding:14px}

/* ---- Legends principles ------------------------------------------------ */
/* Was five rows of text stacked above a search box, and it read as terms and
   conditions. First card runs wide because "favourites, not best" is the one
   the whole page rests on. */
/* Letterpress, not clip art (2026-09-23). The first art was flat gold-outline
   scenes — silhouettes, a bar chart, a check mark — laid full-bleed behind the
   words, and they ran straight through the headings: "graphically horrible and
   off brand". Each card now carries one mark set the way doc-logo.svg sets
   D.O.C. — cream face over an offset brick copy, heavy ink outline, the
   rule-and-dot ornament under it — in a column of its own, so it can never sit
   under the text again. */
/* minmax(0,1fr), not 1fr — a bare 1fr will not shrink below the card text's
   min-content width, which pushed the grid 24px past the page between 900px
   and desktop. Same trap as the craft questions and the crossover banner. */
.principle-cards{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;
  margin:34px 0 40px}
.pcard>*{min-width:0}
.pcard{position:relative;grid-column:span 2;min-height:200px;
  display:grid;grid-template-columns:minmax(0,1fr) clamp(92px,34%,200px);
  grid-template-rows:auto auto;align-content:end;column-gap:18px;
  padding:22px 20px 24px 22px;border:1px solid #67452b;border-bottom:3px solid var(--red);
  background:radial-gradient(ellipse at 84% 44%,rgba(221,164,65,.14),transparent 56%),
             linear-gradient(180deg,#1b120b,#0d0907);
  transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.pcard:nth-child(1),.pcard:nth-child(2){grid-column:span 3;min-height:220px}
.pcard b{grid-column:1;font:400 clamp(1.25rem,2vw,1.6rem)/1.15 Georgia,serif;color:var(--gold);
  margin-bottom:8px}
.pcard span{grid-column:1;font:400 14px/1.6 Georgia,serif;color:#d8c6ae}
.pcard:after{content:"";grid-column:2;grid-row:1/3;align-self:center;aspect-ratio:3/2;
  background:center/contain no-repeat}
.pcard:hover{transform:translateY(-4px);border-color:var(--gold);border-bottom-color:var(--red);
  box-shadow:0 16px 34px rgba(0,0,0,.4)}
.pcard[data-art="favourites"]:after{background-image:url('../assets/principles/lp-twelve.svg')}
.pcard[data-art="measured"]:after{background-image:url('../assets/principles/lp-plus-one.svg')}
.pcard[data-art="exact"]:after{background-image:url('../assets/principles/lp-quotes.svg')}
.pcard[data-art="evidence"]:after{background-image:url('../assets/principles/lp-source.svg')}
.pcard[data-art="placement"]:after{background-image:url('../assets/principles/lp-era.svg')}
@media(max-width:900px){
  .principle-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pcard,.pcard:nth-child(1),.pcard:nth-child(2){grid-column:span 1;min-height:0}
  /* Five cards in two columns left the last one alone beside a hole. */
  .pcard:last-child{grid-column:span 2}
}
@media(max-width:560px){
  .principle-cards{grid-template-columns:1fr;gap:10px}
  .pcard,.pcard:last-child{grid-column:auto;grid-template-columns:minmax(0,1fr) 88px;
    column-gap:14px;padding:18px}
}
@media(prefers-reduced-motion:reduce){.pcard{transition:none}}

/* ---- Your Twelve: a face on every pick ---------------------------------- */
/* The feed on the right always showed each comic's painted portrait while the
   twelve pickers on the left were bare names. The face takes the number's
   column and the number rides on it as a badge. Inside the field it cost the
   select 44px, and "Sebastian Maniscalco" lost its last five letters. */
.merch-slot{grid-template-columns:40px minmax(0,1fr);gap:9px}
.merch-slot .slot-face{grid-column:1;grid-row:1;width:40px;height:40px;border-radius:50%;
  border:2px solid rgba(255,241,210,.9);background:#20140c center/cover no-repeat;
  box-shadow:0 3px 10px rgba(0,0,0,.45)}
.merch-slot .slot-face.empty{border:2px dashed #69472f;background:none;box-shadow:none}
.merch-slot>span{grid-column:1;grid-row:1;z-index:1;align-self:end;justify-self:end;
  margin:0 -5px -4px 0;padding:2px 3px;border:1px solid #69472f;background:#110c09;
  font-size:8.5px;line-height:1;letter-spacing:.04em}
.merch-slot .merch-person{grid-column:2;grid-row:1}

/* The D.O.C. Twelve along the bottom of the Your Twelve header, in the empty
   corner under the words: twelve faces overlapping like a crowd, no numbers.
   Point at one and it lifts and says who it is; tap it to add them to yours. */
.doc-twelve-strip{margin-top:22px;display:grid;gap:10px;justify-items:start}
.dts-label{font:900 10px/1 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.dts-label em{font-style:normal;color:#d8c9ae;letter-spacing:.08em}
.dts-faces{display:flex;flex-wrap:wrap;padding:14px 0 0 10px}
.dts-face{position:relative;width:54px;height:54px;margin-left:-10px;padding:0;cursor:pointer;
  border:2px solid rgba(255,241,210,.9);border-radius:50%;background:#20140c;
  box-shadow:0 6px 16px rgba(0,0,0,.55);transition:transform .2s ease,border-color .2s}
.dts-face img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover}
.dts-face span{position:absolute;left:50%;bottom:calc(100% + 8px);z-index:3;white-space:nowrap;
  padding:5px 9px;border:1px solid rgba(239,182,78,.6);background:rgba(12,8,5,.94);color:#f1d7a4;
  font:600 11px/1 Inter,sans-serif;opacity:0;pointer-events:none;transform:translate(-50%,4px);
  transition:opacity .15s,transform .15s}
.dts-face:hover,.dts-face:focus-visible{z-index:2;transform:translateY(-7px) scale(1.14);border-color:var(--gold)}
.dts-face:hover span,.dts-face:focus-visible span{opacity:1;transform:translate(-50%,0)}
.dts-note{margin:0!important;font:400 12.5px/1.45 Georgia,serif!important;color:#b9a68b!important}
/* On a phone all twelve still share one row, and "Mount Rushmore," — kept
   together by a no-break space on purpose — gets a size that fits the screen
   instead of running off its right edge. */
@media(max-width:600px){
  .dts-face{width:34px;height:34px;margin-left:-8px}
  .dts-faces{flex-wrap:nowrap;padding-left:8px}
  .hero-twelve h1{font-size:clamp(1.9rem,8.2vw,2.4rem)}
}

/* The Legends Twelve in the Legends header (24 Sept 2026) — the same strip, a
   size larger, because on this page the faces are the point of the header. */
.legend-strip .dts-face{width:62px;height:62px}
@media(max-width:600px){.legend-strip .dts-face{width:34px;height:34px}}

/* Your twelve in the Your Twelve header (27 Sept 2026) — the owner: "have the circle in hero be numbered
   and filled in once u choose from the pickers". Twelve rings side by side, one per picker: an empty ring
   shows its number; a pick fills it with that comic's face and the number rides on it as a badge. On a
   phone, two rows of six. */
.doc-twelve-strip.is-yours .dts-faces{display:grid;grid-template-columns:repeat(12,54px);gap:8px;padding:14px 0 6px}
.doc-twelve-strip.is-yours .dts-face{width:54px;height:54px;margin-left:0}
.dts-face.empty{display:grid;place-items:center;border:2px dashed rgba(239,182,78,.6);background:rgba(12,8,5,.6);box-shadow:none}
.dts-face .dts-n{font:400 21px/1 Georgia,serif;font-style:normal;color:#f2e7cd;text-shadow:2px 2px 0 var(--red)}
.dts-face .dts-badge{position:absolute;right:-6px;bottom:-5px;z-index:1;min-width:18px;padding:3px 4px;
  border:1px solid #69472f;background:#110c09;color:#f1d7a4;font:900 9.5px/1 Inter,sans-serif;font-style:normal;text-align:center}
.merch-slot.is-called select{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:600px){
  .doc-twelve-strip.is-yours .dts-faces{grid-template-columns:repeat(6,44px);gap:12px 10px}
  .doc-twelve-strip.is-yours .dts-face{width:44px;height:44px}
  .dts-face .dts-n{font-size:18px}
}
/* Your Legends vote (27 Sept 2026): the same numbered rings, filled by the legends voted IN on the
   ballots, a size larger on a wide screen as the Legends strip always was. (That morning the rings had
   twelve pickers of their own under the header; the vote replaced them the same day — the Legends are
   voted for, and Your D.O.C. is the one twelve a visitor follows.) */
@media(min-width:601px){
  .legend-strip.is-yours .dts-faces{grid-template-columns:repeat(12,62px)}
  .legend-strip.is-yours .dts-face{width:62px;height:62px}
}
.legend-strip .dts-note a{color:var(--gold)}
/* Spacing (27 Sept 2026, the owner: "the legends has spacing that is off"). The ballot titles get the room
   their words need on a wide screen: a 290px column stacked "Before the Clubs" three words high with its
   note far off to the right. */
@media(min-width:901px){
  .era-head{grid-template-columns:minmax(290px,.9fr) minmax(0,1.1fr)}
  .era h3{font-size:clamp(3rem,4.6vw,5.6rem);text-wrap:balance}
}

/* Legends: a row of jumps under the search, then a heading over each group of
   ballots — the eras oldest first, then the five twelves that cut across them. */
.era-jump{display:grid;gap:8px;margin:-14px 0 10px}
.era-jump div{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.era-jump b{min-width:146px;font:900 10px/1 Inter,sans-serif;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold)}
.era-jump a{padding:7px 11px;border:1px solid #5b3e27;background:#130d09;color:#d8c9ae;
  font:700 12px/1 Inter,sans-serif;text-decoration:none;transition:border-color .2s,color .2s}
.era-jump a:hover,.era-jump a:focus-visible{border-color:var(--gold);color:var(--gold)}
.era-group{padding:64px 0 6px;border-top:1px solid var(--line)}
.era-group h2{margin:12px 0 0;font:700 clamp(1.9rem,3.6vw,2.8rem)/1.02 Georgia,serif;
  letter-spacing:-.02em;color:#f2e7cd}
.era-group p{max-width:68ch;margin:12px 0 0;color:var(--muted);line-height:1.6}
.era-group+.era{border-top:0;padding-top:44px}
@media(max-width:600px){.era-jump b{min-width:0;width:100%}}

/* Grid children must be allowed to shrink, or a fixed-count grid still blows
   out from their min-content width even with minmax(0,1fr) on the tracks. */
.people>*,.venue-grid>*,.scene-grid>*,.track-grid>*,.edition-grid>*,
.feed-tabs>*,.pulse-grid>*,.event-type-grid>*{min-width:0}

/* ---- Comic's Corner, now a header-level element ------------------------ */
/* It used to live inside .sitenav, which scrolls horizontally — and a scroll
   container clips absolutely-positioned children, so the dropdown never
   appeared. Out here it anchors to the header instead and never scrolls away. */
.sitehead{position:sticky;top:0;overflow:visible}
/* The nav is the flexible item in the header row and must be allowed to shrink
   below its content, or adding the Comic's Corner button pushes the whole
   header 3px wider than the phone. flex-basis auto alone will not do it —
   min-width:0 is what actually lets a flex item shrink past min-content. */
.sitenav{min-width:0}
.navgroup{position:static;flex:0 0 auto}
.navgroup-menu{position:absolute;top:100%;right:16px;left:auto;z-index:60;
  width:min(340px,calc(100vw - 32px));max-height:min(70vh,520px);overflow-y:auto;
  border:1px solid #6b482f;background:#120c08;padding:8px;
  box-shadow:0 24px 60px rgba(0,0,0,.7)}
@media(max-width:620px){
  .navgroup-btn{padding:10px 10px}
  /* Pin BOTH edges rather than setting a width from 100vw — 100vw counts the
     scrollbar, so calc(100vw - 16px) still hung 7px off the left on a phone. */
  .navgroup-menu{left:8px;right:8px;width:auto}
}

/* ---- Industry gate ----------------------------------------------------- */
.gate-head{max-width:66ch}
.gate-head h2{margin:8px 0 14px;font:400 clamp(2.2rem,4.4vw,3.2rem)/1 Georgia,serif;color:#f2d59c}
.gate-head p{margin:0 0 12px;font:400 15px/1.65 Georgia,serif;color:#c5b69e}
.gate-rule{border-left:2px solid var(--gold);padding-left:16px;color:#d8c6ae!important}
.gate-routes{display:grid;gap:12px;margin:28px 0}
.gate-route{display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;
  border:1px solid #543923;background:#0f0b08;padding:22px 24px}
.gate-route:first-child{border-color:var(--gold);box-shadow:inset 3px 0 0 var(--gold)}
.gate-n{font:900 13px/1 Inter,sans-serif;letter-spacing:.1em;color:var(--gold);opacity:.55;
  padding-top:6px}
.gate-route:first-child .gate-n{opacity:1}
.gate-route b{display:block;font:400 23px/1.15 Georgia,serif;color:#f1d7a4;margin-bottom:5px}
.gate-route em{display:block;font:400 13px/1.4 Georgia,serif;color:var(--gold);
  font-style:normal;opacity:.8;margin-bottom:10px}
.gate-route p{margin:0 0 14px;font:400 15px/1.62 Georgia,serif;color:#c5b69e}
.gate-note{display:inline-block;border:1px dashed #6b482f;color:#a9967f;padding:10px 12px;
  font:400 13px/1.3 Georgia,serif}
.gate-key{border:1px solid #543923;background:#0b0806;padding:20px 22px}
.gate-key label{display:block;font:900 9px/1 Inter,sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:#b7a48a;margin-bottom:10px}
.gate-key-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
.gate-key input{background:#15100c;border:1px solid #69472f;color:#f1e5d2;padding:13px;
  font:400 15px/1.4 Georgia,serif}
@media(max-width:620px){
  .gate-route{grid-template-columns:minmax(0,1fr);gap:6px}
  .gate-n{padding-top:0}
  .gate-key-row{grid-template-columns:minmax(0,1fr)}
}
/* At phone width the header ran 346px of children into 328px of space, and the
   "COMIC'S CORNER" button was 160px of that. Dropping the possessive keeps the
   control (and its meaning) while giving 80px back. */
@media(max-width:520px){
  .navgroup-btn .ng-long{display:none}
  .navgroup-btn{letter-spacing:.05em;padding:10px 8px}
  .sitehead{gap:8px;padding-inline:10px}
  .brandmark img{max-width:62px}
}

/* Two dropdowns now — Comic's Corner and Venues & Industry — and both used to
   anchor to the header's right edge, so the trade menu opened underneath the
   OTHER button. Give each group its own positioning context from tablet up, so
   a menu hangs under the control that opened it.
   Narrow screens deliberately keep position:static: down there the menus pin to
   both header edges and run nearly full width, which only works while the
   containing block is the header rather than a 90px button. */
@media(min-width:760px){
  .navgroup{position:relative}
  .navgroup-menu{right:0}
}
/* Below this the two long labels stop fitting side by side well before the
   520px rule bites, and "Venues &" is the more expendable of the two. */
@media(max-width:900px){
  #tradeBtn .ng-long{display:none}
}

/* The public nav gets its own row below 1000px.
   Measured, not guessed: the four left-hand links need 486px, and once the
   logo, two dropdown buttons and the counter have taken their share there is
   only 483px left at 1100 — and 0px at 375, where the nav was being squeezed
   out of existence entirely. Adding the second dropdown is what pushed it over,
   so this is the fix for that rather than a general tidy-up.
   Wrapping gives the links the full width instead of the scraps, which is worth
   more than keeping everything on one line: Plan a Night is the primary action
   on the whole site and it was invisible on a phone. */
.sitehead{flex-wrap:wrap}
@media(max-width:1000px){
  .sitehead{column-gap:16px;row-gap:0;padding-bottom:8px;padding-top:8px}
  .sitenav{order:9;flex:1 0 100%;padding-top:8px;border-top:1px solid #3a2616}
  .brandmark{margin-right:auto}
}
/* Below 620 the four links still need 486px and a phone row is ~355, so let
   them WRAP onto a second line rather than scroll. A hidden horizontal
   scrollbar looks identical to a nav that has simply been cut off, and people
   do not swipe something they cannot tell is swipeable. overflow-x:auto was
   only ever here to stop the row breaking the layout; with the nav on its own
   full-width row there is nothing left to protect, and the dropdowns that used
   to be clipped by it moved out to header level long ago. */
@media(max-width:620px){
  .sitenav{flex-wrap:wrap;overflow-x:visible;row-gap:2px}
}
/* Re-tighten the phone spacing the 1000px rule above would otherwise undo —
   it sets column-gap for every width below 1000 and so overrode the 8px that
   keeps row one (logo, both buttons, counter) on a single line at 375. */
@media(max-width:520px){
  /* Row one is logo 62 + CORNER + INDUSTRY + the counter 69. At 375 that came
     to 343 in 340 of usable width — three pixels over, and the counter dropped
     to a row of its own, making the sticky header 162px tall on a phone.
     Trimming the gap 8→6 and the button padding 8→6 gives back 14px. */
  .sitehead{column-gap:6px;padding-inline:10px}
  .navgroup-btn{padding:10px 6px}
  .sitenav a{padding:9px 10px;letter-spacing:.06em}
}

/* ---- six degrees ------------------------------------------------------- */
.degree-chains{display:grid;gap:16px;margin-top:20px}
.degree-chain{border:1px solid #6b482f;background:#0f0b08;padding:24px}
.degree-head{display:flex;flex-wrap:wrap;gap:12px;align-items:baseline;
  justify-content:space-between;margin-bottom:18px}
.degree-head b{display:block;font:400 22px/1.2 Georgia,serif;color:#f1d7a4}
.degree-head span{font:400 14px/1.4 Georgia,serif;color:#a9967f}
.degree-count{flex:0 0 auto;font:900 9px/1 Inter,sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:var(--gold);border:1px solid #6b482f;padding:6px 9px}
.degree-steps{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.degree-steps li{display:grid;grid-template-columns:38px minmax(0,1fr);gap:16px;
  position:relative;padding:14px 0}
.degree-steps li+li{border-top:1px solid #241810}
.degree-dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
  border:1px solid #6b482f;background:#0b0806;color:#8f806d;
  font:900 12px/1 Inter,sans-serif}
.degree-steps li.done .degree-dot{border-color:var(--green,#7fb069);color:var(--green,#7fb069)}
.degree-steps b{display:block;font:400 18px/1.25 Georgia,serif;color:#f1e5d2;margin-bottom:4px}
.degree-steps li.done b{color:var(--green,#7fb069)}
.degree-steps em{display:block;font:400 13px/1.4 Georgia,serif;color:var(--gold);
  font-style:normal;opacity:.85;margin-bottom:8px}
.degree-steps p{margin:0 0 8px;font:400 14px/1.6 Georgia,serif;color:#b9a58f}
.degree-src{font:900 9px/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;
  color:#a9967f;text-decoration:none;border-bottom:1px solid #3d2a1c}
.degree-src:hover{color:var(--gold);border-color:var(--gold)}
.degree-you{margin-top:16px;border-top:1px solid #33241a;padding-top:14px;
  font:400 14px/1.55 Georgia,serif;color:var(--gold)}
@media(max-width:560px){
  .degree-steps li{grid-template-columns:28px minmax(0,1fr);gap:12px}
  .degree-dot{width:24px;height:24px;font-size:10px}
}

/* ---- claimed vs researched -------------------------------------------- */
.mic-split{border-left:3px solid var(--green,#7fb069);background:rgba(127,176,105,.06);
  padding:16px 18px;margin:4px 0 10px}
.mic-split b{display:block;font:400 19px/1.2 Georgia,serif;color:var(--green,#7fb069);
  margin-bottom:6px}
.mic-split span{font:400 14px/1.6 Georgia,serif;color:#b9a58f}
.mic-split a{color:var(--gold)}
.mic-split.empty-split{border-left-color:var(--red);background:rgba(158,41,31,.07)}
.mic-split.empty-split b{color:#e08a80}
.mic-split.research{border-left-color:#6b482f;background:#0d0a08;margin-top:22px}
.mic-split.research b{color:#a9967f}
.st-mic.claimed{border-color:var(--green,#7fb069);box-shadow:inset 3px 0 0 var(--green,#7fb069)}

/* ---- claim rows on the venue page -------------------------------------- */
.claim-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;
  border:1px solid #543923;background:#0f0b08;padding:16px 18px;margin-bottom:10px}
.claim-row b{display:block;font:400 19px/1.2 Georgia,serif;color:#f1d7a4}
.claim-row span{display:block;font:400 13px/1.5 Georgia,serif;color:#a9967f;margin-top:3px}
.claim-see{display:inline-block;margin-top:8px;font:900 9px/1 Inter,sans-serif;
  letter-spacing:.08em;text-transform:uppercase;color:var(--gold);text-decoration:none;
  border-bottom:1px solid #6b482f}
.claim-see:hover{border-color:var(--gold)}
.claim-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:620px){.claim-row{grid-template-columns:minmax(0,1fr)}}
.golive-done .chain-n{color:var(--green,#7fb069);opacity:1}
.golive-done .chain-setting{background:var(--green,#7fb069)}
.golive-unknown .chain-n{color:#c98a3a;opacity:1}
.golive-unknown .chain-setting{background:#c98a3a}
.golive-todo .chain-setting{background:#6b5b48;color:#f1e5d2}

/* ---- Working a room ---------------------------------------------------- */
.room-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;
  align-items:end;margin-bottom:12px}
.room-entry label{display:flex;flex-direction:column;gap:7px;font:900 9px/1 Inter,sans-serif;
  letter-spacing:.1em;text-transform:uppercase;color:#b7a48a}
.room-entry input{background:#15100c;border:1px solid #69472f;color:#f1e5d2;padding:13px;
  font:400 15px/1.4 Georgia,serif;letter-spacing:0;text-transform:none}
.room-entry .btn-gold{padding:14px 20px}
@media(max-width:700px){.room-entry{grid-template-columns:minmax(0,1fr)}}
.room-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));
  gap:9px;margin-top:16px}
.room-pick{text-align:left;border:1px solid #543923;background:#0f0b08;color:#c9b89e;
  padding:13px 15px;cursor:pointer;transition:border-color .2s ease,transform .2s ease}
.room-pick b{display:block;font:400 17px/1.2 Georgia,serif;color:#f1d7a4;margin-bottom:3px}
.room-pick span{display:block;font:400 12px/1.4 Georgia,serif;color:#a9967f}
.room-pick em{display:block;margin-top:6px;font:900 8px/1 Inter,sans-serif;letter-spacing:.09em;
  text-transform:uppercase;color:var(--gold);opacity:.7;font-style:normal}
.room-pick:hover{border-color:var(--gold);transform:translateY(-2px)}
.room-head{display:flex;flex-wrap:wrap;gap:16px;align-items:flex-end;
  justify-content:space-between;margin-bottom:20px}
.room-head h4{font:400 clamp(1.7rem,3.4vw,2.4rem)/1.1 Georgia,serif;color:#f1d7a4}
/* the room on to Filling the Room and Get Paid, and the one line for a room with nothing counted (1 Oct 2026) */
.room-next{display:flex;flex-wrap:wrap;gap:10px;margin:-6px 0 22px}
.room-next .source-btn{white-space:normal}
.room-uncounted{margin:0 0 22px}

/* ---- promo case study -------------------------------------------------- */
.case-head{border-left:3px solid var(--gold);padding-left:18px;margin-bottom:18px}
.case-head b{display:block;font:400 28px/1.1 Georgia,serif;color:#f1d7a4}
.case-head span{display:block;margin-top:6px;font:400 15px/1.5 Georgia,serif;color:var(--gold)}
.case-story{margin:0 0 20px;font:400 16px/1.7 Georgia,serif;color:#c5b69e;max-width:68ch}
.room-entry-second{grid-template-columns:minmax(0,1fr);margin-bottom:6px}
.room-entry label span{text-transform:none;letter-spacing:0;font-weight:400;color:#7d6e5c;
  margin-left:6px}

/* ---- page hero --------------------------------------------------------- */
.page-hero{position:relative;isolation:isolate;min-height:clamp(300px,42vw,420px);
  display:flex;align-items:center;margin-bottom:8px;overflow:hidden;
  border-bottom:1px solid var(--line);background:#0b0806 center/cover no-repeat}
.page-hero-copy{position:relative;z-index:1;
  width:min(var(--max),calc(100% - 32px));margin:auto;padding:38px 0;max-width:min(640px,92%)}
.page-hero .meta{color:var(--gold);font:900 10px/1 Inter,sans-serif;letter-spacing:.2em;
  text-transform:uppercase;opacity:.85;margin-bottom:14px}
.page-hero h1{margin:0 0 18px;font:400 clamp(2.4rem,6vw,4.4rem)/.96 Georgia,serif;
  letter-spacing:-.035em;color:#f2d59c;text-shadow:0 4px 22px #000}
.page-hero p{margin:0 0 12px;font:400 clamp(15px,1.5vw,17px)/1.65 Georgia,serif;color:#dcccb2;
  text-shadow:0 2px 12px #000;max-width:52ch}
.page-hero .hero-kick{color:#f1d7a4}
.hero-cta{display:inline-block;margin-top:12px;text-decoration:none}
@media(max-width:700px){
  .page-hero{min-height:0;background-position:72% center}
  .page-hero-copy{max-width:100%;padding:34px 0}
}

/* Six top-level items plus Comic's Corner stopped fitting when "List a Room"
   was added — the nav needed 743px and only cleared at 1280. Tightening the
   horizontal padding between 900 and 1300 buys back ~50px, which is enough to
   keep every label readable instead of clipping one mid-word. */
@media(min-width:900px) and (max-width:1300px){
  .sitenav a,.navgroup-btn{padding-left:9px;padding-right:9px;letter-spacing:.06em}
  .sitehead{gap:10px}
}

/* ===================== PROMOTION ========================================= */

/* the gig form drives every template on the page */
.gig-form{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr))}
.gig-form label{display:flex;flex-direction:column;gap:6px;
  font:800 10px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#8d7c66}
.gig-form label span{text-transform:none;letter-spacing:0;font-weight:400;color:#7d6e5c}
.gig-form input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:7px;
  background:#120c07;color:#f0e2c8;font:400 15px/1.3 Georgia,serif}
.gig-form input:focus{outline:none;border-color:var(--gold);background:#17100a}

/* platform cards */
/* Platform cards: a brick-red spine down the left and the name carrying the
   offset shadow, so the eight of them scan as a printed run rather than as
   eight rounded rectangles. */
.plat{position:relative;padding:22px 22px 22px 26px;margin-bottom:17px;
  border-left:5px solid var(--red);
  background:linear-gradient(180deg,#160e08,#0c0806)}
.plat-head{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;
  flex-wrap:wrap;margin-bottom:11px}
.plat-head b{display:block;font:700 1.45rem/1.1 Georgia,serif;color:#f2e7cd;
  letter-spacing:-.025em;text-shadow:3px 3px 0 var(--red)}
.plat-head em{display:block;margin-top:7px;font:italic 400 14px/1.5 Georgia,serif;color:#b9a687}
.plat-role{flex:none;align-self:center;padding:6px 11px;background:var(--gold);color:#17100c;
  font:900 9px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.plat-what{margin:0 0 14px;font:400 15px/1.65 Georgia,serif;color:#cdbca0;max-width:68ch}
.plat-facts{display:grid;grid-template-columns:minmax(0,120px) minmax(0,1fr);gap:7px 16px;
  margin:0 0 16px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.plat-facts dt{font:900 9px/1.5 Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase;
  color:#8d7c66}
.plat-facts dd{margin:0;font:400 14px/1.6 Georgia,serif;color:#c4b294}
.plat-post-head{display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-bottom:8px}
.plat-post-head b{font:900 9px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold)}
.plat-post textarea{width:100%;box-sizing:border-box;resize:vertical;padding:13px;
  border:1px solid var(--line);border-radius:8px;background:#0a0705;color:#e4d4b6;
  font:400 14px/1.6 Georgia,serif}

/* the pin builder */
.pin-wrap{display:grid;gap:24px;grid-template-columns:minmax(0,300px) minmax(0,1fr);
  align-items:start}
.pin-stage{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#0a0705}
.pin-stage svg,.pin-stage img{display:block;width:100%;height:auto}
.pin-save:not([hidden]){display:inline-block;margin:0 0 18px;text-decoration:none}
/* waiting for the name and the venue (1 Oct 2026): dimmed, and not a link until then */
.pin-save.is-off{opacity:.45;cursor:not-allowed;filter:saturate(.4)}
.pin-themes{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.pin-theme{display:flex;align-items:center;gap:7px;padding:11px 14px;border:2px solid;
  border-radius:8px;cursor:pointer;font:900 10px/1 Inter,sans-serif;letter-spacing:.12em;
  text-transform:uppercase;opacity:.62}
.pin-theme i{width:9px;height:9px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.45)}
.pin-theme.on{opacity:1;box-shadow:0 0 0 2px #0d0806,0 0 0 4px var(--gold)}
@media(max-width:760px){.pin-wrap{grid-template-columns:minmax(0,1fr)}}

/* ===================== FILMING =========================================== */
/* The filming opener is a playbill banner: brick-red rule top and bottom, the
   kicker reversed out of it, and the heading carrying the wordmark's offset
   shadow. Same three moves as the pin, at page scale. */
.film-open{position:relative;margin:44px 0 8px;padding:38px 0 34px;
  border-top:5px solid var(--red);border-bottom:5px solid var(--red);
  background:
    radial-gradient(circle at 18% 0,rgba(239,182,78,.13),transparent 42%),
    linear-gradient(180deg,#1a1008,#0a0705)}
.film-open:before,.film-open:after{content:"";position:absolute;left:0;right:0;height:1px;
  background:rgba(239,182,78,.45)}
.film-open:before{top:4px}
.film-open:after{bottom:4px}
.film-open-copy{width:min(var(--max),calc(100% - 32px));margin:0 auto}
.film-open .meta{display:inline-block;margin-bottom:16px;padding:6px 12px;
  background:var(--red);color:#f2e7cd;font:900 10px/1 Inter,sans-serif;letter-spacing:.24em;
  text-transform:uppercase}
.film-open h2{margin:0 0 16px;font:700 clamp(2rem,4.6vw,3.3rem)/1.02 Georgia,serif;
  letter-spacing:-.035em;color:#f2e7cd;text-shadow:4px 4px 0 var(--red)}
.film-open p{margin:0 0 11px;font:400 clamp(15px,1.4vw,16px)/1.68 Georgia,serif;color:#c9b797;
  max-width:60ch}
.film-open .film-open-kick{color:#f1d7a4}
.film-jump{display:flex;flex-wrap:wrap;gap:8px;
  width:min(var(--max),calc(100% - 32px));margin:22px auto 0}
.film-jump a{padding:7px 12px;border:1px solid var(--line);border-radius:99px;
  text-decoration:none;color:#b9a687;font:800 10px/1 Inter,sans-serif;letter-spacing:.11em;
  text-transform:uppercase}
.film-jump a:hover{border-color:var(--gold);color:var(--gold)}

/* Torn playbill cards.
   These were plain dark boxes with gold headings, which is the house *palette*
   but none of the house *language* — and on a site whose whole look is pasted
   paper they read as a bootstrap template with the colours swapped. The device
   is already here and used on the legends grid and the venue grid: a torn top
   and bottom edge, ink printed on paper rather than gold glowing on black, and
   a four-way colour rotation so a grid does not turn into wallpaper.
   The clip-path is the same polygon .person uses. Kept as a custom property so
   there is one copy of it and every torn card on the page agrees. */
:root{--torn:polygon(0 4%,3% 2%,7% 4%,11% 1%,16% 3%,22% 1%,28% 4%,35% 2%,42% 4%,49% 1%,
  56% 3%,63% 1%,70% 4%,77% 2%,84% 4%,92% 1%,100% 4%,100% 96%,94% 98%,87% 96%,80% 99%,
  73% 97%,66% 99%,59% 96%,52% 98%,45% 96%,38% 99%,31% 97%,24% 99%,17% 96%,10% 98%,4% 96%,0 99%)}

.film-grid{display:grid;gap:15px;
  grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr))}
.film-card{position:relative;padding:30px 22px 24px;clip-path:var(--torn);
  background:linear-gradient(145deg,#ecd9af,#bd935c);color:#1a1009;
  box-shadow:0 15px 35px rgba(0,0,0,.26);transition:.22s}
.film-card:nth-child(4n+2){background:linear-gradient(145deg,#a43a2c,#671810);color:#fff2d7}
.film-card:nth-child(4n+3){background:linear-gradient(145deg,#2b6064,#102f32);color:#fff2d7}
.film-card:nth-child(4n){background:linear-gradient(145deg,#d09839,#805017);color:#180d06}
.film-card:hover{transform:translateY(-6px) rotate(-.4deg);filter:brightness(1.06)}
/* The heading carries the wordmark's own move — a shadow copy offset behind the
   face. text-shadow does it in one line at body scale. */
.film-card b{display:block;margin:12px 0 9px;font:700 1.3rem/1.16 Georgia,serif;
  letter-spacing:-.02em;color:inherit;text-shadow:2px 2px 0 rgba(26,16,9,.22)}
.film-card:nth-child(4n+2) b,.film-card:nth-child(4n+3) b{text-shadow:2px 2px 0 rgba(0,0,0,.36)}
.film-card p{margin:0;font:400 14px/1.66 Georgia,serif;color:inherit;opacity:.84}
/* Stamped in the corner like the "10 JOKES" flag on a legends card. */
.film-tag{position:absolute;top:0;right:0;padding:7px 10px;
  font:900 8px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;
  background:rgba(26,16,9,.16);color:inherit;opacity:.72}
.film-tag.current{background:var(--gold);color:#17100c;opacity:1}
/* On a card with a photo printed across its top the tag sits on the photo, where
   the faint paper chip vanished — an ink chip with cream letters instead. */
.film-card.art-print .film-tag:not(.current){background:#1a1009;color:#f2e7cd;opacity:.9}
.film-foot{margin:16px 0 0;font:italic 400 13px/1.65 Georgia,serif;color:#8d7c66;max-width:70ch}
.film-foot a{color:var(--gold)}

/* rigs */
.rig{position:relative;border:1px solid var(--line);border-radius:12px;padding:22px;
  margin-bottom:16px;background:linear-gradient(180deg,#140d08,#0d0806)}
.rig.pick{border-color:var(--gold)}
.rig-flag{position:absolute;top:-9px;left:20px;padding:4px 10px;border-radius:99px;
  background:var(--gold);color:#140d06;font:900 8px/1 Inter,sans-serif;letter-spacing:.14em;
  text-transform:uppercase}
.rig-head b{display:block;font:400 1.35rem/1.15 Georgia,serif;color:#f2d59c;letter-spacing:-.02em}
.rig-head em{display:block;margin:6px 0 16px;font:italic 400 14px/1.6 Georgia,serif;color:#b9a687;
  max-width:62ch}
.rig-kit{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:12px}
.rig-kit li{display:grid;gap:4px;padding-left:16px;border-left:2px solid var(--line)}
.rig-kit a{font:800 13px/1.4 Inter,sans-serif;letter-spacing:.02em;color:var(--gold);
  text-decoration:none}
.rig-kit a:hover{text-decoration:underline}
.rig-kit span{font:400 13.5px/1.62 Georgia,serif;color:#b6a488}
/* SUPERSEDED 2026-09-23: the .rig* block above no longer has markup. The rig
   tiers were removed from Filling the Room once Stage Time's KIT_TIERS turned
   out to cover the same ground in more depth — two copies of a kit list is one
   too many. Kept rather than deleted; it is the right styling if a
   lighting-only tier list is ever added there. */

/* Pointers into Stage Time, as ticket stubs — a torn perforation down the left
   with the destination tab printed on the counterfoil. They point somewhere, so
   they should look like the thing you hand over at a door. */
.else-list{display:grid;gap:11px;margin-bottom:20px}
.else-row{display:grid;grid-template-columns:minmax(0,120px) minmax(0,1fr);
  align-items:stretch;gap:0;background:linear-gradient(145deg,#ecd9af,#d8bd8e);
  color:#1a1009;clip-path:var(--torn);box-shadow:0 12px 26px rgba(0,0,0,.24);
  transition:.2s}
.else-row:hover{transform:translateY(-3px);filter:brightness(1.05)}
.else-tab{display:flex;align-items:center;justify-content:center;text-align:center;
  padding:22px 12px;background:rgba(26,16,9,.1);
  border-right:3px dashed rgba(26,16,9,.35);
  font:900 9px/1.45 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;
  color:#5d2a14}
.else-row>div{padding:22px 20px}
.else-row b{display:block;margin-bottom:5px;font:700 1.12rem/1.25 Georgia,serif;
  color:#1a1009;text-shadow:1.5px 1.5px 0 rgba(26,16,9,.16)}
.else-row span{font:400 13.5px/1.6 Georgia,serif;color:#3d2a1c;opacity:.86}
@media(max-width:560px){
  .else-row{grid-template-columns:minmax(0,1fr)}
  .else-tab{justify-content:flex-start;padding:16px 20px 0;border-right:0;
    border-bottom:3px dashed rgba(26,16,9,.35);background:transparent}
  .else-row>div{padding:12px 20px 20px}
}

/* The one line that matters most on the page, set as a pull-quote on paper
   rather than as another dark box with a gold rule. */
.length-truth{position:relative;margin:0 0 22px;padding:28px 26px 26px;
  clip-path:var(--torn);background:linear-gradient(145deg,#f0e0bd,#cfae7c);color:#1a1009;
  box-shadow:0 16px 36px rgba(0,0,0,.28)}
.length-truth b{display:block;margin-bottom:9px;font:700 clamp(1.3rem,2.4vw,1.75rem)/1.15 Georgia,serif;
  text-shadow:2px 2px 0 rgba(158,41,31,.28)}
.length-truth p{margin:0;font:400 15px/1.66 Georgia,serif;color:#3d2a1c;max-width:68ch}

.len-grid{display:grid;gap:15px;
  grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}
/* Platform length cards lead with the number, because the number is the answer
   somebody came to this section for. */
.len{position:relative;padding:26px 22px 22px;clip-path:var(--torn);
  background:linear-gradient(145deg,#1d1409,#0c0806);border-top:3px solid var(--gold)}
.len-top{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}
.len-top b{order:2;font:700 1.15rem/1.2 Georgia,serif;color:#f2d59c;letter-spacing:-.01em}
.len-target{order:1;font:700 clamp(1.5rem,3vw,2rem)/1 Georgia,serif;letter-spacing:-.03em;
  color:var(--gold);text-shadow:2px 2px 0 rgba(158,41,31,.5)}
.len p{margin:0 0 13px;font:400 14px/1.64 Georgia,serif;color:#c2b094}
.len-bench{padding:11px 13px;background:rgba(239,182,78,.09);
  border-left:3px solid var(--gold);font:400 13px/1.58 Georgia,serif;color:#d8c4a2}

/* Run sheet as a numbered call sheet — the same counter device the chain steps
   and the failure list already use, so the page reads as one site. */
.run-list{counter-reset:runstep;display:grid;gap:0}
.run-step{counter-increment:runstep;position:relative;display:grid;
  grid-template-columns:44px minmax(0,190px) minmax(0,1fr);gap:8px 20px;
  padding:18px 0;border-top:1px solid var(--line)}
.run-step:last-child{border-bottom:1px solid var(--line)}
.run-step:before{content:counter(runstep,decimal-leading-zero);
  font:900 13px/1.4 Inter,sans-serif;color:var(--gold);opacity:.7;letter-spacing:.06em}
.run-when{font:900 10px/1.5 Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase;
  color:#f0d9a8}
.run-step p{margin:0;font:400 14.5px/1.66 Georgia,serif;color:#c2b094;max-width:66ch}
@media(max-width:620px){
  .run-step{grid-template-columns:34px minmax(0,1fr)}
  .run-step p{grid-column:2}
}

/* Sources, as filed slips. Quiet on purpose — they are the receipt, not the
   argument — but printed rather than floating. */
.src-list{display:grid;gap:10px;
  grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr))}
.src{display:grid;gap:6px;padding:15px 17px;background:rgba(239,182,78,.05);
  border-left:3px solid #6a4e22}
.src b{font:400 14.5px/1.5 Georgia,serif;color:#cbb896}
.src a{font:800 11px/1.5 Inter,sans-serif;letter-spacing:.05em;color:var(--gold);
  text-transform:uppercase;text-decoration:none}
.src a:hover{text-decoration:underline}

/* ---- how you like to work the afternoon -------------------------------- */
.mode-pick{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.mode-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:9px}
.mode-btn{flex:1 1 auto;min-width:0;padding:13px 16px;cursor:pointer;
  border:1px solid var(--line);background:#120c08;color:#bba68a;
  font:900 10px/1.2 Inter,sans-serif;letter-spacing:.11em;text-transform:uppercase;
  text-align:center}
.mode-btn:hover{border-color:#6d4526;color:var(--gold)}
.mode-btn.on{background:var(--gold);border-color:var(--gold);color:#17100c}

/* The check-in questions, as a numbered list on paper — same counter device as
   the run sheet and the failure list. */
.ask-list{counter-reset:ask;display:grid;gap:0}
.ask{counter-increment:ask;display:grid;grid-template-columns:44px minmax(0,1fr);
  gap:4px 16px;padding:16px 0;border-top:1px solid var(--line)}
.ask:last-child{border-bottom:1px solid var(--line)}
.ask-n{font:900 13px/1.5 Inter,sans-serif;color:var(--gold);opacity:.7;letter-spacing:.06em}
.ask b{display:block;margin-bottom:5px;font:400 1.08rem/1.32 Georgia,serif;color:#f2d59c}
.ask span{font:400 14px/1.64 Georgia,serif;color:#bda98c}
@media(max-width:560px){
  .ask{grid-template-columns:32px minmax(0,1fr)}
  .mode-btn{flex:1 1 100%}
}

/* ---- Comic Critique ------------------------------------------------------
   The read-out is a stack of questions, each answered on its own card, so the
   cards lead with the question in gold and the answer as the heading — the
   same order a comic asks it in. */
.cc-entry{display:grid;gap:14px;border:1px solid #6b482f;background:#0f0b08;padding:22px}
.cc-entry label{display:flex;flex-direction:column;gap:7px;font:900 11px/1.2 Inter,sans-serif;
  letter-spacing:.1em;text-transform:uppercase;color:#b7a48a}
.cc-entry label span{text-transform:none;letter-spacing:0;font-weight:400;color:#7d6e5c}
.cc-entry input,.cc-paste{width:100%;box-sizing:border-box;background:#15100c;
  border:1px solid #69472f;color:#f1e5d2;padding:12px;font:400 15px/1.5 Georgia,serif;
  letter-spacing:0;text-transform:none}
.cc-paste{min-height:220px;resize:vertical;font:400 13px/1.55 Consolas,'Courier New',monospace}
.cc-entry input:focus,.cc-paste:focus{outline:none;border-color:var(--gold)}
.cc-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.cc-status{margin:0;min-height:1.4em;font:400 13px/1.5 Georgia,serif;color:#9ec49a}
.cc-grid{display:grid;gap:14px;margin-bottom:22px;
  grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr))}
.cc-card{min-width:0;border:1px solid #543923;border-top:3px solid var(--red);background:#0f0b08;
  padding:20px 22px}
.cc-q{display:block;margin-bottom:9px;font:900 11px/1.4 Inter,sans-serif;letter-spacing:.11em;
  text-transform:uppercase;color:var(--gold)}
/* The last card is the question counting cannot answer. There are always
   seven cards, so at three across or two across it lands alone on its row —
   let it take the row, as the closing note it is. */
.cc-card:last-child{grid-column:1/-1;border-top-color:var(--gold)}
.cc-card:last-child p{max-width:78ch}
.cc-card h5{margin:0 0 12px;font:400 21px/1.2 Georgia,serif;color:#f1d7a4}
.cc-card p{margin:0;font:400 14px/1.6 Georgia,serif;color:#b9a68d}
.cc-card p b{font-weight:400;color:#e4d2b4}
.cc-card strong{color:#f1d7a4}
.cc-card .tags{justify-content:flex-start;gap:6px}
/* Links out of the read-out (1 Oct 2026): Clean vs. Dirty, Stage Time's Tech tab and its log. */
.cc-card a.cc-next{color:var(--gold)}
.cc-after{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.cc-after a{text-decoration:none}
.cc-bars{display:flex;align-items:flex-end;gap:3px;height:90px;margin:4px 0 12px;
  border-bottom:1px solid #543923}
.cc-bars i{flex:1 1 0;min-width:3px;background:#8a6f4c}
.cc-bars i.hot{background:#ad382b}
.cc-list{list-style:none;margin:0;padding:0}
.cc-list li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  padding:8px 0;border-top:1px solid #2b1d12;font:400 14px/1.4 Georgia,serif;color:#e4d2b4}
.cc-list li:last-child{border-bottom:1px solid #2b1d12}
.cc-list b{min-width:0;font-weight:400;overflow-wrap:anywhere}
.cc-list em{flex:0 0 auto;font:900 12px/1 Inter,sans-serif;font-style:normal;letter-spacing:.04em;
  color:var(--gold)}
.cc-quote{display:block;margin-top:4px;font:italic 400 13px/1.5 Georgia,serif;color:#8f806d}
.cc-hist-wrap{overflow-x:auto;border:1px solid #543923;background:#0f0b08}
.cc-hist{width:100%;min-width:640px;border-collapse:collapse;font:400 14px/1.4 Georgia,serif;
  color:#c5b69e}
.cc-hist th{text-align:left;padding:11px 12px;white-space:nowrap;border-bottom:1px solid #543923;
  font:900 11px/1.2 Inter,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#9d8d78}
.cc-hist td{padding:10px 12px;border-top:1px solid #2b1d12;font-variant-numeric:tabular-nums}
.cc-hist tbody tr:first-child td{border-top:0}
.cc-hist td:last-child{text-align:right}
#ccHistory .section-note{color:#a9977f;line-height:1.55;margin-bottom:0}
#ccHistory .empty-state{margin-top:0}
/* Comic Critique's examples (1 Oct 2026): a card per full special — its numbers, how it reads, a topic bar
   and a word cloud sized by count — under a table that sorts by a column. */
.ce-compare{margin:0 0 22px}
.ce-compare h6,.ce-card h6{margin:0 0 9px;font:900 11px/1.4 Inter,sans-serif;letter-spacing:.11em;
  text-transform:uppercase;color:var(--gold)}
.ce-compare h6 span,.ce-card h6 span{letter-spacing:0;text-transform:none;font:italic 400 13px/1.4 Georgia,serif;
  color:#8f806d;margin-left:6px}
.ce-table{min-width:720px}
.ce-table th{padding:0}
.ce-table th button{all:unset;box-sizing:border-box;display:block;width:100%;padding:11px 12px;cursor:pointer;
  font:900 11px/1.2 Inter,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#9d8d78}
.ce-table th[aria-sort="ascending"] button,.ce-table th[aria-sort="descending"] button{color:var(--gold)}
.ce-table th button:focus-visible,.ce-goto:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.ce-table td:last-child{text-align:left}
.ce-goto{all:unset;cursor:pointer;white-space:nowrap;color:#f1d7a4;text-decoration:underline;
  text-decoration-color:#6b482f;text-underline-offset:3px}
.ce-grid{display:grid;gap:14px;margin-bottom:22px;grid-template-columns:repeat(auto-fit,minmax(min(440px,100%),1fr))}
.ce-card{min-width:0;border:1px solid #543923;border-top:3px solid var(--red);background:#0f0b08;padding:20px 22px;
  scroll-margin-top:90px}
.ce-card h5{margin:0 0 6px;font:400 26px/1.15 Georgia,serif;color:#f1d7a4;text-shadow:0 2px 12px #000}
.ce-title{margin:0 0 16px;font:400 14px/1.5 Georgia,serif;color:#b9a68d}
.ce-title i{color:#e4d2b4}
.ce-title a{color:var(--gold)}
.ce-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 0 12px;
  border:1px solid #3a2718;background:#3a2718}
.ce-stats div{background:#140e0a;padding:10px 10px 9px;min-width:0}
.ce-stats strong{display:block;font:400 21px/1.1 Georgia,serif;color:#f1d7a4;font-variant-numeric:tabular-nums}
.ce-stats small{display:block;margin-top:3px;font:900 10px/1.3 Inter,sans-serif;letter-spacing:.07em;
  text-transform:uppercase;color:#9d8d78}
.ce-note{margin:0 0 18px;font:400 13px/1.55 Georgia,serif;color:#a9977f}
.ce-style{list-style:none;margin:0 0 18px;padding:0}
.ce-style li{padding:7px 0;border-top:1px solid #2b1d12;font:400 14px/1.5 Georgia,serif;color:#b9a68d}
.ce-style li:last-child{border-bottom:1px solid #2b1d12}
.ce-style b{display:inline-block;margin-right:8px;padding:2px 8px;border:1px solid #7d5430;font:900 11px/1.5 Inter,sans-serif;
  letter-spacing:.06em;text-transform:uppercase;color:#f1d7a4}
.ce-bar{display:flex;height:16px;margin:0 0 9px;overflow:hidden;border:1px solid #3a2718;background:#140e0a}
.ce-bar i{display:block;height:100%;min-width:2px}
.ce-legend{list-style:none;display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 18px;padding:0;
  font:400 13px/1.4 Georgia,serif;color:#b9a68d}
.ce-legend i{display:inline-block;width:10px;height:10px;margin-right:6px;vertical-align:-1px}
.ce-legend b{font-weight:400;color:#e4d2b4}
.ce-cloud{margin:0 0 14px;padding:14px 12px;border:1px solid #2b1d12;background:#120c08;line-height:1.35;
  text-align:center;overflow-wrap:anywhere}
.ce-cloud span{display:inline-block;margin:1px 5px;font-family:Georgia,serif;color:#9d8d78}
.ce-cloud span.warm{color:#d9c19a}
.ce-cloud span.hot{color:var(--gold)}
.ce-foot{margin:0;font:400 12px/1.5 Georgia,serif;color:#7d6e5c}
.ce-rules ul{margin:10px 0 0;padding-left:18px;color:#c5b69e;font:400 14px/1.6 Georgia,serif}
.ce-rules li{margin:0 0 7px}
.ce-rules li b{color:#e4d2b4;font-weight:400}
.ce-also{margin:9px 0 0;color:#a9977f;line-height:1.6}
@media(max-width:420px){.ce-card{padding:18px 14px}.ce-card h5{font-size:23px}.ce-stats strong{font-size:18px}}
#ccKeep:disabled{opacity:.65;cursor:default}

/* Venue photo credits are on the Credits page, not on the photos (the owner,
   26 Sept 2026: "put all credits on a credits page — get off photos"). */

/* A D.O.C. card is a sign with the room's name on it, not a photograph.
   Stretched behind the header like a photo, it blew the name up past the edges
   and ran it into the page's own title. It hangs on the right instead, above
   the wash so it stays lit, with the title kept to the left of it. On a phone
   there is no room beside the title, so the sign goes above it. */
.venue-detail-hero>img.hero-card{inset:auto;top:50%;right:clamp(16px,4vw,48px);z-index:1;
  width:min(44%,540px);height:auto;transform:translateY(-50%);object-fit:contain;
  border:1px solid #6b482f;box-shadow:0 18px 44px rgba(0,0,0,.6)}
.venue-detail-hero.has-card .venue-detail-copy{max-width:50%}
@media(max-width:700px){
  .venue-detail-hero.has-card{flex-direction:column;align-items:stretch}
  .venue-detail-hero>img.hero-card{position:relative;top:auto;right:auto;transform:none;
    width:calc(100% - 40px);margin:20px 20px 0}
  .venue-detail-hero.has-card .venue-detail-copy{max-width:none;padding-top:22px}
}
/* A venue's own photo that its site only publishes small (300–600px wide)
   went soft stretched across the header. It hangs like a card instead, as a
   cream-mounted print, over a blurred, darkened copy of itself so the header
   still carries the room's colour. `framed` in data/venues.js. */
.venue-detail-hero.has-print{min-height:400px}
/* A venue with no photo of its own (the reader walkthrough, 27 Sept 2026: "a 340 px empty dark box") shows a
   stage in one spotlight behind the header's usual shade: a silhouette, so it is no particular room. */
.venue-detail-hero.no-photo{background:#120c08 var(--art) var(--art-pos,center)/cover no-repeat}
.venue-detail-hero>.hero-blur{position:absolute;inset:-40px;
  background:center/cover no-repeat;filter:blur(24px) brightness(.42) saturate(1.15)}
/* Hung from the bottom, not centred: a tall print centred in the header ran
   up into the top corner (where a photo credit used to sit). */
.venue-detail-hero>img.hero-print{top:auto;bottom:28px;transform:none;
  width:auto;max-width:min(44%,540px);max-height:calc(100% - 92px);
  border:6px solid #f2e7cd;box-shadow:0 0 0 1px #17100c,0 18px 44px rgba(0,0,0,.6)}
@media(max-width:700px){
  /* The credit wraps to two lines on a phone; the print starts below it. */
  .venue-detail-hero>img.hero-print{bottom:auto;max-width:calc(100% - 40px);max-height:none;
    align-self:center;margin-top:64px}
}

/* ---- header tabs (NAV_TABS in js/shell.js) --------------------------------
   Comic's Corner and Venues & Industry used to be two more lines of small caps
   beside the four public links, so the header read as one long list and the
   split between going out (left) and the trade side (right) was invisible.
   They are tabs now, each with its own art drawn from the logo file, set as
   letterpress blocks — ink panel, brick offset behind it — so the right-hand
   side is a different kind of thing at a glance. Members sits at the far right
   as an icon. The four links on the left are untouched. Everything here is its
   own class; NAV_TABS = false in shell.js brings the old buttons back. */
.navtab{display:inline-flex;align-items:center;gap:9px;height:50px;padding:4px 10px 4px 4px;
  border:1px solid #6d4526;background:linear-gradient(160deg,#2a1a0e,#110b07);color:#f2e7cd;
  box-shadow:3px 3px 0 #ad382b;cursor:pointer;font:inherit;text-align:left;
  transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}
.navtab:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 #ad382b;border-color:var(--gold)}
.navtab:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.navtab[aria-expanded="true"],.navgroup.active>.navtab{border-color:var(--gold);
  box-shadow:3px 3px 0 var(--gold)}
.navtab-art{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 40%,#2c1c0f,#0b0806 72%);border:1px solid #3a2616}
.navtab-art svg{width:36px;height:36px;display:block;overflow:visible}
/* The owner's painted icons (2 Oct 2026, "i like these icons better"): the masks, the microphone and the
   comedy marquee, cut from his tab mockup into assets/brand/nav-*.jpg. Members keeps its drawn door. */
.navtab-pic{width:48px;height:42px;border:1px solid #6d4526;background:#0b0806 center/cover no-repeat}
.pic-sucdb{background-image:url('../assets/brand/nav-sucdb.jpg')}
.pic-comics{background-image:url('../assets/brand/nav-comics.jpg')}
.pic-industry{background-image:url('../assets/brand/nav-industry.jpg')}
.navtab-text{display:flex;flex-direction:column;gap:3px}
.navtab-text b{font:900 12px/1.05 Inter,sans-serif;letter-spacing:.09em;text-transform:uppercase;
  color:#f2e7cd;white-space:nowrap}
.navtab-text b+b{color:var(--gold)}
/* A name with its own casing — SUCDb, like IMDb — is not put into capitals. */
.navtab-text b.as-written{text-transform:none;letter-spacing:.04em}
.navtab>i{font-style:normal;font-size:9px;opacity:.7;transition:transform .18s ease}
.navtab[aria-expanded="true"]>i{transform:rotate(180deg)}
.navtab-member{padding:4px}
.member-note{margin:0 10px 4px;padding:12px 12px;border:1px dashed #6b482f;background:#0f0a07}
.member-note b{display:block;font:400 16px/1.25 Georgia,serif;color:#f1d7a4;margin-bottom:5px}
.member-note span{display:block;font:400 12.5px/1.5 Georgia,serif;color:#a9967f}
/* The tabs need about 1,100px to share a row with the logo, the four links and
   the counter; below that the links take their own row, as they already do
   under 1000px with the old buttons. Measured: at 1040 the Members door was
   wrapping onto a line of its own. With the SUCDb tab (26 Sept 2026) the one-row
   header needs 1,425px of page — measured at a 1440 window it fits with 34px
   to spare, and at 1366 the Members door wrapped again — so the links take
   their own row up to 1439. The fifth link, See Them Now (same day), adds about
   150px: the links take their own row up to 1599. With Calendar, Clubs, Club Etiquette and Book a Comic
   (2 Oct 2026) the one-row header needs about 1,850px — measured at 1600–1849 the tabs split across two
   rows — so the links take their own row up to 1859. */
@media(min-width:1001px) and (max-width:1859px){
  .sitehead.has-tabs{column-gap:16px;row-gap:0;padding-bottom:8px;padding-top:8px}
  .sitehead.has-tabs .sitenav{order:9;flex:1 0 100%;padding-top:8px;border-top:1px solid #3a2616}
  .sitehead.has-tabs .brandmark{margin-right:auto}
}
/* Phones: the art carries the tab on its own, so the words and the chevron go
   and all four sit on the header's first row beside the logo and the 0/12.
   Up to 767 since the SUCDb tab (26 Sept 2026): measured in headless Edge, at
   640–744 the three worded tabs took the first row and pushed the counter and
   the Members door onto a third one. */
@media(max-width:767px){
  .navtab{height:46px;padding:3px;gap:0}
  .navtab-text,.navtab>i{display:none}
  .navtab-art{width:38px;height:38px}
  .navtab-art svg{width:32px;height:32px}
  .navtab-pic{width:42px;height:38px}
}
/* The narrowest phones (320–350): the first row is the logo, four tabs and the
   counter in about 300px, so the tabs and the counter come down a size rather
   than the Members door dropping to a row of its own. */
@media(max-width:350px){
  .sitehead{column-gap:4px;padding-inline:8px}
  .navtab{height:40px;padding:2px}
  .navtab-art{width:34px;height:34px}
  .navtab-art svg{width:28px;height:28px}
  .navtab-pic{width:36px;height:34px}
  .nav-twelve{padding:7px 8px}
}

/* ---- the Gig Board (gigs.html) --------------------------------------------
   Calls for comics from any room that needs one. The hero is a wall of six
   empty stages pinned up like flyers — every kind of room that hires a comic,
   none of them a real venue, so the wall never implies who has posted. The
   date on each card is a ticket stub in the logo's own treatment: cream face,
   ink outline, brick copy offset behind it. */
.hero-gigs{min-height:clamp(320px,34vw,430px)}
.gig-wall{position:absolute;z-index:-2;top:-8%;bottom:-8%;right:-3%;width:66%;
  display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:16px;
  padding:22px;transform:rotate(-3deg)}
.gig-wall i{position:relative;background:#1a120c center/cover no-repeat;border:5px solid #f2e7cd;
  box-shadow:0 12px 28px rgba(0,0,0,.6);filter:saturate(.95) brightness(.9)}
.gig-wall i:nth-child(odd){transform:rotate(1.8deg)}
.gig-wall i:nth-child(even){transform:rotate(-1.3deg)}
.gig-wall i:after{content:"";position:absolute;top:-8px;left:50%;width:13px;height:13px;margin-left:-6px;
  border-radius:50%;background:radial-gradient(circle at 35% 35%,#ffe7ad,#dda441 45%,#7d500f);
  box-shadow:0 3px 4px rgba(0,0,0,.6)}
.gig-wall i:nth-child(1){background-image:url('../assets/booking-tabs/college-gigs.webp')}
.gig-wall i:nth-child(2){background-image:url('../assets/booking-tabs/private-parties.webp')}
.gig-wall i:nth-child(3){background-image:url('../assets/booking-tabs/fundraisers.webp')}
.gig-wall i:nth-child(4){background-image:url('../assets/booking-tabs/conventions.webp')}
.gig-wall i:nth-child(5){background-image:url('../assets/booking-tabs/resorts-cruises.webp')}
.gig-wall i:nth-child(6){background-image:url('../assets/booking-tabs/corporate-events.webp')}
.hero-gigs h1{max-width:13ch}
.hero-gigs p{max-width:56ch}
.gig-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.gig-hero-actions a{text-decoration:none}
@media(max-width:760px){.gig-wall{width:110%;right:-5%;opacity:.55}}

.gig-board{margin:8px 0 26px}
.gig-board-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;
  border-bottom:1px solid var(--line);padding-bottom:12px;margin-bottom:16px}
.gig-board-head h2{margin:6px 0 0;font:700 clamp(2rem,4vw,3rem)/1 Georgia,serif;color:#f2e7cd;
  text-shadow:3px 3px 0 var(--red)}
.gig-count{font:900 11px/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.gig-filters{display:grid;gap:12px;margin-bottom:18px}
.gig-chips{display:flex;flex-wrap:wrap;gap:7px}
.gig-chips button{border:1px solid #6b482f;background:#130d09;color:#d8c3a3;padding:9px 12px;cursor:pointer;
  font:900 10px/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.gig-chips button b{margin-left:5px;color:var(--gold)}
.gig-chips button.on{background:var(--gold);border-color:var(--gold);color:#171008}
.gig-chips button.on b{color:#5c1813}
.gig-toggles{display:flex;flex-wrap:wrap;gap:16px;color:#c5b69e;font-size:13px}
.gig-toggles label{display:flex;align-items:center;gap:7px;cursor:pointer}
.gig-toggles input{accent-color:var(--gold)}
.gig-toggles b{color:var(--gold)}
.gig-list{display:grid;gap:14px}

.gig{position:relative;display:grid;grid-template-columns:86px minmax(0,1fr) auto;
  grid-template-areas:"date main side" "prov prov prov";gap:0 20px;padding:18px 18px 0;
  border:1px solid #6b482f;background:linear-gradient(135deg,#1c130c,#0e0a07 70%);
  transition:border-color .2s,transform .2s}
.gig:hover{border-color:var(--gold)}
.gig.has-bringer{box-shadow:inset 4px 0 0 #b8564b}
.gig-date{grid-area:date;align-self:start;display:grid;justify-items:center;padding:8px 4px 9px;
  background:#f2e7cd;color:#17100c;border:2px solid #17100c;box-shadow:5px 5px 0 var(--red);
  text-align:center}
.gig-date b{font:900 10px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#ad382b}
.gig-date strong{font:700 38px/1 Georgia,serif;margin:3px 0 1px;letter-spacing:-.03em}
.gig-date span{font:900 10px/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.gig-date.regular strong{font-size:26px;margin:5px 0 4px}
.gig-date.regular span{font-size:8.5px;letter-spacing:.06em}
.gig-main{grid-area:main;min-width:0}
.gig-kicker{font:900 10px/1.3 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.gig h3{margin:6px 0 4px;font:400 clamp(1.3rem,2.2vw,1.7rem)/1.1 Georgia,serif;color:#f1d7a4}
.gig-where{color:#c5b69e;font-size:14px;margin-bottom:10px}
.gig-pay{display:inline-block;font:900 12px/1 Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;
  padding:7px 10px;border:1px solid currentColor}
.gig-pay.paid{color:#8fce9e}
.gig-pay.door{color:var(--gold)}
.gig-pay.unpaid{color:#a9967f}
.gig-pay.unstated{color:#e08a80}
.gig-flag{margin-top:8px;color:#e08a80;font:900 11px/1.35 Inter,sans-serif;letter-spacing:.05em;text-transform:uppercase}
.gig-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.gig-tags span{border:1px solid #59412f;color:#b9a68b;padding:4px 7px;font-size:10px;letter-spacing:.05em;text-transform:uppercase}
.gig-note{margin:12px 0 0;font:400 14px/1.55 Georgia,serif;color:#cdbb9f;max-width:62ch}
.gig-apply{display:grid;gap:7px;margin:14px 0 16px;padding-top:12px;border-top:1px dashed #4a3322}
.gig-by{font:600 13px/1.3 Inter,sans-serif;color:#efd39c}
.gig-by.closed{color:#8f806d;text-decoration:line-through}
.gig-send{font:400 13px/1.45 Georgia,serif;color:#a9967f}
.gig-mail{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.gig-mail code{font:600 13px/1.3 ui-monospace,Consolas,monospace;color:#f2e7cd;background:#0b0806;
  border:1px solid #4a3322;padding:6px 8px;user-select:all;overflow-wrap:anywhere}
.gig-copy,.gig-go{border:1px solid var(--gold);background:transparent;color:var(--gold);padding:7px 11px;
  font:900 10px/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer}
.gig-go{justify-self:start}
.gig-copy:hover,.gig-go:hover{background:var(--gold);color:#171008}
.gig-side{grid-area:side;display:grid;align-content:start;justify-items:end;gap:10px}
.gig-save{border:1px solid #6b482f;background:#130d09;color:#d8c3a3;padding:8px 11px;cursor:pointer;
  font:900 10px/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.gig-save.on{border-color:var(--gold);color:var(--gold)}
.gig-save:disabled{opacity:.5;cursor:default}
.gig-side-link{color:var(--gold);font:900 10px/1.3 Inter,sans-serif;letter-spacing:.08em;
  text-transform:uppercase;text-decoration:none;white-space:nowrap}
.gig-side-link:hover{text-decoration:underline}
.gig-prov{grid-area:prov;margin:0 -18px;padding:9px 18px;border-top:1px solid #33241a;background:#0b0806;
  color:#8f806d;font:600 10px/1.3 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.gig.is-preview{border-style:dashed;border-color:var(--gold)}
.gig-stamp{position:absolute;top:10px;right:-6px;z-index:1;transform:rotate(4deg);
  background:#ad382b;color:#f2e7cd;border:2px solid #17100c;padding:5px 10px;
  font:900 10px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:640px){
  .gig{grid-template-columns:64px minmax(0,1fr);grid-template-areas:"date main" "side side" "prov prov";gap:0 14px;padding:14px 14px 0}
  .gig-date strong{font-size:28px}
  .gig-side{justify-items:start;grid-auto-flow:column;justify-content:start;gap:14px;margin-bottom:14px}
  .gig-prov{margin:0 -14px;padding:9px 14px}
}

.gig-empty{border:1px dashed #6b482f;background:radial-gradient(circle at 18% 0%,rgba(239,182,78,.1),transparent 45%),#0f0b08;
  padding:clamp(24px,4vw,40px);display:grid;gap:12px;justify-items:start}
.gig-empty-mark{display:inline-block;transform:rotate(-2deg);background:#ad382b;color:#f2e7cd;
  border:3px solid #17100c;box-shadow:6px 6px 0 #17100c;padding:9px 16px 8px;
  font:900 clamp(1.1rem,2.6vw,1.6rem)/1 Inter,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.gig-empty h3{margin:10px 0 0;font:400 clamp(1.5rem,3vw,2.2rem)/1.1 Georgia,serif;color:#f1d7a4}
.gig-empty p{margin:0;max-width:62ch;font:400 15px/1.65 Georgia,serif;color:#c5b69e}
.gig-empty-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.gig-empty-actions a{text-decoration:none}
/* The comic's next step while the board is empty (1 Oct 2026). */
.gig-empty p.gig-empty-next{border-top:1px solid #33241a;padding-top:12px;margin-top:4px}
.gig-empty-next a{color:var(--gold)}

.gig-post .section-note a{color:var(--gold)}
.gig-form-group{position:relative;border-top:1px solid #33241a;padding:18px 0 4px 38px;margin-top:4px}
.gig-form-group:first-child{border-top:0;padding-top:4px}
.gig-form-group>b{display:block;margin:2px 0 14px;font:400 19px/1.2 Georgia,serif;color:#f1d7a4}
.gig-step{position:absolute;left:0;top:18px;width:26px;height:26px;display:grid;place-items:center;
  background:#f2e7cd;color:#17100c;border:2px solid #17100c;box-shadow:3px 3px 0 var(--red);
  font:900 12px/1 Inter,sans-serif}
.gig-form-group:first-child .gig-step{top:4px}
.f-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
@media(max-width:560px){.f-2{grid-template-columns:minmax(0,1fr)}.gig-form-group{padding-left:0}
  .gig-step{position:static;display:inline-grid;margin-bottom:8px}}
.gig-mode{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.gig-mode label{display:flex;align-items:center;gap:8px;border:1px solid #6b482f;background:#130d09;
  padding:10px 14px;cursor:pointer;color:#e0cdb0;font-size:13px}
.gig-mode input{accent-color:var(--gold)}
.gig-mode label:has(input:checked){border-color:var(--gold);color:var(--gold)}
.gig-inline-check{display:flex;align-items:flex-end}
.gig-inline-check .skill{padding-bottom:12px}
.join-preview .gig{margin-bottom:14px}
/* Checkbox rows inside the site's forms. The form's own input rule
   (width:100%) stretched every checkbox across its row and stacked it above
   its words — on the Gig Board, List a Room and Join alike. */
.join-form .consent-check,.join-form .gig-inline-check .skill{display:flex;gap:11px;align-items:flex-start;
  font:400 14px/1.5 Georgia,serif;letter-spacing:0;text-transform:none;color:#d8c6ae;cursor:pointer}
.join-form .consent-check input,.join-form .gig-inline-check input{width:auto;flex:0 0 auto;
  margin:3px 0 0;accent-color:var(--gold)}
.join-form .gig-mode label{display:flex;margin:0;font:400 14px/1.2 Georgia,serif;letter-spacing:0;
  text-transform:none}
.join-form .gig-mode input{width:auto;margin:0}
/* `hidden` has to beat the display each of these rows and panels sets. */
.gig-filters[hidden],.gig-post [hidden],#mine[hidden]{display:none!important}
/* The preview sits in a narrow column: no side buttons (they do nothing on a
   preview), and the stamp rides on the top edge instead of over the words. */
.gig.is-preview{grid-template-columns:70px minmax(0,1fr);grid-template-areas:"date main" "prov prov";padding-top:22px}
.gig.is-preview .gig-side{display:none}
.gig.is-preview .gig-stamp{top:-11px;right:10px}
/* The board, the form and the rules are three tabs, not one long scroll —
   picture tabs in the same style as Stage Time's and Your Twelve's. */
.gig-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 26px;scroll-margin-top:96px}
.gig-tabs button{position:relative;isolation:isolate;overflow:hidden;min-height:122px;padding:72px 16px 14px;
  display:flex;flex-direction:column;justify-content:flex-end;gap:5px;text-align:left;cursor:pointer;
  border:1px solid #67452b;background:#100b08 center/cover no-repeat;color:#f4dfb8;
  transition:transform .2s ease,border-color .2s ease}
.gig-tabs button:before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(5,3,2,.08),rgba(5,3,2,.32) 38%,rgba(5,3,2,.95))}
.gig-tabs button span{font:900 12px/1.15 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 2px 8px #000}
.gig-tabs button small{font:400 12.5px/1.3 Georgia,serif;color:#cdbb9f;text-shadow:0 2px 8px #000}
.gig-tabs button:hover{transform:translateY(-3px);border-color:var(--gold)}
.gig-tabs button.active{border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold)}
.gig-tabs button.active span{color:var(--gold)}
.gig-tabs button:focus-visible{outline:2px solid #f2c66d;outline-offset:3px}
.gig-tabs button:nth-child(1){background-image:url('../assets/feed-tabs/near-you.webp')}
.gig-tabs button:nth-child(2){background-image:url('../assets/feed-tabs/come-to-my-city.webp')}
.gig-tabs button:nth-child(3){background-image:url('../assets/feed-tabs/specials.webp')}
.gig-panel{display:none;scroll-margin-top:200px}
.gig-panel.active{display:block}
.gig-post.gig-panel{border-top:0;padding-top:0}
.gig-mine{margin-top:36px}
@media(max-width:600px){
  .gig-tabs{gap:6px}
  .gig-tabs button{min-height:90px;padding:48px 9px 10px}
  .gig-tabs button span{font-size:10px}
  .gig-tabs button small{display:none}
}
@media(prefers-reduced-motion:reduce){.gig-tabs button{transition:none}}

/* ---- the Club Directory (clubs.html) ---------------------------------------
   Every club on one map of the States (assets/maps/us-states.svg, pins placed
   by js/usmap.js in the drawing's own 975 × 610 frame), a card for the club
   you pick, and the full list by state underneath. The hero wall is real rooms
   that are in the directory. */
.hero-clubs{min-height:clamp(300px,32vw,410px)}
.club-wall i:nth-child(1){background-image:url('../assets/venue-photos/comedy-cellar.jpg')}
.club-wall i:nth-child(2){background-image:url('../assets/venue-photos/the-comedy-store.jpg')}
.club-wall i:nth-child(3){background-image:url('../assets/venue-photos/gotham-comedy-club.jpg')}
.club-wall i:nth-child(4){background-image:url('../assets/venue-photos/laugh-factory.jpg')}
.club-wall i:nth-child(5){background-image:url('../assets/venue-photos/comedy-mothership.jpg')}
.club-wall i:nth-child(6){background-image:url('../assets/venue-photos/punch-line.jpg')}
.club-atlas{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.8fr);gap:22px;
  align-items:start;margin:0 0 34px}
.club-map-wrap{min-width:0}
.club-map{position:relative;aspect-ratio:975/610;border:1px solid #6b482f;
  background:radial-gradient(ellipse at 52% 42%,#20150d,#0b0806 72%)}
.club-map img{position:absolute;inset:0;width:100%;height:100%;display:block}
.club-pins{position:absolute;inset:0}
.club-pin{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;padding:0;border-radius:50%;
  background:#dda441;border:2px solid #17100c;box-shadow:2px 2px 0 #ad382b;cursor:pointer;
  transition:box-shadow .15s ease}
.club-pin.featured{width:16px;height:16px;margin:-8px 0 0 -8px;background:#f2e7cd;box-shadow:3px 3px 0 #ad382b}
.club-pin:hover,.club-pin:focus-visible{z-index:3;box-shadow:0 0 0 5px rgba(239,182,78,.35),2px 2px 0 #ad382b;outline:none}
.club-pin.on{z-index:4;background:#fff1c8;box-shadow:0 0 0 6px rgba(239,182,78,.45),3px 3px 0 #ad382b}
.club-pin span{position:absolute;left:50%;bottom:calc(100% + 9px);z-index:5;white-space:nowrap;pointer-events:none;
  padding:5px 9px;border:1px solid rgba(239,182,78,.6);background:rgba(12,8,5,.95);color:#f1d7a4;
  font:600 11px/1 Inter,sans-serif;opacity:0;transform:translate(-50%,4px);transition:opacity .15s,transform .15s}
.club-pin:hover span,.club-pin:focus-visible span,.club-pin.on span{opacity:1;transform:translate(-50%,0)}
/* A name never runs off the screen (25 Sept 2026): a pin near either edge opens its name inward,
   a long name is cut short, and on a phone — no hover, and the card under the map names the club
   a tap picks — the names are not drawn at all. Unshown names still took up room, and the ones
   along the east coast made the page 500 px wide on a 375 px phone. */
.club-pin span{max-width:min(300px,78vw);overflow:hidden;text-overflow:ellipsis}
.club-pin.east span{left:auto;right:-4px;transform:translate(0,4px)}
.club-pin.west span{left:-4px;transform:translate(0,4px)}
.club-pin.east:hover span,.club-pin.east:focus-visible span,.club-pin.east.on span,
.club-pin.west:hover span,.club-pin.west:focus-visible span,.club-pin.west.on span{transform:translate(0,0)}
.club-map-credit{margin:8px 0 0;font:400 11px/1.4 Georgia,serif;color:#7d6e5c}
.club-card{position:sticky;top:96px;border:1px solid #6b482f;border-bottom:3px solid var(--red);
  background:linear-gradient(160deg,#1c130c,#0e0a07 70%);padding:22px}
.club-card h3{margin:8px 0 4px;font:400 clamp(1.5rem,2.4vw,2rem)/1.1 Georgia,serif;color:#f1d7a4}
.club-card p{margin:10px 0 0;font:400 14px/1.6 Georgia,serif;color:#c5b69e}
.club-where{color:#c5b69e;font-size:14px;line-height:1.45;margin-bottom:14px}
.club-facts{display:grid;gap:10px;margin:0 0 18px;border-top:1px dashed #4a3322;padding-top:14px}
.club-facts div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px}
.club-facts b{font:900 9px/1.7 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.club-facts span{font:400 14px/1.45 Georgia,serif;color:#d8c6ae;overflow-wrap:anywhere}
.club-facts a{color:var(--gold)}
.club-actions{display:flex;flex-wrap:wrap;gap:9px}
.club-actions a{text-decoration:none}
.club-checked{font:600 10px/1.5 Inter,sans-serif!important;letter-spacing:.06em;text-transform:uppercase;color:#8f806d!important}
.club-legend{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center}
.club-legend .club-pin{position:static;display:inline-block;margin:0 2px 0 0;vertical-align:middle;cursor:default}
.club-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr));gap:18px 24px}
/* State after state with no gaps (30 Sept 2026, the owner: "needs to be seamless between states there are gaps"): the
   states run down newspaper columns instead of grid rows, where a long state (California) left the rows beside it
   empty. A state's heading keeps its first club with it (.club-state-top); a long state carries on into the next
   column. */
.club-list.club-flow{display:block;columns:290px;column-gap:24px}
.club-flow > .empty{column-span:all}
.club-flow .club-state{margin:0 0 18px}
.club-flow .club-state-top,.club-flow .club-row{break-inside:avoid}
/* Each state under its flag, its count of clubs in big gold numerals (30 Sept 2026): the flag framed and set off the
   way the logo sets its letters, a cream rim and a red shadow; each flag at its own shape (Rhode Island's is nearly
   square). */
.club-state h3.club-state-head{display:flex;align-items:center;gap:12px;margin:0 0 8px;padding:6px 0 10px;
  border-bottom:2px solid #3d2a1c}
.club-flag{flex:none;height:36px;width:auto;border:2px solid rgba(242,231,205,.85);
  box-shadow:3px 3px 0 #ad382b;background:#20140c}
.club-state-head .club-state-name{flex:1;min-width:0;margin:0;font:400 21px/1.15 Georgia,serif;color:#f1d7a4}
.club-state-head .club-state-n{flex:none;margin:0;display:flex;align-items:baseline;gap:5px;font:900 9px/1 Inter,sans-serif;
  letter-spacing:.12em;text-transform:uppercase;color:#a9967f}
.state-flag{display:inline-block;height:15px;width:auto;margin:0 7px 0 0;vertical-align:-2px;
  border:1px solid rgba(242,231,205,.8);box-shadow:2px 2px 0 #ad382b}
.venue-address .state-flag{height:18px;vertical-align:-3px;margin-right:9px}
.club-state-n b{font:900 28px/1 Georgia,serif;letter-spacing:0;color:var(--gold);text-shadow:2px 2px 0 #ad382b}
.club-state h3{margin:0 0 6px;padding-bottom:6px;border-bottom:1px solid #3d2a1c;
  font:400 20px/1.2 Georgia,serif;color:#f1d7a4}
.club-state h3 span{margin-left:6px;font:900 10px/1 Inter,sans-serif;color:var(--gold)}
.club-row{display:grid;gap:2px;width:100%;padding:9px 10px;text-align:left;cursor:pointer;
  border:1px solid transparent;background:none;color:inherit}
.club-row b{font:400 16px/1.25 Georgia,serif;color:#efd9b0}
.club-row span{font-size:12.5px;color:#a9967f}
.club-row em{font:900 9px/1.3 Inter,sans-serif;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.club-row:hover{border-color:#6b482f;background:#130d09}
.club-row.on{border-color:var(--gold);background:#150e09}
@media(max-width:900px){.club-atlas{grid-template-columns:minmax(0,1fr)}.club-card{position:static}}
@media(max-width:600px){.club-pin{width:10px;height:10px;margin:-5px 0 0 -5px}.club-pin.featured{width:13px;height:13px;margin:-6.5px 0 0 -6.5px}
  .club-pin span{display:none}}
/* The front page's way in: under the twelve rooms, with the Club Directory's
   own pins lit up on the whole map at the right. The map used to be a
   background cropped to 170% of the banner, which cut Seattle and Florida off
   a line that now says "coast to coast"; it is a real element in its own
   column now, so the pins can sit on it and no pin ever runs under the words.
   On a phone the map becomes a band across the top. */
.club-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,min(40%,500px));align-items:center;
  gap:14px 30px;margin:18px 0 0;padding:20px 20px 20px 24px;text-decoration:none;
  border:1px solid #6b482f;border-left:4px solid var(--gold);
  background:linear-gradient(110deg,#1c130c 40%,#0e0a07 80%);transition:border-color .2s}
.club-cta-copy{display:grid;gap:6px;min-width:0}
.club-cta b{font:400 clamp(1.3rem,2.4vw,1.8rem)/1.15 Georgia,serif;color:#f1d7a4}
.club-cta-copy>span:last-child{font:400 14px/1.55 Georgia,serif;color:#b9a68b;max-width:62ch}
.club-cta:hover{border-color:var(--gold)}
.club-cta-map{position:relative;display:block;aspect-ratio:975/610}
.club-cta-map img{position:absolute;inset:0;width:100%;height:100%;display:block}
.club-cta-pins{position:absolute;inset:0}
/* A pin is a light: a warm core, the logo's ink as a hairline, a gold halo. */
.club-cta-pins i{position:absolute;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;
  background:#ffe7a8;opacity:0;
  box-shadow:0 0 0 1px rgba(23,16,12,.75),0 0 6px 2px rgba(239,182,78,.9),0 0 16px 5px rgba(239,182,78,.3)}
.club-cta-pins i.home{width:9px;height:9px;margin:-4.5px 0 0 -4.5px;background:#f2e7cd;z-index:1;
  box-shadow:0 0 0 2px #ad382b,0 0 0 3px #17100c,0 0 10px 4px rgba(239,182,78,.85),0 0 22px 8px rgba(239,182,78,.3)}
.club-cta.lit .club-cta-pins i{animation:cta-light .8s ease-out var(--d,0s) both}
@keyframes cta-light{0%{opacity:0;transform:scale(.2)}55%{opacity:1;transform:scale(1.8)}100%{opacity:1;transform:scale(1)}}
/* Asking for less motion: the lights still come on, west to east, without the pop. */
@media (prefers-reduced-motion:reduce){.club-cta.lit .club-cta-pins i{animation-name:cta-fade}}
@keyframes cta-fade{from{opacity:0}to{opacity:1}}
.club-cta:hover .club-cta-pins i{filter:brightness(1.3)}
@media(max-width:760px){
  .club-cta{grid-template-columns:minmax(0,1fr);padding:14px 16px 20px 20px}
  .club-cta-map{order:-1}
}

/* ---- a photo behind every Book a Comic card ---------------------------------
   The DJ and the band, the four reasons people book, the four fee tiers and the
   sound checklist were plain bordered text — "these ALL need images". Each card
   now opens on a photo of what it describes, fading into the card where the
   words sit, and its label rides on the photo as a brick stamp like the page
   heads'. Free-licence photos (Unsplash / Pexels), picked by eye. */
.tier[data-art]{position:relative;isolation:isolate;overflow:hidden;padding-top:168px}
.tier[data-art]::before{content:"";position:absolute;z-index:-2;inset:0 0 auto 0;height:226px;
  background:#1a120c var(--art,none) var(--art-pos,center)/cover no-repeat;transition:transform .6s ease}
.tier[data-art]::after{content:"";position:absolute;z-index:-1;inset:0 0 auto 0;height:228px;
  background:linear-gradient(180deg,rgba(15,11,8,.02) 0%,rgba(15,11,8,.28) 45%,rgba(15,11,8,.9) 78%,#0f0b08 100%)}
.tier[data-art]:hover::before{transform:scale(1.05)}
.tier[data-art] .band{position:absolute;top:14px;left:16px;padding:6px 10px;background:var(--red);
  color:#f2e7cd;border:1px solid #17100c;box-shadow:3px 3px 0 #17100c;letter-spacing:.16em}
.tier[data-art] h3{margin-top:0;text-shadow:0 2px 12px #000}
.tier[data-art="dj"]::before{background-image:url('../assets/book-cards/dj.jpg')}
.tier[data-art="band"]::before{background-image:url('../assets/book-cards/band.jpg')}
.tier[data-art="comic"]::before{background-image:url('../assets/book-cards/comic.jpg')}
.tier[data-art="company"]::before{background-image:url('../assets/book-cards/company.jpg')}
.tier[data-art="birthday"]::before{background-image:url('../assets/book-cards/birthday.jpg');background-position:center 30%}
.tier[data-art="fundraiser"]::before{background-image:url('../assets/book-cards/fundraiser.jpg')}
.tier[data-art="wedding"]::before{background-image:url('../assets/book-cards/wedding.jpg')}
.tier[data-art="local"]::before{background-image:url('../assets/book-cards/local.jpg')}
.tier[data-art="road"]::before{background-image:url('../assets/book-cards/road.jpg');background-position:center 35%}
.tier[data-art="specialist"]::before{background-image:url('../assets/book-cards/specialist.jpg')}
.tier[data-art="name"]::before{background-image:url('../assets/book-cards/name.jpg')}
.tier[data-art="sound"]::before{background-image:url('../assets/book-cards/sound.jpg')}
.tier[data-art="stand"]::before{background-image:url('../assets/book-cards/stand.jpg')}
.tier[data-art="kitchen"]::before{background-image:url('../assets/book-cards/kitchen.jpg')}
.tier[data-art="toasts"]::before{background-image:url('../assets/book-cards/toasts.jpg')}
@media(prefers-reduced-motion:reduce){.tier[data-art]::before{transition:none}}
/* Book a Comic's "Send an inquiry." — the heading's descenders sat on the
   form's top border; room under it, now that a photo heads the section. */
#inquire .feature-head{margin-bottom:26px}

/* ==== A photo behind every block of words — the whole site (2026-09-24) =====
   "do same site wide — brand the site — no big text block goes without
   background images." Book a Comic's cards (above) are the model: the photo
   opens the card and fades into it, and the words start where the photo has
   gone dark. Art never sits under the words.

   Two attributes do it:
     data-art="<key>"  which photo. One rule per photo, at the end of this
                       block, sets --art (and --art-pos when the subject sits
                       off-centre). Files live in assets/card-art/ (or are the
                       site's own tab photos, reused), and every one is
                       credited in data/photo-credits.js.
     a layout class    where the photo sits:
       .art-top        a band across the top of a card; the words start on
                       the dark below it.
       .art-side       a panel down the right of a wide row or note, fading
                       left into the card; the words keep to its left. Below
                       760px it turns into a band across the top.
       .art-head       a wide band across the top of a whole section.
       .art-print      the paper cards (torn playbills): the photo is printed
                       on the paper with an inked edge. A night photo cannot
                       fade into cream, so it doesn't try.
       .art-print-side the same on the right of a wide paper strip.
   .tier cards keep their own treatment above; a data-art key works there too.

   The photo is one pseudo-element (::after) whose own alpha fades out — a
   mask, not a painted gradient — so it melts into whatever the card's
   background is, dark, brick or tinted, with no colour to keep in step.
   Components that draw something with ::before (the run sheet's counter)
   keep it. */
/* A photo that comes with the data — a venue's own picture, or the map zoomed
   onto a club — rides in a real child element, <span class="art-ph">, styled
   exactly like the ::after. It cannot go through --art: a relative url() set
   inline in a custom property resolves against css/ and loads nothing (the
   venue page's blurred backdrop hit exactly that, 2026-09-23). */
:root{
  --art-fade-down:linear-gradient(180deg,#000,rgba(0,0,0,.9) 40%,rgba(0,0,0,.34) 70%,transparent 92%);
  --art-fade-left:linear-gradient(90deg,transparent,rgba(0,0,0,.4) 28%,rgba(0,0,0,.9) 62%,#000)}
[data-art]{--art:none}
.art-top,.art-side,.art-head,.art-print,.art-print-side{position:relative;isolation:isolate}
.art-top::after,.art-side::after,.art-head::after,.art-print::after,.art-print-side::after,.art-ph{
  content:"";position:absolute;z-index:-1;pointer-events:none;
  background:var(--art,none) var(--art-pos,center 42%)/cover no-repeat}
.art-top{--art-h:178px;padding-top:calc(var(--art-h) - 30px)!important}
.art-head{--art-h:260px;padding-top:calc(var(--art-h) - 54px)!important}
.art-top::after,.art-head::after,.art-top>.art-ph,.art-head>.art-ph{inset:0 0 auto 0;height:var(--art-h);
  -webkit-mask-image:var(--art-fade-down);mask-image:var(--art-fade-down)}
.art-side{--art-w:min(40%,500px);padding-right:calc(var(--art-w) * .8)!important}
.art-side::after,.art-side>.art-ph{inset:0 0 0 auto;width:var(--art-w);
  -webkit-mask-image:var(--art-fade-left);mask-image:var(--art-fade-left)}
.art-print{--art-h:150px;padding-top:calc(var(--art-h) + 20px)!important}
.art-print::after{inset:0 0 auto 0;height:var(--art-h);border-bottom:3px solid #1a1009;
  filter:sepia(.18) contrast(1.06)}
.art-print-side{--art-w:min(36%,440px);padding-right:calc(var(--art-w) + 26px)!important}
.art-print-side::after{inset:0 0 0 auto;width:var(--art-w);border-left:3px solid #1a1009;
  filter:sepia(.18) contrast(1.06)}
@media(max-width:760px){
  .art-side{padding-right:var(--art-pad,18px)!important;padding-top:124px!important}
  .art-side::after,.art-side>.art-ph{inset:0 0 auto 0;width:auto;height:156px;
    -webkit-mask-image:var(--art-fade-down);mask-image:var(--art-fade-down)}
  .art-head{--art-h:190px}
  .art-print-side{padding-right:var(--art-pad,22px)!important;padding-top:170px!important}
  .art-print-side::after{inset:0 0 auto 0;width:auto;height:150px;border-left:0;border-bottom:3px solid #1a1009}
}
/* The Club Directory's card: a club with a full D.O.C. page shows that room's
   own photo; any other club shows the map zoomed onto its pin — never a stock
   picture standing in for a club it is not. */
.club-card.art-top{position:sticky}            /* sticky still anchors the photo band */
@media(max-width:900px){.club-card.art-top{position:relative}}
/* Stage Time's rooms wear their own photos (data/room-photos.js, credited in
   the corner) — a shorter band on the small "hosts comedy sometimes" boxes. */
.sub-maybe.art-top{--art-h:124px}
.art-ph.map-crop{background-size:320% auto;filter:saturate(1.1)}
.art-ph.map-crop i{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;
  background:var(--red);border:2px solid #f2e7cd;box-shadow:0 0 0 3px rgba(173,56,43,.35),0 2px 8px #000}
.club-caution{margin:12px 0 0;padding:9px 12px;border-left:3px solid var(--red);
  background:rgba(158,41,31,.12);font:400 13px/1.5 Georgia,serif;color:#e6c9a8}
/* A room that hosts stand-up but is not a comedy club (West Virginia and
   Wyoming have no full-time club) — said on its card, never passed off as one. */
.club-kind{margin:12px 0 0;padding:9px 12px;border-left:3px solid var(--gold);
  background:rgba(239,182,78,.08);font:italic 400 13px/1.5 Georgia,serif;color:#e9d3a8}

/* Blocks whose own layout needed a word once their photo arrived (2026-09-24). */
/* Comic Desk, real mode: the route box's right column is empty, so one column. */
.route-match.art-side{grid-template-columns:minmax(0,1fr)}
/* The daily box animated every property, so its photo's padding slid in. */
.daily-command{transition:opacity .3s,border-color .3s}
/* Stage Time's "Record every set" box is held to 780px; size the photo to it. */
.tape-rule.art-side{--art-w:300px}
/* The Industry gate is 560px wide; a narrower photo leaves the words room. */
.gate .art-side{--art-w:min(34%,500px)}
/* Filling the Room's filming opener drew its lower gold line with ::after,
   which the photo now uses — the line is painted into the background. */
.film-open.art-head{background:
  linear-gradient(rgba(239,182,78,.45),rgba(239,182,78,.45)) 0 calc(100% - 4px)/100% 1px no-repeat,
  radial-gradient(circle at 18% 0,rgba(239,182,78,.13),transparent 42%),
  linear-gradient(180deg,#1a1008,#0a0705)}

/* ---- SUCDb (sucdb.html): the database, counted, and a door per audience --- */
.hero-sucdb{background-image:url('../assets/card-art/ind-ledger.jpg');background-position:center 40%}
.sucdb-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:0 0 34px}
.sucdb-count{border:1px solid #6b482f;border-top:3px solid var(--gold);background:#0f0b08;padding:16px 18px}
.sucdb-count b{display:block;font:700 2.3rem/1 Georgia,serif;color:#f2e7cd;text-shadow:3px 3px 0 var(--red)}
.sucdb-count span{display:block;margin-top:9px;font:400 13px/1.45 Georgia,serif;color:#b9a68b}
.sucdb-doors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.sucdb-door{display:flex;flex-direction:column;gap:10px;padding:20px 20px 22px;border:1px solid #6b482f;
  border-bottom:3px solid var(--red);background:linear-gradient(160deg,#1c130c,#0e0a07 70%);scroll-margin-top:110px}
.sucdb-door h3{margin:0;font:400 1.45rem/1.15 Georgia,serif;color:#f1d7a4}
.sucdb-door p{margin:0;font:400 14px/1.6 Georgia,serif;color:#c9b89e}
.sucdb-links{display:flex;flex-direction:column;align-items:flex-start;gap:7px;margin-top:auto;padding-top:6px}
@media(max-width:900px){.sucdb-doors{grid-template-columns:minmax(0,1fr)}}

/* ---- Credits: every card opens on the picture it credits --------------------- */
.hero-credits{background-image:url('../assets/book-cards/name.jpg')}
/* The painted portraits, one small face each with its name — one credit covers them all. */
.painted-wall{display:grid;gap:14px 10px;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));margin-top:18px}
.painted-wall figure{margin:0;display:grid;justify-items:center;gap:6px;text-align:center}
.painted-wall img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid #6b482f;background:#0f0b08}
.painted-wall figcaption{font:400 12px/1.3 Georgia,serif;color:#c9b89e}
.painted-count{display:block;margin-top:22px;font:900 10px/1.4 Inter,sans-serif;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold)}
.credit-filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;
  margin:26px 0 16px}
.credit-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr))}
.credit-card{--art-h:158px;display:grid;align-content:start;gap:6px;border:1px solid #543923;
  background:#0f0b08;padding:16px 16px 18px}
.credit-card b{font:400 17px/1.3 Georgia,serif;color:#f1d7a4}
.credit-by{font:400 14px/1.4 Georgia,serif;color:#d8c9ae}
.credit-by a,.credit-lic a{color:var(--gold)}
.credit-lic{font:900 9px/1.5 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#8d7c66}
.credit-foot{margin-top:30px}

/* ---- On foot: the counted numbers round a room (js/planner.js walkPanel) ------
   Three big numbers first, because the question is "can I do tonight on foot",
   then the lists that answer it: a drink not at the club, food after eleven,
   the hotels you can walk to, and a day off. */
.walk-panel{margin:0 0 26px;padding:22px 24px;border:1px solid #6b482f;border-top:4px solid var(--gold);
  background:#0f0b08}
.walk-top h4{margin:6px 0 4px}
.walk-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr));gap:12px;margin:16px 0 20px}
.walk-stats>div{display:grid;gap:5px;align-content:start;padding:14px 16px;border:1px solid #543923;background:#0b0907}
.walk-stats b{font:700 2.3rem/1 Georgia,serif;color:#f2e7cd;text-shadow:3px 3px 0 var(--red)}
.walk-stats span{font:400 14px/1.4 Georgia,serif;color:#d8c9ae}
.walk-stats em{font:900 9px/1.5 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;font-style:normal;color:#8d7c66}
.walk-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:8px 26px}
.walk-panel h5{margin:18px 0 10px;font:900 11px/1.3 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.walk-panel h5 small{margin-left:8px;font:italic 400 12px Georgia,serif;letter-spacing:0;text-transform:none;color:#8d7c66}
.walk-panel h6{margin:16px 0 8px;font:900 10px/1.3 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#c9a24a}
.walk-list{list-style:none;margin:0;padding:0;display:grid}
.walk-list li{display:flex;flex-wrap:wrap;gap:3px 12px;align-items:baseline;justify-content:space-between;
  padding:8px 0;border-bottom:1px solid #2a1d14}
.walk-list b{font:400 15px/1.3 Georgia,serif;color:#f1d7a4}
.walk-list span{font:400 13px/1.4 Georgia,serif;color:#b9a68b}
.walk-none,.walk-note{margin:8px 0;font:italic 400 14px/1.55 Georgia,serif;color:#a9967f;max-width:70ch}
.walk-note{font-size:12.5px;color:#8d7c66}
.walk-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.walk-chip{padding:7px 10px;border:1px solid #543923;background:transparent;color:#c9b89e;cursor:pointer;
  font:900 10px/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.walk-chip b{margin-left:4px;color:var(--gold)}
.walk-chip i{margin-left:6px;font-style:normal;color:#e08a80}
.walk-chip:hover{border-color:var(--gold)}
.walk-chip.on{background:var(--gold);border-color:var(--gold);color:#17100c}
.walk-chip.on b,.walk-chip.on i{color:#17100c}
.walk-hotels{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}
.walk-hotel{display:grid;gap:5px;align-content:start;text-align:left;padding:14px 16px;border:1px solid #543923;
  background:#0b0907;color:#c5b69e;font:400 13px/1.45 Georgia,serif;cursor:pointer}
.walk-hotel b{font:400 17px/1.25 Georgia,serif;color:#f1d7a4}
.walk-hotel .walk-mins{font:900 10px/1.4 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.walk-hotel:hover{border-color:#8a5f38}
.walk-hotel.on{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.club-walk{margin:12px 0 0;padding:10px 12px;border-left:3px solid var(--gold);background:rgba(239,182,78,.07);
  font:400 13px/1.5 Georgia,serif;color:#d8c9ae}
.club-walk b{display:block;margin-bottom:3px;font:900 9px/1.3 Inter,sans-serif;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold)}
.club-walk a{color:var(--gold)}
/* Road Maps (roadmaps.html): picture tabs in rows of five — the book's road maps, then (26 Sept) the
   business of the road; a tab left alone on the last row spans it. Each card carries the book's words
   under the headings of the book's own table, then where to read more; each list carries a photo
   across its head. */
.road-tabs.maps-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
.road-tabs.maps-tabs>:last-child:nth-child(5n+1){grid-column:1/-1}
@media(max-width:1060px){.road-tabs.maps-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .road-tabs.maps-tabs>:last-child:nth-child(5n+1){grid-column:auto}
  .road-tabs.maps-tabs>:last-child:nth-child(3n+1){grid-column:1/-1}}
@media(max-width:600px){.road-tabs.maps-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .road-tabs.maps-tabs>:last-child:nth-child(3n+1),.road-tabs.maps-tabs>:last-child:nth-child(5n+1){grid-column:auto}
  .road-tabs.maps-tabs>:last-child:nth-child(odd){grid-column:1/-1}}
/* Book a Comic's open-mic photo (styled for its .tier cards only) on a Road Maps card too: Your Next
   90 Days, "Starting out". */
[data-art="comic"]{--art:url('../assets/book-cards/comic.jpg')}
.map-card p{margin:8px 0 0;font:400 14px/1.5 Georgia,serif;color:#d8c9ae}
.map-card p i.map-h{display:block;margin-bottom:2px;font:900 9.5px/1.3 Inter,sans-serif;font-style:normal;letter-spacing:.1em;
  text-transform:uppercase;color:#c9a24a}
.map-card p a{color:var(--gold)}
.map-card .road-cite{display:block;margin-top:8px}
.map-list{margin-top:22px}
.map-list ul{margin:8px 0 0;padding-left:18px}
.map-list li{margin:6px 0;font:400 15px/1.55 Georgia,serif;color:#d8c9ae}
.map-list li b{color:#f1d7a4}
/* Buddy Up (buddy.html): On the Road's tabs and cards, five tabs across; the split's four comics
   side by side; the agreement's questions with their topic numbers. */
.road-tabs.buddy-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1060px){.road-tabs.buddy-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.road-tabs.buddy-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Filling the Room (promotion.html, 28 Sept 2026): the same picture tabs, four across, two a row on a phone. */
.road-tabs.promo-tabs{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:26px}
@media(max-width:600px){.road-tabs.promo-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.buddy-mins{display:block;margin:2px 0 6px;font:900 10px/1.3 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;
  font-style:normal;color:var(--gold)}
.buddy-h{margin:30px 0 12px}
.buddy-h small{display:block;margin-top:4px;font:italic 400 13px Georgia,serif;letter-spacing:0;text-transform:none;color:#8d7c66}
#bsPeople{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr));gap:10px;margin-top:8px}
.bs-person{margin:0;padding:10px 12px 4px;border:1px solid #543923;min-width:0}
.bs-person legend{padding:0 6px;font:900 10px/1.3 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.buddy-split .road-text-out{margin-top:14px}
.buddy-agree label span{margin-left:6px;font:italic 400 11.5px Georgia,serif;letter-spacing:0;text-transform:none;color:#8d7c66}
/* D.O.C. Comedy on Wheels (wheels.html): On the Road's six picture tabs; the spot finder reuses
   Working a Room's walk panel; the decal and the name plate are drawn at full width and scale down. */
#wsOut{margin-top:16px}
.wheels-rules{margin:6px 0 0;padding-left:18px}
.wheels-rules li{margin:6px 0;font:400 14.5px/1.55 Georgia,serif;color:#d8c9ae}
.wheels-decal{display:grid;gap:12px;justify-items:start;margin:4px 0 26px}
.wheels-decal img{display:block;width:100%;max-width:760px;height:auto}
.wheels-members{max-width:760px;margin:0;padding:12px 16px;border-left:3px solid var(--gold);background:#17100b;
  font:400 14.5px/1.55 Georgia,serif;color:#d8c9ae}
.wheels-members b{color:#f1d7a4}
.wheels-members a{color:var(--gold)}
/* 1 Oct 2026: the way to the decal's print file, as three steps */
.wheels-members p{margin:0}
.wheels-members ol{margin:8px 0 0;padding-left:22px}
.wheels-members li{margin:5px 0}
.wheels-plate{margin-bottom:26px}
.wheels-plate-out{margin:12px 0}
.wheels-plate-out svg{display:block;width:100%;max-width:760px;height:auto}
.wheels-plate-dl{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 8px}
/* Nerves & Hecklers (nerves.html): five tabs across, like Buddy Up; the breathing ring grows on the
   breath in and shrinks on the long breath out, each step as long as NERVES_BREATHE says. */
.road-tabs.nerves-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1060px){.road-tabs.nerves-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.road-tabs.nerves-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.road-text-grid>.road-text{margin-top:0}
.breathe-ring{--secs:4s;display:grid;place-items:center;width:168px;height:168px;margin:14px auto 18px;border-radius:50%;
  border:2px solid var(--gold);background:radial-gradient(circle,#3a2412 0,#140d08 70%);transform:scale(.72);
  transition:transform var(--secs) ease-in-out,box-shadow var(--secs) ease-in-out}
.breathe-ring span{font:900 11px/1.3 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#f1d7a4;
  text-align:center;padding:0 14px}
.breathe-ring.in{transform:scale(.9);box-shadow:0 0 28px rgba(239,182,78,.25)}
.breathe-ring.top{transform:scale(1);box-shadow:0 0 38px rgba(239,182,78,.35)}
.breathe-ring.out{transform:scale(.72);box-shadow:none}
.breathe-ring.hold{box-shadow:0 0 18px rgba(239,182,78,.2)}
@media(prefers-reduced-motion:reduce){.breathe-ring{transition:none}}
/* Get Paid, Get Back (get-paid.html): the door table is small, so it needs less room than On the
   Road's cover table before it scrolls inside its own box. */
.road-table.paid-door{min-width:520px}
.road-table.paid-door td{white-space:nowrap}
.road-table.paid-door tr.paid-you td{color:#f1d7a4;font-weight:700}
.road-table.paid-door td small{display:block;font:italic 400 11.5px Georgia,serif;color:#8d7c66;white-space:normal}
/* A comic's own words under a story (Nerves & Hecklers, Get Paid, The Hollywood Effect) — only once
   the card is approved at the Card Desk (data/quotes.js); credited the way the book credits them. */
.chain-body blockquote.wtf-quote{margin:10px 0 4px;padding:8px 12px;border-left:3px solid var(--gold);
  background:#17100b;font:italic 400 15px/1.5 Georgia,serif;color:#efd9ae}
.chain-body .wtf-credit{display:block;margin:0 0 6px;font:400 12px/1.4 Georgia,serif;color:#b7a48a}
/* The Hollywood Effect (hollywood.html): what they say / what it means / what you say, each reply
   with its own copy button; the check's ticks turn brick (a flag), not struck through (packed). */
.hw-says{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:12px}
.hw-say{padding:18px 20px;border:1px solid #6b482f;border-top:4px solid var(--red,#ad382b);background:#0f0b08;min-width:0}
.hw-say h6{margin:0 0 4px;font:900 9.5px/1.3 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#c9a24a}
.hw-say q{display:block;margin:0 0 12px;font:italic 400 17px/1.4 Georgia,serif;color:#f1d7a4;quotes:"“" "”"}
.hw-say p{margin:0 0 12px;font:400 14px/1.55 Georgia,serif;color:#d8c9ae}
.hw-say blockquote{margin:0 0 12px;padding:10px 12px;border-left:3px solid var(--gold);background:#17100b;
  font:400 14px/1.5 Georgia,serif;color:#efd9ae}
.hw-say .road-cite{display:block;margin:-4px 0 10px}
.hw-say .source-btn{padding:8px 12px;font-size:11px}
.hw-say .road-status{margin-left:8px}
.hw-flag input:checked+b{color:#f2b9a0;text-decoration:none}
.hw-check li{padding:10px 0}
.hw-check-out{padding:16px 18px;border:1px solid #6b482f;background:#0f0b08;align-self:start}
.hw-check-out h5{margin:0 0 8px;font:900 11px/1.3 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.hw-check-out ul{margin:0;padding-left:18px}
.hw-check-out li{margin:8px 0;font:400 14px/1.5 Georgia,serif;color:#d8c9ae}
.hw-check-out li b{color:#f2b9a0}
.hw-check-out p{margin:8px 0 0;font:400 14px/1.5 Georgia,serif;color:#d8c9ae}
/* 1 Oct 2026: each flag says how much it weighs — "A line" (brick, reason on its own to say no) or "Ask
   first" (gold, a question to get answered) — and the photo bands over the page's lists stay a little
   shorter than a whole section's. */
.hw-check-out .hw-weigh{display:block;margin:0 0 2px;font:900 9px/1.3 Inter,sans-serif;letter-spacing:.12em;
  text-transform:uppercase;color:#e0866f}
.hw-check-out li.hw-ask .hw-weigh{color:#c9a24a}
.hw-check-out li.hw-ask b{color:#f1d7a4}
.chain-list[id^="hw"].art-head,.hw-check-grid.art-head{--art-h:220px}
@media(max-width:760px){.chain-list[id^="hw"].art-head,.hw-check-grid.art-head{--art-h:170px}}
#hwRooms.art-head{--art-pos:center 72%}   /* down to the café table, not the lampshade */
/* What the room asks of comics (clubs.html, data/club-rules.js). */
.club-rules h6{margin:9px 0 3px;font:900 9px/1.3 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#c9a24a}
.club-rules ul{margin:0;padding-left:16px}
.club-rules li{margin:3px 0;cursor:help}
.club-rules li a{margin-left:4px;font-size:11.5px;white-space:nowrap}
.club-rules details{margin-top:4px}
.club-rules summary{cursor:pointer;font:900 10px/1.6 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.club-rules p{margin:8px 0 0;font:italic 400 12px/1.45 Georgia,serif;color:#8d7c66}
/* Material from this town (js/material.js): the same panel, with a "miles from" picker and the
   book's notebook prompt. */
.mat-from{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;
  font:900 10px/1.3 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#8d7c66}
.mat-from select{flex:1 1 220px;min-width:0;max-width:100%;background:#15100c;border:1px solid #69472f;color:#f1e5d2;
  padding:9px 10px;font:400 14px Georgia,serif;letter-spacing:0;text-transform:none}
.mat-book{margin:18px 0 6px;padding:12px 14px;border-left:3px solid var(--red);background:rgba(173,56,43,.1)}
.mat-book b{display:block;margin-bottom:4px;font:900 10px/1.3 Inter,sans-serif;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold)}
.mat-book p{margin:0;font:italic 400 15px/1.55 Georgia,serif;color:#e7d6b8}
.mat-book span{font-style:normal;font-size:12.5px;color:#8d7c66}
.walk-note a{color:var(--gold)}

/* ---- On the Road (road.html) -----------------------------------------------
   Six picture tabs in the Gig Board's style; each tab's photo is its data-art
   key, so a tab whose photo has not landed yet shows the plain dark ground
   instead of a hole. The kit reuses Bootstrap a Room's .kit-tier cards with a
   tick box on every item, the steps reuse .chain-list, the cards .vote-point. */
.hero-road{background-image:url('../assets/card-art/road-drive.jpg');background-position:center 62%}
.road-tabs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:0 0 26px;scroll-margin-top:96px}
.road-tabs button{position:relative;isolation:isolate;overflow:hidden;min-height:132px;padding:74px 13px 13px;
  display:flex;flex-direction:column;justify-content:flex-end;gap:5px;text-align:left;cursor:pointer;
  border:1px solid #67452b;background:#100b08 var(--art,none) var(--art-pos,center)/cover no-repeat;color:#f4dfb8;
  transition:transform .2s ease,border-color .2s ease}
.road-tabs button:before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(5,3,2,.06),rgba(5,3,2,.3) 38%,rgba(5,3,2,.95))}
.road-tabs button span{font:900 11.5px/1.15 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 2px 8px #000}
.road-tabs button small{font:400 12px/1.3 Georgia,serif;color:#cdbb9f;text-shadow:0 2px 8px #000}
.road-tabs button:hover{transform:translateY(-3px);border-color:var(--gold)}
.road-tabs button.active{border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold)}
.road-tabs button.active span{color:var(--gold)}
.road-tabs button:focus-visible{outline:2px solid #f2c66d;outline-offset:3px}
/* The kit pages' tab groups (1 Oct 2026, js/kitmaps.js): a gold label across the grid before each group */
.road-tabs .kit-group-h{grid-column:1/-1;margin:8px 0 -2px;font:900 11px/1 Inter,sans-serif;letter-spacing:.16em;
  text-transform:uppercase;color:var(--gold)}
.road-tabs .kit-group-h:first-child{margin-top:0}
.road-panel{display:none;scroll-margin-top:200px}
.road-panel.active{display:block}
@media(max-width:1060px){.road-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){
  .road-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .road-tabs button{min-height:92px;padding:48px 10px 10px}
  .road-tabs button span{font-size:10px}
  .road-tabs button small{display:none}
}
@media(prefers-reduced-motion:reduce){.road-tabs button{transition:none}}
.road-head{display:grid;gap:10px;margin:0 0 18px}
.road-head h2{margin:6px 0 0;font:400 clamp(1.6rem,3vw,2.2rem)/1.1 Georgia,serif;color:#f1d7a4;text-wrap:balance}
.road-head .section-note{margin:0;max-width:74ch}
.road-count{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;font:400 14px/1.4 Georgia,serif;color:#c5b69e}
.road-count b{font:700 1.5rem/1 Georgia,serif;color:#f2e7cd;text-shadow:2px 2px 0 var(--red)}
.road-count button{margin-left:6px;padding:0;border:0;background:none;cursor:pointer;
  font:400 13px Georgia,serif;color:#a9967f;text-decoration:underline;text-underline-offset:3px}
.road-count button:hover{color:var(--gold)}
/* the kit: eight cards, so four across (two full rows), then two, then one;
   a tick box on every item, the item's name beside it */
.kit-tiers.road-kit{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1100px){.kit-tiers.road-kit{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.kit-tiers.road-kit{grid-template-columns:minmax(0,1fr)}}
.road-items li{display:grid;gap:4px}
.road-pack{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.road-pack input{flex:0 0 auto;width:16px;height:16px;margin:2px 0 0;accent-color:var(--gold)}
.road-pack b{font:700 14px/1.35 Georgia,serif;color:#efd9ae}
.road-pack input:checked+b{color:#8f806d;text-decoration:line-through;text-decoration-color:rgba(239,182,78,.55)}
.road-items span,.road-items a{margin-left:26px}
.kit-items.road-items span{font-size:12.5px}
.kit-items.road-items a{font-size:12px}
/* A link inside an item's words ("Before you roll") stays in its sentence: the block "Find one →" style above is
   for the item's own link only (1 Oct 2026). */
.kit-items.road-items span a{display:inline;margin-left:0;font-size:inherit}
.road-kit .kit-all{margin-top:12px}
/* the source line under a card; doubled class so a card's own span rules
   (.vote-point span, .road-card span) cannot restyle it */
.road-cite.road-cite{display:block;margin-top:12px;font:900 8.5px/1.7 Inter,sans-serif;letter-spacing:.1em;
  text-transform:uppercase;color:#8d7c66}
.road-cite a{color:#b99a62;text-decoration:none;border-bottom:1px solid rgba(185,154,98,.35)}
.road-cite a:hover{color:var(--gold)}
/* on a phone a source link (a WTF episode, a book topic) was an 11px-tall target: room above it to tap
   (1 Oct 2026), the underline still under the words */
@media (max-width:700px){.road-cite a{display:inline-block;padding:10px 0 4px}}
.chain-body .road-cite.road-cite{margin-top:0}
/* three across (six cards make two full rows); the two long Broke down cards
   sit side by side */
.road-cards{margin-top:22px;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr))}
.road-cards.two{grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr))}
.road-card>span:not(.road-cite):not(.art-ph){display:block;font-size:14px;line-height:1.62;color:#bba88d}
/* the cover table: data, so it scrolls sideways in its own box on a phone */
.road-table-wrap{overflow-x:auto;margin:0 0 6px;border:1px solid #543923;background:#0f0b08}
.road-table{width:100%;min-width:760px;border-collapse:collapse;font:400 13.5px/1.5 Georgia,serif;color:#d8c9ae}
.road-table th,.road-table td{padding:12px 14px;border-bottom:1px solid #2a1d14;text-align:left;vertical-align:top}
.road-table thead th{font:900 10px/1.3 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;
  color:var(--gold);background:#17100b}
.road-table thead td{background:#17100b}
.road-table tbody th{width:16%;font:900 9.5px/1.45 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#b7a48a}
.road-table tbody tr:last-child>*{border-bottom:0}
/* the text home */
.road-text{margin-top:30px;padding:22px 24px;border:1px solid #6b482f;border-top:4px solid var(--gold);background:#0f0b08}
.road-text h4{margin:6px 0 6px}
.road-text .join-form{border:0;background:none;padding:0}
.road-text-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px;margin-top:16px}
.road-text-out pre{margin:8px 0 12px;padding:14px 16px;min-height:132px;white-space:pre-wrap;overflow-wrap:anywhere;
  background:#0b0907;border:1px solid #543923;font:400 14px/1.6 Georgia,serif;color:#efe2c8}
.road-text-out .btn-gold:disabled{opacity:.45;cursor:default}
.road-status{display:block;margin-top:8px;font:400 13px/1.4 Georgia,serif;color:var(--green,#7fb069)}
@media(max-width:800px){.road-text-grid{grid-template-columns:minmax(0,1fr)}}
.road-more{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.road-sources ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px 22px;
  grid-template-columns:repeat(auto-fill,minmax(min(380px,100%),1fr))}
.road-sources li a{font:400 13.5px/1.45 Georgia,serif;color:#d8c9ae;text-decoration:none;border-bottom:1px solid #3a281a}
.road-sources li a:hover{color:var(--gold)}

/* ---- Make the Trip Pay (pay.html) — The Twelve ------------------------------
   The Gig Board's picture tabs, but each tab shows its own data-art photo
   rather than the board's (so the nth-child pictures are overridden), and a
   tab whose photo has not landed shows the plain dark ground. */
.hero-pay{background-image:url('../assets/card-art/pay-hero.jpg');background-position:center 45%}
.gig-tabs.pay-tabs button:nth-child(n){background-image:var(--art,none);background-position:var(--art-pos,center)}
.pay-load{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;min-width:0;max-width:100%}
.pay-load label{font:900 9px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#b7a48a}
.pay-load select{background:#15100c;border:1px solid #69472f;color:#f1e5d2;padding:10px;font:400 14px Georgia,serif;
  min-width:min(360px,100%);max-width:100%}   /* a long stop name can't push the page past a phone's edge */
.f-2.pay-three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:560px){.f-2.pay-three{grid-template-columns:minmax(0,1fr)}}
.pay-fixed{display:block;padding:12px;border:1px dashed #69472f;color:#f1d7a4;font:400 14px/1.4 Georgia,serif}
.pay-floor{margin:-4px 0 14px;padding:10px 12px;border-left:3px solid var(--red);background:rgba(158,41,31,.12);
  font:400 13px/1.5 Georgia,serif;color:#e6c9a8}
.pay-bars{margin:-4px 0 16px}
.pay-bars .join-kicker{margin-bottom:8px}
.pay-maplink{font:400 13px Georgia,serif;color:var(--gold)}
.pay-money{display:grid;gap:6px;margin:8px 0 18px;padding:16px 18px;border:1px solid #6b482f;border-top:4px solid var(--gold);background:#0b0907}
.pay-money b{font:700 2.6rem/1 Georgia,serif;color:#f2e7cd;text-shadow:3px 3px 0 var(--red)}
.pay-money span{font:400 14px/1.5 Georgia,serif;color:#d8c9ae}
.pay-money .pay-covers{color:#b9a68b;font-size:13px}
.pay-post{margin-bottom:12px}
.pay-post textarea{width:100%}
.pay-add{margin-top:14px}
/* ---- the photos: one rule each (keys are listed in data/photo-credits.js) ---- */
/* The site's own tab and hero pictures, reused where they fit — never twice on
   one page (the Gig Board's hero wall already shows all six booking tabs, so its
   gig cards use other photos). */
[data-art="ind-accept"]{--art:url('../assets/booking-tabs/private-parties.webp')}
[data-art="ind-clubs"]{--art:url('../assets/book-cards/road.jpg');--art-pos:center 35%}
[data-art="ind-colleges"]{--art:url('../assets/booking-tabs/college-gigs.webp')}
[data-art="ind-cruise"]{--art:url('../assets/booking-tabs/resorts-cruises.webp')}
[data-art="ind-corporate"]{--art:url('../assets/booking-tabs/corporate-events.webp')}
[data-art="ind-arenas"]{--art:url('../assets/brand/hero-arena.jpg')}
[data-art="craft-pod-bombed"]{--art:url('../assets/feed-tabs/tv-standup.webp')}
[data-art="craft-wtflist"]{--art:url('../assets/feed-tabs/podcasts.webp');--art-pos:center 60%}
[data-art="desk-demand"]{--art:url('../assets/feed-tabs/come-to-my-city.webp')}
[data-art="clubs-idle"]{--art:url('../assets/feed-tabs/near-you.webp');--art-pos:center 20%}
[data-art="venue-around"]{--art:url('../assets/feed-tabs/near-you.webp');--art-pos:center 20%}
[data-art="gig-club"]{--art:url('../assets/book-cards/road.jpg');--art-pos:center 35%}
[data-art="gig-college"]{--art:url('../assets/book-cards/specialist.jpg')}
[data-art="gig-corporate"]{--art:url('../assets/book-cards/company.jpg')}
[data-art="gig-private"]{--art:url('../assets/book-cards/birthday.jpg');--art-pos:center 30%}
[data-art="gig-charity"]{--art:url('../assets/book-cards/fundraiser.jpg')}
/* A grid of six photo cards reads as a set in threes; auto-fit left the sixth
   alone on a row once the cards had pictures to make the gap obvious. */
.tier-grid.six{grid-template-columns:repeat(auto-fit,minmax(min(340px,100%),1fr))}
/* Photos copied in by tools/card-art-add.js, each with its credit. */
[data-art="st-dj"]{--art:url('../assets/card-art/st-dj.jpg')}
[data-art="st-stages"]{--art:url('../assets/card-art/st-stages.jpg')}
[data-art="st-nomic"]{--art:url('../assets/card-art/st-nomic.jpg')}
[data-art="sound"]{--art:url('../assets/book-cards/sound.jpg')}   /* Stage Time national's panel (30 Sept 2026) */
[data-art="ind-room"]{--art:url('../assets/card-art/ind-room.jpg');--art-pos:center 40%}
[data-art="ind-theaters"]{--art:url('../assets/card-art/ind-theaters.jpg')}
[data-art="tour-electorate"]{--art:url('../assets/card-art/tour-electorate.jpg')}
[data-art="tour-route"]{--art:url('../assets/card-art/tour-route.jpg');--art-pos:center 62%}
[data-art="claim-night"]{--art:url('../assets/card-art/claim-night.jpg')}
[data-art="gigs-empty"]{--art:url('../assets/card-art/gigs-empty.jpg')}
[data-art="gig-festival"]{--art:url('../assets/card-art/gig-festival.jpg')}
[data-art="pr-builtfor"]{--art:url('../assets/card-art/pr-builtfor.jpg')}
[data-art="room-help"]{--art:url('../assets/card-art/room-help.jpg')}
[data-art="book-fees"]{--art:url('../assets/card-art/book-fees.jpg')}
[data-art="book-ask"]{--art:url('../assets/card-art/book-ask.jpg')}
[data-art="tour-legends"]{--art:url('../assets/card-art/tour-legends.jpg')}
[data-art="tour-door"]{--art:url('../assets/card-art/tour-door.jpg')}
[data-art="tour-ask"]{--art:url('../assets/card-art/tour-ask.jpg')}
[data-art="tour-cadence"]{--art:url('../assets/card-art/tour-cadence.jpg')}
[data-art="tour-permission"]{--art:url('../assets/card-art/tour-permission.jpg')}
[data-art="tour-miles"]{--art:url('../assets/card-art/tour-miles.jpg')}
[data-art="join-open"]{--art:url('../assets/card-art/join-open.jpg')}
[data-art="join-style"]{--art:url('../assets/card-art/join-style.jpg')}
[data-art="join-topics"]{--art:url('../assets/card-art/join-topics.jpg')}
[data-art="join-cleanband"]{--art:url('../assets/card-art/join-cleanband.jpg')}
[data-art="measure-filler"]{--art:url('../assets/card-art/measure-filler.jpg')}
[data-art="measure-swear"]{--art:url('../assets/card-art/measure-swear.jpg')}
[data-art="measure-clean"]{--art:url('../assets/card-art/measure-clean.jpg')}
[data-art="measure-nojoke"]{--art:url('../assets/card-art/measure-nojoke.jpg')}
[data-art="measure-crutch"]{--art:url('../assets/card-art/measure-crutch.jpg')}
[data-art="measure-pace"]{--art:url('../assets/card-art/measure-pace.jpg')}
[data-art="measure-gaps"]{--art:url('../assets/card-art/measure-gaps.jpg')}
[data-art="join-saturated"]{--art:url('../assets/card-art/join-saturated.jpg')}
[data-art="join-where"]{--art:url('../assets/card-art/join-where.jpg')}
[data-art="join-shape"]{--art:url('../assets/card-art/join-shape.jpg')}
[data-art="join-language"]{--art:url('../assets/card-art/join-language.jpg')}
[data-art="join-critique"]{--art:url('../assets/card-art/join-critique.jpg')}
[data-art="note-waiting"]{--art:url('../assets/card-art/note-waiting.jpg')}
[data-art="join-price"]{--art:url('../assets/card-art/join-price.jpg')}
[data-art="join-offline"]{--art:url('../assets/card-art/join-offline.jpg')}
[data-art="claim-shut"]{--art:url('../assets/card-art/claim-shut.jpg')}
[data-art="claim-open"]{--art:url('../assets/book-cards/comic.jpg')}
[data-art="claim-posts"]{--art:url('../assets/card-art/claim-posts.jpg')}
[data-art="claim-found"]{--art:url('../assets/card-art/claim-found.jpg')}
[data-art="claim-yours"]{--art:url('../assets/card-art/claim-yours.jpg')}
[data-art="gigs-expires"]{--art:url('../assets/card-art/gigs-expires.jpg')}
[data-art="pr-link"]{--art:url('../assets/card-art/pr-link.jpg')}
[data-art="pr-beat-announce"]{--art:url('../assets/card-art/pr-beat-announce.jpg')}
[data-art="pr-beat-dayof"]{--art:url('../assets/card-art/pr-beat-dayof.jpg')}
[data-art="pr-unlit"]{--art:url('../assets/card-art/pr-unlit.jpg')}
[data-art="pr-askclub"]{--art:url('../assets/card-art/pr-askclub.jpg')}
[data-art="pr-signal"]{--art:url('../assets/card-art/pr-signal.jpg')}
[data-art="stage-bowling"]{--art:url('../assets/card-art/stage-bowling.jpg')}
[data-art="stage-church"]{--art:url('../assets/card-art/stage-church.jpg')}
[data-art="stage-library"]{--art:url('../assets/card-art/stage-library.jpg')}
[data-art="stage-winery"]{--art:url('../assets/card-art/stage-winery.jpg')}
[data-art="stage-fair"]{--art:url('../assets/card-art/stage-fair.jpg')}
[data-art="stage-college"]{--art:url('../assets/card-art/stage-college.jpg')}
[data-art="stage-company"]{--art:url('../assets/card-art/stage-company.jpg')}
[data-art="boot-restaurant"]{--art:url('../assets/card-art/boot-restaurant.jpg')}
[data-art="ind-demand"]{--art:url('../assets/card-art/ind-demand.jpg')}
[data-art="ind-fee"]{--art:url('../assets/card-art/ind-fee.jpg')}
[data-art="ind-code"]{--art:url('../assets/card-art/ind-code.jpg')}
[data-art="craft-q-bomb"]{--art:url('../assets/card-art/craft-q-bomb.jpg')}
[data-art="craft-q-hour"]{--art:url('../assets/card-art/craft-q-hour.jpg')}
[data-art="craft-rule"]{--art:url('../assets/card-art/craft-rule.jpg')}
[data-art="craft-q-good"]{--art:url('../assets/card-art/craft-q-good.jpg')}
[data-art="side-persona"]{--art:url('../assets/card-art/side-persona.jpg')}
[data-art="side-punchline"]{--art:url('../assets/card-art/side-punchline.jpg')}
[data-art="craft-q-tell"]{--art:url('../assets/card-art/craft-q-tell.jpg')}
[data-art="craft-pod-wtf"]{--art:url('../assets/card-art/craft-pod-wtf.jpg')}
[data-art="craft-index"]{--art:url('../assets/card-art/craft-index.jpg')}
[data-art="road-drive"]{--art:url('../assets/card-art/road-drive.jpg');--art-pos:center 62%}
[data-art="road-van-night"]{--art:url('../assets/card-art/road-van-night.jpg')}
[data-art="road-alone"]{--art:url('../assets/card-art/road-alone.jpg')}
[data-art="road-room"]{--art:url('../assets/card-art/road-room.jpg')}
[data-art="road-longtow"]{--art:url('../assets/card-art/road-longtow.jpg')}
[data-art="road-tab-kit"]{--art:url('../assets/card-art/road-tab-kit.jpg')}
[data-art="road-tab-before"]{--art:url('../assets/card-art/road-tab-before.jpg')}
[data-art="road-tab-down"]{--art:url('../assets/card-art/road-tab-down.jpg');--art-pos:center 55%}
[data-art="road-tab-cover"]{--art:url('../assets/card-art/road-tab-cover.jpg')}
[data-art="road-tab-night"]{--art:url('../assets/card-art/road-tab-night.jpg')}
[data-art="road-tab-solo"]{--art:url('../assets/card-art/road-tab-solo.jpg')}
[data-art="road-kit-stop"]{--art:url('../assets/card-art/road-kit-stop.jpg')}
[data-art="pay-hero"]{--art:url('../assets/card-art/pay-hero.jpg')}
[data-art="road-kit-move"]{--art:url('../assets/card-art/road-kit-move.jpg')}
[data-art="road-kit-wait"]{--art:url('../assets/card-art/road-kit-wait.jpg')}
[data-art="road-kit-aid"]{--art:url('../assets/card-art/road-kit-aid.jpg')}
[data-art="road-kit-winter"]{--art:url('../assets/card-art/road-kit-winter.jpg');--art-pos:center 40%}
[data-art="road-kit-cams"]{--art:url('../assets/card-art/road-kit-cams.jpg')}
[data-art="road-kit-phone"]{--art:url('../assets/card-art/road-kit-phone.jpg')}
[data-art="road-tires"]{--art:url('../assets/card-art/road-tires.jpg')}
[data-art="road-van"]{--art:url('../assets/card-art/road-van.jpg');--art-pos:center 60%}
[data-art="book-inquiry"]{--art:url('../assets/card-art/book-inquiry.jpg');--art-pos:center 58%}
[data-art="venue-rule"]{--art:url('../assets/card-art/venue-rule.jpg')}
[data-art="venue-ride"]{--art:url('../assets/card-art/venue-ride.jpg')}
[data-art="venue-seat"]{--art:url('../assets/card-art/venue-seat.jpg')}
[data-art="venue-train"]{--art:url('../assets/card-art/venue-train.jpg')}
[data-art="venue-walk"]{--art:url('../assets/card-art/venue-walk.jpg')}
[data-art="venue-facts"]{--art:url('../assets/card-art/venue-facts.jpg');--art-pos:center 62%}
[data-art="venue-ev"]{--art:url('../assets/card-art/venue-ev.jpg')}
[data-art="venue-transit"]{--art:url('../assets/card-art/venue-transit.jpg')}
[data-art="venue-staff"]{--art:url('../assets/card-art/venue-staff.jpg')}
[data-art="venue-plan"]{--art:url('../assets/card-art/venue-plan.jpg');--art-pos:center 72%}
[data-art="venue-drink"]{--art:url('../assets/card-art/venue-drink.jpg')}
[data-art="venue-share"]{--art:url('../assets/card-art/venue-share.jpg')}
[data-art="venue-park"]{--art:url('../assets/card-art/venue-park.jpg')}
[data-art="venue-timeline"]{--art:url('../assets/card-art/venue-timeline.jpg')}
[data-art="craft-q-start"]{--art:url('../assets/card-art/craft-q-start.jpg')}
[data-art="craft-q-firsttime"]{--art:url('../assets/card-art/craft-q-firsttime.jpg')}
[data-art="craft-q-write"]{--art:url('../assets/card-art/craft-q-write.jpg')}
[data-art="craft-q-dayjob"]{--art:url('../assets/card-art/craft-q-dayjob.jpg')}
[data-art="craft-q-advice"]{--art:url('../assets/card-art/craft-q-advice.jpg')}
[data-art="craft-pod-goodone"]{--art:url('../assets/card-art/craft-pod-goodone.jpg')}
[data-art="side-joke"]{--art:url('../assets/card-art/side-joke.jpg')}
[data-art="side-premise"]{--art:url('../assets/card-art/side-premise.jpg')}
[data-art="side-observe"]{--art:url('../assets/card-art/side-observe.jpg')}
[data-art="side-pov"]{--art:url('../assets/card-art/side-pov.jpg')}
[data-art="side-tell"]{--art:url('../assets/card-art/side-tell.jpg')}
[data-art="side-actout"]{--art:url('../assets/card-art/side-actout.jpg')}
[data-art="side-borrowed"]{--art:url('../assets/card-art/side-borrowed.jpg')}
[data-art="side-yours"]{--art:url('../assets/card-art/side-yours.jpg')}
[data-art="side-subtract"]{--art:url('../assets/card-art/side-subtract.jpg')}
[data-art="side-construct"]{--art:url('../assets/card-art/side-construct.jpg')}
[data-art="craft-wtfmethod"]{--art:url('../assets/card-art/craft-wtfmethod.jpg')}
[data-art="craft-step-index"]{--art:url('../assets/card-art/craft-step-index.jpg')}
[data-art="craft-step-transcribe"]{--art:url('../assets/card-art/craft-step-transcribe.jpg')}
[data-art="craft-step-reply"]{--art:url('../assets/card-art/craft-step-reply.jpg')}
[data-art="craft-step-never"]{--art:url('../assets/card-art/craft-step-never.jpg')}
[data-art="craft-cross"]{--art:url('../assets/card-art/craft-cross.jpg')}
[data-art="ind-lock"]{--art:url('../assets/card-art/ind-lock.jpg')}
[data-art="ind-ledger"]{--art:url('../assets/card-art/ind-ledger.jpg')}
[data-art="ind-access"]{--art:url('../assets/card-art/ind-access.jpg')}
[data-art="ind-apply"]{--art:url('../assets/card-art/ind-apply.jpg')}
[data-art="ind-invited"]{--art:url('../assets/card-art/ind-invited.jpg')}
[data-art="ind-redacted"]{--art:url('../assets/card-art/ind-redacted.jpg')}
[data-art="golive-address"]{--art:url('../assets/card-art/golive-address.jpg')}
[data-art="golive-shared"]{--art:url('../assets/card-art/golive-shared.jpg')}
[data-art="golive-public"]{--art:url('../assets/card-art/golive-public.jpg')}
[data-art="golive-key"]{--art:url('../assets/card-art/golive-key.jpg')}
[data-art="golive-claim"]{--art:url('../assets/card-art/golive-claim.jpg')}
[data-art="golive-data"]{--art:url('../assets/card-art/golive-data.jpg')}
[data-art="claim-90"]{--art:url('../assets/card-art/claim-90.jpg')}
[data-art="claim-free"]{--art:url('../assets/card-art/claim-free.jpg')}
[data-art="claim-phone"]{--art:url('../assets/card-art/claim-phone.jpg')}
[data-art="claim-act"]{--art:url('../assets/card-art/claim-act.jpg')}
[data-art="claim-kit"]{--art:url('../assets/card-art/claim-kit.jpg')}
[data-art="claim-nowhere"]{--art:url('../assets/card-art/claim-nowhere.jpg')}
[data-art="crit-youtube"]{--art:url('../assets/card-art/crit-youtube.jpg')}
[data-art="crit-copy"]{--art:url('../assets/card-art/crit-copy.jpg')}
[data-art="crit-paste"]{--art:url('../assets/card-art/crit-paste.jpg')}
[data-art="crit-tapes"]{--art:url('../assets/card-art/crit-tapes.jpg')}
[data-art="crit-laugh"]{--art:url('../assets/card-art/crit-laugh.jpg')}
[data-art="desk-offline"]{--art:url('../assets/card-art/desk-offline.jpg')}
[data-art="desk-today"]{--art:url('../assets/card-art/desk-today.jpg')}
[data-art="desk-route"]{--art:url('../assets/card-art/desk-route.jpg')}
[data-art="gigs-free"]{--art:url('../assets/card-art/gigs-free.jpg')}
[data-art="gigs-pay"]{--art:url('../assets/card-art/gigs-pay.jpg')}
[data-art="gigs-reads"]{--art:url('../assets/card-art/gigs-reads.jpg')}
[data-art="gigs-deal"]{--art:url('../assets/card-art/gigs-deal.jpg')}
[data-art="gigs-read"]{--art:url('../assets/card-art/gigs-read.jpg')}
[data-art="gigs-send"]{--art:url('../assets/card-art/gigs-send.jpg')}
[data-art="gigs-trip"]{--art:url('../assets/card-art/gigs-trip.jpg')}
[data-art="gigs-log"]{--art:url('../assets/card-art/gigs-log.jpg')}
[data-art="join-tape"]{--art:url('../assets/card-art/join-tape.jpg')}
[data-art="join-bio"]{--art:url('../assets/card-art/join-bio.jpg')}
[data-art="room-afternoon"]{--art:url('../assets/card-art/room-afternoon.jpg')}
[data-art="tour-tape"]{--art:url('../assets/card-art/tour-tape.jpg')}
[data-art="st-buy"]{--art:url('../assets/card-art/st-buy.jpg')}
[data-art="st-ask"]{--art:url('../assets/card-art/st-ask.jpg')}
[data-art="st-tech"]{--art:url('../assets/card-art/st-tech.jpg')}
[data-art="st-cameras"]{--art:url('../assets/card-art/st-cameras.jpg')}
[data-art="st-tape"]{--art:url('../assets/card-art/st-tape.jpg')}
[data-art="st-degrees"]{--art:url('../assets/card-art/st-degrees.jpg')}
[data-art="st-unconfirmed"]{--art:url('../assets/card-art/st-unconfirmed.jpg')}
[data-art="st-signal"]{--art:url('../assets/card-art/st-signal.jpg')}
[data-art="boot-check"]{--art:url('../assets/card-art/boot-check.jpg')}
[data-art="boot-money"]{--art:url('../assets/card-art/boot-money.jpg')}
[data-art="tech-phonemic"]{--art:url('../assets/card-art/tech-phonemic.jpg')}
[data-art="tech-rules"]{--art:url('../assets/card-art/tech-rules.jpg')}
[data-art="ladder-link"]{--art:url('../assets/card-art/ladder-link.jpg')}
[data-art="stage-lodge"]{--art:url('../assets/card-art/stage-lodge.jpg')}
[data-art="stage-brewery"]{--art:url('../assets/card-art/stage-brewery.jpg')}
[data-art="stage-backroom"]{--art:url('../assets/card-art/stage-backroom.jpg')}
[data-art="stage-rotary"]{--art:url('../assets/card-art/stage-rotary.jpg')}
[data-art="stage-senior"]{--art:url('../assets/card-art/stage-senior.jpg')}
[data-art="stage-coffee"]{--art:url('../assets/card-art/stage-coffee.jpg')}
[data-art="stage-house"]{--art:url('../assets/card-art/stage-house.jpg')}
[data-art="stage-campground"]{--art:url('../assets/card-art/stage-campground.jpg')}
[data-art="kit-small"]{--art:url('../assets/card-art/kit-small.jpg')}
[data-art="kit-mid"]{--art:url('../assets/card-art/kit-mid.jpg')}
[data-art="kit-big"]{--art:url('../assets/card-art/kit-big.jpg')}
[data-art="boot-hotel"]{--art:url('../assets/card-art/boot-hotel.jpg')}
[data-art="boot-brewery"]{--art:url('../assets/card-art/boot-brewery.jpg')}
[data-art="boot-hall"]{--art:url('../assets/card-art/boot-hall.jpg')}
[data-art="boot-bookshop"]{--art:url('../assets/card-art/boot-bookshop.jpg')}
[data-art="boot-coffee"]{--art:url('../assets/card-art/boot-coffee.jpg')}
[data-art="boot-barn"]{--art:url('../assets/card-art/boot-barn.jpg')}
[data-art="boot-cowork"]{--art:url('../assets/card-art/boot-cowork.jpg')}
[data-art="tech-lineout"]{--art:url('../assets/card-art/tech-lineout.jpg')}
[data-art="chain-hpf"]{--art:url('../assets/card-art/chain-hpf.jpg')}
[data-art="chain-proximity"]{--art:url('../assets/card-art/chain-proximity.jpg')}
[data-art="chain-gain"]{--art:url('../assets/card-art/chain-gain.jpg')}
[data-art="chain-auto"]{--art:url('../assets/card-art/chain-auto.jpg')}
[data-art="chain-sync"]{--art:url('../assets/card-art/chain-sync.jpg')}
[data-art="cam-wide"]{--art:url('../assets/card-art/cam-wide.jpg')}
[data-art="cam-tight"]{--art:url('../assets/card-art/cam-tight.jpg')}
[data-art="cam-side"]{--art:url('../assets/card-art/cam-side.jpg')}
[data-art="fix-muffled"]{--art:url('../assets/card-art/fix-muffled.jpg')}
[data-art="fix-hum"]{--art:url('../assets/card-art/fix-hum.jpg')}
[data-art="fix-boomy"]{--art:url('../assets/card-art/fix-boomy.jpg')}
[data-art="fix-monitor"]{--art:url('../assets/card-art/fix-monitor.jpg')}
[data-art="fix-wireless"]{--art:url('../assets/card-art/fix-wireless.jpg')}
[data-art="fix-unusable"]{--art:url('../assets/card-art/fix-unusable.jpg')}
[data-art="fix-feedback"]{--art:url('../assets/card-art/fix-feedback.jpg')}
[data-art="fix-silence"]{--art:url('../assets/card-art/fix-silence.jpg')}
[data-art="pr-you"]{--art:url('../assets/card-art/pr-you.jpg')}
[data-art="pr-room"]{--art:url('../assets/card-art/pr-room.jpg')}
[data-art="pr-fail-once"]{--art:url('../assets/card-art/pr-fail-once.jpg')}
[data-art="pr-fail-poster"]{--art:url('../assets/card-art/pr-fail-poster.jpg')}
[data-art="pr-fail-tag"]{--art:url('../assets/card-art/pr-fail-tag.jpg')}
[data-art="pr-fail-comics"]{--art:url('../assets/card-art/pr-fail-comics.jpg')}
[data-art="pr-fail-clips"]{--art:url('../assets/card-art/pr-fail-clips.jpg')}
[data-art="plat-tiktok"]{--art:url('../assets/card-art/plat-tiktok.jpg')}
[data-art="plat-instagram"]{--art:url('../assets/card-art/plat-instagram.jpg')}
[data-art="plat-facebook"]{--art:url('../assets/card-art/plat-facebook.jpg')}
[data-art="plat-pinterest"]{--art:url('../assets/card-art/plat-pinterest.jpg')}
[data-art="plat-x"]{--art:url('../assets/card-art/plat-x.jpg')}
[data-art="plat-youtube"]{--art:url('../assets/card-art/plat-youtube.jpg')}
[data-art="plat-reddit"]{--art:url('../assets/card-art/plat-reddit.jpg')}
[data-art="plat-nextdoor"]{--art:url('../assets/card-art/plat-nextdoor.jpg')}
[data-art="pr-beat-tonight"]{--art:url('../assets/card-art/pr-beat-tonight.jpg')}
[data-art="pr-beat-twoweeks"]{--art:url('../assets/card-art/pr-beat-twoweeks.jpg')}
[data-art="pr-beat-week"]{--art:url('../assets/card-art/pr-beat-week.jpg')}
[data-art="pr-beat-daybefore"]{--art:url('../assets/card-art/pr-beat-daybefore.jpg')}
[data-art="pr-beat-after"]{--art:url('../assets/card-art/pr-beat-after.jpg')}
[data-art="pr-film-open"]{--art:url('../assets/card-art/pr-film-open.jpg')}
[data-art="pr-engineer"]{--art:url('../assets/card-art/pr-engineer.jpg')}
[data-art="film-light"]{--art:url('../assets/card-art/film-light.jpg')}
[data-art="film-frontal"]{--art:url('../assets/card-art/film-frontal.jpg')}
[data-art="film-overhead"]{--art:url('../assets/card-art/film-overhead.jpg')}
[data-art="film-colour"]{--art:url('../assets/card-art/film-colour.jpg')}
[data-art="film-cri"]{--art:url('../assets/card-art/film-cri.jpg')}
[data-art="film-backdrop"]{--art:url('../assets/card-art/film-backdrop.jpg')}
[data-art="film-backlight"]{--art:url('../assets/card-art/film-backlight.jpg')}
[data-art="film-height"]{--art:url('../assets/card-art/film-height.jpg')}
[data-art="film-wide"]{--art:url('../assets/card-art/film-wide.jpg')}
[data-art="film-lock"]{--art:url('../assets/card-art/film-lock.jpg')}
[data-art="film-face"]{--art:url('../assets/card-art/film-face.jpg')}
[data-art="film-fps"]{--art:url('../assets/card-art/film-fps.jpg')}
[data-art="film-walkway"]{--art:url('../assets/card-art/film-walkway.jpg')}
[data-art="film-horizontal"]{--art:url('../assets/card-art/film-horizontal.jpg')}
[data-art="film-twoseconds"]{--art:url('../assets/card-art/film-twoseconds.jpg')}
[data-art="film-captions"]{--art:url('../assets/card-art/film-captions.jpg')}
[data-art="film-endlaugh"]{--art:url('../assets/card-art/film-endlaugh.jpg')}
[data-art="film-broll"]{--art:url('../assets/card-art/film-broll.jpg')}
[data-art="film-destination"]{--art:url('../assets/card-art/film-destination.jpg')}
[data-art="film-often"]{--art:url('../assets/card-art/film-often.jpg')}
[data-art="film-batches"]{--art:url('../assets/card-art/film-batches.jpg')}
[data-art="film-longone"]{--art:url('../assets/card-art/film-longone.jpg')}
[data-art="film-clock"]{--art:url('../assets/card-art/film-clock.jpg')}
[data-art="film-bio"]{--art:url('../assets/card-art/film-bio.jpg')}
[data-art="len-truth"]{--art:url('../assets/card-art/len-truth.jpg')}
[data-art="len-tiktok"]{--art:url('../assets/card-art/len-tiktok.jpg')}
[data-art="len-reels"]{--art:url('../assets/card-art/len-reels.jpg')}
[data-art="len-facebook"]{--art:url('../assets/card-art/len-facebook.jpg')}
[data-art="run-loadin"]{--art:url('../assets/card-art/run-loadin.jpg')}
[data-art="run-lights"]{--art:url('../assets/card-art/run-lights.jpg')}
[data-art="run-levels"]{--art:url('../assets/card-art/run-levels.jpg')}
[data-art="run-10min"]{--art:url('../assets/card-art/run-10min.jpg')}
[data-art="run-leave"]{--art:url('../assets/card-art/run-leave.jpg')}
[data-art="pr-sources"]{--art:url('../assets/card-art/pr-sources.jpg')}
[data-art="film-medium"]{--art:url('../assets/card-art/film-medium.jpg')}
[data-art="run-soundcheck"]{--art:url('../assets/card-art/run-soundcheck.jpg')}
[data-art="ind-refer"]{--art:url('../assets/card-art/ind-refer.jpg')}
[data-art="ind-gate"]{--art:url('../assets/card-art/ind-gate.jpg')}
[data-art="claim-email"]{--art:url('../assets/card-art/claim-email.jpg')}
[data-art="gigs-bringer"]{--art:url('../assets/card-art/gigs-bringer.jpg')}
[data-art="tech-recorder"]{--art:url('../assets/card-art/tech-recorder.jpg')}
[data-art="st-lav"]{--art:url('../assets/card-art/st-lav.jpg')}
[data-art="chain-limiter"]{--art:url('../assets/card-art/chain-limiter.jpg')}
[data-art="pay-tab-hang"]{--art:url('../assets/card-art/pay-tab-hang.jpg')}
[data-art="pay-trade"]{--art:url('../assets/card-art/pay-trade.jpg')}
[data-art="pay-podcast"]{--art:url('../assets/card-art/pay-podcast.jpg')}
[data-art="pay-tab-ways"]{--art:url('../assets/card-art/pay-tab-ways.jpg')}
[data-art="pay-tab-rules"]{--art:url('../assets/card-art/pay-tab-rules.jpg')}
[data-art="pay-private"]{--art:url('../assets/card-art/pay-private.jpg')}
[data-art="pay-hang"]{--art:url('../assets/card-art/pay-hang.jpg')}
[data-art="pay-class"]{--art:url('../assets/card-art/pay-class.jpg')}
[data-art="pay-merch"]{--art:url('../assets/card-art/pay-merch.jpg')}
[data-art="craft-q-firstpaid"]{--art:url('../assets/card-art/craft-q-firstpaid.jpg')}
[data-art="craft-pod-wio"]{--art:url('../assets/card-art/craft-pod-wio.jpg')}
[data-art="len-shorts"]{--art:url('../assets/card-art/len-shorts.jpg')}
[data-art="run-mic"]{--art:url('../assets/card-art/run-mic.jpg')}
[data-art="tour-channel"]{--art:url('../assets/card-art/tour-channel.jpg')}
[data-art="join-hand"]{--art:url('../assets/card-art/join-hand.jpg')}
[data-art="clubs-kept"]{--art:url('../assets/card-art/clubs-kept.jpg')}
[data-art="sucdb-fans"]{--art:url('../assets/card-art/sucdb-fans.jpg')}
[data-art="sucdb-comics"]{--art:url('../assets/card-art/sucdb-comics.jpg')}
[data-art="sucdb-industry"]{--art:url('../assets/card-art/sucdb-industry.jpg')}
[data-art="sucdb-rules"]{--art:url('../assets/card-art/sucdb-rules.jpg')}
[data-art="tour-vehicle"]{--art:url('../assets/card-art/tour-vehicle.jpg')}
[data-art="tour-empty"]{--art:url('../assets/card-art/tour-empty.jpg')}
[data-art="tour-beat-ask"]{--art:url('../assets/card-art/tour-beat-ask.jpg')}
[data-art="tour-beat-after"]{--art:url('../assets/card-art/tour-beat-after.jpg')}
[data-art="tour-beat-new"]{--art:url('../assets/card-art/tour-beat-new.jpg')}
[data-art="craft-origin-morgan"]{--art:url('../assets/card-art/craft-origin-morgan.jpg')}
[data-art="craft-origin-seinfeld"]{--art:url('../assets/card-art/craft-origin-seinfeld.jpg')}
[data-art="craft-origin-rhodes"]{--art:url('../assets/card-art/craft-origin-rhodes.jpg')}
[data-art="desk-nothing"]{--art:url('../assets/card-art/desk-nothing.jpg')}
[data-art="desk-inquiries"]{--art:url('../assets/card-art/desk-inquiries.jpg')}
[data-art="desk-activity"]{--art:url('../assets/card-art/desk-activity.jpg')}
[data-art="desk-unclaimed"]{--art:url('../assets/card-art/desk-unclaimed.jpg')}
[data-art="desk-settings"]{--art:url('../assets/card-art/desk-settings.jpg')}
[data-art="desk-demo-banner"]{--art:url('../assets/card-art/desk-demo-banner.jpg')}
[data-art="desk-demo-move"]{--art:url('../assets/card-art/desk-demo-move.jpg')}
[data-art="claim-mine"]{--art:url('../assets/card-art/claim-mine.jpg')}
[data-art="ind-name-room"]{--art:url('../assets/card-art/ind-name-room.jpg')}
[data-art="ind-likebut"]{--art:url('../assets/card-art/ind-likebut.jpg')}
[data-art="road-pocket"]{--art:url('../assets/card-art/road-pocket.jpg')}
[data-art="road-garage"]{--art:url('../assets/card-art/road-garage.jpg');--art-pos:center 85%}
[data-art="road-home"]{--art:url('../assets/card-art/road-home.jpg')}
[data-art="road-pulloff"]{--art:url('../assets/card-art/road-pulloff.jpg')}
[data-art="road-hazards"]{--art:url('../assets/card-art/road-hazards.jpg')}
[data-art="road-barrier"]{--art:url('../assets/card-art/road-barrier.jpg')}
[data-art="road-map"]{--art:url('../assets/card-art/road-map.jpg')}
[data-art="road-call"]{--art:url('../assets/card-art/road-call.jpg')}
[data-art="road-late"]{--art:url('../assets/card-art/road-late.jpg');--art-pos:center 62%}
[data-art="road-shop"]{--art:url('../assets/card-art/road-shop.jpg')}
[data-art="road-blowout"]{--art:url('../assets/card-art/road-blowout.jpg')}
[data-art="road-snowed"]{--art:url('../assets/card-art/road-snowed.jpg')}
[data-art="road-anycar"]{--art:url('../assets/card-art/road-anycar.jpg')}
[data-art="road-tow"]{--art:url('../assets/card-art/road-tow.jpg');--art-pos:center 88%}
[data-art="road-bus"]{--art:url('../assets/card-art/road-bus.jpg')}
[data-art="road-have"]{--art:url('../assets/card-art/road-have.jpg')}
[data-art="road-ev"]{--art:url('../assets/card-art/road-ev.jpg')}
[data-art="road-diner"]{--art:url('../assets/card-art/road-diner.jpg')}
[data-art="road-weather"]{--art:url('../assets/card-art/road-weather.jpg')}
[data-art="road-post"]{--art:url('../assets/card-art/road-post.jpg');--art-pos:center 80%}
[data-art="road-unmarked"]{--art:url('../assets/card-art/road-unmarked.jpg');--art-pos:center 75%}
[data-art="road-walkout"]{--art:url('../assets/card-art/road-walkout.jpg')}
[data-art="road-followed"]{--art:url('../assets/card-art/road-followed.jpg')}
[data-art="road-fuel"]{--art:url('../assets/card-art/road-fuel.jpg')}
[data-art="road-src"]{--art:url('../assets/card-art/road-src.jpg')}
[data-art="pay-rule-offer"]{--art:url('../assets/card-art/pay-rule-offer.jpg')}
[data-art="pay-rule-bar"]{--art:url('../assets/card-art/pay-rule-bar.jpg')}
[data-art="pay-rule-public"]{--art:url('../assets/card-art/pay-rule-public.jpg')}
[data-art="pay-rule-floor"]{--art:url('../assets/card-art/pay-rule-floor.jpg')}
[data-art="pay-rule-paid"]{--art:url('../assets/card-art/pay-rule-paid.jpg')}
[data-art="pay-rule-refund"]{--art:url('../assets/card-art/pay-rule-refund.jpg')}
[data-art="pay-rule-twelve"]{--art:url('../assets/card-art/pay-rule-twelve.jpg')}
[data-art="pay-rule-age"]{--art:url('../assets/card-art/pay-rule-age.jpg')}
[data-art="pay-rule-income"]{--art:url('../assets/card-art/pay-rule-income.jpg')}
[data-art="st-city-htx"]{--art:url('../assets/card-art/st-city-htx.jpg')}
[data-art="st-city-dfw"]{--art:url('../assets/card-art/st-city-dfw.jpg')}
[data-art="st-city-atx"]{--art:url('../assets/card-art/st-city-atx.jpg')}
[data-art="ladder-headliner"]{--art:url('../assets/card-art/ladder-headliner.jpg')}
[data-art="ladder-feature"]{--art:url('../assets/card-art/ladder-feature.jpg');--art-pos:center 22%}
[data-art="ladder-host"]{--art:url('../assets/card-art/ladder-host.jpg')}
[data-art="ladder-guest"]{--art:url('../assets/card-art/ladder-guest.jpg')}
[data-art="ladder-openmic"]{--art:url('../assets/card-art/ladder-openmic.jpg')}
[data-art="st-log"]{--art:url('../assets/card-art/st-log.jpg')}
[data-art="st-reps-empty"]{--art:url('../assets/card-art/st-reps-empty.jpg')}
[data-art="st-bits-empty"]{--art:url('../assets/card-art/st-bits-empty.jpg')}
[data-art="st-tight-empty"]{--art:url('../assets/card-art/st-tight-empty.jpg')}
[data-art="gig-bar"]{--art:url('../assets/card-art/gig-bar.jpg')}
[data-art="gig-brewery"]{--art:url('../assets/card-art/gig-brewery.jpg')}
[data-art="gig-restaurant"]{--art:url('../assets/card-art/gig-restaurant.jpg')}
[data-art="gig-cruise"]{--art:url('../assets/card-art/gig-cruise.jpg')}
[data-art="gig-preview"]{--art:url('../assets/card-art/gig-preview.jpg')}
[data-art="pr-gig"]{--art:url('../assets/card-art/pr-gig.jpg')}
[data-art="room-mode"]{--art:url('../assets/card-art/room-mode.jpg')}
[data-art="room-getin"]{--art:url('../assets/card-art/room-getin.jpg')}
[data-art="room-before"]{--art:url('../assets/card-art/room-before.jpg')}
[data-art="room-after"]{--art:url('../assets/card-art/room-after.jpg')}
[data-art="room-fails"]{--art:url('../assets/card-art/room-fails.jpg')}
[data-art="room-looks"]{--art:url('../assets/card-art/room-looks.jpg')}
[data-art="room-practical"]{--art:url('../assets/card-art/room-practical.jpg')}
[data-art="room-material"]{--art:url('../assets/card-art/room-material.jpg')}
[data-art="pr-kit"]{--art:url('../assets/card-art/pr-kit.jpg')}
[data-art="pr-roomcheck"]{--art:url('../assets/card-art/pr-roomcheck.jpg')}
[data-art="pr-audio"]{--art:url('../assets/card-art/pr-audio.jpg')}
[data-art="pr-fixes"]{--art:url('../assets/card-art/pr-fixes.jpg')}
[data-art="pr-angles"]{--art:url('../assets/card-art/pr-angles.jpg')}
[data-art="hero-stage"]{--art:url('../assets/card-art/hero-stage.jpg');--art-pos:60% 55%}
[data-art="st-tab-find"]{--art:url('../assets/card-art/st-tab-find.jpg');--art-pos:center 45%}
[data-art="st-tab-stages"]{--art:url('../assets/card-art/st-tab-stages.jpg');--art-pos:center 60%}
[data-art="st-tab-bootstrap"]{--art:url('../assets/card-art/st-tab-bootstrap.jpg');--art-pos:center 45%}
[data-art="st-tab-tech"]{--art:url('../assets/card-art/st-tab-tech.jpg');--art-pos:center 50%}
[data-art="st-tab-log"]{--art:url('../assets/card-art/st-tab-log.jpg');--art-pos:center 45%}
[data-art="st-tab-reps"]{--art:url('../assets/card-art/st-tab-reps.jpg');--art-pos:center 55%}
[data-art="st-tab-bits"]{--art:url('../assets/card-art/st-tab-bits.jpg');--art-pos:center 70%}
[data-art="st-tab-ladder"]{--art:url('../assets/card-art/st-tab-ladder.jpg');--art-pos:center 50%}
[data-art="hero-tour"]{--art:url('../assets/card-art/hero-tour.jpg');--art-pos:70% 50%}
[data-art="hero-desk"]{--art:url('../assets/card-art/hero-desk.jpg');--art-pos:75% 70%}
[data-art="hero-join"]{--art:url('../assets/card-art/hero-join.jpg');--art-pos:70% 42%}
[data-art="hero-critique"]{--art:url('../assets/card-art/hero-critique.jpg');--art-pos:70% 58%}
[data-art="hero-working"]{--art:url('../assets/card-art/hero-working.jpg');--art-pos:70% 62%}
[data-art="hero-legends"]{--art:url('../assets/card-art/hero-legends.jpg');--art-pos:50% 50%}
[data-art="hero-room"]{--art:url('../assets/card-art/hero-room.jpg');--art-pos:70% 40%}
[data-art="hero-promo"]{--art:url('../assets/card-art/hero-promo.jpg');--art-pos:70% 40%}
[data-art="hero-industry"]{--art:url('../assets/card-art/hero-industry.jpg');--art-pos:70% 60%}
/* A comic's next date in the legends drawer: the run under the room, and how many
   more dates follow on their tour page (data/profiles.js, nextDate). */
.event-info p em{color:#e8d5b0;font-style:italic}
.event-info p.profile-later{margin:-8px 0 14px;font-size:13px;opacity:.8}

/* ==== Comic's Corner (corner.html, 24 Sept 2026) =============================
   The working comic's tools as picture tiles, drawn from CORNER in js/shell.js.
   Each tile wears its tool's own photo (a data-art key), none twice on the page;
   the words sit on the dark foot of the photo, as on the Gig Board's tabs. */
.hero-corner{min-height:clamp(300px,30vw,400px)}
.corner-group{margin:0 0 30px}
.corner-group-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;margin:0 0 12px}
.corner-group-head small{font:400 14px/1.4 Georgia,serif;color:#b9a68b}
.corner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
@media(max-width:1000px){.corner-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.corner-tile{position:relative;isolation:isolate;overflow:hidden;min-height:196px;padding:96px 18px 16px;
  display:flex;flex-direction:column;justify-content:flex-end;gap:6px;text-decoration:none;
  border:1px solid #67452b;background:#100b08 var(--art) var(--art-pos,center)/cover no-repeat;color:#f4dfb8;
  transition:transform .2s ease,border-color .2s ease}
.corner-tile:before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(5,3,2,.04),rgba(5,3,2,.34) 38%,rgba(5,3,2,.94) 78%)}
.corner-tile b{font:900 13px/1.15 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 2px 8px #000}
.corner-tile span{font:400 14px/1.4 Georgia,serif;color:#dcc9a8;text-shadow:0 2px 8px #000}
.corner-tile i{font:800 11px/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;font-style:normal;
  color:var(--gold);margin-top:4px}
.corner-tile:hover,.corner-tile:focus-visible{transform:translateY(-3px);border-color:var(--gold)}
.corner-tile:focus-visible{outline:2px solid #f2c66d;outline-offset:3px}
@media(max-width:600px){
  .corner-grid{grid-template-columns:1fr 1fr;gap:8px}
  .corner-tile{min-height:150px;padding:66px 11px 11px}
  .corner-tile span{display:none}
}
@media(prefers-reduced-motion:reduce){.corner-tile{transition:none}}
/* The header menu's first row: the whole corner on one page. */
.navgroup-menu a.nav-corner-all b{color:var(--gold)}

/* The home page's door for comics — everything else on it is for somebody going
   out. Same banner shape as the Club Directory's, with the photo down its right
   (.art-side), fading into the dark where the words are. */
.comic-door{display:grid;gap:6px;margin:34px 0 0;padding:22px 24px;text-decoration:none;
  border:1px solid #6b482f;border-left:4px solid var(--brick,#ad382b);
  background:linear-gradient(110deg,#1c130c 40%,#0e0a07 80%);transition:border-color .2s}
.comic-door b{font:400 clamp(1.3rem,2.4vw,1.8rem)/1.15 Georgia,serif;color:#f1d7a4}
.comic-door>span:last-child{font:400 14px/1.55 Georgia,serif;color:#b9a68b;max-width:58ch}
.comic-door:hover{border-color:var(--gold)}

/* Fieldsets and tick-box grids inside the site's forms. Join's style picker had
   no rule of its own — the Green Room's page carries one, the site never did —
   so every box stretched across its row (the form's input rule is width:100%),
   its word fell to the 9px form-label type beside it, and the fieldset wore the
   browser's grooved border (found 24 Sept 2026, building Your SUCDb record). */
.join-form fieldset{border:1px solid #3d2a1c;margin:0 0 16px;padding:14px 16px;min-width:0}
.join-form fieldset.consent{border-color:var(--gold)}
.join-form legend{padding:0 7px;font:900 9px/1 Inter,sans-serif;letter-spacing:.12em;
  text-transform:uppercase;color:var(--gold)}
.join-form legend em{font-style:normal;margin-left:7px}
.join-form legend span{font:400 12px Georgia,serif;letter-spacing:0;text-transform:none;color:#7d6e5c}
.skills{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(160px,100%),1fr));gap:8px}
.join-form .skills .skill{display:flex;gap:9px;align-items:flex-start;margin:0;cursor:pointer;
  font:400 13.5px/1.35 Georgia,serif;letter-spacing:0;text-transform:none;color:#c5b69e}
.join-form .skills .skill input{width:auto;flex:0 0 auto;margin:2px 0 0;padding:0;accent-color:var(--gold)}
.join-form .skills .skill:has(input:checked){color:#f1d7a4}

/* ==== Your SUCDb record (record.html, 24 Sept 2026) ==========================
   The full SUCDb form: five picture tabs in the Gig Board / On the Road style,
   each photo a data-art key, none twice on the page. */
.rec-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 0 10px;scroll-margin-top:96px}
.rec-tabs button{position:relative;isolation:isolate;overflow:hidden;min-height:132px;padding:74px 13px 13px;
  display:flex;flex-direction:column;justify-content:flex-end;gap:5px;text-align:left;cursor:pointer;
  border:1px solid #67452b;background:#100b08 var(--art,none) var(--art-pos,center)/cover no-repeat;color:#f4dfb8;
  transition:transform .2s ease,border-color .2s ease}
.rec-tabs button:before{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(180deg,rgba(5,3,2,.06),rgba(5,3,2,.3) 38%,rgba(5,3,2,.95))}
.rec-tabs button span{font:900 11.5px/1.15 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 2px 8px #000}
.rec-tabs button small{font:400 12px/1.3 Georgia,serif;color:#cdbb9f;text-shadow:0 2px 8px #000}
.rec-tabs button:hover{transform:translateY(-3px);border-color:var(--gold)}
.rec-tabs button.active{border-color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold)}
.rec-tabs button.active span{color:var(--gold)}
.rec-tabs button:focus-visible{outline:2px solid #f2c66d;outline-offset:3px}
.rec-tabs button b{position:absolute;top:10px;right:10px;padding:4px 7px;background:rgba(9,7,6,.82);
  border:1px solid #543923;font:900 9px/1 Inter,sans-serif;letter-spacing:.1em;color:#a9967f}
.rec-tabs button b.ok{border-color:#4a7c59;color:#7fb069}
/* five tabs: three over two at tablet width, two over two over one on a phone,
   each row filled edge to edge */
@media(max-width:1060px){
  .rec-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}
  .rec-tabs button{grid-column:span 2}
  .rec-tabs button:nth-child(n+4){grid-column:span 3}
}
@media(max-width:600px){
  .rec-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .rec-tabs button,.rec-tabs button:nth-child(n+4){grid-column:span 1;min-height:92px;padding:48px 10px 10px}
  .rec-tabs button:last-child{grid-column:1/-1}
  .rec-tabs button span{font-size:10px}
  .rec-tabs button small{display:none}
}
@media(prefers-reduced-motion:reduce){.rec-tabs button{transition:none}}
.rec-panel{display:none;scroll-margin-top:200px}
.rec-panel.active{display:block}
.rec-kept{margin:0 0 24px;min-height:1.4em;font:400 12.5px/1.4 Georgia,serif;color:#8f806d}
.rec-facts{display:grid;grid-template-columns:150px minmax(0,1fr);gap:9px 16px;margin:0 0 16px;
  border:1px solid #543923;background:#0f0b08;padding:18px 20px}
.rec-facts dt{font:900 9px/1.7 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#b7a48a}
.rec-facts dd{margin:0;font:400 14px/1.55 Georgia,serif;color:#e4d6bf;overflow-wrap:anywhere;white-space:pre-wrap}
.rec-facts dd a{color:var(--gold)}
.rec-facts dd.none{color:#7d6e5c;font-style:italic}
@media(max-width:600px){.rec-facts{grid-template-columns:minmax(0,1fr);gap:3px}.rec-facts dd{margin-bottom:8px}}
.rec-rows{display:grid;gap:10px;margin:0 0 12px}
.rec-rows:empty{display:none}
.rec-row{display:grid;gap:8px 10px;align-items:end;border:1px solid #3d2a1c;background:#120d09;padding:12px}
.rec-row.credit{grid-template-columns:150px minmax(0,1.3fr) 82px minmax(0,1fr) auto}
.rec-row.date{grid-template-columns:160px minmax(0,1fr) minmax(0,.8fr) minmax(0,1fr) auto}
.rec-row .f-row{margin:0}
.rec-row.past{border-color:#6b2a22}
.rec-row .rec-flag{grid-column:1/-1;margin:0;font:400 12.5px/1.4 Georgia,serif;color:#e08a80}
.rec-x{align-self:end;height:46px;padding:0 12px;border:1px solid #543923;background:transparent;cursor:pointer;
  font:900 9px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#a9967f}
.rec-x:hover{border-color:#c0483a;color:#e08a80}
@media(max-width:760px){.rec-row.credit,.rec-row.date{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .rec-row .f-row.wide{grid-column:1/-1}}
.join-form .rec-choice{display:flex;flex-wrap:wrap;gap:8px}
.join-form .rec-choice label{display:flex;gap:8px;align-items:center;margin:0;padding:10px 12px;cursor:pointer;
  border:1px solid #543923;font:400 14px/1.3 Georgia,serif;letter-spacing:0;text-transform:none;color:#d8c6ae}
.join-form .rec-choice label:has(input:checked){border-color:var(--gold);color:#f1d7a4}
.join-form .rec-choice input{width:auto;margin:0;padding:0;accent-color:var(--gold)}
.rec-access{display:grid;gap:8px}
/* .join-form label would make each row a 9px caption over a full-width select */
.join-form .rec-acc{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:10px;align-items:center;
  margin:0;font:400 14px/1.35 Georgia,serif;letter-spacing:0;text-transform:none;color:#d8c6ae}
.join-form .rec-acc select{padding:9px 10px}
/* A phone: one column, so "Livestreaming" does not run under its select and a
   date row does not leave half-empty columns. */
@media(max-width:600px){
  .join-form .rec-acc{grid-template-columns:minmax(0,1fr);gap:5px}
  .rec-row.credit,.rec-row.date{grid-template-columns:minmax(0,1fr)}
  .rec-x{justify-self:start}
}
.rec-go{padding:0;border:0;background:none;cursor:pointer;font:inherit;color:inherit;text-align:left;
  text-decoration:underline;text-underline-offset:3px}
.rec-go:hover{color:var(--gold)}
.rec-form+.rec-form{margin-top:16px}

/* ---- See Your D.O.C. Now! (now.html, 26 Sept 2026) ------------------------------------------
   One row per comic: the ticket-stub date where a tab has one (the Gig Board's own stub), the
   painted face, then what there is to see — each item with its "source ↗". */
.now-who{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 20px}
.now-who-btn{border:1px solid #6d4526;background:#110b07;color:#e4d2b4;padding:10px 14px;cursor:pointer;
  font:900 10px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.now-who-btn:hover{border-color:var(--gold);color:var(--gold)}
.now-who-btn.active{background:var(--gold);border-color:var(--gold);color:#160f08}
.now-who-btn span{opacity:.75}
.now-who-note{flex:1 1 100%;margin:4px 0 0;font:italic 400 14px/1.45 Georgia,serif;color:#a9967f}
.now-who-note a{color:var(--gold)}
.road-tabs.now-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}
.now-list{display:grid;gap:12px}
.now-row{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:16px;align-items:start;
  border:1px solid #4f3624;background:linear-gradient(135deg,#1a110b,#0d0907);padding:16px 18px}
.now-row:not(.now-live){grid-template-columns:auto minmax(0,1fr)}
.now-row .gig-date{grid-area:auto;width:62px}
.now-row .gig-date strong{font-size:30px}
.now-stub.is-none{opacity:.45}
.now-row.is-quiet{background:#0e0a07;border-style:dashed}
.now-face.portrait{width:62px;height:62px;border-width:3px}
.now-body{min-width:0}
.now-body h3{margin:2px 0 6px;font:400 22px/1.15 Georgia,serif;color:#f1d7a4}
.now-where{margin:0 0 6px;font:400 16px/1.45 Georgia,serif;color:#d8c6ae}
.now-where b{color:#f2e7cd}
.now-sold{font:900 10px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#e2715a;white-space:nowrap}
.now-links{margin:4px 0 0;display:flex;flex-wrap:wrap;gap:6px 14px;align-items:baseline}
.now-items{list-style:none;margin:0;padding:0;display:grid}
.now-items li{padding:9px 0;border-top:1px solid #3a2718;font:400 15px/1.45 Georgia,serif;color:#d8c6ae}
.now-items li:first-child{border-top:0;padding-top:2px}
.now-items li b{color:#f2e7cd;font-weight:700}
.now-meta{color:#a9967f}
.now-links .btn-gold.now-buy{display:inline-block;padding:9px 14px;text-decoration:none;
  font:900 10px/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;box-shadow:3px 3px 0 var(--red)}
.now-links .btn-gold.now-buy:hover{box-shadow:4px 4px 0 var(--red)}
.now-acts{display:inline-flex;flex-wrap:wrap;gap:4px 12px;margin-left:6px}
.now-go,.now-src{font:900 9.5px/1.6 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;
  border-bottom:1px solid rgba(221,164,65,.4)}
.now-go{color:var(--gold)}
.now-go.quiet{color:#c9ad7a}
.now-src{color:#8d7c66;border-bottom-color:rgba(141,124,102,.35)}
.now-go:hover,.now-src:hover{color:#ffd37b}
.now-badge{display:inline-block;margin-left:6px;padding:3px 7px;border:1px solid var(--gold);color:var(--gold);
  font:900 8.5px/1.2 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;font-style:normal;vertical-align:2px}
.now-badge.free{background:var(--gold);color:#160f08}
.now-none{margin:2px 0 4px;font:italic 400 15px/1.5 Georgia,serif;color:#a9967f}
.now-count{margin:0 0 8px;font:400 14px/1.4 Georgia,serif;color:#c5b69e}
.now-count b{font:700 18px/1 Georgia,serif;color:#f2e7cd;text-shadow:2px 2px 0 var(--red)}
.now-sub{margin:8px 0 0;font:400 14px/1.45 Georgia,serif;color:#a9967f}
.now-h{margin:10px 0 4px;font:900 9.5px/1.3 Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}
.now-more{margin-top:4px}
.now-more summary{cursor:pointer;font:900 9.5px/1.6 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.now-talk summary{color:#c9ad7a}
/* The door on Your D.O.C., under the feed. */
.now-door{display:block;margin-top:14px;padding:16px 18px;border:1px solid var(--gold);background:#120c08;
  text-decoration:none;color:#d8c6ae}
.now-door b{display:block;font:400 20px/1.2 Georgia,serif;color:#f1d7a4;margin-bottom:5px}
.now-door span{font:400 13.5px/1.5 Georgia,serif;color:#b9a68c}
.now-door:hover{box-shadow:4px 4px 0 var(--red)}
@media(max-width:1060px){.road-tabs.now-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){
  .road-tabs.now-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .now-row{grid-template-columns:auto minmax(0,1fr);gap:12px;padding:14px}
  .now-row.now-live{grid-template-columns:auto auto minmax(0,1fr)}
  .now-row.now-live .now-body{grid-column:1/-1}
  .now-face.portrait{width:52px;height:52px}
  .now-acts{display:flex;margin:4px 0 0}
}

/* ---- The Comedy Calendar (calendar.html, 29 Sept 2026) ---------------------------------------
   Filters, then the month (each night's count under them — a night with none, or past, is quiet
   and can't be picked), then the nights: each show a See Them Now row with its start time on the
   Gig Board's ticket stub. */
.cal-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) auto;gap:10px 12px;align-items:end;margin:0 0 18px}
.cal-field{display:grid;gap:5px;min-width:0}
.cal-field label{font:900 9.5px/1.2 Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}
.cal-field select,.cal-field input{width:100%;min-width:0;background:#15100c;border:1px solid #69472f;color:#f1e5d2;
  padding:11px 12px;font:400 14px/1.2 Georgia,serif}
.cal-field select:focus,.cal-field input:focus{outline:2px solid var(--gold);outline-offset:1px}
.cal-whose{display:flex;gap:8px}
.cal-note{grid-column:1/-1;margin:0;font:italic 400 14px/1.45 Georgia,serif;color:#a9967f}
.cal-note a{color:var(--gold)}
.cal-month{border:1px solid #4f3624;background:linear-gradient(135deg,#1a110b,#0d0907);padding:14px 16px 16px;margin:0 0 22px}
.cal-month-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:0 0 10px}
.cal-month-head h2{margin:0;text-align:center;font:400 24px/1.1 Georgia,serif;color:#f1d7a4}
.cal-month-head h2 small{display:block;margin-top:4px;font:900 9.5px/1.2 Inter,sans-serif;letter-spacing:.13em;
  text-transform:uppercase;color:#a9967f}
.cal-step{width:40px;height:40px;border:1px solid #6d4526;background:#110b07;color:var(--gold);cursor:pointer;
  font:400 24px/1 Georgia,serif}
.cal-step:hover:not(:disabled){border-color:var(--gold)}
.cal-step:disabled{opacity:.3;cursor:default}
.cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.cal-wd{text-align:center;font:900 9px/1.6 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#8d7c66}
.cal-cell{display:grid;justify-items:center;align-content:center;gap:2px;min-height:54px;padding:5px 2px;
  border:1px solid #3a2718;background:#120c08;color:#d8c6ae;font:inherit}
.cal-cell b{font:700 17px/1 Georgia,serif}
.cal-cell small{font:900 9px/1.2 Inter,sans-serif;letter-spacing:.06em;color:var(--gold)}
button.cal-cell{cursor:pointer}
button.cal-cell:hover{border-color:var(--gold)}
.cal-cell.is-off{opacity:.35}
.cal-cell.is-blank{border:0;background:none}
.cal-cell.is-today{outline:2px solid #ad382b;outline-offset:-2px}
.cal-cell.is-picked{background:#f2e7cd;border-color:#17100c;color:#17100c;box-shadow:3px 3px 0 var(--red)}
.cal-cell.is-picked small{color:#ad382b}
.cal-days{display:grid;gap:22px}
.cal-day{display:grid;gap:10px;scroll-margin-top:90px}
.cal-day-head{margin:0;padding:0 0 6px;border-bottom:1px solid #4f3624;font:400 22px/1.2 Georgia,serif;color:#f2e7cd;
  text-shadow:2px 2px 0 var(--red)}
.cal-day-head small{margin-left:8px;font:900 9.5px/1 Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase;
  color:#a9967f;text-shadow:none}
.now-row.cal-row{grid-template-columns:auto auto minmax(0,1fr)}
.cal-row .now-body h3 a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(241,215,164,.3)}
.cal-row .now-body h3 a:hover{color:#ffd37b}
/* A comedian's own tour page beside their name (1 Oct 2026, comics[slug][2]): the site's small gold link. */
.cal-row .now-body h3 a.cal-own{color:var(--gold);border-bottom-color:rgba(221,164,65,.4);margin-left:3px;white-space:nowrap;
  vertical-align:3px}
.cal-row .now-body h3 a.cal-own:hover{color:#ffd37b}
.cal-time{min-width:74px;padding:9px 6px;text-align:center;background:#f2e7cd;color:#17100c;border:2px solid #17100c;
  box-shadow:4px 4px 0 var(--red);font:700 17px/1.1 Georgia,serif;white-space:nowrap}
.cal-time.is-none{font:900 8.5px/1.4 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;opacity:.6;white-space:normal}
.cal-title{color:#f2e7cd;font-weight:700}
.cal-read{font:italic 400 13px/1.4 Georgia,serif;color:#8d7c66}
.cal-more{margin:0;text-align:center}
/* One night at a time (1 Oct 2026): the month folds on a phone; a bar steps to the night before and the next. */
.cal-month-wrap{margin:0 0 18px}
.cal-month-wrap>summary{cursor:pointer;padding:10px 0;font:900 10px/1.2 Inter,sans-serif;letter-spacing:.13em;
  text-transform:uppercase;color:var(--gold)}
.cal-month-wrap[open]>summary{display:none}
.cal-month-wrap .cal-month{margin:0}
@media(max-width:700px){.cal-month-wrap[open]>summary{display:block}}
.cal-span{display:flex;gap:8px;margin:0 0 12px;scroll-margin-top:90px}
.cal-nightbar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.cal-nightbar>:last-child{justify-self:end}
.cal-night-step{display:grid;gap:2px;min-width:0;padding:8px 12px;border:1px solid #6d4526;background:#110b07;color:var(--gold);
  cursor:pointer;text-align:left}
.cal-night-step.is-next{text-align:right}
.cal-night-step b{font:900 10px/1.2 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.cal-night-step small{font:400 13px/1.2 Georgia,serif;color:#c9b390}
.cal-night-step:hover{border-color:var(--gold)}
.cal-night-step.is-none{visibility:hidden}
.cal-skip{margin:0;font:italic 400 14px/1.45 Georgia,serif;color:#c9b390}
.page-cross{margin:10px 0 0}
.page-cross a{color:var(--gold);font-weight:700;text-decoration:none;border-bottom:1px solid rgba(239,182,78,.35)}
.page-cross a:hover{color:#ffd37b}
@media(max-width:760px){
  .cal-filters{grid-template-columns:minmax(0,1fr)}
  .cal-whose .now-who-btn{flex:1 1 0}
  .cal-span .now-who-btn{flex:1 1 0}
}
@media(max-width:600px){
  .cal-month{padding:12px 10px 14px}
  .cal-grid{gap:3px}
  .cal-cell{min-height:46px}
  .cal-cell b{font-size:15px}
  .now-row.cal-row{grid-template-columns:auto auto minmax(0,1fr)}
  .now-row.cal-row .now-body{grid-column:1/-1}
  .cal-time{min-width:66px;font-size:15px}
}
/* A show's comedians and what people know them from (30 Sept 2026, data/screen-known.js). */
.cal-known{margin:0 0 6px;font:italic 400 13.5px/1.45 Georgia,serif;color:#b9a68c}
.cal-known a{color:#e6bd6e;text-decoration:none;border-bottom:1px solid rgba(230,189,110,.3)}
.cal-known a:hover{color:#ffd37b}

/* ---- Screen Stars (screen.html, 30 Sept 2026) ----------------------------------------------------
   A title in, its stand-ups out: the search box, then each title as a band of cards — the face, the name, the part
   as the record words it, the other titles they are known from (each a new search), and the next show on the
   Comedy Calendar. */
.scr-tools{display:grid;gap:8px;margin:0 0 22px;padding:18px 18px 16px;border:1px solid #6d4526;border-left:4px solid var(--gold);
  background:linear-gradient(135deg,#1a110b,#0d0907)}
.scr-tools input{width:100%;min-width:0;background:#15100c;border:1px solid #69472f;color:#f1e5d2;padding:14px;
  font:400 clamp(17px,2.4vw,21px)/1.2 Georgia,serif}
.scr-tools input:focus{outline:2px solid var(--gold);outline-offset:1px}
.scr-tools small{font:italic 400 13px/1.4 Georgia,serif;color:#8d7c66}
.scr-results{display:grid;gap:28px;margin:0 0 12px}
.scr-results:empty{display:none}
.scr-title{display:grid;gap:10px}
.scr-title h3{margin:0;padding:0 0 6px;border-bottom:1px solid #4f3624;font:400 clamp(20px,3vw,26px)/1.2 Georgia,serif;color:#f2e7cd}
.scr-title h3 cite{color:#f1d7a4;text-shadow:2px 2px 0 var(--red)}
.scr-title h3 small{margin-left:6px;font:900 10px/1 Inter,sans-serif;letter-spacing:.12em;color:#a9967f;vertical-align:3px}
.scr-kind{padding:3px 6px;border:1px solid #5b3f29;color:#c9b18a;font:900 8.5px/1 Inter,sans-serif;letter-spacing:.12em;
  text-transform:uppercase;font-style:normal;vertical-align:4px}
.scr-group{margin:4px 0 0;font:900 9.5px/1.3 Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}
.scr-cast{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:8px}
.scr-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;padding:12px 14px;
  border:1px solid #4f3624;background:linear-gradient(160deg,#1c120b,#0d0907)}
.scr-card-body{display:grid;gap:4px;min-width:0}
.scr-name{justify-self:start;font:400 18px/1.2 Georgia,serif;color:#f1d7a4;text-decoration:none;border-bottom:1px solid rgba(241,215,164,.25)}
.scr-name:hover{color:#ffd37b}
.scr-part{font:400 14px/1.45 Georgia,serif;color:#d8c6ae;overflow-wrap:anywhere}
.scr-also{font:400 12.5px/1.45 Georgia,serif;color:#a9967f}
.scr-t{border:0;background:none;padding:0;cursor:pointer;font:inherit;color:#e6bd6e;text-align:left;
  text-decoration:underline;text-decoration-color:rgba(230,189,110,.35);text-underline-offset:2px}
.scr-t:hover{color:#ffd37b}
.scr-next{display:grid;gap:1px;margin-top:4px;padding:7px 10px;border:1px solid #6d4526;background:#110b07;text-decoration:none;color:#d8c6ae}
.scr-next b{font:900 9.5px/1.4 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.scr-next span{font:400 13.5px/1.4 Georgia,serif}
.scr-next small{font:italic 400 12px/1.3 Georgia,serif;color:#8d7c66}
.scr-next:hover{border-color:var(--gold)}
.scr-who{display:grid;gap:8px}
.scr-who p{margin:0;padding:10px 14px;border:1px solid #4f3624;border-left:3px solid var(--gold);background:#0f0b08;
  font:400 15px/1.55 Georgia,serif;color:#c5b69e}
.scr-who .join-kicker{display:block;margin-bottom:3px}
.scr-who a{color:var(--gold)}
.scr-more-cal{margin:14px 0 0}
/* SUCDb's cards, searched by a show's name: the part the record gives in it. */
.sd-credit{font:400 12.5px/1.4 Georgia,serif;color:#e6bd6e}
.sd-screen{margin:0 0 14px;border:1px solid #4f3624;border-left:3px solid var(--gold);background:#0f0b08;padding:12px 16px;
  font:400 15px/1.55 Georgia,serif;color:#c5b69e;max-width:92ch}
.sd-screen[hidden]{display:none}
.sd-screen .join-kicker{display:block;margin-bottom:4px}
.sd-screen a{color:var(--gold)}
@media(max-width:600px){
  .scr-cast{grid-template-columns:minmax(0,1fr)}
  .scr-tools{padding:14px 12px}
}

/* ---- SUCDb — the comedians (sucdb.html, 26 Sept 2026) --------------------------------------
   Each record a card: the painted face (or its initials, letterpressed like the logo — cream face,
   brick offset, ink outline), the name, one honest line. The profile opens in the Legends drawer's
   frame, above the sticky header. */
.road-tabs.sucdb-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.sd-tools{display:grid;grid-template-columns:minmax(220px,2fr) repeat(4,minmax(140px,1fr));gap:8px;margin:0 0 12px}
.sd-tools input,.sd-tools select{width:100%;min-width:0;background:#15100c;border:1px solid #69472f;color:#f1e5d2;
  padding:11px 12px;font:400 14px/1.2 Georgia,serif}
.sd-tools input:focus,.sd-tools select:focus{outline:2px solid var(--gold);outline-offset:1px}
.sd-count{margin:0 0 12px;font:900 10px/1.4 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#a9967f}
.sd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:10px}
.sd-card{display:grid;justify-items:center;align-content:start;gap:6px;padding:16px 10px 14px;text-align:center;
  border:1px solid #4f3624;background:linear-gradient(160deg,#1c120b,#0d0907);color:#d8c6ae;cursor:pointer;font:inherit;
  transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.sd-card:hover,.sd-card:focus-visible{transform:translate(-1px,-2px);border-color:var(--gold);box-shadow:4px 4px 0 var(--red)}
.sd-card:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.sd-card.is-started{background:#0d0906;border-style:dashed}
.sd-card b{font:400 17px/1.15 Georgia,serif;color:#f1d7a4}
.sd-line{font:400 12.5px/1.35 Georgia,serif;color:#a9967f}
/* The card's short line (26 Sept 2026, "all need a small summary"): three lines at most. */
.sd-sum{font:italic 400 12.5px/1.4 Georgia,serif;color:#cdbb9f;display:-webkit-box;-webkit-box-orient:vertical;
  -webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.sd-tools select option:disabled{color:#6f5f4c}
/* Names under the search box as it is typed (27 Sept 2026, "auto complete and improper spelling"). */
.sd-q{position:relative;min-width:0}
.sd-suggest{position:absolute;left:0;right:0;top:calc(100% + 4px);z-index:40;max-height:min(430px,60vh);overflow-y:auto;
  border:1px solid #6d4526;border-top:3px solid var(--gold);background:#120c08;box-shadow:0 16px 34px rgba(0,0,0,.65)}
.sd-sug{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:10px;align-items:center;padding:8px 12px;
  cursor:pointer;border-bottom:1px solid #2a1c12}
.sd-sug:last-child{border-bottom:0}
.sd-sug[aria-selected="true"],.sd-sug:hover{background:#2a1a0e}
.sd-sug-face{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;overflow:hidden;
  border:2px solid rgba(242,231,205,.85);background:#20140c}
.sd-sug-face img{width:100%;height:100%;object-fit:cover;display:block}
.sd-sug-face.is-initials{border-color:#6d4526;font:900 14px/1 Georgia,serif;color:#f2e7cd;text-shadow:2px 2px 0 #ad382b}
.sd-sug b{font:400 16px/1.2 Georgia,serif;color:#f2e7cd;overflow-wrap:anywhere}
.sd-sug small{font:400 12.5px/1.3 Georgia,serif;color:#a9967f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:1060px){.sd-tools .sd-q{grid-column:1/-1}}
/* The same list under every other search box (30 Sept 2026, "auto complete as they type"; js/shell.js docTypeahead):
   placed under its box by script, a name without a face on one line. */
.doc-ta{z-index:60;text-align:left}
.doc-ta .sd-sug.no-face{grid-template-columns:minmax(0,1fr)}
.doc-ta .sd-sug.no-face b,.doc-ta .sd-sug.no-face small{grid-column:1}
.doc-ta-close{margin:0;padding:8px 12px;font:italic 400 13px/1.35 Georgia,serif;color:#c9b18a;border-bottom:1px solid #2a1c12}
.sd-face{display:grid;place-items:center;width:92px;height:92px;border-radius:50%;overflow:hidden;
  border:3px solid rgba(242,231,205,.9);box-shadow:0 8px 20px rgba(0,0,0,.45);background:#20140c}
.sd-face img{width:100%;height:100%;object-fit:cover;display:block}
.sd-face.is-initials{border-color:#6d4526;background:radial-gradient(circle at 50% 35%,#2c1c0f,#0b0806 72%);
  font:900 30px/1 Georgia,serif;color:#f2e7cd;text-shadow:3px 3px 0 #ad382b;-webkit-text-stroke:1px #17100c}
.sd-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:2px}
.sd-tag{font:900 8px/1.3 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;font-style:normal;
  padding:3px 6px;border:1px solid #5b3f29;color:#c9b18a}
.sd-tag.full{border-color:var(--gold);color:var(--gold)}
.sd-tag.live{background:var(--gold);border-color:var(--gold);color:#160f08}
.sd-tag.doc{border-color:#ad382b;color:#e9a397}
.sd-why{margin-top:22px;border:1px solid #4f3624;background:#0f0b08;padding:14px 16px}
.sd-why summary{cursor:pointer;font:900 10px/1.4 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.sd-why p{margin:10px 0 0;font:400 15px/1.55 Georgia,serif;color:#c5b69e;max-width:78ch}
.sd-why p a,.sd-lane-link{color:var(--gold)}
/* A famous name from SNL's cast with no record here (28 Sept 2026): who, and why. */
.sd-missing{margin:0 0 14px;border:1px solid #4f3624;border-left:3px solid var(--gold);background:#0f0b08;padding:12px 16px;
  font:400 15px/1.55 Georgia,serif;color:#c5b69e;max-width:92ch}
.sd-missing[hidden]{display:none}
.sd-missing .join-kicker{display:block;margin-bottom:4px}
.sd-missing b{color:#f1d7a4;font-weight:400}
.sd-missing a{color:var(--gold)}
.drawer.sd-drawer{z-index:60}
.drawer.sd-drawer.open{display:block}
.sd-sheet{padding:26px clamp(18px,4vw,46px) 40px}
.sd-sheet-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;
  padding-bottom:18px;border-bottom:1px solid #4f3624}
.sd-face.big{width:118px;height:118px;border-width:4px}
.sd-face.big.is-initials{font-size:40px}
.sd-sheet-head h3{margin:4px 0 6px;font:400 clamp(1.8rem,4vw,2.8rem)/1.02 Georgia,serif;color:#f2e7cd;text-shadow:3px 3px 0 var(--red)}
.sd-sheet .close{float:none;align-self:start}
.sd-lead{margin:18px 0 10px;font:400 17px/1.6 Georgia,serif;color:#ddcdb4}
.sd-lead.is-quiet{font-style:italic;color:#a9967f}
.sd-doors{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}
.sd-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin:10px 0 6px}
.sd-fact{border:1px solid #4a3322;background:#120c08;padding:10px 12px;font:400 14px/1.45 Georgia,serif;color:#d8c6ae}
.sd-fact b{display:block;margin-bottom:4px;font:900 8.5px/1.3 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.sd-fact a,.sd-sheet a:not(.btn-gold):not(.ballot-action){color:#e6bd6e}
.sd-section{padding:16px 0 4px;border-top:1px solid #3a2718;margin-top:14px}
.sd-section h4{margin:0 0 10px;font:900 10px/1.3 Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}
.sd-section p{margin:0 0 10px;font:400 15.5px/1.6 Georgia,serif;color:#cdbda4}
.sd-works{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px 22px}
.sd-works h5{margin:0 0 6px;font:900 9px/1.3 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#c9ad7a}
.sd-works ul,.sd-sources{margin:0;padding-left:18px;font:400 14.5px/1.55 Georgia,serif;color:#d8c6ae}
.sd-sources li{margin:4px 0}
.sd-sources span{color:#a9967f}
.sd-eras{display:flex;flex-wrap:wrap;gap:6px}
.sd-eras span{border:1px solid #5b3f29;padding:4px 8px;font:900 9px/1.3 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#d8b879}
.sd-rec span{color:#a9967f}
.sd-rec-topics{margin:0;padding-left:18px;font:400 14px/1.6 Georgia,serif;color:#d8c6ae}
.sd-rec-topics span{color:#a9967f;margin-right:6px}
.sd-rec-topics a{margin-right:8px;font:900 9px/1 Inter,sans-serif;letter-spacing:.08em}
.sd-note{font:italic 400 13.5px/1.5 Georgia,serif!important;color:#8d7c66!important}
/* READER+ (26 Sept 2026): your lists and stars, one way in, DNA, comics like this, Discover, Compare. */
/* Seven tabs since Milestones: one row on a wide screen; in threes below, the lone last tab takes its row. */
.road-tabs.sucdb-tabs{grid-template-columns:repeat(7,minmax(0,1fr))}
.sd-mine{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:14px 0 4px}
.sd-mine-btn{border:1px solid #6d4526;background:#120c08;color:#e4d2b4;padding:7px 10px;cursor:pointer;
  font:900 9.5px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.sd-mine-btn:hover{border-color:var(--gold);color:var(--gold)}
.sd-mine-btn.on{background:var(--gold);border-color:var(--gold);color:#160f08}
.sd-stars{display:inline-flex;gap:2px;margin-left:6px}
.sd-star{border:0;background:none;padding:0 1px;cursor:pointer;font-size:20px;line-height:1;color:#5b4632}
.sd-star.on{color:var(--gold);text-shadow:1px 1px 0 var(--red)}
.sd-mine small{flex:1 1 100%;font:italic 400 12.5px/1.4 Georgia,serif;color:#8d7c66}
.sd-way{display:grid;gap:4px;margin:4px 0 14px;padding:14px 16px;border:1px solid #6d4526;border-left:4px solid var(--gold);background:#120c08}
.sd-way b{font:400 19px/1.25 Georgia,serif;color:#f2e7cd}
.sd-way small{font:400 13px/1.4 Georgia,serif;color:#a9967f}
.sd-way-go a{font:900 9.5px/1.6 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.sd-dna{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 12px}
.sd-dna span{border:1px solid #5b3f29;padding:4px 8px;font:900 8.5px/1.3 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#d8b879}
.sd-like{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.sd-like-btn,.sd-rabbit-stop{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:10px;align-items:center;
  text-align:left;padding:8px 10px;border:1px solid #4f3624;background:#0f0a07;color:#d8c6ae;cursor:pointer;font:inherit}
.sd-like-btn:hover,.sd-rabbit-stop:hover{border-color:var(--gold)}
.sd-like-btn .sd-face,.sd-rabbit-stop .sd-face{grid-row:1/3}
.sd-like-btn b,.sd-rabbit-stop b{font:400 15px/1.2 Georgia,serif;color:#f1d7a4}
.sd-like-btn small,.sd-rabbit-stop small{font:400 12px/1.3 Georgia,serif;color:#a9967f}
.sd-face.tiny{width:44px;height:44px;border-width:2px}
.sd-face.tiny.is-initials{font-size:16px;text-shadow:2px 2px 0 #ad382b}
.sd-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}
.sd-chip{border:1px solid #6d4526;background:#110b07;color:#e4d2b4;padding:7px 10px;cursor:pointer;
  font:900 9.5px/1.2 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.sd-chip i{font-style:normal;opacity:.6;margin-left:3px}
.sd-chip:hover{border-color:var(--gold);color:var(--gold)}
.sd-chip.on{background:var(--gold);border-color:var(--gold);color:#160f08}
.sd-grid-small{margin-bottom:10px}
.sd-tools-one{grid-template-columns:minmax(0,420px)}
.sd-tools-two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.sd-rabbit{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:8px}
.sd-rabbit-stop{position:relative;padding-left:34px}
.sd-rabbit-n{position:absolute;left:8px;top:8px;font:700 18px/1 Georgia,serif;color:var(--gold);text-shadow:1px 1px 0 var(--red)}
.sd-listed{display:grid;gap:6px}
.sd-listed-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:12px;align-items:center;
  padding:8px 10px;border:1px solid #3f2b1c;background:#0f0a07}
.sd-listed-row b{display:block;font:400 16px/1.2 Georgia,serif;color:#f1d7a4}
.sd-listed-row span{font:400 13px/1.4 Georgia,serif;color:#b9a68c}
.sd-listed-row a{font:900 9px/1.6 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.sd-compare{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sd-compare-card{border:1px solid #4f3624;background:linear-gradient(160deg,#1c120b,#0d0907);padding:18px;display:grid;justify-items:start;gap:8px}
.sd-compare-card h3{margin:0;font:400 24px/1.1 Georgia,serif;color:#f2e7cd;text-shadow:2px 2px 0 var(--red)}
.sd-compare-card dl{margin:0;display:grid;grid-template-columns:110px minmax(0,1fr);width:100%}
.sd-compare-card dt,.sd-compare-card dd{margin:0;padding:8px 0;border-top:1px solid #3a2718}
.sd-compare-card dt{font:900 8.5px/1.6 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.sd-compare-card dd{font:400 14px/1.45 Georgia,serif;color:#d8c6ae}
.sd-mystars{color:var(--gold);letter-spacing:1px;font-size:13px}
@media(max-width:1060px){.sd-tools{grid-template-columns:1fr 1fr}.sd-tools input{grid-column:1/-1}
  .road-tabs.sucdb-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.sd-rabbit{grid-template-columns:1fr 1fr}
  .road-tabs.sucdb-tabs>:last-child:nth-child(3n+1){grid-column:1/-1}}
@media(max-width:600px){
  .road-tabs.sucdb-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sd-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .sd-face{width:76px;height:76px}
  .sd-sheet-head{gap:12px}
  .sd-face.big{width:84px;height:84px}
  .sd-compare,.sd-tools-two,.sd-rabbit{grid-template-columns:1fr}
  .sd-listed-row{grid-template-columns:auto minmax(0,1fr)}
  .sd-listed-row a,.sd-listed-row .ballot-action{grid-column:2}
}

/* The profile sheet in the owner's order (26 Sept 2026): you know them from, bio and timeline, watch ·
   listen · read, live dates, DNA, Appreciation, keep exploring. */
.sd-sub{margin:16px 0 6px;font:900 9.5px/1.4 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.sd-known-list{display:flex;flex-wrap:wrap;gap:6px;margin:0}
.sd-known-list span{border:1px solid #6d4526;background:#140d08;padding:6px 10px;font:400 15px/1.3 Georgia,serif;color:#f1d7a4}
/* Came through (27 Sept 2026): the launching pads on a profile, each a door to its tab of Launching Pads. */
.sd-pads-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.sd-pads-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;border:1px solid #6d4526;border-left:3px solid var(--gold);background:#140d08;padding:8px 12px}
.sd-pads-list a{font:400 16px/1.3 Georgia,serif;color:#f2e7cd;text-decoration:none}
.sd-pads-list a:hover,.sd-pads-list a:focus-visible{color:var(--gold)}
.sd-pads-list span{font:400 14px/1.4 Georgia,serif;color:#c5b69e}
.sd-hist{margin:10px 0 0;font:400 15px/1.55 Georgia,serif;color:#c5b69e}
.sd-hist b{font:900 9.5px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-right:4px}
.sd-timeline{list-style:none;margin:14px 0 6px;padding:0 0 0 14px;border-left:2px solid #6d4526;display:grid;gap:10px}
.sd-timeline li{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);column-gap:10px;align-items:baseline}
.sd-timeline li:before{content:"";position:absolute;left:-20px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 3px #1b120c}
.sd-timeline b{font:400 18px/1 Georgia,serif;color:#f2e7cd;text-shadow:2px 2px 0 var(--red)}
.sd-timeline span{font:400 15px/1.4 Georgia,serif;color:#e4d2b4}
.sd-timeline span a{color:#f1d7a4}
.sd-timeline small{grid-column:2;font:900 8.5px/1.5 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#8d7c66}
.sd-doors3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.sd-door3{display:grid;align-content:start;gap:4px;padding:12px 14px;border:1px solid #6d4526;border-top:3px solid var(--gold);background:#120c08}
.sd-door3 b{font:400 17px/1.25 Georgia,serif;color:#f2e7cd;overflow-wrap:anywhere}
.sd-door3 small{font:400 13px/1.4 Georgia,serif;color:#a9967f}
.sd-allwork{margin-top:12px;border:1px solid #3f2b1c;background:#0f0a07;padding:10px 14px}
.sd-allwork summary{cursor:pointer;font:900 9.5px/1.4 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.sd-allwork .sd-works{margin-top:10px}
.sd-live-next{margin:0;font:400 17px/1.5 Georgia,serif;color:#e4d2b4}
.sd-live-next b{color:#f2e7cd}
.sd-live-none{margin:0;font:400 15px/1.5 Georgia,serif;color:#c5b69e}
.sd-live-links{margin:8px 0 0;font:400 14px/1.6 Georgia,serif}
.sd-live-links a{color:var(--gold)}
.sd-thanks{border:1px solid #6d4526;border-left:4px solid var(--red);background:linear-gradient(160deg,#1c120b,#0d0907);padding:18px 18px 14px}
.sd-thanks .sd-thanks-h{margin:6px 0 10px;font:400 clamp(1.5rem,3.4vw,2rem)/1.1 Georgia,serif;color:#f2e7cd;text-shadow:3px 3px 0 var(--red);letter-spacing:0;text-transform:none}
.sd-thanks-notes{display:grid;gap:10px;margin:0 0 14px}
.sd-thanks-notes blockquote{margin:0;padding:10px 14px;border-left:3px solid var(--gold);background:#120c08}
.sd-thanks-notes p{margin:0;font:italic 400 16px/1.55 Georgia,serif;color:#f1e3c8}
.sd-thanks-notes footer{margin-top:6px;font:900 8.5px/1.4 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#8d7c66}
.sd-thanks-empty{margin:0 0 12px;font:italic 400 15px/1.5 Georgia,serif;color:#c5b69e}
.sd-thanks-label{display:block;margin:0 0 5px;font:900 9.5px/1.4 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.sd-thanks textarea{width:100%;box-sizing:border-box;min-height:92px;padding:10px 12px;border:1px solid #6d4526;background:#0b0806;
  color:#f2e7cd;font:400 15px/1.5 Georgia,serif;resize:vertical}
.sd-thanks textarea:focus{outline:2px solid var(--gold);outline-offset:1px}
/* The signature, each part optional (the owner: "first name and last initial and where they saw them"). */
.sd-thanks-sign{display:grid;grid-template-columns:minmax(0,1.2fr) 92px minmax(0,1.8fr);gap:10px;margin-top:10px}
.sd-thanks-sign label{display:grid;gap:5px;font:900 9.5px/1.4 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.sd-thanks-sign small{font:italic 400 11.5px/1 Georgia,serif;letter-spacing:0;text-transform:none;color:#8d7c66}
.sd-thanks-sign input{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid #6d4526;background:#0b0806;color:#f2e7cd;font:400 15px/1.3 Georgia,serif}
.sd-thanks-sign input:focus{outline:2px solid var(--gold);outline-offset:1px}
.sd-thanks-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:10px 0 4px}
.sd-thanks-status{font:400 13.5px/1.4 Georgia,serif;color:#7fb069}
.sd-thanks-status.is-bad{color:#e08a80}
.sd-jump{border-color:var(--red)!important}
@media(max-width:600px){.sd-doors3{grid-template-columns:1fr}.sd-timeline li{grid-template-columns:44px minmax(0,1fr)}
  .sd-thanks-sign{grid-template-columns:minmax(0,1fr) 92px}.sd-thanks-sign label:last-child{grid-column:1/-1}}

/* SUCDb — Milestones (the owner's SUCDb_COMEDY_MILESTONES.html, 26 Sept 2026): records, firsts and
   milestones, each with its source; gold a record, green a first, brick a milestone. */
.sd-ms-feature{margin:4px 0 16px}
.sd-ms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:6px 0 10px}
.sd-ms-card{--ms:var(--gold);position:relative;display:flex;flex-direction:column;gap:6px;padding:18px 18px 14px 22px;
  border:1px solid #4f3624;background:linear-gradient(180deg,#160f0a,#0d0906);box-shadow:0 10px 26px rgba(0,0,0,.35)}
.sd-ms-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--ms)}
.sd-ms-card.is-first{--ms:#7fb069}
.sd-ms-card.is-milestone{--ms:#c9553f}
.sd-ms-top{display:flex;justify-content:space-between;gap:10px;align-items:center}
.sd-ms-label{font:900 8.5px/1.3 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ms);border:1px solid var(--ms);padding:3px 7px}
.sd-ms-when{font:900 9px/1.3 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#8d7c66;text-align:right}
.sd-ms-metric{margin-top:8px;font:400 clamp(2rem,4vw,2.6rem)/1 Georgia,serif;color:#f2e7cd;text-shadow:3px 3px 0 var(--red);overflow-wrap:anywhere}
.sd-ms-card h3{margin:4px 0 0;font:400 19px/1.2 Georgia,serif;color:#f1d7a4}
.sd-ms-where{margin:0;font:900 9.5px/1.4 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#a9967f}
.sd-ms-text{margin:2px 0 0;font:400 14.5px/1.55 Georgia,serif;color:#c5b69e}
.sd-ms-people{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:10px}
.sd-ms-who{display:inline-flex;align-items:center;gap:8px;border:0;background:none;padding:0;text-align:left;font:inherit;color:inherit}
button.sd-ms-who{cursor:pointer}
.sd-ms-who b{display:block;font:400 15px/1.2 Georgia,serif;color:#f1d7a4}
.sd-ms-who small{display:block;font:900 8.5px/1.5 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
button.sd-ms-who:hover b{color:var(--gold)}
.sd-ms-src{margin:4px 0 0;font:400 12.5px/1.5 Georgia,serif;color:#8d7c66}
.sd-ms-src a{color:var(--gold)}
.sd-ms-card.is-feature{padding:24px 26px 18px 30px;background:radial-gradient(circle at 85% 0%,rgba(239,182,78,.12),transparent 45%),linear-gradient(160deg,#1c120b,#0d0907)}
.sd-ms-card.is-feature .sd-ms-metric{font-size:clamp(3rem,9vw,5.4rem)}
.sd-ms-card.is-feature h3{font-size:clamp(1.3rem,3vw,1.8rem)}
.sd-ms-time{margin-top:26px}
.sd-ms-lanes{display:grid;margin-top:8px}
.sd-ms-lane{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;padding:12px 0;border-top:1px solid #3b2a1d}
.sd-ms-lane>b{font:400 28px/1 Georgia,serif;color:#f2e7cd;text-shadow:2px 2px 0 var(--red)}
.sd-ms-lane ul{margin:0;padding:0;list-style:none;display:grid;gap:6px}
.sd-ms-lane li{font:400 15px/1.45 Georgia,serif;color:#c5b69e}
.sd-ms-lane li b{font-weight:400;color:#f1d7a4}
.sd-ms-lane li span{display:block;font:900 8.5px/1.6 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#8d7c66}
@media(max-width:1000px){.sd-ms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.sd-ms-grid{grid-template-columns:1fr}.sd-ms-lane{grid-template-columns:58px minmax(0,1fr);gap:10px}.sd-ms-lane>b{font-size:21px}}

/* Thanks for the Laughs on the front page (26 Sept 2026): the newest notes, one at a time, each
   opening that comic's Appreciation. Hidden until a real note is up. */
.thanks-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:22px;align-items:center;margin:40px 0 0;
  padding:24px 26px;border:1px solid #6d4526;border-left:4px solid var(--red);background:linear-gradient(160deg,#1c120b,#0d0907)}
.thanks-panel[hidden]{display:none}
.thanks-head h2{margin:6px 0 8px;font:400 clamp(1.6rem,3.6vw,2.3rem)/1.08 Georgia,serif;color:#f2e7cd;text-shadow:3px 3px 0 var(--red)}
.thanks-head p{margin:0;font:400 15px/1.55 Georgia,serif;color:#c5b69e}
.thanks-stage{display:grid}
.thanks-note{grid-area:1/1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center;text-decoration:none;
  opacity:0;visibility:hidden;transition:opacity .6s ease,visibility .6s}
.thanks-note.on{opacity:1;visibility:visible}
.thanks-face{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;overflow:hidden;border:3px solid rgba(242,231,205,.9);
  background:#20140c;font:900 26px/1 Georgia,serif;color:#f2e7cd}
.thanks-face img{width:100%;height:100%;object-fit:cover}
.thanks-words q{display:block;font:italic 400 18px/1.5 Georgia,serif;color:#f1e3c8;quotes:"\201C" "\201D"}
.thanks-words b{display:block;margin-top:8px;font:900 9px/1.4 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.thanks-dots{grid-column:2;display:flex;gap:8px}
.thanks-dots button{width:10px;height:10px;border-radius:50%;border:1px solid var(--gold);background:none;padding:0;cursor:pointer}
.thanks-dots button.on{background:var(--gold)}
@media (prefers-reduced-motion: reduce){.thanks-note{transition:none}}
@media(max-width:760px){.thanks-panel{grid-template-columns:1fr;padding:20px}.thanks-dots{grid-column:1}.thanks-face{width:64px;height:64px}}

/* ============================ City by City (city.html) ============================
   The book's city scorecard (Topic 233), 26 Sept 2026: three picture tabs, a card per city with the
   next room, the visits as a small table, and the form in the book page's six parts. */
.road-tabs.city-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.city-card{margin:0 0 16px;padding:18px 20px;border:1px solid #6b482f;border-top:4px solid var(--gold);background:#0f0b08}
.city-card header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.city-card h3{margin:0;font:400 28px/1.05 Georgia,serif;color:#f2e7cd;text-shadow:2px 2px 0 var(--red)}
.city-card h3 span{font-size:.6em;color:#c9b69a;text-shadow:none}
.city-card header small{font:900 9px/1.4 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#a9967f}
.city-next{padding:12px 14px;border-left:4px solid var(--gold);background:#171009;margin-bottom:10px}
.city-next.up{border-left-color:#7fb069}.city-next.down{border-left-color:var(--red)}
.city-next b{display:block;font:400 19px/1.25 Georgia,serif;color:#f1d7a4}
.city-next p{margin:5px 0 0;font:400 13.5px/1.5 Georgia,serif;color:#b9a68c}
.city-change,.city-back{margin:6px 0;font:400 13.5px/1.5 Georgia,serif;color:#c9b69a}
.city-table{overflow-x:auto;margin-top:10px}
.city-table table{width:100%;border-collapse:collapse;font:400 13.5px/1.4 Georgia,serif;color:#d8c6ae}
.city-table th{text-align:left;padding:6px 8px;font:900 8.5px/1.4 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid #4f3624}
.city-table td{padding:7px 8px;border-bottom:1px solid #2e2016;vertical-align:top;white-space:nowrap}
.city-table td small{color:#8d7c66}
.city-table a{color:var(--gold);font:900 9px/1.6 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;margin-right:8px}
.city-sold{font-style:normal;font:900 8px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#160f08;background:var(--gold);padding:3px 5px;margin-left:4px}
.city-remove{border:1px solid #5b3f29;background:none;color:#a9967f;padding:4px 7px;cursor:pointer;font:900 8.5px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.city-remove:hover{border-color:var(--red);color:#e08a80}
.city-tour{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.city-tools{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:6px}
.city-csv{flex:1 1 100%;max-height:220px;overflow:auto;padding:12px;border:1px solid #4f3624;background:#0b0806;color:#d8c6ae;font:400 12px/1.5 ui-monospace,Consolas,monospace;white-space:pre}
.city-form .city-part{margin:0 0 14px;padding:12px 16px 4px;border:1px solid #4f3624;background:#0f0b08}
.city-form legend{padding:0 8px;font:900 9.5px/1.4 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.city-soldout{display:flex;align-items:center;gap:8px;margin:4px 0 14px;font:400 15px/1.3 Georgia,serif;color:#e4d2b4}
.city-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}
@media(max-width:600px){.city-card{padding:14px}.city-card h3{font-size:24px}}

/* A word D.O.C. doesn't print in full (27 Sept 2026): its first letter, then a red dash for the rest
   (js/shell.js docHushDraw). It lands inside lists, timelines and links that set their own colour, so
   the red is marked important — nothing else on the site may turn it back into ordinary text. */
.mask-dash{color:#e2513f!important;font-weight:700;font-style:normal;letter-spacing:0;text-decoration:none}

/* ============================ Your Team (team.html) ============================
   The owner's manager / agent / booker page in the house style, 26 Sept 2026: five picture tabs, a
   card per role with who it works for, the workload test, the commission worked out. */
.road-tabs.team-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:1060px){.road-tabs.team-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.road-tabs.team-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.team-for{display:inline-block;align-self:start;margin-bottom:6px;padding:4px 8px;border:1px solid #6d4526;font:900 8.5px/1.2 Inter,sans-serif;
  font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.team-does{margin:10px 0 4px;padding-left:18px;font:400 14px/1.5 Georgia,serif;color:#d8c9ae}
.team-does li{margin:3px 0}
.team-note{margin:10px 0 0;padding:10px 12px;border-left:3px solid #6d4526;background:#140e09;font:400 14px/1.5 Georgia,serif;color:#d8c9ae}
.team-note i{display:block;margin-bottom:3px;font:900 9px/1.3 Inter,sans-serif;font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:#c9a24a}
.team-go{display:inline-block;margin-top:12px}
.team-check li{padding:10px 0}
/* Ticked here means "true", not "packed": no strike-through (On the Road's list crosses items off). */
.team-check .road-pack input:checked+b{color:#f1d7a4;text-decoration:none}
.team-check-out,.team-out{padding:16px 18px;border:1px solid #6b482f;background:#0f0b08;align-self:start}
.team-check-out h5,.team-out h5{margin:0 0 8px;font:900 11px/1.3 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.team-check-out ul,.team-out ul{margin:8px 0 0;padding-left:18px}
.team-check-out li,.team-out li,.team-check-out p,.team-out p{margin:8px 0 0;font:400 14px/1.5 Georgia,serif;color:#d8c9ae}
.team-check-out a{color:var(--gold)}
.team-first b{color:#f1d7a4}
.team-rule{margin:12px 0 0;font:italic 400 13.5px/1.5 Georgia,serif;color:#a9967f}
.team-rule b{font-style:normal;color:#e4d2b4}
.team-fix table,.team-streams{width:100%;border-collapse:collapse;font:400 14px/1.45 Georgia,serif;color:#d8c9ae}
.team-fix th,.team-streams th{text-align:left;padding:7px 8px;font:900 8.5px/1.4 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid #4f3624}
.team-fix td,.team-streams td{padding:8px;border-bottom:1px solid #2e2016;vertical-align:middle}
.team-fix td:first-child{color:#f1d7a4}
.team-streams-wrap{overflow-x:auto;margin:6px 0 12px}
.team-streams input[type=number]{width:110px;background:#15100c;border:1px solid #69472f;color:#f1e5d2;padding:7px 8px;font:400 14px Georgia,serif}
.team-streams input[type=checkbox]{width:18px;height:18px;accent-color:var(--gold)}
.team-streams td:nth-child(3),.team-streams td:nth-child(4),.team-streams th:nth-child(3),.team-streams th:nth-child(4){text-align:center}
.team-law ul{margin:8px 0 0;padding-left:18px}
.team-law li{margin:10px 0;font:400 14px/1.55 Georgia,serif;color:#d8c9ae}
.team-self{margin-top:18px}
@media(max-width:600px){.team-streams input[type=number]{width:84px}}
/* Find them (27 Sept 2026): the directory — who does each job, state by state, from their own sites.
   A row per listing, like the Club Directory's list; the photo is the tab's and the gap note's. */
.td-tools{display:grid;gap:12px;margin:4px 0 14px}
.td-tools .walk-chips{margin:0}
.td-pick{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}
.td-pick label{display:flex;align-items:center;gap:8px;font:900 9px/1.3 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.td-pick select,.td-pick input{background:#15100c;border:1px solid #69472f;color:#f1e5d2;padding:8px 10px;font:400 14px Georgia,serif;min-width:0}
.td-pick input{flex:1 1 220px}
.td-h{margin:22px 0 8px;font:900 11px/1.3 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.td-h small{margin-left:8px;font:400 13px Georgia,serif;letter-spacing:0;text-transform:none;color:#a9967f}
.td-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:12px}
.td-row{display:flex;flex-direction:column;gap:6px;padding:14px 16px;border:1px solid #4f3624;background:#110c08}
.td-row b{font:400 17px/1.3 Georgia,serif;color:#efd9b0}
.td-row b a{color:inherit;text-decoration:none}
.td-row b a:hover{color:var(--gold)}
.td-where{font:900 9px/1.4 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#c9a24a}
.td-row p{margin:0;font:400 14px/1.5 Georgia,serif;color:#d8c9ae}
.td-row .td-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-top:auto;padding-top:6px}
.td-row small{font:400 12px/1.4 Georgia,serif;color:#8f7d66}
.td-row small a{color:#b9a68b}
.td-find{padding:8px 14px;font-size:11px;white-space:nowrap}
.td-gap{margin:6px 0 4px}
.td-gap p{margin:6px 0 0}
.td-gap .td-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:10px}
.td-biz{margin:24px 0 0}
.td-biz a{color:var(--gold)}
/* 1 Oct 2026: how representation comes about, over the tools; the booking agents' Kind picker and its note;
   the state gap box's web search in outline, so it never reads as a listing's gold Find now; and the card's
   pill, at the top right on a wide screen and smaller at the card's foot on a phone. */
.td-how{margin:0 0 14px}
.td-how a,.td-kind-note b{color:var(--gold)}
.td-kind:not([hidden]){display:flex;align-items:center;gap:8px}
.td-kind-note{margin:0;font-size:13px}
.td-kind-note b{font-weight:400}
.td-web{text-decoration:none;white-space:nowrap}
.td-row .td-pill-foot{display:none}
@media(max-width:600px){
  .td-row .td-pill-top{display:none}
  .td-row .td-pill-foot{display:inline-block;align-self:flex-start;padding:3px 8px;font-size:7.5px;letter-spacing:.08em}
}

/* Enhanced listings (27 Sept 2026, the owner: "in cards put on top rt Enhance My Listing pill for vendors to
   buy"): the pill at the top right of a directory card; a paid card, its own words under D.O.C.'s line and
   marked as paid; the offer (enhance.html) and a paid listing's page (listing.html). */
.td-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.td-top b{min-width:0;overflow-wrap:anywhere}
.td-pill,.td-paid{flex:none;display:inline-block;margin-top:2px;padding:5px 10px;border-radius:999px;
  font:900 8.5px/1.2 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;text-decoration:none}
.td-pill{border:1px solid #8a6a3a;color:#d9b25c;background:rgba(221,164,65,.06)}
.td-pill:hover,.td-pill:focus-visible{border-color:var(--gold);background:var(--gold);color:#160f08}
.td-paid{border:1px solid var(--gold);background:var(--gold);color:#160f08}
.td-row.td-plus{border-color:#8a6a3a;border-top:3px solid var(--gold);background:linear-gradient(180deg,#1b130b,#110c08 60%)}
.td-words{margin:4px 0 0;padding:10px 12px;border-left:3px solid var(--gold);background:#171009;
  font:italic 400 14px/1.55 Georgia,serif;color:#ecdcbf}
.td-words i{display:block;margin-bottom:5px;font:900 8.5px/1.3 Inter,sans-serif;font-style:normal;letter-spacing:.12em;
  text-transform:uppercase;color:#c9a24a}
.td-page{align-self:flex-start;font:900 9.5px/1.4 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;
  color:var(--gold);text-decoration:none}
.td-page:hover{text-decoration:underline}
.td-inert{opacity:.55;cursor:not-allowed}
.en-for{margin-top:12px!important;font:400 15px/1.5 Georgia,serif;color:#f1d7a4!important}
.en-for b{color:#f2e7cd}
/* The head is a flex column, which stretched its one button across the page. */
.page-head .hero-cta{align-self:flex-start;margin-top:18px}
.road-cards.en-what{grid-template-columns:repeat(auto-fit,minmax(min(250px,100%),1fr))}
.en-compare{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0 14px;align-items:start}
@media(max-width:760px){.en-compare{grid-template-columns:minmax(0,1fr)}}
.en-example{display:inline-block;text-decoration:none}
/* the name search over "Your listing" (1 Oct 2026) */
.join-form .en-pick-find{margin-bottom:8px;box-sizing:border-box;min-width:0}
.en-preview{pointer-events:none}
.en-intake{margin-top:14px;border-left-color:#9e291f}
.en-intake.on{border-left-color:#7fb069}
.en-intake p{margin:9px 0 0;color:#c5b69e;line-height:1.6}
.status.en-ok{color:#7fb069}
.status.en-no{color:#e08a80}
.lp .lp-example{margin:0 0 22px;border-left-color:#9e291f}
.lp .lp-example .btn-gold{display:inline-block;margin-top:12px;text-decoration:none}
.lp-head .lp-where{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin-top:16px;
  font:900 10px/1.4 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#e1c27e}
.lp-head .lp-headline{font:400 clamp(1.1rem,2.2vw,1.4rem)/1.45 Georgia,serif;color:#f1e3c8}
.lp-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px}
.lp-actions a,.lp-actions span{text-decoration:none}
.lp-about p{max-width:68ch;margin:0 0 14px;font:400 16px/1.7 Georgia,serif;color:#dccbb0}
.lp-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin:6px 0 0;padding:0;list-style:none}
.lp-links a{font:900 9.5px/1.4 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.lp-does ul{margin:10px 0 0;padding-left:18px}
.lp-does li{margin:6px 0;font:400 15px/1.5 Georgia,serif;color:#d8c9ae}
.lp-charges p{margin:10px 0 0;font:400 14px/1.6 Georgia,serif;color:#c5b69e}
.lp-charges .lp-quote{font:italic 400 16px/1.6 Georgia,serif;color:#f1e3c8}
.lp-charges a,.lp-note a{color:var(--gold)}
.lp-note p{margin:10px 0 0;font:400 14px/1.6 Georgia,serif;color:#c5b69e}

/* ============================ Launching Pads (launchpads.html) ============================
   27 Sept 2026, the owner: "build the SNL alumni section and the other Launching Pads if warranted" — a picture
   tab per show; in each, a card per comedian who came through it: the face (SUCDb's), the name (to the
   profile), the part they played, and where they stand now. */
.lpad-chips{margin:4px 0 16px}
.walk-chip:disabled{opacity:.45;cursor:not-allowed}
.lpad-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:12px}
.lpad-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:16px 14px 14px;text-align:center;
  border:1px solid #4f3624;background:linear-gradient(180deg,#171009,#0f0b08)}
.lpad-who{display:flex;flex-direction:column;align-items:center;gap:9px;text-decoration:none}
.lpad-who b{font:400 18px/1.2 Georgia,serif;color:#f1d7a4}
.lpad-who:hover b{color:var(--gold)}
.lpad-face{display:grid;place-items:center;width:84px;height:84px;border-radius:50%;overflow:hidden;
  border:3px solid rgba(242,231,205,.9);box-shadow:0 8px 20px rgba(0,0,0,.45);background:#20140c}
.lpad-face img{width:100%;height:100%;object-fit:cover;display:block}
.lpad-face.is-initials{border-color:#6d4526;background:radial-gradient(circle at 50% 35%,#2c1c0f,#0b0806 72%);
  font:900 26px/1 Georgia,serif;color:#f2e7cd;text-shadow:3px 3px 0 #ad382b;-webkit-text-stroke:1px #17100c}
.lpad-role{font:400 13.5px/1.45 Georgia,serif;color:#cdbb9f}
.lpad-stage{margin-top:auto;padding:4px 9px;border:1px solid #5b3f29;border-radius:999px;
  font:900 8.5px/1.3 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#a9967f;text-decoration:none}
.lpad-stage.live{border-color:#7fb069;color:#9fd08a}
.lpad-stage.tour{border-color:#8a6a3a;color:#d9b25c}
.lpad-stage.gone{border-color:#4f3624;color:#8f7d66}
a.lpad-stage:hover{border-color:var(--gold);color:var(--gold)}
.lpad-also{margin:18px 0 0;font:400 14px/1.7 Georgia,serif;color:#c5b69e}
.lpad-also b{font-weight:400;color:#e4d2b4}
.lpad-also a{color:var(--gold)}
.lpad-also span{color:#8f7d66}
/* A tab's "before you go" box (Kill Tony, 29 Sept 2026): when it runs, tickets, how a comic gets up. */
.lpad-how{margin:14px 0 18px;padding:14px 16px;border:1px solid #4f3624;border-left:3px solid var(--gold);background:rgba(23,16,12,.72)}
.lpad-how p{margin:0 0 8px;font:400 14.5px/1.6 Georgia,serif;color:#e4d6bd}
.lpad-how b{display:inline-block;min-width:6.2em;font:800 11px/1 Inter,system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.lpad-how .lpad-how-from{margin:4px 0 0;font:400 12.5px/1.5 Inter,system-ui,sans-serif;color:#8f7d66}
#lpadSources li span{color:#8f7d66;font-size:13px}
@media(max-width:600px){.lpad-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .lpad-card{padding:12px 8px}.lpad-face{width:64px;height:64px}.lpad-who b{font-size:16px}}

/* ---- the reader walkthrough (27 Sept 2026) ------------------------------------------------------------
   The owner: "SUCDb and Comics Corner and Venues all need u to walk thru as reader u will see many fixes to
   be made — make them plz". What a reader tripped on that lives in this file, each under the page it fixes. */
/* SUCDb: the six count tiles two a row on a phone, not six rows of numbers before the tabs. */
@media(max-width:600px){.sucdb-counts{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Club Directory: under 900px the map card is no longer sticky, so the desktop's top:96px came along and
   covered the list heading. */
@media(max-width:900px){.club-card.art-top{top:auto}}
/* Gig Board: a chip at 0, or "Saved" with nothing saved, looks as off as it is. */
.gig-chips button:disabled{opacity:.45;cursor:not-allowed}
/* Comic Desk: the range picker filters nothing on the real desk (only the example has numbers to range
   over); the profile panel keeps the example's room for its "92%" ring only in the example; and the one
   "nothing yet" note spans its row. */
body:not(.desk-demo) #demandRange{display:none}
.profile-health:not(.is-demo){padding-right:23px;min-height:0}
.pulse-grid>.desk-empty{grid-column:1/-1}
/* Your Team: the commission table's last heading fits a phone. */
@media(max-width:420px){.team-streams th,.team-streams td{padding:6px 4px}.team-streams input[type=number]{width:72px}}
/* Filling the Room: the filming cards' stamps sit below the torn top edge, not under it; a note's bold
   word stays a word, not a headline. */
.film-card .film-tag{top:4%}
.chain-body .kit-note b{display:inline;font:inherit;font-weight:700;margin:0;color:inherit}
/* Road Maps: the figures inside a card's sentences stay in the sentence. */
.map-card p b{display:inline;font:inherit;font-weight:700;color:#f1d7a4;margin:0}
/* The Hollywood Effect: a ticked red flag is flagged, not struck out as dismissed. */
.hw-check .hw-flag input:checked+b{color:#f2b9a0;text-decoration:none}
/* Buddy Up: the run sheet fits a phone — the "Who" column was off the right edge at 375. */
.road-table.buddy-run{min-width:0}
/* Your SUCDb record: the three steps under the hero's words (the owner: "the Your Record page makes no
   sense to me"). */
.rec-steps{margin:16px 0 0;padding:0;list-style:none;counter-reset:rs;display:grid;gap:9px;max-width:760px}
.rec-steps li{counter-increment:rs;position:relative;padding-left:40px;color:#d8c9ae;line-height:1.5}
.rec-steps li::before{content:counter(rs);position:absolute;left:0;top:-2px;width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;border:1px solid var(--gold);color:var(--gold);font:700 14px/1 Georgia,serif}
.rec-steps b{color:#f1d7a4}
.rec-steps a,.hero-record p a{color:var(--gold)}
/* Words for before and after submissions open (js/shell.js docLiveSwap): the hidden one stays hidden
   whatever a page's own styles say. */
[data-live][hidden]{display:none!important}
/* The example Comic Desk: what its controls kept on this device. */
.desk-kept{margin:12px 0 0;font:italic 400 13px/1.45 Georgia,serif;color:#b9a68b}

/* ---- Your D.O.C. from a SUCDb record, and the Legends by vote (27 Sept 2026) ---------------------------
   The owner: "DOCDb profiles should have add to My D.O.C. button on them", then "the site is worthless if
   people pick only 12 dead comics — … just have My DOC current [and] people vote for Legends". At the top
   of a record: the add, the record's one gold button (once in, it wears the lists' ✓), and the vote IN on
   the comic's Legends ballot. */
.sd-twelves{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0 2px;padding:12px 14px;
  border:1px solid #6d4526;border-left:4px solid var(--gold);background:#120c08}
.sd-twelves .btn-gold,.sd-twelves .ballot-action{margin:0}
.sd-twelves .sd-mine-btn{padding:9px 12px;font-size:11.5px;letter-spacing:.03em;text-transform:none}
.sd-doc-full{font:italic 400 14px/1.4 Georgia,serif;color:#e4d2b4}
.sd-twelves small{flex:1 1 100%;font:italic 400 12.5px/1.4 Georgia,serif;color:#8d7c66}
.sd-doc-full a,.sd-twelves small a{color:var(--gold)}
/* Your D.O.C. takes any comedian working now, so some come without a face yet: their initials stand in,
   in the picker's ring, the header's circle and the feed. */
.merch-slot .slot-face.is-initials{display:grid;place-items:center;font:400 14px/1 Georgia,serif;font-style:normal;
  color:#f2e7cd;text-shadow:1px 1px 0 var(--red)}
.dts-face .dts-initials{display:grid;place-items:center;width:100%;height:100%;border-radius:50%;
  font:400 19px/1 Georgia,serif;font-style:normal;color:#f2e7cd;text-shadow:2px 2px 0 var(--red)}
.portrait.is-initials{display:grid;place-items:center;font:400 18px/1 Georgia,serif;font-style:normal;
  color:#f2e7cd;text-shadow:2px 2px 0 var(--red)}
@media(max-width:600px){.dts-face .dts-initials{font-size:15px}}

/* ---- Club Etiquette (etiquette.html, 28 Sept 2026) ---------------------------------------------------------
   The owner's page in the site's own pieces: the header rule and a row of jumps, the two opening notes side by
   side, the numbered cards, a pull line, the list of ways out, the first-show checks, the quiz and the closer. */
.etq-rule{margin-top:16px!important;padding:10px 14px;border-left:3px solid var(--gold);background:rgba(12,8,5,.62);max-width:720px}
.etq-rule b{color:var(--gold)}
.etq-jump{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.etq-jump a{padding:7px 11px;border:1px solid #5b3e27;background:rgba(19,13,9,.8);color:#e4d2b4;
  font:900 10px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
.etq-jump a:hover{border-color:var(--gold);color:var(--gold)}
.etq-intro{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0 4px}
.etq-intro .fee-note{margin:0}
.etq-intro .fee-note p{margin:8px 0 0;color:#c5b69e;line-height:1.6}
.etq-intro .fee-note a,.etq-cards a,.etq-checks a,#know .section-note a{color:var(--gold)}
@media(max-width:760px){.etq-intro{grid-template-columns:1fr}}
.etq-n{display:inline-block;margin-right:9px;font:900 11px/1 Inter,sans-serif;font-style:normal;letter-spacing:.1em;color:var(--gold);opacity:.75}
.etq-bigline{margin:22px 0 0;padding-left:16px;border-left:4px solid var(--gold);
  font:700 clamp(1.2rem,2.6vw,1.75rem)/1.25 Georgia,serif;color:#f2e7cd;max-width:860px}
.etq-out{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.etq-out li{padding:13px 16px;border:1px solid rgba(173,56,43,.45);background:rgba(38,14,12,.55);color:#f0d9d2;font-weight:700}
.etq-out li:before{content:"×";color:#f18c84;margin-right:9px;font-weight:900}
.etq-checks{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.etq-checks li{padding:12px 15px;border:1px solid #3d2a1c;background:#120c08;color:#e4d2b4}
.etq-checks li:before{content:"✓";color:#7fb069;font-weight:900;margin-right:9px}
@media(max-width:620px){.etq-out,.etq-checks{grid-template-columns:1fr}}
.etq-answers{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.etq-answers .ballot-action.on{border-color:var(--gold);color:var(--gold)}
/* 1 Oct 2026: the picked answer went gold on gold under the finger (a tap leaves it hovered and focused), so on a phone
   the words vanished; picked and hovered, it is dark words on gold. */
.etq-answers .ballot-action.on:hover,.etq-answers .ballot-action.on:focus{background:var(--gold);color:#1a1008}
.etq-verdict{min-height:1.6em;margin:14px 0 0;font:700 17px/1.4 Georgia,serif;color:#e0a79d}
.etq-verdict.is-right{color:#9fce8c}
.etq-closer{margin:36px 0 10px;padding:40px 16px;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.etq-closer p{margin:14px auto 0;max-width:900px;font:700 clamp(1.4rem,3.4vw,2.4rem)/1.15 Georgia,serif;color:#f2e7cd}

/* You Might Have Heard… (heard.html) and Clean vs. Dirty (clean-dirty.html), 28 Sept 2026 — the owner's two
   pages, on the etiquette page's parts: the line to take away under each card, Farley's route as four cells,
   the act audit's ticks and a comic's link to their record. */
.vote-point .hrd-truth{display:block;margin-top:11px;padding-top:10px;border-top:1px solid #3d2a1c;
  font:700 15px/1.45 Georgia,serif;font-style:normal;color:#f2e7cd}
.hrd-profile{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0 4px}
.hrd-profile div{padding:14px 15px;border:1px solid #3d2a1c;background:rgba(18,12,8,.82);color:#e4d2b4;line-height:1.45}
.hrd-profile b{display:block;margin-bottom:6px;font:900 10px/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
@media(max-width:900px){.hrd-profile{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.hrd-profile{grid-template-columns:1fr}}
#missing .section-note a,#cleanlink .section-note a{color:var(--gold)}
.cvd-audit{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px}
.cvd-check{display:flex;gap:10px;align-items:flex-start;padding:12px 15px;border:1px solid #3d2a1c;background:#120c08;
  color:#e4d2b4;cursor:pointer;line-height:1.45}
.cvd-check input{margin-top:3px;accent-color:var(--gold);flex:none}
.cvd-check:has(input:checked){border-color:var(--gold)}
@media(max-width:620px){.cvd-audit{grid-template-columns:1fr}}
.cvd-verdict{color:#e4d2b4}
.vote-point .cvd-rec{display:inline-block;margin-top:10px;color:var(--gold);font-weight:800;font-size:13px}
.etq-closer .cvd-after{font:400 17px/1.6 Georgia,serif;color:#cdbb9f;max-width:760px}
/* Launching Pads' SNL tab: the whole cast since 1975 (data/snl-cast.js), folded under the cards. */
.lpad-cast{margin:22px 0 4px;border:1px solid #3d2a1c;background:rgba(18,12,8,.72);padding:12px 16px}
.lpad-cast summary{cursor:pointer;font:900 11px/1.6 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.lpad-cast p{margin:10px 0;color:#cdbb9f;line-height:1.55}
.lpad-cast p a{color:var(--gold)}
.lpad-cast-names{display:flex;flex-wrap:wrap;gap:6px}
.lpad-cast-names a,.lpad-cast-names span{padding:5px 9px;border:1px solid #3d2a1c;font-size:13px;color:#a8977f}
.lpad-cast-names a{color:#f2e7cd;border-color:#7a5a36;font-weight:700}

/* ---- Find Your Comedy Lane (lane.html, 28 Sept 2026) ------------------------------------------------------
   The owner's twelve-round road test on the etiquette page's parts: the two shelf choices, the round (the line,
   four names, the lane and where the line is from, the like buttons), the results strip and the starter shelf of
   faces linked to their records. */
.lane-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.lane-badges span{padding:7px 11px;border:1px solid #5b3e27;background:rgba(19,13,9,.8);color:#e4d2b4;font-size:13px}
.lane-badges b{color:var(--gold)}
.lane-modes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 18px}
.lane-mode{display:grid;gap:5px;text-align:left;padding:15px 16px;border:1px solid #3d2a1c;background:#120c08;color:#e4d2b4;
  font:inherit;cursor:pointer;transition:border-color .15s ease}
.lane-mode b{font:900 11px/1.3 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#f2e7cd}
.lane-mode span{font:400 14px/1.45 Georgia,serif;color:#c5b69e}
.lane-mode:hover{border-color:#7a5a36}
.lane-mode.on{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.lane-mode.on b{color:var(--gold)}
.lane-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px}
.lane-round{font:900 12px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.lane-score{font:700 13px/1 Inter,sans-serif;color:#a9967f}
.lane-score b{color:#f2e7cd}
.lane-bar{height:6px;background:#1c130c;border:1px solid #3d2a1c;margin-bottom:22px}
.lane-bar span{display:block;height:100%;width:0;background:var(--gold);transition:width .35s ease}
.lane-quote{margin:0 0 20px;padding:0 0 0 18px;border-left:4px solid var(--gold);
  font:700 clamp(1.25rem,3.2vw,2.05rem)/1.3 Georgia,serif;color:#f2e7cd;max-width:900px}
.lane-prompt{margin:0 0 10px;font:900 11px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#a9967f}
.lane-choices{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:720px}
.lane-choices .ballot-action{justify-content:flex-start;text-align:left;min-height:46px!important;font-size:13px!important}
.lane-choices .ballot-action.is-right{border-color:#7fb069;color:#bfe0ae;background:rgba(127,176,105,.1)}
.lane-choices .ballot-action.is-wrong{border-color:#ad382b;color:#f0b3ab;background:rgba(173,56,43,.12)}
.lane-reveal{margin-top:20px;padding-top:18px;border-top:1px solid #3d2a1c}
.lane-answer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;
  font:700 clamp(1.15rem,2.6vw,1.6rem)/1.2 Georgia,serif;color:#f2e7cd}
.lane-answer b{color:var(--gold)}
.lane-verdict{font:900 11px/1 Inter,sans-serif;font-style:normal;letter-spacing:.1em;text-transform:uppercase;
  padding:7px 10px;border:1px solid rgba(173,56,43,.6);color:#f0b3ab}
.lane-verdict.is-right{border-color:rgba(127,176,105,.6);color:#bfe0ae}
.lane-box{margin-top:14px;padding:15px 17px;border:1px solid #3d2a1c;background:rgba(18,12,8,.82)}
.lane-box > b{display:block;margin-top:6px;font:700 20px/1.25 Georgia,serif;color:#f2e7cd}
.lane-box p{margin:8px 0 0;color:#c5b69e;line-height:1.55}
.lane-box .lane-where{font-size:14px}
.lane-box .lane-where a{color:var(--gold)}
.lane-ask{margin:18px 0 8px;font:700 16px/1.4 Georgia,serif;color:#f2e7cd}
.lane-rates{display:flex;flex-wrap:wrap;gap:8px}
.lane-rates .ballot-action.on{border-color:var(--gold);color:var(--gold)}
.lane-next{margin:16px 0 0;text-align:right}
.lane-next .btn-gold:disabled{opacity:.45;cursor:not-allowed}
.lane-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}
.lane-strip div{padding:15px;border:1px solid #3d2a1c;background:#120c08;text-align:center}
.lane-strip b{display:block;font:700 clamp(1.1rem,2.4vw,1.5rem)/1.2 Georgia,serif;color:var(--gold)}
.lane-strip span{font:900 10px/1.4 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#a9967f}
.lane-shelf-h{margin-top:26px!important}
.lane-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:12px 0 16px}
.lane-comic{display:grid;justify-items:center;gap:6px;padding:14px 8px 12px;text-align:center;border:1px solid #4f3624;
  background:linear-gradient(160deg,#1c120b,#0d0907);color:#d8c6ae;text-decoration:none}
a.lane-comic:hover{border-color:var(--gold)}
.lane-comic b{font:400 16px/1.2 Georgia,serif;color:#f1d7a4}
.lane-comic small{font:900 9px/1.3 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#a9967f}
.lane-face{display:block;width:74px;height:74px;border-radius:50%;overflow:hidden;border:3px solid rgba(242,231,205,.9);background:#20140c}
.lane-face img{width:100%;height:100%;object-fit:cover;display:block}
/* The shelf card holds its record link, the next show and Your D.O.C.'s button (1 Oct 2026). */
.lane-comic{display:flex;flex-direction:column;align-items:center}
.lane-comic-who{display:grid;justify-items:center;gap:6px;color:inherit;text-decoration:none}
a.lane-comic-who:hover b{color:var(--gold)}
.lane-comic-next{font:400 13px/1.35 Georgia,serif;color:#9fd08a;text-decoration:none}
.lane-comic-next:hover{color:var(--gold)}
.lane-comic .lane-add{margin-top:auto;padding:8px 10px;font-size:9.5px}
.lane-comic .lane-add.on{border-color:#7fb069;color:#9fd08a}
.lane-src-fold summary{cursor:pointer;font:700 15px/1.4 Georgia,serif;color:var(--gold)}
.lane-src-fold summary small{font:italic 400 13px/1.4 Georgia,serif;color:#a9967f}
#laneResults .etq-rule a{color:var(--gold)}
@media(max-width:620px){.lane-modes,.lane-choices,.lane-strip{grid-template-columns:1fr}.lane-next{text-align:left}}

/* audit-fix lead: header — 28 Sept 2026 ----------------------------------------------------------------
   The go-live audit measured the phone header at 181px, held on screen the whole way down, with three
   picture tabs that carried no words. The 0/12 box now rides on the Your D.O.C. link, the Members door
   shows only once membership opens, each tab keeps one short word under its art on a phone, and on a
   phone the header scrolls away with the page instead of holding a fifth of the screen. */
.sitenav a .nav-count{display:inline-block;margin-left:6px;padding:1px 5px 2px;border:1px solid currentColor;
  font:900 10px/1.2 Inter,sans-serif;letter-spacing:.04em;opacity:.9}
.sitenav a .nav-count b{font:900 11px/1 Georgia,serif}
.navtab-short{display:none}
@media(max-width:767px){
  .navtab{flex-direction:column;justify-content:center;height:auto;min-height:46px;padding:3px 5px 4px;gap:2px}
  .navtab .navtab-short{display:block;font:900 9px/1 Inter,sans-serif;letter-spacing:.08em;
    text-transform:uppercase;color:#f2e7cd;white-space:nowrap}
  .navtab .navtab-short.as-written{text-transform:none;letter-spacing:.03em}
}
@media(max-width:620px){.sitehead{position:relative}}
/* Seven links in the fans' row since Clubs joined it: tighter on a phone, so they wrap to two rows, not three. */
@media(max-width:520px){.sitenav{gap:2px}.sitenav a{padding:8px 6px;letter-spacing:.02em}}
.sitenav .nav-short{display:none}
@media(max-width:420px){.sitenav .nav-full{display:none}.sitenav .nav-short{display:inline}.sitenav a .nav-count{display:none}}
.booking-output .booking-next{margin-top:10px;color:#cfbda2;font-size:13px;line-height:1.5}
.booking-output .booking-next a{color:var(--gold)}
/* Club Etiquette ends on where to go next (28 Sept 2026). */
.etq-closer p.etq-next{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:24px;font:inherit}
.etq-closer .etq-next a{font:900 12px/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;
  text-decoration:none;padding:13px 18px}
.etq-next .btn-ghost{border:1px solid var(--gold);color:var(--gold)}
.etq-next .btn-ghost:hover{background:rgba(239,182,78,.1)}
/* The front page: one H1 (the site's name), so "Pick the room." is an H2 dressed as the page-head's H1;
   and the comic search is a name and a button (the ZIP box went — it filtered nothing). */
.page-head h2.page-h1{margin:0;font:700 clamp(2.4rem,5vw,3.9rem)/.95 Georgia,serif;
  letter-spacing:-.035em;color:#f2e7cd;text-shadow:4px 4px 0 var(--red),0 6px 26px #000}
@media(min-width:901px){.livehub .finder{grid-template-columns:1fr auto}}
.finder-note{margin:10px 0 0;min-height:1.2em;color:#d2c0a6;font-size:13px}
.finder-note .cal-link{font-weight:700}
/* Near you tonight (1 Oct 2026): a town or ZIP box under the hero's button, opening the Comedy Calendar's "Near". */
.hero-near{display:grid;gap:6px;max-width:440px;margin:22px 0 0}
.hero-near label{font:900 10px/1.2 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);
  text-shadow:0 2px 8px #000}
.hero-near-row{display:flex;gap:8px;min-width:0}
.hero-near-row input{flex:1 1 auto;min-width:0;background:rgba(12,8,4,.85);border:1px solid #765033;color:#fff;padding:12px 13px;
  font:400 16px/1.2 Georgia,serif}
.hero-near-row input:focus{outline:2px solid var(--gold);outline-offset:1px}
.hero-near-row button{flex:0 0 auto;border:1px solid var(--gold);background:var(--gold);color:#1b1008;font-weight:900;
  padding:12px 15px;cursor:pointer;white-space:nowrap}
.hero-near-row button:hover{box-shadow:3px 3px 0 var(--red)}
.hero .hero-near-note{margin:0;min-height:0;font-size:13px;color:#e9d6b6}
.hero-near-note:empty{display:none}
/* The show a plan link came from, over the itinerary (1 Oct 2026, js/planner.js planShowHTML). */
.plan-show{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 18px;margin:0 0 16px;
  padding:0 0 16px;border-bottom:1px solid #493321}
.plan-show>div{display:grid;gap:3px;min-width:0}
.plan-show small{font:900 9.5px/1.2 Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}
.plan-show b{font:700 21px/1.2 Georgia,serif;color:#f2e7cd}
.plan-show span{font:400 15px/1.35 Georgia,serif;color:#d8c6ae}
.plan-show .plan-show-tix{display:inline-block;padding:10px 15px;text-decoration:none;font:900 11px/1 Inter,sans-serif;
  letter-spacing:.08em;text-transform:uppercase}
/* The twelve circles' name labels: the last three open to the left and the first two to the right, so a
   label never runs off the edge of a phone (measured 11–13px past a 375px screen on Your D.O.C.). */
.dts-face:nth-last-child(-n+3) span{left:auto;right:-6px;transform:translate(0,4px)}
.dts-face:nth-last-child(-n+3):hover span,.dts-face:nth-last-child(-n+3):focus-visible span{transform:translate(0,0)}
.dts-face:nth-child(-n+2) span{left:-6px;transform:translate(0,4px)}
.dts-face:nth-child(-n+2):hover span,.dts-face:nth-child(-n+2):focus-visible span{transform:translate(0,0)}
/* SUCDb's counts that describe another page open it. */
a.sucdb-count{text-decoration:none;color:inherit;transition:border-color .15s}
a.sucdb-count:hover{border-color:var(--gold)}
a.sucdb-count:hover span{color:#f1d7a4}
/* List a Room: see your room's page from a name and a town, before any claim; the logo's red offset shadow
   on the heading, as on the site's other heroes. */
.lyr-see{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin:18px 0 8px;max-width:660px}
.lyr-see input{min-width:0;background:rgba(26,17,11,.92);border:1px solid #765033;color:#fff;padding:13px}
@media(max-width:640px){.lyr-see{grid-template-columns:1fr}}
.hero-kick .lyr-claim-link{margin-left:8px;color:var(--gold);font-weight:700}
.lyr-benefit-link{display:inline-block;margin-top:8px;color:var(--gold);font:700 12px/1.3 Inter,sans-serif;
  letter-spacing:.06em;text-transform:uppercase}
.lyr-ticketed{margin-top:14px}
/* Who the page is for, in the hero; more than one night in one claim (1 Oct 2026). */
.hero-kick .lyr-fix-link{margin-left:8px;color:var(--gold);font-weight:700}
.lyr-more{display:grid;gap:10px;margin:-6px 0 16px}
.lyr-more-night{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,150px) auto;gap:8px;align-items:center}
.join-form .lyr-more-night select,.join-form .lyr-more-night input{min-width:0;box-sizing:border-box}
.lyr-more-night .source-btn{font-size:11px;padding:8px 10px;white-space:nowrap}
.lyr-add-night{margin:0 0 16px}
@media(max-width:460px){.lyr-more-night{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .lyr-more-night .source-btn{grid-column:1/-1}}
.page-hero.hero-room h1,.page-hero.hero-promo h1{font-weight:700;letter-spacing:-.035em;color:#f2e7cd;
  text-shadow:4px 4px 0 var(--red),0 6px 26px #000}
/* Credits: a long name or address never widens the page (a raw URL made it 1448px wide at 1440); the
   comedians' photos get a search; the takedown line under the hero. */
.credit-by,.credit-lic{overflow-wrap:anywhere}
.credit-tools{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:6px 0 16px}
.credit-tools .search{flex:1 1 240px;max-width:420px}
#creditTotal b{color:#f2e7cd}
.credit-takedown{font-size:14px}
.credit-takedown a{color:var(--gold)}
.corner-green{margin-top:26px}
.corner-where-list .ask span a{color:var(--gold)}
/* Your D.O.C.'s head: the packed crowd from Book a Comic's "name" card (Vishnu R Nair, Unsplash), a real
   photograph in place of the painted era scene. That key had only Book a Comic's own ::before rule, so the
   head drew nothing until it had an --art of its own. */
[data-art="name"]{--art:url('../assets/book-cards/name.jpg')}

/* audit-fix Your Team & Enhance a Listing — 28 Sept 2026 -------------------------------------------------
   Your Team has seven tabs since Where the work comes from: one row on a wide screen; in threes below 1060px
   and in twos on a phone, the lone last tab takes its row (as Road Maps' and SUCDb's tabs do). A card's doors
   sit together under its words. The directory card's pill, "Your business? Enhance this listing", drops under
   a long name instead of squeezing it; the tour job's Touring production group carries a line under its
   heading. Enhance a Listing's "Questions first?" line (shown once requests open) links in gold. */
.road-tabs.team-tabs{grid-template-columns:repeat(7,minmax(0,1fr))}
@media(max-width:1060px){.road-tabs.team-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .road-tabs.team-tabs>:last-child:nth-child(3n+1){grid-column:1/-1}}
@media(max-width:600px){.road-tabs.team-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .road-tabs.team-tabs>:last-child:nth-child(3n+1){grid-column:auto}
  .road-tabs.team-tabs>:last-child:nth-child(odd){grid-column:1/-1}}
.team-doors{display:flex;flex-wrap:wrap;gap:0 12px}
.td-top{flex-wrap:wrap}
.td-side-note{margin:0 0 10px}
.en-question a{color:var(--gold)}
/* Where the work comes from's four book cards sit two by two on a wide screen, not three and one alone. */
@media(min-width:1061px){.road-cards.team-work-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* audit-fix J: Your SUCDb record, the retired pages, Comic Critique, Clean vs. Dirty, Nerves & Hecklers —
   28 Sept 2026 -------------------------------------------------------------------------------------------
   Your SUCDb record's act tab (Join the Roster's form, moved in): the "Already in SUCDb? Find your record"
   box, its name search, and the one line to Comic Critique. The pages that now point elsewhere (Join the
   Roster, Comic Desk, How They Started) link in gold. Comic Critique's download sits under Set to set;
   Clean vs. Dirty hands its audit to Comic Critique. Nerves & Hecklers: the Worst I Ever Bombed names in a
   short row, each tab's plain-text sources, and the breathing ring under reduced motion — the site's rule
   is gentler motion, not none (it was transition:none, so the ring jumped), so it keeps its transition
   over --secs on a smaller range, .9 to 1. More specific than the ring's own rules, so it wins without
   touching them. */
.rec-claim{margin:0 0 22px}
.rec-claim .join-kicker{margin-bottom:8px}
.rec-claim-h{margin:0 0 8px;font:400 24px/1.2 Georgia,serif;color:#f1d7a4}
.rec-claim p{margin:0 0 14px;font:400 14px/1.6 Georgia,serif;color:#c5b69e}
.rec-claim .f-hint{margin:12px 0 0;font:400 12px/1.5 Georgia,serif;color:#8f806d}
.rec-claim-hits{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.rec-claim-hits:empty{display:none}
.rec-claim-hits button{padding:9px 12px;border:1px solid #543923;background:#15100c;cursor:pointer;
  font:400 14px/1.3 Georgia,serif;color:#e4d6bf}
.rec-claim-hits button:hover,.rec-claim-hits button:focus-visible{border-color:var(--gold);color:#f1d7a4}
.rec-claim-hits p{flex:1 0 100%}
.rec-claim .rec-claim-picked{margin:12px 0 0;color:#f1d7a4}
.rec-claim-picked a{color:var(--gold)}
/* 1 Oct 2026: For bookers' representation — an agent's and a manager's details, each under its own kicker —
   and the fee and representation lines' links to Get Paid and Your Team. */
.rec-rep{margin-top:18px}
.rec-rep .join-kicker{display:block;margin-bottom:12px}
#recBookForm .f-hint a{color:var(--gold)}
.rec-critique{margin:0 0 4px}
.rec-critique a{color:var(--gold);font:400 14px/1.55 Georgia,serif}
.hero-moved a:not(.btn-gold){color:var(--gold)}
.moved-to{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px;max-width:64ch}
.moved-to li{color:#d8c9ae;line-height:1.55;text-shadow:0 2px 12px #000}
.moved-to a{font-weight:700;margin-right:4px}
.cc-hist-dl{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0 0}
.cvd-next{margin:14px 0 0}
.cvd-next a{color:var(--gold);font:700 15px/1.5 Georgia,serif}
.nerves-bombed{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.nerves-bombed a{display:inline-block;padding:9px 12px;border:1px solid #543923;background:#110b07;
  font:400 14px/1.3 Georgia,serif;color:#e8c983;text-decoration:none}
.nerves-bombed a:hover{border-color:var(--gold);color:var(--gold)}
.road-sources li>span{font:400 13.5px/1.45 Georgia,serif;color:#a9967f}
.road-sources ul+#nvSourcesNote{margin-top:18px}
@media(prefers-reduced-motion:reduce){
  .nerves-breathe .breathe-ring{transform:scale(.9);
    transition:transform var(--secs) ease-in-out,box-shadow var(--secs) ease-in-out}
  .nerves-breathe .breathe-ring.in{transform:scale(.96)}
  .nerves-breathe .breathe-ring.top{transform:scale(1)}
  .nerves-breathe .breathe-ring.out{transform:scale(.9)}
}

/* audit-fix R: Road Maps — 28 Sept 2026 ----------------------------------------------------------------------
   Nine tabs, not fifteen. The tiles: five across on a wide screen with the first, Where are you?, two wide, so
   five and four fill two rows; three by three below 1060px; on a phone the first runs the full width and the
   other eight pair up. Then: the line under the hero about the book; a stage's ninety days as a checklist, the
   topic a small tag at the end of each line; a stage's "Not yet" and the D.O.C. page it uses; a comic's name that
   opens their SUCDb record and the small "source" after a recording; Why is this taking so long?'s second
   section, "What helps", with the 988 line set apart first; The Math of a Gig's "Your numbers" box; and at the
   foot of each tab, back to the tiles and on to the next map. */
.road-tabs.maps-tabs>:first-child{grid-column:span 2}
@media(max-width:1060px){.road-tabs.maps-tabs>:first-child{grid-column:auto}}
@media(max-width:600px){.road-tabs.maps-tabs>:first-child{grid-column:1/-1}
  .road-tabs.maps-tabs>:last-child:nth-child(odd){grid-column:auto}}
.page-head p.maps-book{margin-top:12px;font:italic 400 14px/1.5 Georgia,serif;color:#cdbb9f}
.page-head p.maps-book a{color:var(--gold)}
.map-card .map-p{margin:8px 0 0}
.map-card .map-p i.map-h,.map-calc i.map-h{display:block;margin-bottom:4px;font:900 9.5px/1.3 Inter,sans-serif;font-style:normal;
  letter-spacing:.1em;text-transform:uppercase;color:#c9a24a}
.map-check{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.map-check li{position:relative;padding-left:21px;font:400 14px/1.5 Georgia,serif;color:#d8c9ae}
.map-check li::before{content:"";position:absolute;left:0;top:.3em;width:11px;height:11px;border:1.5px solid var(--gold);border-radius:2px}
.map-check a,.map-list a{color:var(--gold)}
.vote-point .map-topic{display:inline-block;margin-left:3px;padding:1px 7px;border:1px solid #5b3f29;border-radius:999px;
  font:900 8.5px/1.5 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#b99a62;white-space:nowrap;vertical-align:1px}
.map-card p.map-notyet{padding:9px 11px;border-left:3px solid var(--red);background:rgba(173,56,43,.1)}
.map-card p.map-notyet b.map-ny{font:900 9.5px/1.3 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#e9a397}
.map-card p.map-use{padding-top:9px;border-top:1px solid #3a2718}
.map-card p.map-use a{font-weight:700}
.map-card>b a.map-rec{color:inherit;text-decoration:none;border-bottom:1px solid rgba(239,182,78,.45)}
.map-card>b a.map-rec:hover,.map-card>b a.map-rec:focus-visible{color:var(--gold)}
.map-card p a.map-src{margin-left:2px;font:900 8.5px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;
  color:#a58a5a;text-decoration:none;border-bottom:1px solid rgba(185,154,98,.35)}
.map-card p a.map-src:hover{color:var(--gold)}
/* Tour routes: how each room books comics (tools/roadmaps-build.js packBooking, 30 Sept 2026). An email address
   breaks where it must rather than push a phone's page sideways. */
.map-book{list-style:none;margin:0;padding:0;display:grid;gap:6px;overflow-wrap:anywhere}
.map-book li{font:400 14px/1.5 Georgia,serif;color:#d8c9ae}
.map-card .map-book li b{display:inline;margin:0;font:700 14px/1.5 Georgia,serif;letter-spacing:0;text-transform:none;color:#f1e5d2}
.map-book a{color:var(--gold)}
.map-book a.map-src{margin-left:2px;font:900 8.5px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;
  color:#a58a5a;text-decoration:none;border-bottom:1px solid rgba(185,154,98,.35)}
.road-head.map-sec{margin-top:34px;padding-top:22px;border-top:1px solid var(--line)}
.road-head.map-sec h3{margin:6px 0 0;font:400 clamp(1.4rem,2.6vw,1.9rem)/1.1 Georgia,serif;color:#f1d7a4}
.map-list.map-help li:first-child{list-style:none;margin:8px 0 12px -18px}
.map-list.map-help .map-988{display:block;padding:12px 14px;border:1px solid var(--gold);border-left-width:4px;
  background:rgba(239,182,78,.08);font:700 16px/1.5 Georgia,serif;color:#f2e7cd}
.map-list.map-help .map-988 b{color:var(--gold);font-size:1.2em}
.map-calc{margin-top:14px;padding:12px 13px 13px;border:1px solid #6b482f;border-top:3px solid var(--gold);background:#0b0806}
.map-calc-in{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px}
.map-calc label{display:flex;flex-direction:column;justify-content:flex-end;gap:4px;min-width:0}
.vote-point .map-calc label span{font:900 8.5px/1.35 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#b7a48a}
.map-calc input,.map-calc select{width:100%;min-width:0;box-sizing:border-box;background:#15100c;border:1px solid #69472f;
  color:#f1e5d2;padding:8px 9px;font:400 15px/1.2 Georgia,serif}
.map-calc input:focus,.map-calc select:focus{outline:2px solid var(--gold);outline-offset:1px}
.map-card p.map-calc-out{margin:10px 0 0;font:400 14px/1.55 Georgia,serif;color:#e4d2b4}
.map-calc-out .map-nb{white-space:nowrap}
.map-foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 16px;margin:30px 0 0;padding-top:10px;
  border-top:1px solid var(--line)}
.map-foot a{padding:12px 0;font:900 11px/1.3 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);
  text-decoration:none;cursor:pointer}
.map-foot a:hover,.map-foot a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.map-foot .map-next{margin-left:auto;text-align:right}
/* 1 Oct 2026, the readers — Road Maps, the Writers' Room and the Working Comic.
   Tiles in labelled groups (.kit-group-h): each label starts a row and the group's tiles share the rows under it,
   a tile left alone on a group's last row taking the row (up to six across, three below 1060px, two on a phone).
   Road Maps' three groups of three stand side by side on a wide screen, each label over its three (.maps-shelves).
   On a phone the tiles are compact and keep their subtitle (two lines at most), so the first map starts sooner.
   Where are you? and Who to study open with a row of chips, one per card, that jump to it; on a phone the row
   scrolls sideways inside the page. */
.road-tabs.maps-tabs:has(>.kit-group-h){display:flex;flex-wrap:wrap}
.road-tabs.maps-tabs:has(>.kit-group-h)>button{flex:1 1 calc(16.66% - 9px);min-width:0}
.road-tabs.maps-tabs:has(>.kit-group-h)>.kit-group-h{flex:0 0 100%}
@media(max-width:1060px){.road-tabs.maps-tabs:has(>.kit-group-h)>button{flex-basis:calc(33.33% - 7px)}}
@media(min-width:1200px){
  .road-tabs.maps-tabs.maps-shelves{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));row-gap:8px}
  .road-tabs.maps-shelves>.kit-group-h{grid-row:1;grid-column:span 3;margin:0;padding-bottom:7px;border-bottom:1px solid #4a3220}
  .road-tabs.maps-shelves>button{grid-row:2;grid-column:auto;padding:74px 11px 12px}
}
@media(max-width:600px){
  .road-tabs.maps-tabs>:first-child{grid-column:auto}
  .road-tabs.maps-tabs>:last-child:nth-child(odd){grid-column:1/-1}
  .road-tabs.maps-tabs:has(>.kit-group-h)>button{flex-basis:calc(50% - 3px)}
  .road-tabs.maps-tabs .kit-group-h{margin:6px 0 -1px;font-size:10px}
  .road-tabs.maps-tabs .kit-group-h:first-child{margin-top:0}
  .road-tabs.maps-tabs button{min-height:60px;padding:20px 9px 8px;gap:3px}
  .road-tabs.maps-tabs button small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
    font-size:11px;line-height:1.25}
  /* Road Maps' groups of three: each group one row of three */
  .road-tabs.maps-tabs.maps-shelves>button{flex-basis:calc(33.33% - 4px);padding:16px 7px 7px}
  .road-tabs.maps-shelves button span{font-size:9.5px;letter-spacing:.07em}
  .road-tabs.maps-shelves button small{font-size:10.5px}
}
.map-chips{margin:0 0 22px}
.map-chips i.map-h{display:block;margin-bottom:7px;font:900 9.5px/1.3 Inter,sans-serif;font-style:normal;letter-spacing:.1em;
  text-transform:uppercase;color:#c9a24a}
.map-chips .walk-chips{margin:0}
a.walk-chip.map-chip{display:inline-block;line-height:1.2;text-decoration:none}
a.walk-chip.map-chip:hover,a.walk-chip.map-chip:focus-visible{color:var(--gold)}
a.walk-chip.map-chip:focus-visible{outline:2px solid #f2c66d;outline-offset:2px}
.map-card[id]{scroll-margin-top:110px}
@media(max-width:600px){
  .map-chips .walk-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;overscroll-behavior-x:contain}
  a.walk-chip.map-chip{flex:0 0 auto;white-space:nowrap;padding:9px 11px}
}

/* audit-fix venue — 28 Sept 2026 ----------------------------------------------------------------------------
   venue.html. The room's name is the page's H1, in the site's display face with the logo's red offset shadow
   (it was an 18px bold h3, and the page had no H1); the section headings under it are h2s, set as the h4s were.
   The going / playing switch sits under the address, on the first screen, and the side it picks is a class
   on the page's own container: #main.side-comic shows the comic's panel (.comic-only) and hides the
   audience's planner and the crossover banner (.fan-only) — "Tonight you are the audience" is not said to
   a comic. The house rules show only what a room publishes, so the grid takes as many columns as it has
   cells, with the page and the day read under it; a room that publishes none is one line. The night's total
   waits for a ticket price (.cost-wait). A food chip's late count reads "· 2 late", its separator in the words. */
.venue-detail-copy h1.venue-title{margin:8px 0 12px;font:700 clamp(2.1rem,5vw,3.6rem)/1 Georgia,serif;
  letter-spacing:-.03em;color:#f2e7cd;text-shadow:3px 3px 0 var(--red),0 6px 26px #000;overflow-wrap:anywhere}
.side-toggle.venue-side{width:max-content;max-width:100%;margin-top:18px;background:rgba(9,7,6,.78)}
.venue-side button{min-height:44px;padding:12px 18px;font-size:11px}
#main:not(.side-comic) .comic-only,#main.side-comic .fan-only{display:none!important}
.venue-h{margin:0 0 8px;font:600 clamp(1.8rem,4vw,3rem)/1 Georgia,serif;color:#efd29b}
#main .venue-fact strong{font-size:16px;line-height:1.35}
@media(min-width:901px){
  .fact-grid[data-n="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fact-grid[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(min-width:561px){.fact-grid[data-n="1"]{grid-template-columns:minmax(0,1fr)}}
.fact-note{margin:-22px 0 34px;font:400 13.5px/1.55 Georgia,serif;color:#a9977f}
.fact-note a,.price-note a{color:var(--gold)}
.fact-line{margin:22px 0 34px;padding-left:18px;padding-right:18px;padding-bottom:18px;border:1px solid #67452d;background:#0f0a07}
.fact-line p{margin:0;font:600 17px/1.4 Georgia,serif;color:#f0dfc4}
.venue-section>.section-note.price-note{margin-top:-12px}
.cost-wait small{font-size:13.5px;line-height:1.55}
.walk-chip i{margin-left:0}
.comic-side .club-facts,.comic-side .club-walk{max-width:820px}
.comic-side .club-rules li{cursor:auto}
.comic-side .club-checked a{color:var(--gold)}
.comic-where{margin-right:4px;font:900 9px/1.4 Inter,sans-serif;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.btn-gold.comic-room-link{display:inline-block;margin-top:20px;max-width:100%;line-height:1.45;text-decoration:none}
/* 1 Oct 2026: "I'm playing it" with nothing published on booking gets a next step (Stage Time, the town's rooms that
   say how they book); "I'm going" lists the room's next shows from the Comedy Calendar, each with "Plan this one". */
.comic-next p{margin:6px 0 0;font:400 15px/1.55 Georgia,serif;color:#e4d2b4}
.room-shows .section-note a{color:var(--gold)}
.room-show-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px;max-width:900px}
.room-show-list li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 14px;padding:11px 14px;
  border:1px solid #3d2a1c;background:rgba(15,10,7,.86);font:400 15px/1.5 Georgia,serif;color:#e4d2b4}
.room-show-list a{color:var(--gold)}
.room-show-list .room-show-plan{flex:none;padding:8px 12px}
@media(max-width:560px){.venue-side button{padding:12px 14px}}
/* On a phone a room's small print hangs above its name; held to 300px tall (it was 449, under 64px kept for a
   credit line the photos no longer carry), so the name and the switch still make the first screen. */
@media(max-width:700px){.venue-detail-hero>img.hero-print{margin-top:22px;max-height:min(300px,42vh);width:auto}}

/* audit-fix K: Club Directory and Stage Time — 28 Sept 2026 ------------------------------------------------
   clubs.html: the two filter boxes carry live counts like the region chips, and one that would show nothing
   is greyed and can't be ticked (label.off); a phone gets "Tap a club in the list below." under the map,
   where the pins are a few pixels across; the note at the foot links List a Room.
   stage-time.html: six tabs — three across on a wide screen, and on a phone one sideways-scrolling row of
   labels without the photo band (the photo tabs used to end 933px down a 375px phone). Your log's sections
   (reps, month by month, bits, the log file), the ladder's rungs as buttons the comic taps, the city
   picker's line for comics outside Texas, and a city's "Closed for now" rooms under its mic list. */
.gig-toggles .club-toggle-n{color:var(--gold);font-weight:700}
.gig-toggles label.off{opacity:.45;cursor:default}
.club-map-tip{display:none}
@media(max-width:700px){.club-map-tip{display:block;margin:10px 0 0;font:400 14px/1.45 Georgia,serif;color:#c5b69e}}
.fee-note .club-listroom{margin:12px 0 0}
.fee-note .club-listroom a{color:var(--gold)}
/* clubs.html#club-<n> jumps to the card's heading; the margin brings the card's photo band into view with
   it (about 171px of band and kicker above the heading), under the sticky header — which a phone lacks. */
#clubCard h3[id]{scroll-margin-top:255px}
@media(max-width:620px){#clubCard h3[id]{scroll-margin-top:187px}}
/* readers' fixes, Club Directory — 1 Oct 2026 ----------------------------------------------------------------------
   The search above the map (a name, town or state, and "near" a town or ZIP code with its distance); the selects
   dressed like the site's others (See Them Now's state picker); the comics' line under the boxes; the jump-to-state
   menu; the small "clubs here" list a click opens where pins sit on top of each other; "← Back to the list" on a card
   opened from the list; the card's Club Etiquette line and its Comedy Calendar link. */
.club-find{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:10px 12px;margin:0 0 18px}
.club-find .search{padding:13px 14px;font-size:15px}
.club-near{display:flex;flex-wrap:wrap;gap:8px;margin:0;min-width:0}
.club-near .search{flex:1 1 180px;min-width:0}
.club-near .ballot-action{padding:10px 14px}
.club-near-say{grid-column:1/-1;margin:-4px 0 0;font:400 14px/1.5 Georgia,serif;color:#c5b69e}
.club-near-say:empty{display:none}
.club-near-say b{color:#f1d7a4}
#clubMi,.club-pub select,.club-jump select{min-width:0;max-width:100%;background:#15100c;border:1px solid #69472f;color:#f1e5d2;
  padding:9px 10px;font:400 14px/1.2 Georgia,serif}
#clubMi:focus,.club-pub select:focus,.club-jump select:focus{outline:2px solid var(--gold);outline-offset:1px}
#clubMi option:disabled,.club-pub select option:disabled{color:#6f5f4c}
#clubMi[hidden]{display:none}
.club-pub{flex-wrap:wrap}
.club-link{padding:0;border:0;background:none;color:var(--gold);font:inherit;text-decoration:underline;cursor:pointer}
.club-comics{margin:0;font:400 14px/1.5 Georgia,serif;color:#c5b69e}
.club-comics b{color:#f1d7a4;font-weight:400}
.club-comics a,.club-fan-count a,.club-etq a,.club-checked a{color:var(--gold)}
.club-jump{display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px;margin:0 0 18px;font:900 9.5px/1.3 Inter,sans-serif;
  letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}
.club-jump[hidden]{display:none}
.club-jump select{flex:0 1 300px;letter-spacing:0;text-transform:none}
.club-state-head[id]{scroll-margin-top:110px}
@media(max-width:620px){.club-state-head[id]{scroll-margin-top:16px}}
.club-etq{margin:-6px 0 14px!important;font-size:13.5px!important}
.club-card p.club-next{margin-top:6px;font-size:13.5px}
.club-next b{display:block;font:900 9px/1.7 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.club-next a{color:var(--gold)}
.club-back{display:block;margin:0 0 12px;padding:8px 12px;border:1px solid var(--gold);background:#130d09;color:var(--gold);
  font:900 10px/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.club-back:hover,.club-back:focus-visible{background:var(--gold);color:#1a1008}
.club-here{position:absolute;z-index:8;width:min(260px,calc(100% - 8px));max-height:calc(100% - 8px);overflow-y:auto;
  border:1px solid var(--gold);background:rgba(12,8,5,.97);box-shadow:4px 4px 0 #ad382b}
.club-here-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid #3d2a1c;
  font:900 10px/1 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.club-here-x{padding:0 4px;border:0;background:none;color:#e4d2b4;font:400 20px/1 Georgia,serif;cursor:pointer}
.club-here-pick{display:grid;gap:2px;width:100%;padding:9px 10px;border:0;border-bottom:1px solid #2a1c12;background:none;
  text-align:left;color:#efd9b0;font:400 15px/1.25 Georgia,serif;cursor:pointer}
.club-here-pick small{font:400 12px/1.3 Georgia,serif;color:#a9967f}
.club-here-pick:hover,.club-here-pick:focus-visible{background:#1c130c;outline:none;color:#fff1c8}
@media(max-width:700px){.club-find{grid-template-columns:minmax(0,1fr)}.club-here{max-height:320px}}

@media(min-width:861px){.st-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){
  .st-tabs{display:flex;flex-wrap:nowrap;gap:6px;margin:0 0 20px;padding-bottom:6px;overflow-x:auto;
    scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .st-tabs button,.st-tabs button[data-art]{flex:0 0 auto;min-height:44px;padding:11px 14px;background-image:none;
    white-space:nowrap;scroll-snap-align:start}
  .st-tabs button:before,.st-tabs button.active:after{display:none}
  .st-tabs button:hover,.st-tabs button:focus-visible{transform:none;box-shadow:none}
  .st-tabs button.active{background-color:var(--gold);color:#160f08;text-shadow:none}
}
.st-elsewhere{margin:14px 0 0;font:400 14px/1.55 Georgia,serif;color:#b9a58f}
.st-elsewhere a{color:var(--gold)}
.st-closed{margin:18px 0 0}
.st-closed a{color:var(--gold);white-space:nowrap}
.sub-conroe{margin:14px 0 0;font:400 14px/1.5 Georgia,serif;color:#c5b69e}
.st-log-part{margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.st-months h4{margin:22px 0 10px;font:900 10px/1.3 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.st-month-rows{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(170px,100%),1fr));gap:8px;margin-bottom:26px}
.st-month{border:1px solid #543923;background:#0f0b08;padding:11px 13px}
.st-month b{display:block;font:400 16px/1.2 Georgia,serif;color:#f1d7a4}
.st-month span{display:block;margin-top:3px;font-size:11px;color:#9d8d78}
.st-set-links{display:flex;flex-wrap:wrap;gap:0 18px}
.st-logfile-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:12px 0 6px}
.st-logload{position:relative;cursor:pointer}
.st-logload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.st-logload:focus-within{outline:2px solid #f2c66d;outline-offset:2px}
.st-logfile .st-status{display:block;margin:8px 0 0}
button.st-rung{width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;-webkit-appearance:none;appearance:none}
button.st-rung:hover{border-color:#e9b14b;opacity:1}
button.st-rung:focus-visible{outline:2px solid #f2c66d;outline-offset:2px;opacity:1}
.st-rung .st-rung-n{display:block;font:400 34px/1 Georgia,serif;color:var(--gold);text-align:center}
.st-rung .st-rung-body{display:block;min-width:0}
.st-rung .st-rung-body>span{display:block}

/* audit-fix now (See Them Now) — 28 Sept 2026 ------------------------------------------------------------------
   now.html. Four tabs, not six (Coming up and On screen are no longer drawn): four across down to a tablet, two
   by two on a phone. On stage's picker for dates by state, province or country (a state with none is greyed and
   can't be picked), the line over a state's list, each comic's "Also announced" line under their dates, and
   "Plan the night →" on every date, kept on one line. */
.road-tabs.now-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1060px){.road-tabs.now-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:600px){.road-tabs.now-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.now-state{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:2px}
.now-state label{font:900 9.5px/1.3 Inter,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}
.now-state select{flex:1 1 220px;max-width:340px;min-width:0;background:#15100c;border:1px solid #69472f;color:#f1e5d2;
  padding:10px 11px;font:400 15px/1.2 Georgia,serif}
.now-state select:focus{outline:2px solid var(--gold);outline-offset:1px}
.now-state select option:disabled{color:#6f5f4c}
.now-state-note{margin:0 0 2px;font:italic 400 15px/1.5 Georgia,serif;color:#c5b69e}
.now-also{margin:10px 0 0;padding-top:8px;border-top:1px dashed #3a2718;font:400 14px/1.55 Georgia,serif;color:#c5b69e;
  overflow-wrap:anywhere}
.now-also>b{margin-right:4px;font:900 9.5px/1.3 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.now-also .now-meta{color:#d8c6ae}
.now-also .now-src{margin-left:2px}
/* "Book them for an event →" (1 Oct 2026): small, after the show and ticket links. */
.now-book{margin:8px 0 0;font:italic 400 13.5px/1.4 Georgia,serif}
.now-book a{color:#c9ad7a;text-decoration:none;border-bottom:1px solid rgba(201,173,122,.3)}
.now-book a:hover{color:#ffd37b}
.now-sep{margin:0 4px;color:#6b5b48}
.now-go.now-plan{white-space:nowrap}
[data-art="buddy-tab-show"]{--art:url('../assets/card-art/buddy-tab-show.jpg');--art-pos:center 28%}
[data-art="wheels-idea"]{--art:url('../assets/card-art/wheels-idea.jpg');--art-pos:center 62%}

/* audit-fix S: SUCDb and Launching Pads — 28 Sept 2026 ------------------------------------------------------
   launchpads.html. The part or roll class year beside a name in the lists kept apart and not counted (classes, the
   Comedy Store's paid-regular roll), and each tab's own sources folded at the foot of its panel. A lone last picture
   tab spans its row (seven pads since The Second City left the tabs), at six, three or two across. */
.lpad-cast-names a small{font-weight:400;font-size:12px;color:#a8977f}
.lpad-cast.road-sources ul{margin-top:10px}
.lpad-cast.road-sources li{overflow-wrap:anywhere}
.road-tabs.lpad-tabs>:last-child:nth-child(6n+1){grid-column:1/-1}
@media(max-width:1060px){.road-tabs.lpad-tabs>:last-child:nth-child(6n+1){grid-column:auto}
  .road-tabs.lpad-tabs>:last-child:nth-child(3n+1){grid-column:1/-1}}
@media(max-width:600px){.road-tabs.lpad-tabs>:last-child:nth-child(3n+1){grid-column:auto}
  .road-tabs.lpad-tabs>:last-child:nth-child(odd){grid-column:1/-1}}

/* audit-fix W: the Get there pages — 28 Sept 2026 -----------------------------------------------------------
   On the Road, Make the Trip Pay, Tour Planner (City by City's scorecard now lives in its After the show tab),
   Buddy Up, Comedy on Wheels and Get Paid, Get Back. Each block names its page. */
/* On the Road: the location tick box, the Green Room line, the cover plans as cards on a phone */
.join-form label.road-share{display:flex;gap:10px;align-items:center;margin:0;font:400 14px/1.4 Georgia,serif;
  letter-spacing:0;text-transform:none;color:#e6d6b8;cursor:pointer}
.join-form .road-share input{flex:0 0 auto;width:16px;height:16px;margin:0;padding:0;accent-color:var(--gold)}
.road-green{margin:14px 0 0;max-width:74ch}
.road-plan-cards{display:none}
@media(max-width:599.98px){
  .road-cover-wrap{display:none}
  .road-plan-cards{display:grid;gap:12px;margin:0 0 6px}
  .road-plan{border:1px solid #543923;background:#0f0b08;padding:14px 16px}
  .road-plan h5{margin:0 0 4px;font:900 11px/1.3 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
  .road-plan dl{margin:0}
  .road-plan dt{margin-top:10px;font:900 9.5px/1.45 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#b7a48a}
  .road-plan dd{margin:2px 0 0;font:400 13.5px/1.5 Georgia,serif;color:#d8c9ae}
}
/* Make the Trip Pay: two tabs, the take at four, eight and twelve spots, the more-ways cards */
.gig-tabs.pay-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
.pay-take{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:4px}
.pay-take>div{min-width:0;padding:8px 10px;border:1px solid #3a281a;background:#100b08}
.pay-take>div.all{border-color:var(--gold)}
.pay-take small{display:block;margin-bottom:6px;font:900 9px/1.2 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#b7a48a}
.pay-money .pay-take b{font-size:clamp(1.25rem,5.2vw,2rem);text-shadow:2px 2px 0 var(--red)}
.pay-money .pay-follow{color:#f1d7a4}
.pay-more-head{margin-top:38px;padding-top:26px;border-top:1px solid #3a281a;scroll-margin-top:96px}
/* Tour Planner: two tabs, the example run, After the show (City by City's scorecard, moved here) */
.road-tabs.tour-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
.tour-example{margin:0 0 22px;border-color:var(--gold)}
.tour-example p{margin:6px 0 10px}
.desk-empty .tour-empty-example{display:inline-block;margin-top:14px}
.tour-local-note{margin:8px 0 0;font:italic 400 13px/1.5 Georgia,serif;color:#a9977f}
.city-why{margin:2px 0 12px;font:italic 400 14px/1.5 Georgia,serif;color:#cdb998}
.city-sub{margin-top:36px;padding-top:26px;border-top:1px solid #3a281a;scroll-margin-top:96px}
.city-saved{margin:0 0 8px}
.city-saved:empty{display:none}
.city-paste{flex:1 1 100%;display:grid;gap:8px;margin-top:4px}
.city-paste label{font:400 13.5px/1.5 Georgia,serif;color:#c9b69a}
.city-paste textarea{width:100%;min-height:120px;padding:10px 12px;background:#0b0806;border:1px solid #4f3624;
  color:#e8d8bd;font:400 12px/1.5 ui-monospace,Consolas,monospace}
.city-paste .btn-gold{justify-self:start}
.city-rules{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.city-rules li{padding:12px 14px;border-left:4px solid var(--gold);background:#120c08;font:400 14px/1.55 Georgia,serif;color:#cdb998}
.city-rules li b{display:block;margin-bottom:2px;font:400 16px/1.3 Georgia,serif;color:#f1d7a4}
.city-rules a{color:var(--gold)}
.join-form.city-form label.city-soldout{display:flex;align-items:center;gap:8px;margin:4px 0 14px;
  font:400 15px/1.3 Georgia,serif;letter-spacing:0;text-transform:none;color:#e4d2b4;cursor:pointer}
.join-form.city-form .city-soldout input{width:18px;height:18px;padding:0;accent-color:var(--gold)}
.tour-check.price .tour-check-tag{color:#d99b6c}
/* Buddy Up: the lone fifth tab takes its row on a phone; the agreement's notes, the IRS rate, the worksheets
   on screen and on paper (printing the page prints only the worksheets) */
@media(max-width:600px){.road-tabs.buddy-tabs>:last-child:nth-child(odd){grid-column:1/-1}}
.buddy-note{margin:6px 0 0;font:italic 400 13px/1.55 Georgia,serif;color:#bba88d}
.buddy-note .road-cite{display:block;margin-top:3px;font-style:normal}
.bs-irs{margin-top:8px}
.bs-why{margin:-4px 0 14px}
/* 1 Oct 2026: the next step from "Where a whole night plays", and the split's "Use my run's miles" note. */
.buddy-links{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0}
.buddy-links a{color:var(--gold);font:700 13px/1.4 Georgia,serif;text-underline-offset:3px}
#bsRunNote{display:block;margin-top:6px}
#bsRunNote a{color:var(--gold)}
.ba-print{display:inline-block;margin-top:12px}
.buddy-sheets .print-only{display:none}
.buddy-sheet{margin:0 0 28px}
.buddy-sheet h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 10px;font:400 22px/1.2 Georgia,serif;color:#f1d7a4}
.buddy-sheet h3>span{font:900 11px/1 Inter,sans-serif;color:#160f08;background:var(--gold);padding:5px 7px}
.buddy-sheet h3 small{flex:1 1 100%;font:900 9.5px/1.4 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#b7a48a}
.buddy-sheet-rows,.buddy-sheet-grid{width:100%;border-collapse:collapse;font:400 13.5px/1.45 Georgia,serif;color:#d8c9ae;background:#0f0b08}
.buddy-sheet-rows th{width:46%;text-align:left;vertical-align:top;padding:9px 12px;border-bottom:1px solid #3a281a;font-weight:400}
.buddy-sheet-rows td{border-bottom:1px solid #3a281a;border-left:1px solid #2a1d14}
.buddy-sheet-sign{margin-top:10px}
.buddy-sheet-wrap{overflow-x:auto;border:1px solid #3a281a}
.buddy-sheet-grid{min-width:640px}
.buddy-sheet-grid th{padding:8px;font:900 9px/1.3 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);
  text-align:left;border:1px solid #3a281a;background:#17100b}
.buddy-sheet-grid td{height:34px;border:1px solid #2a1d14}
@media(max-width:600px){.buddy-sheet-rows th{width:58%}}
@media print{
  body:has(.buddy-sheets){background:#fff!important;color:#000!important}
  body:has(.buddy-sheets)>:not(main):not(#view){display:none!important}
  body:has(.buddy-sheets) main>:not(.buddy-sheets){display:none!important}
  body:has(.buddy-sheets) main{padding:0!important;margin:0!important;max-width:none!important;width:auto!important}
  .buddy-sheets{display:block!important}
  .buddy-sheets .no-print{display:none!important}
  .buddy-sheets .print-only{display:block!important;margin:0 0 12pt;font:italic 400 10pt/1.4 Georgia,serif;color:#333}
  .buddy-sheet{break-inside:avoid;margin:0 0 16pt}
  .buddy-sheet h3{color:#000;font-size:14pt}
  .buddy-sheet h3>span{color:#000;background:none;border:1px solid #000}
  .buddy-sheet h3 small{color:#555}
  .buddy-sheet-rows,.buddy-sheet-grid{background:#fff;color:#000;font-size:10pt}
  .buddy-sheet-rows th{color:#000;border-bottom:1px solid #999}
  .buddy-sheet-rows td{border-bottom:1px solid #999;border-left:1px solid #ccc;height:24pt}
  .buddy-sheet-wrap{overflow:visible;border:0}
  .buddy-sheet-grid{min-width:0}
  .buddy-sheet-grid th{background:none;color:#000;border:1px solid #999}
  .buddy-sheet-grid td{border:1px solid #999;height:22pt}
}
/* Comedy on Wheels: five tabs since the money tab was cut */
.road-tabs.wheels-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1060px){.road-tabs.wheels-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.road-tabs.wheels-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .road-tabs.wheels-tabs>:last-child:nth-child(odd){grid-column:1/-1}}
/* Get Paid, Get Back: five tabs since Owners and managers and Asked back became one */
.road-tabs.paid-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:1060px){.road-tabs.paid-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.road-tabs.paid-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .road-tabs.paid-tabs>:last-child:nth-child(odd){grid-column:1/-1}}
/* Calendar: near me (calendar.html, 30 Sept 2026) — a town or ZIP code, or the browser's location; how far, with
   each distance's count; nearest first or by night. Each row's miles lead its "where" line. */
.cal-near{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px 12px;align-items:end}
.cal-near-row{display:flex;gap:8px;min-width:0}
.cal-near-row input{flex:1 1 auto}
.cal-near-row .now-who-btn{flex:0 0 auto;white-space:nowrap}
.cal-near [hidden]{display:none!important}
.cal-near-say{grid-column:1/-1;margin:0;font:italic 400 14px/1.45 Georgia,serif;color:#c9b390}
.cal-near-say:empty{display:none}
.cal-near-say b{font-style:normal;color:#f1d7a4}
.cal-link{background:none;border:0;padding:0;color:var(--gold);font:inherit;text-decoration:underline;
  text-underline-offset:2px;cursor:pointer}
.cal-link:hover{color:#ffd37b}
.cal-mi{display:inline-block;padding:1px 7px;border:1px solid #6d4526;background:#1d140d;color:#f1d7a4;
  font:900 10px/1.6 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.cal-time.is-dated{display:grid;gap:3px;align-content:center}
.cal-night{display:block;font:900 9px/1.2 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#ad382b}
.cal-nearest{gap:10px}
@media(max-width:760px){
  .cal-near{grid-template-columns:minmax(0,1fr)}
  .cal-near-row{flex-wrap:wrap}
  .cal-near-row input{flex:1 1 100%}
  .cal-near-row .now-who-btn{flex:1 1 auto}
  #calNearOrder .now-who-btn{flex:1 1 0}
}
/* Your D.O.C. on a phone (doc.html, 30 Sept 2026) — one search box in place of twelve pickers, then the twelve
   numbered seats, each with its face, its name (a door to the SUCDb record) and Swap / Clear; the seat the next
   pick goes into is outlined. The list under the box is SUCDb's own (.sd-suggest, .sd-sug). Below the seats,
   the calendar file. The box's type is 17px so a phone doesn't zoom into it. */
.twelve-find{margin:0 0 16px}
.twelve-find label{display:block;margin:0 0 7px;font:900 10px/1.2 Inter,sans-serif;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold)}
.twelve-find input{box-sizing:border-box;width:100%;min-width:0;padding:13px 12px;border:1px solid #69472f;
  background:#15100c;color:#f1e5d2;font:400 17px/1.2 Georgia,serif}
.twelve-find input:focus{outline:2px solid var(--gold);outline-offset:1px}
.twelve-for{margin:8px 0 0;font:italic 400 13px/1.45 Georgia,serif;color:#c9b390}
.twelve-hint{margin:4px 0 0;font:400 12.5px/1.4 Georgia,serif;color:#a9967f}
.twelve-hint:empty{display:none}
.twelve-hint a{color:var(--gold)}
.sd-sug.is-in b{color:#a9967f}
.twelve-close{margin:0;padding:8px 12px;border-bottom:1px solid #2a1c12;font:italic 400 12.5px/1.35 Georgia,serif;color:#c9b390}
.twelve-seats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:8px}
.twelve-seat{display:grid;grid-template-columns:22px 40px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:52px;
  padding:5px 8px;border:1px solid #3d2a1c;background:#110c09}
.twelve-seat.is-target{border-color:var(--gold);box-shadow:inset 0 0 0 1px rgba(239,182,78,.35)}
.twelve-n{font:400 18px/1 Georgia,serif;color:#f2e7cd;text-shadow:1px 1px 0 var(--red);text-align:center}
.twelve-face{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:2px solid rgba(255,241,210,.9);
  background:#20140c center/cover no-repeat;font:400 14px/1 Georgia,serif;font-style:normal;color:#f2e7cd;
  text-shadow:1px 1px 0 var(--red)}
.twelve-face.empty{border:2px dashed #69472f;background:none}
.twelve-face.is-initials{border-color:#6d4526}
.twelve-name{min-width:0;font:400 15px/1.2 Georgia,serif;color:#f1d7a4;text-decoration:none;overflow-wrap:anywhere}
a.twelve-name:hover{color:var(--gold);text-decoration:underline}
.twelve-acts{display:flex;gap:4px}
.twelve-act,.twelve-choose{min-height:36px;padding:6px 9px;border:1px solid #6b4a30;background:transparent;color:#d7b97f;
  font:900 10px/1.2 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.twelve-choose{grid-column:3/-1;justify-self:start;text-align:left}
.twelve-act:hover,.twelve-choose:hover,.twelve-act[aria-pressed="true"],.twelve-choose[aria-pressed="true"]{
  border-color:var(--gold);background:var(--gold);color:#170f08}
.twelve-act:focus-visible,.twelve-choose:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.twelve-ics{margin-top:22px;padding-top:18px;border-top:1px solid #3d2a1c}
.twelve-ics-note{margin:9px 0 0;font:400 13px/1.5 Georgia,serif;color:#b9a68b}
.twelve-ics-note:empty{display:none}
.twelve-ics-note a{color:var(--gold)}
/* The night planner's trip minutes (js/planner.js buildNightPlan): the reader's own number, in the itinerary's
   first step, until then D.O.C.'s estimate for the way they're going. */
.trip-mins{width:4.4em;margin:0 3px;padding:3px 5px;border:1px solid #69472f;background:#15100c;color:#f1e5d2;font:inherit}
.trip-mins:focus{outline:2px solid var(--gold);outline-offset:1px}
@media(max-width:600px){
  .twelve-seats{grid-template-columns:minmax(0,1fr)}
  .twelve-find .sd-suggest{max-height:min(360px,55vh)}
}
/* Money: dated costs (30 Sept 2026) — the Tour Planner's pump price and per diem said with their sources and
   dates, every net marked before tax, a stop picked from the Club Directory (the search, the room's card in the
   editor, its rules on the stop), and the route check's "Needs the miles". Make the Trip Pay's Sources line. */
.tour-fuel-note{margin:12px 0 0;max-width:80ch;font:italic 400 13px/1.55 Georgia,serif;color:#c9b390}
.tour-fuel-note:empty{display:none}
.tour-tax{margin:-8px 0 22px;font:italic 400 13.5px/1.5 Georgia,serif;color:#c9b390}
.tour-tax a{color:var(--gold)}
.tour-money small+small{margin-top:2px}
.tour-check.miles .tour-check-tag{color:#e0a32e}
.tour-field-note{grid-column:1/-1;margin:-4px 0 2px;font:italic 400 12.5px/1.5 Georgia,serif;color:#bba88d}
.tour-field-note:empty{display:none}
/* 1 Oct 2026, a first run planned: the stop editor's "More" fold, the dates behind you, the Drive home line. */
.tour-more{margin:16px 0 0;border-top:1px solid #3a281a;padding-top:12px}
.tour-more>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font:900 11px/1.3 Inter,sans-serif;
  letter-spacing:.09em;text-transform:uppercase;color:#d7b97f}
.tour-more>summary:hover,.tour-more>summary:focus-visible{color:var(--gold)}
.tour-more[open]>summary{margin-bottom:10px}
.tour-past{border:1px dashed #543923;background:#0c0906;padding:4px 14px 12px}
.tour-past>summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font:900 11px/1.3 Inter,sans-serif;
  letter-spacing:.09em;text-transform:uppercase;color:#b7a48a}
.tour-past>summary:hover{color:var(--gold)}
.tour-past>.section-note{margin:2px 0 10px}
.tour-past>.section-note a{color:var(--gold)}
.tour-past .tour-stop-wrap+.tour-stop-wrap{margin-top:10px}
.tour-home-leg .tour-stop{cursor:default;border-style:dashed;border-left-style:solid}
.tour-home-leg .tour-stop:hover{transform:none;border-color:#543923;border-left-color:#7d7060}
.tour-home-miles{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex-basis:100%;font:900 10px/1.2 Inter,sans-serif;
  letter-spacing:.08em;text-transform:uppercase;color:#d7b97f}
.tour-home-miles input{width:8em;padding:8px 9px;border:1px solid #69472f;background:#15100c;color:#f1e5d2;font:400 15px/1.2 Georgia,serif}
.tour-home-miles input:focus{outline:2px solid var(--gold);outline-offset:1px}
.tour-home-route{font-size:12px;color:var(--gold)}
.tour-home-ask{margin:0;padding:12px 16px;border:1px dashed #543923;font:italic 400 13.5px/1.5 Georgia,serif;color:#c9b390}
/* The stop editor on a phone: two fields a row, and Save held at the bottom of the screen. */
@media(max-width:600px){
  .tour-dialog{padding:22px 16px}
  .tour-dialog .st-add-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .tour-dialog .st-add-grid label{justify-content:space-between;min-width:0}
  .tour-dialog .st-add-grid input,.tour-dialog .st-add-grid select{min-width:0;width:100%;box-sizing:border-box}
  .tour-dialog .st-add-grid label.st-check{grid-column:1/-1;justify-content:flex-start}
  .tour-dialog>.planner-actions{position:sticky;bottom:0;z-index:2;margin:12px -16px -22px;padding:12px 16px;
    background:#120d09;border-top:1px solid #3a281a}
}
.road-text-fill{margin:0 0 14px}
.road-text-fill .road-status a{color:var(--gold)}
.tour-room-pick{display:grid;gap:8px;margin:0 0 16px;padding:0 0 16px;border-bottom:1px solid #3a281a}
.tour-room-pick>label{font:900 11px/1.2 Inter,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:#d7b97f}
.tour-room-pick input{box-sizing:border-box;width:100%;min-width:0;padding:11px;border:1px solid #69472f;
  background:#15100c;color:#f1e5d2;font:400 16px/1.2 Georgia,serif}
.tour-room-pick input:focus{outline:2px solid var(--gold);outline-offset:1px}
.tour-room-list{display:grid;gap:6px}
.tour-room-list:empty{display:none}
.tour-room-list button{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline;width:100%;padding:9px 12px;
  border:1px solid #543923;background:#110c09;color:#f1d7a4;font:400 15px/1.3 Georgia,serif;text-align:left;cursor:pointer}
.tour-room-list button:hover,.tour-room-list button:focus-visible{border-color:var(--gold);background:#17100b}
.tour-room-list small{font:900 9.5px/1.3 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#b7a48a}
.tour-room-list p{margin:0;font:italic 400 13px/1.5 Georgia,serif;color:#bba88d}
.tour-room-card{display:grid;gap:4px;padding:12px 14px;border-left:4px solid var(--gold);background:#120c08;
  font:400 13.5px/1.5 Georgia,serif;color:#cdb998;overflow-wrap:anywhere}
.tour-room-card b{font:400 18px/1.25 Georgia,serif;color:#f1d7a4}
.tour-room-links{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-top:4px}
.tour-room-links a{color:var(--gold)}
.tour-rules h6{margin:14px 0 6px;font:900 10px/1.2 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#d7b97f}
.tour-rules ul{margin:0;padding-left:18px;color:#cdb998;font:400 13.5px/1.55 Georgia,serif}
.tour-rules li{margin:0 0 4px;overflow-wrap:anywhere}
.tour-rules li a,.tour-rules-where a{color:var(--gold);font-size:12px}
.tour-rules-where{margin:0;font:400 13.5px/1.5 Georgia,serif;color:#cdb998;overflow-wrap:anywhere}
.tour-rules-read,.tour-rules-none{margin:12px 0 0;font:italic 400 12.5px/1.5 Georgia,serif;color:#a9977f}
.pay-sources{margin-top:30px}
/* Stage Time national (30 Sept 2026) — Find stage time opens on the clubs' own open mics across the U.S.: where
   you are (a town, a ZIP code, a state or the device's location) and a night, tonight by default; the cards,
   nearest first, each with the club's page and the day it was read; then "Texas, room by room". On a phone the
   bar is one column and the three city buttons shrink to a row, so the first mic sits near the top. */
.st-nat{margin:0 0 18px;padding:20px 22px;border:1px solid #543923;background:#0f0b08}
.st-nat .st-h{margin-bottom:8px}
.st-nat-lede{margin:0 0 14px;max-width:70ch;font:400 14px/1.55 Georgia,serif;color:#c9b89e}
.st-nat-bar{margin-bottom:8px;align-items:end}
.st-nat-where{flex:1 1 260px;min-width:0}
.st-nat-where input{box-sizing:border-box;width:100%;min-width:0;background:#15100c;border:1px solid #69472f;
  color:#f1e5d2;padding:10px 11px;font:400 16px/1.2 Georgia,serif;letter-spacing:0;text-transform:none}
.st-nat-bar .source-btn{min-height:40px}
.st-nat-bar select{font-size:14px}
.st-nat-status{margin:6px 0 0;min-height:1.3em;font:italic 400 14px/1.45 Georgia,serif;color:#e0b865}
.st-nat-list{margin-bottom:12px}
.st-nat-mic .st-mic-when{font-weight:700;line-height:1.45;letter-spacing:.02em}
.st-nat-mic .st-facts dd{overflow-wrap:anywhere}
.st-nat-mic .st-prov span{overflow-wrap:anywhere}
.st-nat-more{margin:0 0 12px}
.st-nat-more [hidden]{display:none}
.st-nat-sources{margin:0 0 30px;max-width:80ch;font:400 13px/1.55 Georgia,serif;color:#a9967f}
.st-nat-sources a,.st-sources a{color:var(--gold)}
/* What the list holds, under it (1 Oct 2026). */
.st-nat-else{margin:0 0 12px;max-width:80ch;font:italic 400 14px/1.55 Georgia,serif;color:#c5b69e}
.st-nat-else a{color:var(--gold)}
/* Your log's room finder above the Room list (1 Oct 2026). */
.st-room-find input{box-sizing:border-box;width:100%;min-width:0}
.st-tx-head{margin-top:14px;padding-top:24px;border-top:1px solid var(--line)}
@media(max-width:760px){
  .st-nat{padding:16px 14px}
  .st-nat.art-side{--art-pad:14px;padding-top:78px!important}
  .st-nat.art-side::after{height:104px}
  .st-nat .st-h{font-size:22px}
  .st-nat-lede{display:none}                 /* the page's opening line says it on a phone */
  .st-nat-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;align-items:end}
  .st-nat-where{grid-column:1/-1}
  .st-nat-bar .source-btn{width:100%;padding-left:6px;padding-right:6px}
  .st-nat-bar label:not(.st-nat-where),.st-nat-bar select{width:100%;min-width:0}
  .st-nat-status{font-size:13px}
  .st-metro-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .st-metro{padding:8px!important}
  .st-metro.art-top{--art-h:64px;padding-top:44px!important}
  .st-metro b{font-size:14px}
  .st-metro span{display:none}
}

/* ---- The D.O.C. Book (the-book.html, 1 October 2026) ----------------------------------------------------
   The companion book, sold as a PDF. The cover stands in the hero over its photo, framed the way the logo is
   drawn: a dark outline and the brick-red block offset behind it. The price wears the headline's red offset. */
.page-head.tb-hero{min-height:0;justify-content:center}
.tb-hero-in{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,330px);gap:clamp(26px,4vw,60px);
  align-items:center}
.tb-hero-copy{min-width:0}
.page-head .tb-by{margin:12px 0 0;font:900 11px/1.3 Inter,sans-serif;letter-spacing:.16em;text-transform:uppercase;
  color:var(--gold)}
.tb-cover{margin:0 15px 15px 0;justify-self:center;width:100%;max-width:330px}
.tb-cover img{display:block;width:100%;height:auto;border:3px solid #17100c;
  box-shadow:12px 12px 0 #ad382b,12px 12px 0 3px #17100c,0 34px 70px rgba(0,0,0,.7)}
.tb-facts{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none}
.tb-facts li{border:1px solid #6b482f;background:rgba(12,8,4,.78);padding:7px 11px;
  font:900 10px/1.2 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#f2e7cd}
.tb-buy{display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:24px}
.tb-price{font:700 clamp(2.6rem,5vw,3.4rem)/1 Georgia,serif;color:#f2e7cd;text-shadow:3px 3px 0 var(--red)}
.tb-price small{display:block;margin-top:8px;max-width:30ch;font:400 13px/1.45 Georgia,serif;color:#d8c9ae;
  text-shadow:0 2px 10px #000}
.tb-buy-slot{display:flex;flex-direction:column;align-items:flex-start;gap:8px;min-width:0}
.tb-buy-btn{display:inline-block;text-decoration:none;font-size:12px;padding:16px 24px;
  box-shadow:4px 4px 0 var(--red),4px 4px 0 1px #17100c}
.page-head .tb-soon,.tb-soon{margin:0;padding:11px 16px;border-left:3px solid var(--gold);background:rgba(12,8,4,.8);
  font:italic 400 17px/1.4 Georgia,serif;color:#f1d7a4;text-shadow:none}
.tb-pay-note{font:400 12.5px/1.45 Georgia,serif;color:#b9a68b}
/* five stages: one row of five on a wide screen; the parts and the maps three to a row (21 and 18 come out even) */
.tb-who{grid-template-columns:repeat(auto-fit,minmax(min(210px,100%),1fr))}
.tb-parts{list-style:none;margin:20px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:8px}
.tb-parts li{display:grid;grid-template-columns:58px minmax(0,1fr);gap:4px 12px;align-items:baseline;
  border:1px solid #543923;border-left:3px solid var(--red);background:#0f0b08;padding:12px 14px}
.tb-parts .n{grid-row:span 2;font:700 16px/1.2 Georgia,serif;color:var(--gold)}
.tb-parts b{font:400 16px/1.25 Georgia,serif;color:#f1d7a4}
.tb-parts small{font:900 9.5px/1.3 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#a9967f}
.tb-maps{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr))}
.tb-maps .vote-point b{font-size:17px}
/* each title is a door to the map's free version on the site (1 Oct 2026) */
.tb-maps .vote-point b a{color:inherit;text-decoration:underline;text-decoration-color:rgba(232,176,75,.55);
  text-underline-offset:3px}
.tb-maps .vote-point b a:hover,.tb-maps .vote-point b a:focus-visible{color:var(--gold)}
.tb-maps-free{font-style:italic}
.tb-apx{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));align-items:start}
.tb-apx ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.tb-apx li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:8px;font:400 14px/1.45 Georgia,serif;color:#c9b89e}
.tb-apx li i{font:700 normal 15px/1.35 Georgia,serif;color:var(--gold)}
.tb-buy-foot{margin:4px 0 22px}
/* the three tiers (2 Oct 2026): letterpress cards, the bundle in the middle with the gold edge */
.tb-tiers-link{margin:14px 0 0;font:400 14px/1.4 Georgia,serif}
.tb-tiers-link a{color:var(--gold);text-underline-offset:3px}
.tb-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:22px 0 24px;align-items:stretch}
.tb-tier{position:relative;display:flex;flex-direction:column;gap:12px;padding:22px 20px 20px;
  border:1px solid #6b482f;background:rgba(12,8,4,.88);box-shadow:6px 6px 0 #ad382b,6px 6px 0 1px #17100c}
.tb-tier-best{border-color:var(--gold);box-shadow:6px 6px 0 var(--gold),6px 6px 0 1px #17100c}
.tb-tier-flag{position:absolute;top:-12px;left:18px;margin:0;padding:5px 10px;background:var(--gold);color:#1b1008;
  font:900 10px/1 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase}
.tb-tier-k{margin:0;font:900 12px/1.2 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.tb-tier-p{margin:0;font:700 clamp(2.2rem,3.4vw,2.8rem)/1 Georgia,serif;color:#f2e7cd;text-shadow:3px 3px 0 var(--red)}
.tb-tier-p small{display:block;margin-top:8px;font:italic 400 13px/1.4 Georgia,serif;color:#e6bd6e;text-shadow:none}
.tb-tier-p small:empty{display:none}
.tb-tier ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;flex:1;align-content:start}
.tb-tier li{padding-left:16px;position:relative;font:400 14px/1.45 Georgia,serif;color:#c9b89e}
.tb-tier li::before{content:"";position:absolute;left:0;top:.55em;width:7px;height:7px;background:var(--red);
  box-shadow:0 0 0 1px #17100c}
.tb-tier li b{color:#f1d7a4;font-weight:700}
.tb-tier-note{margin:0;font:italic 400 12.5px/1.45 Georgia,serif;color:#a9967f}
.tb-tier .tb-soon{font-size:15px}
/* "Tell me when it's out" under a coming-soon line (3 Oct 2026) */
.tb-notify{display:inline-block;margin-top:2px;padding:9px 14px;border:1px solid var(--gold);color:var(--gold);
  font:900 11px/1.2 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;
  box-shadow:3px 3px 0 var(--red)}
.tb-notify:hover,.tb-notify:focus-visible{background:var(--gold);color:#1b1008}
@media(max-width:980px){.tb-tiers{grid-template-columns:minmax(0,1fr);max-width:560px}}
.tb-pages a{color:var(--gold)}
@media(max-width:760px){
  .tb-hero-in{grid-template-columns:minmax(0,1fr)}
  .tb-cover{order:-1;max-width:230px;margin:6px auto 22px;padding-right:15px}
  .tb-buy{gap:14px}
}

/* The book in the front page's hero (2 Oct 2026): a row under "Near you tonight" — the cover, then its card
   (the owner moved it there from the right-hand side: "place it here"). */
.hbook{display:grid;grid-template-columns:104px minmax(0,1fr);align-items:center;gap:18px;max-width:560px;
  margin:26px 0 0;text-decoration:none;color:#f3e6d0}
.hbook img{display:block;width:100%;height:auto;border-radius:4px;transform:rotate(-3deg);
  box-shadow:0 22px 44px rgba(0,0,0,.75),0 0 0 1px rgba(232,168,20,.35);transition:transform .25s ease}
.hbook:hover img,.hbook:focus-visible img{transform:rotate(0) translateY(-4px)}
.hbook-copy{display:grid;gap:4px;background:rgba(12,8,4,.86);border:1px solid #765033;border-top:3px solid var(--gold);
  padding:12px 14px;box-shadow:0 12px 26px rgba(0,0,0,.5)}
.hbook-kicker{font:900 10px/1.2 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.hbook b{font:900 20px/1.1 Georgia,serif;color:#f2d59c}
.hbook-line{font:13px/1.45 Georgia,serif;color:#e4d4bb}
.hbook-buy{margin-top:4px;font:900 14px/1.2 Inter,sans-serif;color:var(--gold)}
.hbook-price{font:900 22px/1 Georgia,serif;color:#fff;margin-right:6px}
.hbook:hover .hbook-copy,.hbook:focus-visible .hbook-copy{border-color:var(--gold)}
.hbook:focus-visible{outline:2px solid var(--gold);outline-offset:6px}
@media(prefers-reduced-motion:reduce){.hbook img{transition:none}}
@media(max-width:560px){
  .hbook{grid-template-columns:86px minmax(0,1fr);gap:14px;margin-top:22px}
  .hbook img{transform:rotate(-2deg)}
  .hbook b{font-size:18px}
}
/* On a laptop's shorter screen (the owner, 2 Oct 2026: "wheres the book?" — at 768 px tall it sat just below the
   first screen) the hero tightens: a smaller logo, less air between the lines, so the book shows unscrolled. */
@media(min-width:561px) and (max-height:920px){
  .hero-inner{transform:translateY(-40px)}
  .hero-logo{width:min(540px,56vw);margin:0 0 4px}
  .hero-inner>p{margin:14px 0 18px}
  .hero-near{margin-top:14px}
  .hbook{margin-top:16px;grid-template-columns:92px minmax(0,1fr)}
}

/* Scrollbars that belong to the site (2 Oct 2026, the owner: "i dont like the scroller bars"): the browser's
   bright grey bars become thin and dark, the track the page's own black, the handle a dark brown that turns gold
   under the pointer. Every scroller still scrolls and still shows where it is — they just stop shouting.
   Firefox and newer Chromium read scrollbar-color/width; older Chromium and Safari read ::-webkit-scrollbar. */
html{scrollbar-color:#4a3220 #0b0705;scrollbar-width:thin}
*{scrollbar-color:#4a3220 transparent;scrollbar-width:thin}
::-webkit-scrollbar{width:8px;height:8px;background:#0b0705}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:#4a3220;border-radius:8px;border:2px solid #0b0705}
::-webkit-scrollbar-thumb:hover{background:var(--gold)}
::-webkit-scrollbar-corner{background:transparent}

/* Answer pages (2 Oct 2026, tools/answers-build.js): a question, the short answer, the book's own words on it, the book. */
.answer-page{max-width:900px}
.ans-crumbs{font:600 12px/1.4 Inter,sans-serif;color:#a9977f;margin:14px 0 10px}
.ans-crumbs a{color:var(--gold);text-decoration:none}.ans-crumbs a:hover{text-decoration:underline}
.answer-page .page-head h1{font-size:clamp(1.9rem,4.4vw,3.1rem);line-height:1.08;max-width:22ch}
.ans-short{border:1px solid #765033;border-left:5px solid var(--gold);background:rgba(20,13,8,.9);padding:20px 22px;margin-top:18px}
.ans-short h4{font-size:1.2rem!important;margin-bottom:8px!important}
.ans-short p{font:400 1.12rem/1.6 Georgia,serif;color:#f0e2c8;margin:0}
.ans-body{border-top:0}
.ans-part{margin:0 0 30px}
.ans-part .ans-h{font:600 clamp(1.4rem,3vw,1.9rem)/1.15 Georgia,serif;color:#efd29b;margin:0 0 6px}
.ans-deck{font:italic 1.08rem/1.6 Georgia,serif;color:#e4d4bb;margin:0 0 12px}
.ans-part .ans-sub{font:900 12px/1.3 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin:14px 0 6px}
.ans-part p{font:400 1.02rem/1.65 Georgia,serif;color:#d8c6ae;margin:0 0 10px}
.ans-part a{color:var(--gold)}
.ans-rule{border:1px solid #6c492e;background:#130d09;padding:12px 16px;margin:12px 0 0}
.ans-rule b{display:block;font:900 10px/1.2 Inter,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.ans-rule p{margin:0!important;color:#f0e2c8!important;font-weight:600!important}
.ans-book{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:center}
.ans-book-cover img{display:block;width:100%;height:auto;border-radius:4px;transform:rotate(-2deg);
  box-shadow:0 18px 36px rgba(0,0,0,.7),0 0 0 1px rgba(232,168,20,.35)}
.ans-book h4{font-size:clamp(1.4rem,3vw,2rem)!important}
.ans-book p{color:#d8c6ae;line-height:1.6;margin:0 0 14px}
.ans-book .btn-gold{display:inline-block;text-decoration:none}
.ans-links{list-style:none;padding:0;margin:8px 0 18px;display:grid;gap:8px}
.ans-links li{color:#a9977f;line-height:1.5}
.ans-links a{color:#efd29b;font:600 1.02rem Georgia,serif}
.ans-hub li{display:grid;gap:2px;padding:10px 0;border-bottom:1px solid #3a281a}
.ans-hub span{font-size:.92rem}
.ans-updated{font:12px/1.4 Inter,sans-serif;color:#8d7c66;margin-top:14px}
.ans-more h4{font-size:clamp(1.3rem,2.6vw,1.8rem)!important}
@media(max-width:560px){.ans-book{grid-template-columns:96px minmax(0,1fr);gap:16px}}

/* Room and state pages (2 Oct 2026, tools/venue-pages-build.js): a comedy room's own page, a state's rooms, the states.
   The answer pages' frame, the Club Directory card's facts and rules (.club-facts, .club-rules) and the venue page's
   show list (.room-show-list). A room with a real photo shows it beside its heading; without one, the heading has the
   site's stage picture behind it, never shown as the room. */
.vp-page .ans-h{font:600 clamp(1.5rem,3.4vw,2.2rem)/1.1 Georgia,serif;color:#efd29b;margin:0 0 12px}
.vp-page .page-head h1{max-width:26ch}
.vp-where{margin:12px 0 0!important;font:400 15px/1.5 Georgia,serif!important}
.vp-head.has-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:26px;align-items:center}
.vp-head.has-photo .vp-photo{order:2;margin:0;justify-self:end}
.vp-photo img{display:block;width:100%;max-width:360px;aspect-ratio:4/3;object-fit:cover;
  border:3px solid rgba(242,231,205,.85);box-shadow:8px 8px 0 var(--red)}
/* A photo the room only publishes small hangs at its own size, as the venue page hangs it. */
.vp-photo.framed img{aspect-ratio:auto;width:auto;height:auto;max-height:240px;object-fit:contain}
.vp-page .club-facts{max-width:820px}
.vp-page .club-fan-note{margin:-8px 0 0;font:italic 400 13px/1.5 Georgia,serif;color:#a9977f}
.vp-page .club-rules{max-width:820px;margin-top:16px}
.vp-page .section-note a,.vp-book a{color:var(--gold)}
.vp-plan .club-actions{margin:4px 0 12px}
.vp-book{font:400 14px/1.55 Georgia,serif;color:#c8b79e;margin:14px 0 0}
.vp-city{font:600 1.25rem/1.2 Georgia,serif;color:#f1d7a4;margin:22px 0 2px}
.vp-city small{font:900 10px/1 Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:#a9977f;margin-left:6px}
.vp-rooms{margin-bottom:6px}
.vp-tag{display:inline-block;margin-left:6px;padding:2px 7px;border:1px solid #6b482f;color:var(--gold);
  font:900 9px/1.4 Inter,sans-serif;letter-spacing:.1em;text-transform:uppercase;vertical-align:2px}
.ans-hub li .vp-tag{justify-self:start;margin-left:0}   /* the list rows are grids: keep the tag a small pill */
.vp-states{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 22px}
.vp-states li{display:grid;padding:8px 0;border-bottom:1px solid #3a281a}
.vp-states span{font-size:.88rem}
.vp-closed{margin:0 0 6px!important}
@media(max-width:700px){
  .vp-head.has-photo{grid-template-columns:minmax(0,1fr)}
  .vp-head.has-photo .vp-photo{order:0;justify-self:start}
  .vp-photo img{max-width:100%}
}
