:root{--rail:190px;--cream:#fff7dc;--gold:#f3c674;--paper:#faf3e3;--ink:#321b1b;--body:#493936;--line:#d7c4a2;--red:#741a21;--wine:#2d0e18;--surface:#fffaf0;--display:"Avenir Next Condensed","Arial Narrow",Arial,sans-serif;--text:"Avenir Next","Helvetica Neue",Arial,sans-serif;--book:Georgia,"Times New Roman",serif;color-scheme:light}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 var(--text)}
img{max-width:100%;display:block}a{color:inherit;text-underline-offset:.21em}h1,h2,h3,p,figure{margin:0}
:focus-visible{outline:3px solid #c47f0d;outline-offset:4px}.skip{position:fixed;top:.5rem;left:.6rem;z-index:10;background:white;color:#321b1b;padding:.6rem;transform:translateY(-200%)}.skip:focus{transform:none}
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--rail);z-index:5;display:flex;flex-direction:column;padding:30px 14px 18px;background:linear-gradient(155deg,#30101d,#1d0b16 66%,#371620);border-right:2px solid #9b6836;color:#f7e7c7}
.brand,.name{font:700 32px/1.1 var(--book);letter-spacing:-.065em;text-decoration:none}.brand{color:#ffde96;margin:0 10px 2rem;padding-bottom:1.5rem;border-bottom:1px solid #76513e}
.sidebar nav{display:grid;gap:.42rem}.sidebar nav a{display:flex;gap:.7rem;align-items:center;text-decoration:none;min-height:46px;padding:6px 9px;border-radius:6px;color:#f1e4ce;font-size:.92rem;font-weight:600;border:1px solid transparent}
.sidebar nav a:hover{background:#45212a}.sidebar nav a[aria-current=page]{background:linear-gradient(110deg,#66232a,#491922);border-color:#9e6137;color:#ffdfa5;box-shadow:inset 0 0 0 2px #4b2228}.nav-icon{width:29px;height:29px;object-fit:contain}.rail-bottom{display:grid;place-items:center;position:relative;margin:auto auto 0;width:76px;padding:.5rem 0}.rail-bottom .rail-lantern{width:55px;height:65px;object-fit:contain}.rail-bottom::before{content:'';position:absolute;inset:6px 10px;border-block:1px solid #be925d66;border-radius:45%}
.page-shell{margin-left:var(--rail)}main{min-width:0}
.hero,.interior-banner{position:relative;isolation:isolate;color:var(--cream);background-color:#5e1320;overflow:hidden}
.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;min-height:520px;padding:43px clamp(26px,4.2vw,80px) 38px;background-image:linear-gradient(90deg,#320e188c,transparent 48%),url('studio/silk-theatre.webp');background-position:center;background-size:100% 100%;border-bottom:4px double #dab06c}
.hero-copy{position:relative;z-index:2}.overline{display:flex;align-items:center;gap:.65rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.7rem;color:#ffe0a1}.overline::before{content:"";width:26px;height:1px;background:currentColor}.overline a{text-decoration:none}
h1,h2{line-height:1.05}h1{font-family:var(--display);font-weight:800;letter-spacing:-.05em}
.hero h1{font-size:clamp(62px,5.8vw,100px);text-transform:uppercase;line-height:.86;margin:20px 0;color:#fff0ce;text-shadow:0 2px 0 #792c28}.hero h1 em{font-style:normal;color:#ffd477}
.lede{font-size:1.03rem;line-height:1.53}.hero .lede{max-width:46ch;color:#fff0d8}.actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:1.2rem 0 .55rem}.button{display:inline-flex;align-items:center;gap:.65rem;justify-content:center;font-size:.9rem;font-weight:750;padding:12px 22px;min-height:48px;background:linear-gradient(155deg,#923e39,#6d1d24 62%,#511722);border:1px solid #e1b377;border-radius:.42rem;box-shadow:inset 0 0 0 2px #562029,inset 0 3px 6px #e09e6340,0 3px 6px #2c0e1866;color:#fff4c8;text-shadow:0 1px 3px #4a0000;text-decoration:none}.button:hover{filter:brightness(1.15)}.under{font-size:.91rem;font-weight:650;color:#fff1cf}.offer-note,.note,.edition-date{font-size:.79rem}.hero .offer-note{color:#f6dcbb}
.scene{position:absolute;z-index:0;right:0;top:0;bottom:0;width:51%;pointer-events:none}.scene img{position:absolute;object-fit:contain}
.content-wrap,footer .wrap{width:min(1110px,90%);margin-inline:auto}.content-wrap{padding-block:2.35rem 3.1rem}
.rateboard h2,.content-wrap>.block>h2,.chapters>.block>h2,.sheet-head h2{font-family:var(--book);font-weight:500;letter-spacing:-.045em}.rateboard h2,.content-wrap>.block>h2{font-size:clamp(1.8rem,2.9vw,3rem);margin-bottom:1.15rem}
.facts{display:grid;grid-template-columns:.86fr 1.12fr 1.12fr;border:1px solid #c6a675;position:relative;background:#fffaf0;box-shadow:inset 0 0 0 3px #f0e0bc}
.facts>div{padding:1.1rem 1.4rem 1.25rem}.facts>div+div{border-left:1px solid var(--line)}.facts h2{font:700 .88rem var(--text);letter-spacing:.015em;margin:0;color:#6d4031}.facts strong{display:block;font:650 clamp(2.7rem,3.8vw,4rem)/1.12 var(--display);color:#75242b;letter-spacing:-.045em;margin:.3rem 0}.facts strong small{font:400 .42em var(--book);letter-spacing:0}.facts p,.note{color:#604a3f}.facts p{font-size:.92rem;max-width:37ch}.note{margin:.7rem 0 0}
.topic-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:2.1rem 0 2.65rem}.topic-tiles a{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:.75rem;background:radial-gradient(ellipse at top right,#3e6246,transparent 60%),linear-gradient(115deg,#203a2d,#203327);color:#fff5d9;border:1px solid #a77d43;border-radius:4px;text-decoration:none;padding:13px 15px;font-size:1rem;font-weight:650}.topic-tiles a:hover{outline:2px solid #a77d43}.topic-tiles img{width:48px;height:48px;object-fit:contain}.topic-tiles b{color:#ffe09e}.block details{border-top:1px solid var(--line);padding:1rem 0}.block details p{margin-top:.6rem}summary{cursor:pointer;font-weight:650}
.interior-banner{background-image:radial-gradient(ellipse at 93% 50%,#a45333 0,transparent 28%),repeating-linear-gradient(125deg,transparent 0 18px,#e0b55d07 18px 19px),linear-gradient(110deg,#44121e,#702731 68%,#4f1d25);background-size:cover;background-position:center;display:grid;grid-template-columns:1fr 110px;align-items:center;gap:1.4rem;padding:2.1rem 5% 2.4rem;border-bottom:4px double #ca9f5d}.interior-banner h1{font-size:clamp(2.5rem,4.6vw,5rem);margin:.8rem 0;color:#ffe9bf}.interior-banner .lede{max-width:63ch;color:#fff2df}.banner-art{width:100%;max-height:120px;object-fit:contain;filter:drop-shadow(0 8px 8px #31091680)}.interior-banner.library{background-image:repeating-linear-gradient(125deg,transparent 0 18px,#ede0ad08 18px 19px),linear-gradient(112deg,#142c25,#36513c 60%,#1a382f)}.edition-date{margin-top:.65rem;color:#ffe6b5}
.section-grid{display:grid;grid-template-columns:minmax(165px,.38fr) minmax(0,1fr);align-items:start;gap:clamp(22px,3vw,55px)}.local-index{position:sticky;top:1rem;padding:1rem 1rem 1.2rem;border-top:3px double #a47c47;background:#efe1c4}.local-index h2,.chapters aside h2{font:600 1.25rem/1.2 var(--book);margin-bottom:.65rem}.local-index nav{display:grid}.local-index nav a{color:#65332e;text-decoration:none;line-height:1.38;border-top:1px solid #d3be97;padding:.55rem 0;font-size:.87rem}.local-index nav a:hover{text-decoration:underline}
.chapters{min-width:0}.chapters>.block{padding:clamp(1rem,2vw,1.8rem);background:var(--surface);border:1px solid #decaac;margin-bottom:1rem;scroll-margin:1rem}.chapters>.block h2{font-size:clamp(1.6rem,2.15vw,2.5rem);margin-bottom:.82rem;color:#681f28}.block p+p,.block table+p,.block address+p{margin-top:.82rem}.block li+li{margin-top:.45rem}.block ul,.block ol{padding-left:1.35rem}.block address{font:1.3rem/1.4 var(--book)}.block td,.block p,.block li{color:var(--body)}
table{border-collapse:collapse;width:100%}td,th{text-align:left;vertical-align:top;border-top:1px solid var(--line);padding:.65rem .6rem .65rem 0;font-size:.94rem}th{width:36%}caption{text-align:left;font-size:.86rem;color:#654f44;padding:.2rem 0 .65rem}
.chapters aside{border:1px solid var(--line);padding:1rem 1.4rem;background:#efe3ca}.reading a{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-top:1px solid var(--line);gap:1rem;text-decoration:none}.reading a:hover strong{text-decoration:underline}.reading strong,.reading small{display:block}.reading small{font-size:.88rem;color:#54423b}
.reader{max-width:1040px}.reader .sheet{padding:1rem;background:var(--surface);border:1px solid var(--line);margin:1.3rem 0}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.7rem}.sheet-head h2{font-size:1.5rem}.sheet-head a,.reader-intro,.doc-index{font-size:.9rem}.sheet img{width:100%;height:auto}.sheet details{margin-top:.65rem}.source-text p{margin:.6rem 0;overflow-wrap:anywhere}.source-table{font-size:.85rem;max-width:100%;overflow-x:auto}.doc-index,.kfs-sources{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center}.doc-index a{padding:.25rem .45rem}.kfs-sources{padding:.8rem 0}.kfs-paper{position:relative}.printed-url{position:absolute;border-bottom:1px solid #23525c}.printed-url:hover,.printed-url:focus-visible{background:#f1c24c55}.kfs-zoom{overflow:auto}.kfs-zoom:target .kfs-paper{min-width:1200px}.fit-page{display:none}.kfs-zoom:target+.fit-page{display:block}
footer{color:#f7e5c8;background:#261019;border-top:3px double #a7834e;padding:1.8rem 0}.footnav{display:flex;gap:1.4rem;align-items:start;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid #664738}.footnav .name{flex:none;font-size:1.55rem}.footnav nav{display:flex;justify-content:flex-end;gap:.4rem 1rem;flex-wrap:wrap}.footnav nav a{font-size:.79rem}.fine{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;color:#e2cdb8;font-size:.78rem}
@media(min-width:1650px){.hero{padding-left:8%}.scene{width:50%;right:4%}}
@media(max-height:720px){.rail-bottom{display:none}}
@media(max-width:1100px){:root{--rail:160px}.sidebar{padding:20px 8px 12px}.brand{font-size:28px}.hero{padding-left:5%;min-height:480px}.hero h1{font-size:clamp(53px,6.6vw,78px)}.topic-tiles a{grid-template-columns:34px 1fr;gap:.45rem}.topic-tiles img{width:34px;height:34px}.topic-tiles b{display:none}.section-grid{grid-template-columns:150px minmax(0,1fr)}}
@media(max-width:840px){.sidebar{width:100%;position:relative;flex-direction:row;align-items:center;padding:8px 4%;gap:1rem;border-right:0;border-bottom:1px solid #b28651}.brand{margin:0;padding:0;border:0;white-space:nowrap;font-size:1.65rem}.sidebar nav{display:flex;flex:1;justify-content:flex-end;flex-wrap:wrap;gap:2px}.sidebar nav a{font-size:.79rem;min-height:30px;padding:.28rem .37rem}.sidebar .nav-icon,.rail-bottom{display:none}.page-shell{margin:0}.hero{min-height:420px}.hero h1{font-size:clamp(54px,8.3vw,74px)}.interior-banner{padding-block:1.5rem}.content-wrap{padding-top:1.65rem}}
@media(max-width:600px){.sidebar{display:block;padding:10px 4% 6px}.sidebar nav{justify-content:flex-start;margin-top:5px}.sidebar nav a{font-size:.76rem;min-height:29px}.hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:0 5% 1.15rem;background-image:linear-gradient(0deg,#461321,#651c29 75%,#481321)}.scene{position:relative;inset:auto;order:0;height:clamp(175px,52vw,270px);width:min(100%,420px);align-self:center}.hero-copy{order:1}.hero h1{font-size:clamp(44px,11vw,66px);line-height:.91;margin:.65rem 0}.hero .lede{font-size:.93rem;line-height:1.45}.overline{font-size:.63rem}.button{min-height:42px;padding:10px 16px}.actions{gap:.5rem .85rem;margin:.9rem 0 .5rem}.offer-note{font-size:.75rem}.content-wrap,footer .wrap{width:91%}.facts,.section-grid,.topic-tiles{grid-template-columns:minmax(0,1fr)}.facts>div{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:.25rem .75rem;padding:.8rem 1rem}.facts>div+div{border-left:0;border-top:1px solid var(--line)}.facts strong{grid-column:2;grid-row:1/3;align-self:center;font-size:2.4rem}.facts p{grid-column:1;font-size:.86rem}.topic-tiles{margin:1.2rem 0 1.75rem;gap:7px}.topic-tiles a{grid-template-columns:34px 1fr auto}.topic-tiles b{display:inline}.interior-banner{grid-template-columns:1fr 46px;gap:.5rem;padding:1.3rem 4.5%}.interior-banner h1{font-size:2.55rem}.interior-banner .lede{font-size:.94rem}.banner-art{align-self:start}.local-index{position:static}.local-index nav{display:flex;flex-wrap:wrap;gap:0 .85rem}.local-index nav a{border:0;text-decoration:underline}.section-grid{gap:1rem}.footnav,.fine{flex-direction:column}.footnav nav{justify-content:flex-start}.sheet-head a{font-size:.79rem}}
@media print{.sidebar,footer,.skip,.scene,.local-index,.overline,.banner-art,.kfs-sources,.sheet-head a{display:none}.page-shell{margin:0}.hero,.interior-banner{background:#fff;color:black;min-height:0;padding:1rem 0}.hero h1,.hero h1 em,.hero .lede,.hero .offer-note,.interior-banner h1,.interior-banner .lede{color:black}.section-grid{display:block}.content-wrap{width:100%}}

.hero::after{content:"";position:absolute;inset:4px;pointer-events:none;border:1px solid #e0b77a7a}
.portrait-stage .card-display{position:absolute;inset:14% 12% 25% 8%;display:flex;align-items:center;justify-content:center;margin:0}
.portrait-stage .card-display img{position:static;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 9px 6px #3909168a)}
@media(min-width:1650px){.portrait-stage{right:0}}
@media(min-width:601px) and (max-width:1090px){
 .hero{background:linear-gradient(100deg,#4b1320,#641d29 70%,#50131d)}
 .portrait-stage{background:url('studio/theatre-detail.webp') center/100% 100% no-repeat;mask-image:linear-gradient(90deg,transparent,#000 13%)}
 .portrait-stage .card-display{inset:14% 10% 23% 13%}
}
@media(max-width:600px){
 .portrait-stage{height:clamp(214px,62vw,305px);width:calc(100% + 11.11%);max-width:none;align-self:center;background:url('studio/theatre-detail.webp') center/100% 100% no-repeat;mask-image:linear-gradient(to bottom,#000 87%,transparent)}
 .portrait-stage .card-display{inset:12% 11% 24% 16%}
}
