/* Stagecraft redesign, 28-10-2026. Loaded after site-theme.css on every page.
   Warm paper, one colour per case file, rounded corners, plain medium-weight titles.
   Fonts are self-hosted (see fonts.css), so no visitor data goes to Google. */
:root{
  --sc-night:#1d0c2e;--sc-plum:#3b1659;--sc-juice:#ff6a3d;--sc-juice-ink:#c9441a;--sc-deep:#2f5d4f;--sc-sand:#e7d5bf;
  --sc-cream:#fff0dc;--sc-paper:#f6f1e9;--sc-surface:#fffdf9;--sc-ink:#1d0c2e;--sc-muted:#6d6274;--sc-line:#e4dbcf;
  --sc-display:"Bricolage Grotesque","Arial Narrow","Helvetica Neue",Arial,sans-serif;
  --sc-serif:"Fraunces","Iowan Old Style",Georgia,serif;
  --sc-mono:"DM Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --site-paper:var(--sc-paper);--site-ink:var(--sc-ink);--site-muted:var(--sc-muted);--site-blue:var(--sc-ink);--site-gold:var(--sc-sand);--site-line:var(--sc-line);--site-serif:var(--sc-serif);--site-mono:var(--sc-mono);
}
body:has(.archive-page){background:var(--sc-paper);color:var(--sc-ink);font-family:var(--sc-serif)}

/* ---------- Header: one colour per case file ---------- */
.archive-page .masthead{border-bottom:0;padding:16px 0 10px;min-height:0}
.archive-page .masthead .media-switch{background:transparent;border:0;padding:0;gap:8px;border-radius:0}
.archive-page .media-switch a{border-radius:16px;min-height:76px;padding:13px 16px;gap:6px;position:relative;transition:transform .15s}
.archive-page .media-switch a:hover{transform:translateY(-3px)}
.archive-page .media-switch .archive-number{font:400 11px/1 var(--sc-mono);letter-spacing:.12em;opacity:.75}
.archive-page .media-switch .archive-label{font:600 15px/1.12 var(--sc-display);font-stretch:90%;text-transform:none;letter-spacing:0}
.archive-page .media-switch .archive-mobile-label{font:600 14px/1.15 var(--sc-display);font-stretch:90%;text-transform:none}
.archive-page .media-switch a:nth-child(1){background:var(--sc-surface);color:var(--sc-ink);box-shadow:inset 0 0 0 1px var(--sc-line)}
.archive-page .media-switch a:nth-child(2){background:var(--sc-night);color:var(--sc-cream)}
.archive-page .media-switch a:nth-child(3){background:var(--sc-deep);color:var(--sc-cream)}
.archive-page .media-switch a:nth-child(4){background:var(--sc-juice);color:var(--sc-night)}
.archive-page .media-switch a:nth-child(5){background:var(--sc-sand);color:var(--sc-ink)}
.archive-page .media-switch a:nth-child(6){background:var(--sc-plum);color:var(--sc-cream)}
.archive-page .media-switch a[aria-current=page]{box-shadow:inset 0 0 0 2px var(--sc-ink)}
.archive-page .media-switch a:nth-child(2)[aria-current=page],.archive-page .media-switch a:nth-child(3)[aria-current=page],.archive-page .media-switch a:nth-child(6)[aria-current=page]{box-shadow:inset 0 0 0 2px var(--sc-cream)}
.archive-page .media-switch a[aria-current=page]::after{content:"";position:absolute;right:13px;top:13px;width:9px;height:9px;border-radius:50%;background:currentColor}
.archive-page .media-switch a:focus-visible,.archive-page .site-actions a:focus-visible{outline:2px solid var(--sc-ink);outline-offset:3px}
.archive-page .masthead .site-actions{font:italic 300 16px var(--sc-serif);font-variation-settings:"SOFT" 100,"WONK" 1}
.archive-page .site-actions>a:not(.recommend-nav){color:var(--sc-ink);text-decoration:underline;text-decoration-color:var(--sc-juice);text-underline-offset:4px}
.archive-page .site-actions .recommend-nav{background:var(--sc-surface);color:var(--sc-ink);border:1.5px solid var(--sc-ink);border-radius:999px;padding:11px 20px;min-height:44px;font:600 15px/1.2 var(--sc-display);font-style:normal;box-shadow:3px 4px 0 var(--sc-juice);transition:transform .15s,box-shadow .15s}
.archive-page .site-actions .recommend-nav:hover{background:var(--sc-surface);color:var(--sc-ink);transform:translate(-2px,-2px);box-shadow:5px 6px 0 var(--sc-juice)}
.archive-page .site-actions .recommend-nav>span{font:500 20px/16px var(--sc-display)}

