:root{
 --paper:#f3eee3;--paper2:#e9e2d3;--ink:#16140f;--mute:#5a5448;--rule:#cfc6b4;
 --deck:#0e0d0b;--ivory:#f5f0e4;--dim:#a39c8d;--line:#34312b;--panel:#1c1a16;
 --warm:#d4683a;--warm-ink:#9e3d17;
 --serif:Charter,"Bitstream Charter","Sitka Text",Cambria,Georgia,serif;
 --mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;
 --pad:clamp(1rem,4vw,2.5rem);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--paper);color:var(--ink);font:1.0625rem/1.6 var(--serif);overflow-wrap:break-word}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{color:var(--warm-ink)}
:focus-visible{outline:3px solid var(--warm);outline-offset:3px}
[id]{scroll-margin-top:4.5rem}
cite{font-style:italic}
.skip{position:absolute;left:.5rem;top:-4rem;z-index:10;background:var(--ivory);color:var(--ink);padding:.6rem .9rem;font:500 .8125rem var(--mono)}
.skip:focus{top:.5rem}
/* bar */
.bar{position:sticky;top:0;z-index:5;background:var(--ink);color:var(--ivory);font:500 .8125rem/1 var(--mono);letter-spacing:.04em}
.bar nav{max-width:72rem;margin:0 auto;padding:.6rem var(--pad);display:flex;flex-wrap:wrap;gap:.5rem 1rem;align-items:center;justify-content:space-between}
.bar a{text-decoration:none;padding:.45rem 0}
.bar a:hover{color:var(--warm)}
.bar-mark{text-transform:uppercase;letter-spacing:.12em}
.bar-mark b{color:var(--warm);font-weight:400}
.bar .bar-listen{border:1px solid var(--warm);padding:.45rem .7rem}
@media (max-width:26rem){.bar-mark{display:none}}
main{max-width:72rem;margin:0 auto;padding:0 var(--pad)}
.kicker{font:500 .75rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--mute);margin:0 0 .75rem}
/* hero */
.hero{display:grid;gap:1.25rem;padding:clamp(2.5rem,7vw,5.5rem) 0 2.25rem}
.hero .kicker{margin:0}
h1{font-weight:400;font-size:clamp(2.5rem,9vw,6rem);line-height:.95;letter-spacing:-.02em;margin:0}
h1 span{display:block;margin-top:1rem;font:500 clamp(.75rem,2vw,.9375rem)/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--warm-ink)}
.lede{margin:0;max-width:36em;font-size:clamp(1.125rem,2.3vw,1.375rem);line-height:1.5}
.hero-links{margin:0;display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;align-items:center;font:500 .8125rem var(--mono)}
.btn{background:var(--ink);color:var(--ivory);padding:.75rem 1rem;text-decoration:none}
.btn:hover{background:var(--warm-ink);color:var(--ivory)}
@media (min-width:56rem){
 .hero{grid-template-columns:5fr 4fr;column-gap:3rem;align-items:end}
 .hero .kicker{grid-column:1/-1}
 .hero h1{grid-row:2/4}
 .hero-links{grid-column:2}
}
.split{display:grid;background:var(--deck);color:var(--ivory);border-top:4px solid var(--warm)}
@media (min-width:52rem){.split{grid-template-columns:1fr 1.1fr}}
.portrait{margin:0}
.portrait img{width:100%;aspect-ratio:4/3;object-fit:cover}
.portrait figcaption{padding:.65rem 1rem;font:.75rem/1.4 var(--mono);color:var(--dim)}
.deck{display:flex;flex-direction:column;gap:1rem;padding:clamp(1.25rem,3.5vw,2.25rem)}
.deck:focus{outline:3px solid var(--warm);outline-offset:-3px}
.deck-label{margin:0;display:flex;gap:.6rem;font:500 .75rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.deck-label span{color:var(--warm)}
.deck h2{margin:0;font-size:clamp(1.9rem,4.5vw,2.75rem);line-height:1}
.wave{width:100%;background:var(--ivory);padding:.6rem .75rem}
.deck audio{display:block;width:100%;color-scheme:dark}
.spec{margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));column-gap:1.25rem;border-top:1px solid var(--line)}
.spec div{padding:.6rem 0;border-bottom:1px solid var(--line)}
.spec dt{font:500 .6875rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.spec dd{margin:.2rem 0 0;font-size:.9375rem;line-height:1.4}
/* sections */
section{padding-top:clamp(3rem,7vw,5rem)}
.split{padding-top:0}
.sec-head{border-top:1px solid var(--ink);padding-top:1rem;margin-bottom:1.5rem}
h2{font-weight:400;font-size:clamp(1.7rem,4.5vw,2.75rem);line-height:1.08;letter-spacing:-.01em;margin:0;max-width:20em}
.prose p,.prose-p{margin:0 0 1rem;max-width:36em}
@media (min-width:56rem){.music .prose{display:grid;grid-template-columns:repeat(3,1fr);column-gap:2.5rem}}
.session{margin:1rem 0 0;background:var(--deck);color:var(--ivory);padding:clamp(.5rem,1.5vw,1rem)}
.session img{width:100%}
.session figcaption{max-width:52em;padding:.9rem .25rem .25rem;font-size:.9375rem;line-height:1.5}
.shanna-grid{display:grid;gap:2rem}
@media (min-width:56rem){.shanna-grid{grid-template-columns:1.2fr 1fr;column-gap:3rem;align-items:start}}
.aside{margin:1.5rem 0;max-width:32em;padding:.2rem 0 .2rem 1rem;border-left:3px solid var(--warm)}
.aside p{margin:0;font-style:italic}
.links{list-style:none;margin:1.5rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;font:500 .8125rem var(--mono)}
.links cite{font-style:normal}
.book{margin:0}
.book img{width:100%;border:1px solid var(--rule)}
.book figcaption{margin-top:.6rem;font:.75rem/1.5 var(--mono);color:var(--mute)}
.wb{--wbp:clamp(.9rem,2.5vw,1.5rem);background:var(--deck);color:var(--ivory);border-top:4px solid var(--warm);color-scheme:dark}
.wb [hidden]{display:none!important}
.vh{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wb-head{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:space-between;align-items:center;padding:.75rem var(--wbp);border-bottom:1px solid var(--line);font:500 .75rem/1.3 var(--mono);letter-spacing:.08em;text-transform:uppercase}
.wb-head p{margin:0}
.wb-flag{color:var(--warm);border:1px solid var(--warm);padding:.3rem .55rem}
.wb-briefs{margin:0;padding:1rem var(--wbp) 0;border:0;min-width:0}
.wb-briefs legend,.wb-filters span,.wb-kind,.wb-facts dt,.wb-count{font:500 .6875rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.wb-briefs legend{padding:0;margin-bottom:.4rem}
.wb-opts{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.wb-opts label{position:relative;cursor:pointer}
.wb-opts input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.wb-opts span{display:block;padding:.55rem .75rem .45rem;border-bottom:3px solid transparent;font-size:.9375rem;line-height:1.3;color:var(--dim)}
.wb-opts label:hover span,.wb-opts :checked+span{color:var(--ivory)}
.wb-opts :checked+span{border-bottom-color:var(--warm)}
.wb-opts :focus-visible+span{outline:3px solid var(--warm);outline-offset:-3px}
.wb-filters{display:grid;gap:.75rem 1rem;align-items:end;padding:1rem var(--wbp)}
@media (min-width:40rem){.wb-filters{grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto auto}}
.wb-filters label{display:grid;gap:.3rem;min-width:0}
.wb input[type=search],.wb select{width:100%;min-height:2.75rem;padding:.45rem .6rem;font:1rem var(--serif);color:var(--ivory);background:var(--panel);border:1px solid var(--line);border-radius:0}
.wb-filters .wb-check{display:flex;align-items:center;gap:.5rem;min-height:2.75rem;font-size:.9375rem}
.wb-check input{width:1.1rem;height:1.1rem;margin:0;accent-color:var(--warm)}
.wb button{min-height:2.75rem;padding:.6rem 1rem;font:500 .8125rem var(--mono);letter-spacing:.04em;border-radius:0;cursor:pointer}
.wb-ghost{background:none;color:var(--ivory);border:1px solid var(--dim)}
.wb-ghost:hover{color:var(--warm);border-color:var(--warm)}
.wb-count{margin:0;padding:.55rem var(--wbp);border-top:1px solid var(--line)}
.wb-panes{display:grid;border-top:1px solid var(--line)}
@media (min-width:56rem){.wb-panes{grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)}.wb-list{border-right:1px solid var(--line)}}
.wb-rows{list-style:none;margin:0;padding:0}
.wb .wb-rows button{display:grid;gap:.2rem;width:100%;padding:.8rem var(--wbp) .8rem calc(var(--wbp) - 3px);text-align:left;font:inherit;color:inherit;background:none;border:0;border-left:3px solid transparent;border-bottom:1px solid var(--line)}
.wb .wb-rows [aria-current]{background:var(--panel);border-left-color:var(--warm)}
.wb .wb-rows button:hover{background:var(--panel)}
.wb-rows button:focus-visible{outline-offset:-3px}
.wb-row-t{line-height:1.3}
.wb-row-m{font:.75rem/1.4 var(--mono);color:var(--dim)}
.wb-row-s{font:500 .6875rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--warm)}
.wb-empty{padding:1.5rem var(--wbp)}
.wb-empty p{margin:0 0 1rem}
.wb-detail{padding:clamp(1rem,3vw,1.75rem);background:var(--ivory);color:var(--ink);color-scheme:light}
.wb-detail :focus-visible{outline-color:var(--warm-ink)}
.wb-detail .wb-kind{margin:0;color:var(--warm-ink)}
.wb-detail h3{margin:.35rem 0 .2rem;font-weight:400;font-size:clamp(1.4rem,3.2vw,1.9rem);line-height:1.1}
.wb-org{margin:0 0 1rem;font-size:.9375rem;color:var(--mute)}
.wb-facts{margin:0;border-top:1px solid var(--rule)}
.wb-facts div{display:grid;gap:.15rem;padding:.55rem 0;border-bottom:1px solid var(--rule)}
@media (min-width:30rem){.wb-facts div{grid-template-columns:8rem minmax(0,1fr);gap:1rem}}
.wb-detail .wb-facts dt{padding-top:.2rem;color:var(--mute)}
.wb-facts dd{margin:0;font-size:.9375rem;line-height:1.45}
.wb .wb-pin{margin-top:1.1rem;color:var(--ivory);background:var(--ink);border:1px solid var(--ink)}
.wb .wb-pin:hover,.wb .wb-pin[aria-pressed=true]{background:var(--warm-ink);border-color:var(--warm-ink)}
.wb-note{margin:.75rem 0 0;font:.75rem/1.5 var(--mono);color:var(--mute)}
.foot{max-width:72rem;margin:4rem auto 0;padding:1.5rem var(--pad) 2.5rem;display:grid;gap:.75rem;border-top:1px solid var(--ink);font:.75rem/1.6 var(--mono);color:var(--mute)}
.foot a{color:var(--ink);font-weight:500}
.shadow-dance { padding: 1.2rem; }
.shadow-dance h3 { margin: .1rem 0 .45rem; font: 700 1.55rem/1.15 var(--serif, Georgia, serif); }
.shadow-dance figure { margin: 1rem 0 0; }
.shadow-dance img { display: block; width: 100%; height: auto; border: 1px solid #d4cabe; }
.shadow-dance figcaption { margin-top: .5rem; }