/* ---------- Type ---------- */
.archive-page h1.page-title{font:600 clamp(46px,5.4vw,84px)/.96 var(--sc-display);font-stretch:90%;letter-spacing:-.025em;color:inherit}
.archive-page h1.page-title>em,.archive-page h1.page-title>span,.archive-page .heath-intro h1.page-title>span{color:inherit;font-style:normal;font-weight:inherit}
.archive-page .section-heading h2,.archive-page h2{font-family:var(--sc-display);font-weight:600;font-stretch:90%;letter-spacing:-.015em;color:var(--sc-ink)}
.archive-page .introduction,.archive-page .intro,.archive-page .heath-intro-copy>p{font-family:var(--sc-serif);font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:var(--sc-ink)}
.archive-page .eyebrow{font-family:var(--sc-mono);letter-spacing:.12em;color:var(--sc-muted)}
.archive-page p,.archive-page li{font-family:var(--sc-serif)}
.archive-page button,.archive-page input,.archive-page select,.archive-page textarea,.archive-page label{font-family:var(--sc-display)}
.archive-page .case-heading{font:400 12px/1.5 var(--sc-mono);letter-spacing:.14em;color:inherit}
.archive-page .case-badge{background:var(--sc-night);color:var(--sc-cream);border-radius:999px;padding:6px 11px;font-weight:500}

/* ---------- The section field: each case file's one big colour ---------- */
.section-field{--sec:var(--sc-surface);--sec-ink:var(--sc-ink);background:var(--sec);color:var(--sec-ink);border-radius:28px;padding:clamp(26px,3.6vw,52px) clamp(22px,3.6vw,52px) clamp(28px,3.6vw,48px);margin:0 0 28px}
.section-field[data-section=heard]{--sec:var(--sc-night);--sec-ink:var(--sc-cream)}
.section-field[data-section=seen]{--sec:var(--sc-deep);--sec-ink:var(--sc-cream)}
.section-field[data-section=concerts]{--sec:var(--sc-juice);--sec-ink:var(--sc-night)}
.section-field[data-section=places]{--sec:var(--sc-sand);--sec-ink:var(--sc-ink)}
.section-field[data-section=house]{--sec:var(--sc-plum);--sec-ink:var(--sc-cream)}
.archive-page .section-field h1.page-title{color:var(--sec-ink);margin:18px 0 18px}
.archive-page .section-field .introduction,.archive-page .section-field .intro{color:var(--sec-ink);margin-bottom:0;max-width:40rem}
.archive-page .section-field .case-heading{color:var(--sec-ink);opacity:1}
.archive-page .section-field .case-description{opacity:.8}
.archive-page .section-field p,.archive-page .section-field .section-heading p{color:var(--sec-ink)}
.archive-page .section-heading.section-field{align-items:flex-end}
.section-field[data-section=heard] .case-badge,.section-field[data-section=house] .case-badge{background:var(--sc-cream);color:var(--sc-night)}
.archive-page .opening,.archive-page .heath-intro{padding-top:24px}
.archive-page .concert-page{padding-top:24px}

/* ---------- Home: scale as the joke ---------- */
.archive-page .heath-intro h1.page-title{font-size:clamp(64px,10vw,168px);line-height:.88;letter-spacing:-.035em;max-width:10ch;margin:22px 0 30px}
.archive-page .heath-intro-copy>p:first-of-type{font-size:clamp(20px,1.9vw,26px);line-height:1.45}
.archive-page .heath-intro .case-heading{color:var(--sc-muted)}
.archive-page .heath-intro .case-badge{background:var(--sc-surface);color:var(--sc-ink);border:1px solid var(--sc-line)}
.archive-page .intro-links{display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:30px}
.archive-page .intro-links a{display:flex!important;justify-content:space-between;align-items:flex-end;min-height:118px;padding:18px 18px!important;border-radius:20px!important;border:0!important;font:600 clamp(22px,2vw,30px)/1 var(--sc-display)!important;font-stretch:90%!important;text-decoration:none;box-shadow:none!important;transition:transform .2s,box-shadow .2s}
.archive-page .intro-links a:hover{transform:translateY(-4px);box-shadow:0 18px 30px -18px rgba(29,12,46,.6)!important}
.archive-page .intro-links a:nth-child(1){grid-column:span 3;background:var(--sc-night)!important;color:var(--sc-cream)!important;min-height:170px}
.archive-page .intro-links a:nth-child(2){grid-column:span 3;background:var(--sc-deep)!important;color:var(--sc-cream)!important;min-height:170px}
.archive-page .intro-links a:nth-child(3){grid-column:span 2;background:var(--sc-juice)!important;color:var(--sc-night)!important}
.archive-page .intro-links a:nth-child(4){grid-column:span 2;background:var(--sc-sand)!important;color:var(--sc-ink)!important}
.archive-page .intro-links a:nth-child(5){grid-column:span 2;background:var(--sc-plum)!important;color:var(--sc-cream)!important}
.archive-page .intro-photo,.archive-page .intro-mobile-portrait{background:var(--sc-surface)!important;border:0!important;border-radius:10px!important;padding:9px 9px 9px!important;box-shadow:0 22px 40px -22px rgba(29,12,46,.55)!important}
.archive-page .intro-photo img,.archive-page .intro-mobile-portrait img{border-radius:6px!important}

/* ---------- Cards and file panels ---------- */
.archive-page .subject,.archive-page .subject-file{background:var(--sc-surface);border:1px solid var(--sc-line);border-radius:22px;box-shadow:0 22px 40px -24px rgba(29,12,46,.5);transform:rotate(1.4deg)}
.archive-page .portrait,.archive-page .portrait-wrap{border-radius:12px}
.archive-page .subject-caption strong,.archive-page .photo-caption strong{font:600 24px/1.15 var(--sc-display);font-stretch:90%;color:var(--sc-ink)}
.archive-page .concert-card{border-radius:18px!important;overflow:hidden;background:var(--sc-surface)!important;border:1px solid var(--sc-line)!important}
.archive-page .concert-card h3,.archive-page .concert-card strong{font-family:var(--sc-display);font-weight:600;font-stretch:90%}
.archive-page .house-photo,.archive-page .house-photo img{border-radius:14px}

/* ---------- Footer: the callback ---------- */
.archive-page .archive-footer{margin-top:40px;background:var(--sc-night);color:var(--sc-cream);border:0;border-radius:28px 28px 0 0;padding:34px clamp(22px,3.6vw,52px) 30px;font-family:var(--sc-serif)}
.archive-page .archive-footer>span{font:600 clamp(28px,3.4vw,44px)/1 var(--sc-display);font-stretch:90%;letter-spacing:-.01em;color:var(--sc-cream);text-transform:none}
.archive-page .archive-footer .site-credit{color:rgba(255,240,220,.7);font:italic 300 15px var(--sc-serif);font-variation-settings:"SOFT" 100,"WONK" 1}
.archive-page .archive-footer a,.archive-page .archive-footer button{color:var(--sc-cream);font-family:var(--sc-serif)}
.archive-page .archive-footer #snapshot{color:rgba(255,240,220,.6)}

@media(max-width:1100px){
  .archive-page .intro-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .archive-page .intro-links a:nth-child(n){grid-column:span 1;min-height:110px}
  .archive-page .intro-links a:nth-child(5){grid-column:span 2}
}
@media(max-width:760px){
  .archive-page .masthead .media-switch{gap:6px;padding:0}
  .archive-page .media-switch a{min-height:58px;border-radius:14px;padding:10px 12px;align-items:flex-start}
  .archive-page .media-switch .archive-mobile-label{text-align:left}
  .archive-page .media-switch a[aria-current=page]::after{right:10px;top:10px;width:7px;height:7px}
  .section-field{border-radius:22px;padding:24px 20px 26px}
  .archive-page h1.page-title{font-size:clamp(40px,11vw,60px)}
  .archive-page .heath-intro h1.page-title{font-size:clamp(52px,15vw,84px)}
  .archive-page .intro-mobile-portrait{transform:rotate(4deg)}
  .archive-page .archive-footer{border-radius:22px 22px 0 0}
}
@media(prefers-reduced-motion:reduce){.archive-page *{transition:none!important}}

/* ---------- Pages outside the six case files: Make your own, Privacy, Inbox ---------- */
.archive-page .make-page h1,.archive-page.inbox-page h1{font:600 clamp(46px,5.4vw,84px)/.96 var(--sc-display);font-stretch:90%;letter-spacing:-.025em;color:var(--sc-ink)}
.archive-page .make-page h1 span{color:inherit;font-style:normal}
.archive-page .make-page h2,.archive-page.privacy-page h2{font-family:var(--sc-display);font-weight:600;font-stretch:90%}
.archive-page .make-lead{font-family:var(--sc-serif);font-size:clamp(18px,1.5vw,21px);line-height:1.6;color:var(--sc-ink)}
.archive-page .make-card{background:var(--sc-surface);border:1px solid var(--sc-line);border-radius:22px}
.archive-page.privacy-page main{font-family:var(--sc-serif);font-size:18px;line-height:1.65}
.archive-page.privacy-page main h1.page-title{margin:28px 0}
.archive-page.inbox-page{max-width:1100px;margin:0 auto;padding:40px max(20px,4vw);font-family:var(--sc-serif)}
body:has(.inbox-page){background:var(--sc-paper);color:var(--sc-ink)}

/* ---------- 404 and the analytics consent banner ---------- */
.section-field[data-section=missing]{--sec:var(--sc-surface);--sec-ink:var(--sc-ink);border:1px solid var(--sc-line)}
.archive-page.not-found-page main{padding:24px 0 20px}
.archive-page .not-found-home{font:italic 300 19px var(--sc-serif);font-variation-settings:"SOFT" 100,"WONK" 1}
.archive-page .not-found-home a{color:var(--sc-ink);text-decoration-color:var(--sc-juice);text-underline-offset:4px}
body .analytics-choice{background:var(--sc-surface);border:1px solid var(--sc-line);border-radius:22px;color:var(--sc-ink);font:15px/1.55 var(--sc-serif);box-shadow:0 18px 40px -18px rgba(29,12,46,.45)}
body .analytics-choice a{color:var(--sc-ink);text-decoration-color:var(--sc-juice)}
body .analytics-choice button{border:1.5px solid var(--sc-ink);border-radius:999px;background:var(--sc-surface);color:var(--sc-ink);font:600 15px var(--sc-display)}
/* Both consent choices carry equal weight. */
body .analytics-choice button:focus-visible,body .analytics-preferences:focus-visible{outline:2px solid var(--sc-ink)}
body .analytics-preferences{font:italic 300 13px var(--sc-serif);font-variation-settings:"SOFT" 100,"WONK" 1}
