:root {
  --umber:#2a2118; --umber-2:#352719; --dark:#120e0b; --black:#0a0806;
  --amber:#e9a83e; --work:#ffd692; --string:#f3e7d2; --paper:#dec79f;
  --red:#b94435; --teal:#1f7165; --blue:#2d5682; --gold:#b98224; --ink:#21170f;
  --display:'Italiana',serif; --body:'Spectral',serif;
}
* { box-sizing:border-box }
html { scroll-behavior:smooth; background:var(--dark); scrollbar-color:#9b6a2b #120e0b; scrollbar-width:thin }
body { margin:0; overflow-x:hidden; background:var(--umber); color:var(--string); font-family:var(--body); font-size:17px; line-height:1.58; font-optical-sizing:auto; text-rendering:optimizeLegibility }
::selection { background:#e2a33d; color:#160e09; text-shadow:none }
::-webkit-scrollbar { width:10px } ::-webkit-scrollbar-track { background:#120e0b } ::-webkit-scrollbar-thumb { border:2px solid #120e0b; border-radius:10px; background:linear-gradient(#bd8534,#69451f) }
body::before { content:""; position:fixed; inset:0; z-index:90; pointer-events:none; opacity:.18; mix-blend-mode:soft-light; background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.38'/%3E%3C/svg%3E") }
a { color:inherit; text-decoration:none }
button { font:inherit }
h1,h2,h3,p { margin-top:0 }
a:focus-visible,[tabindex]:focus-visible { outline:2px solid var(--work); outline-offset:6px }
.skip-link { position:fixed; top:8px; left:8px; z-index:300; padding:12px 18px; background:var(--work); color:var(--dark); transform:translateY(-160%); transition:transform .2s }
.skip-link:focus { transform:none }

/* The house opens once: velvet first, then the worklight blooms. */
.curtain { position:fixed; z-index:200; top:0; bottom:0; width:50.5vw; pointer-events:none; background:linear-gradient(90deg,rgba(17,4,3,.9),transparent 11%,rgba(255,115,75,.12) 23%,transparent 34%,rgba(0,0,0,.5) 49%,transparent 62%,rgba(255,117,77,.1) 75%,rgba(14,4,3,.85)),#5d211c; box-shadow:inset 0 0 120px #160705; animation:curtain-open 1.7s cubic-bezier(.82,0,.18,1) .18s forwards }
.curtain::after { content:""; position:absolute; top:0; bottom:0; width:2px; background:#d79b43; box-shadow:0 0 22px rgba(255,190,99,.7) }
.curtain-left { left:0; transform-origin:left }.curtain-left::after { right:0 }
.curtain-right { right:0; transform-origin:right }.curtain-right::after { left:0 }
@keyframes curtain-open { 72% { width:5vw } to { width:0 } }

.site-header { height:92px; position:absolute; inset:0 0 auto; z-index:20; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 clamp(24px,3.3vw,56px); border-bottom:1px solid rgba(243,231,210,.19); font-size:11px; letter-spacing:.15em; text-transform:uppercase; animation:appear .7s ease 1.35s both }
.wordmark { display:flex; align-items:center; gap:13px; justify-self:start; min-height:44px; font-family:var(--display); font-size:18px; line-height:1.05; letter-spacing:.055em; text-transform:none }
.wordmark-mark { width:36px; height:36px; display:grid; place-items:center; flex:0 0 auto; border:1px solid var(--amber); color:var(--amber); font-size:19px; transform:rotate(-1deg) }
.wordmark small { display:block; margin-top:5px; color:#c9b897; font:8px/1 var(--body); letter-spacing:.22em; text-transform:uppercase }
.site-header nav { display:flex; gap:34px }.site-header nav a { display:flex; align-items:center; min-height:44px; position:relative; color:#d8c7a9; transition:color .28s ease }
.site-header nav a::after { content:""; position:absolute; right:50%; bottom:7px; left:50%; height:1px; background:var(--amber); transition:left .34s cubic-bezier(.2,.85,.2,1),right .34s cubic-bezier(.2,.85,.2,1) }.site-header nav a:hover::after,.site-header nav a:focus-visible::after { right:0; left:0 }.site-header nav a:hover { color:var(--work) }
.control-link { justify-self:end; display:flex; align-items:center; min-height:44px; padding:0 0 2px; border-bottom:1px solid var(--amber); color:var(--work) }.control-link span { margin-left:16px }

.hero { min-height:900px; height:100svh; max-height:1080px; position:relative; overflow:hidden; isolation:isolate; background:radial-gradient(ellipse at 72% 27%,rgba(241,178,78,.2),transparent 28%),radial-gradient(ellipse at 35% 32%,rgba(166,84,38,.14),transparent 31%),linear-gradient(102deg,#100b08 0,#281c13 39%,#382819 68%,#17100c 100%) }
.hero::before { content:""; position:absolute; z-index:-1; inset:92px 9% auto 6%; height:56%; opacity:.42; background:linear-gradient(103deg,transparent 0 18%,rgba(255,220,155,.11) 18.2% 25%,transparent 25.2% 62%,rgba(255,202,111,.07) 62.2% 69%,transparent 69.2%); clip-path:polygon(0 0,100% 0,83% 100%,16% 100%) }
.hero::after { content:""; position:absolute; z-index:8; inset:auto 0 0; height:21%; pointer-events:none; background:linear-gradient(transparent,#0b0806 73%),repeating-linear-gradient(94deg,transparent 0 105px,rgba(0,0,0,.13) 106px 108px); clip-path:polygon(0 51%,13% 44%,29% 52%,49% 43%,68% 49%,85% 40%,100% 46%,100% 100%,0 100%) }
.hero-copy { position:absolute; z-index:7; top:clamp(145px,17vh,190px); left:5.2vw; width:min(48vw,690px); pointer-events:none; animation:hero-appear 1s cubic-bezier(.2,.8,.2,1) 1.55s both }
.kicker,.section-number { margin:0 0 18px; color:var(--amber); font-size:10px; font-weight:600; letter-spacing:.29em; text-transform:uppercase }
h1 { margin:0; font:400 clamp(105px,10.8vw,174px)/.66 var(--display); letter-spacing:-.061em; text-shadow:0 9px 38px #0b0705 }
h1 span { display:block }
h1 span:nth-child(2) { margin-left:.62em; color:var(--work); font-size:.7em; font-style:italic }
.hero-deck { width:330px; margin:42px 0 0 15.5vw; color:#d9c8aa; font-size:18px; line-height:1.38; font-style:italic }
.hero-deck em { color:var(--work) }
.hero-folio { position:absolute; left:0; top:calc(100% + 34px); display:flex; gap:24px; color:#9e8a6d; font-size:9px; line-height:1.4; letter-spacing:.12em; text-transform:uppercase }
.hero-folio span { color:var(--work); font:400 25px/1 var(--display); letter-spacing:0 }
.stage-frame { position:absolute; z-index:5; inset:92px 0 0 }
#puppet-canvas { display:block; width:100%; height:100%; cursor:grab; touch-action:none }
#puppet-canvas.dragging { cursor:grabbing }
#puppet-canvas:focus-visible { outline:2px solid var(--amber); outline-offset:-5px }
.stage-instruction { position:absolute; left:4vw; bottom:125px; z-index:11; display:grid; grid-template-columns:18px auto; column-gap:11px; align-items:center; color:var(--work); pointer-events:none; font-size:11px; letter-spacing:.11em; text-transform:uppercase }
.stage-instruction span:last-child { grid-column:2; margin-top:3px; color:#c0ae90; font-size:9px; letter-spacing:.14em }
.instruction-pulse { width:10px; height:10px; border:1px solid var(--amber); border-radius:50%; box-shadow:0 0 0 0 rgba(233,168,62,.55); animation:pulse 2s infinite }
.tension-console { position:absolute; right:4vw; bottom:120px; z-index:11; width:350px; padding:12px 0 0; border-top:1px solid #7a6140; pointer-events:none; color:#b9a487; font-size:9px; letter-spacing:.15em; text-transform:uppercase }
.tension-console>span { color:var(--amber) }.tension-console strong { display:block; margin-top:5px; color:var(--string); font-weight:400 }
.tension-console i { display:flex; gap:4px; height:15px; margin-top:9px; align-items:flex-end }
.tension-console b { display:block; width:21px; height:var(--h,7px); background:var(--amber); opacity:.55; transition:height .12s ease }
.tension-console b:nth-child(2){--h:11px}.tension-console b:nth-child(3){--h:6px}.tension-console b:nth-child(4){--h:13px}.tension-console b:nth-child(5){--h:8px}
.tension-console.is-pulling b:nth-child(odd) { height:15px; opacity:1 }.tension-console.is-pulling b:nth-child(even) { height:5px; opacity:.8 }
.stage-caption { position:absolute; right:4vw; bottom:72px; z-index:11; width:350px; margin:0; color:#a89578; font-size:9px; line-height:1.45; letter-spacing:.14em; text-transform:uppercase }.stage-caption span { margin-right:13px; color:var(--amber) }
.fly-label { position:absolute; z-index:3; top:45%; color:#826b4c; font-size:8px; letter-spacing:.34em; writing-mode:vertical-rl }.fly-label-left { left:2vw }.fly-label-right { right:2vw }
.scroll-cue { position:absolute; z-index:12; right:4vw; bottom:25px; display:flex; align-items:center; gap:15px; min-height:44px; color:#c2ae8d; font-size:9px; letter-spacing:.22em; text-transform:uppercase }
.scroll-cue i { display:block; width:56px; height:1px; position:relative; background:var(--amber) }.scroll-cue i::after { content:""; position:absolute; right:0; top:-3px; width:7px; height:7px; border-right:1px solid var(--amber); border-bottom:1px solid var(--amber); transform:rotate(45deg) }
@keyframes pulse { 70% { box-shadow:0 0 0 12px transparent } }
@keyframes appear { from { opacity:0; transform:translateY(10px) } to { opacity:1; transform:none } }
@keyframes hero-appear { from { opacity:0; transform:translateY(18px) } to { opacity:1; transform:none } }

.section-pad { padding:150px max(5vw,calc((100vw - 1320px)/2)) }
h2 { font:400 clamp(56px,6.3vw,98px)/.92 var(--display); letter-spacing:-.043em }
h2 em { color:var(--amber); font-weight:400 }
.section-intro { display:grid; grid-template-columns:.52fr 1.18fr .8fr; gap:6vw; align-items:end; margin-bottom:92px }
.section-intro .section-number { align-self:start }.section-intro h2 { margin:0 }
.intro-copy { margin:0 0 8px; color:#d2c0a2; font-size:20px; line-height:1.48 }

.lineage { position:relative; overflow:hidden; background:linear-gradient(112deg,#17110d 0,#211811 58%,#291d14); color:var(--string) }
.lineage::before { content:""; position:absolute; top:370px; bottom:190px; left:50%; width:1px; background:linear-gradient(transparent,#7b6445 8%,#7b6445 91%,transparent) }
.family-tree { position:relative; max-width:1160px; margin:auto; padding:0; list-style:none }
.family-tree li { --tilt:-1deg; position:relative; width:51%; min-height:205px; display:grid; grid-template-columns:148px 1fr 48px; gap:28px; align-items:center; padding:25px 34px 25px 0; border-top:1px solid #624f39 }
.family-tree li:nth-child(even) { --tilt:1.2deg; margin-left:49%; padding:25px 0 25px 34px; grid-template-columns:48px 148px 1fr }
.family-tree li:nth-child(even) .portrait { grid-column:2 }.family-tree li:nth-child(even)>div:nth-child(2) { grid-column:3 }.family-tree li:nth-child(even)>b { grid-column:1; grid-row:1 }
.family-tree li::after { content:""; position:absolute; top:-5px; right:-4px; width:8px; height:8px; border-radius:50%; background:var(--tone); box-shadow:0 0 0 5px #201711,0 0 14px var(--tone) }.family-tree li:nth-child(even)::after { right:auto; left:2% }
.family-tree time { color:var(--tone); font-size:10px; font-weight:600; font-variant-numeric:tabular-nums lining-nums; letter-spacing:.18em }
.family-tree h3 { margin:7px 0 10px; font:400 29px/1.05 var(--display) }
.family-tree p { max-width:355px; margin:0; color:#c9b99f; font-size:14px; line-height:1.55 }
.family-tree li>b { color:var(--tone); font:400 48px/1 var(--display); opacity:.75; text-align:right }
.portrait { width:132px; height:154px; position:relative; overflow:hidden; transform:rotate(var(--tilt)); border:6px solid #3b2a1c; border-bottom-width:18px; background:radial-gradient(circle at 50% 42%,#c99b6b 0 27%,#8d6038 28% 32%,transparent 33%),radial-gradient(ellipse at 50% 110%,#392419 0 54%,transparent 55%),var(--tone); box-shadow:inset 0 0 0 1px #806749,8px 14px 27px #090705; filter:saturate(.82) sepia(.16) }
.portrait::before,.portrait::after { content:""; position:absolute; z-index:2; border-radius:50% }
.portrait::before { width:7px; height:4px; left:43px; top:60px; background:#2b1911; box-shadow:33px 1px #2b1911 }
.portrait::after { width:28px; height:9px; left:51px; top:82px; border-bottom:2px solid #54271b }
.portrait span { position:absolute; z-index:1; width:83px; height:47px; left:22px; top:22px; border-radius:58% 42% 45% 40%; background:#362219 }
.p-livia span { width:103px; height:67px; left:12px; top:14px; background:#211812 }.p-ettore span { height:28px; top:25px }.p-agnese span { height:25px; top:29px; background:#d5c7a6 }.p-twins span { background:#60391f; box-shadow:31px 2px 0 -5px #c99968 }
.archive-note { max-width:510px; margin:95px auto 0; padding:29px 40px; transform:rotate(-1.2deg); background:linear-gradient(96deg,#cbb58f,#e0caa4); color:var(--ink); box-shadow:0 23px 55px #080605 }
.archive-note span { font-size:9px; letter-spacing:.2em }.archive-note blockquote { margin:17px 0; font:italic 31px/1.27 var(--display) }.archive-note cite { font-size:13px }
.lineage-tally { max-width:900px; display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin:90px auto 0; background:#5c4934; border:1px solid #5c4934 }
.lineage-tally p { margin:0; padding:24px; background:#1d1611; color:#a9977a; font-size:10px; letter-spacing:.1em; text-transform:uppercase }.lineage-tally b { display:block; margin-bottom:5px; color:var(--work); font:400 34px/1 var(--display) }

.anatomy { min-height:940px; position:relative; display:grid; grid-template-columns:.78fr 1.35fr .72fr; align-items:center; padding:135px 6vw; overflow:hidden; background:radial-gradient(circle at 53% 40%,#241a12 0,transparent 37%),#100d0a }
.anatomy::after { content:"WORKING DRAWING / DO NOT CUT"; position:absolute; right:16px; top:130px; color:#564838; font-size:8px; letter-spacing:.25em; writing-mode:vertical-rl }
.anatomy-copy { position:relative; z-index:3 }.anatomy-copy h2 { font-size:clamp(62px,6.3vw,98px) }
.rigging-lines i { position:absolute; top:-10%; bottom:-10%; width:1px; opacity:.28; background:linear-gradient(transparent,#917c5d 24%,#917c5d 76%,transparent); transform:rotate(var(--r,8deg)) }
.rigging-lines i:nth-child(1){left:28%;--r:11deg}.rigging-lines i:nth-child(2){left:42%;--r:-7deg}.rigging-lines i:nth-child(3){left:55%;--r:4deg}.rigging-lines i:nth-child(4){left:69%;--r:-11deg}.rigging-lines i:nth-child(5){left:82%;--r:7deg}
.anatomy-diagram { height:620px; position:relative; transform:scale(1.08); transform-origin:center }
.control-cross { position:absolute; top:28px; left:50%; width:290px; height:15px; transform:translateX(-50%); background:linear-gradient(#d0aa75,#987044); box-shadow:0 6px 12px #040302 }
.control-cross::after { content:""; position:absolute; left:137px; top:-57px; width:16px; height:122px; background:linear-gradient(90deg,#8b633d,#bf9867,#785331) }.control-cross span { position:absolute; inset:-5px 24px; border-left:1px solid var(--string); border-right:1px solid var(--string) }
.diagram-string { position:absolute; top:42px; width:1px; transform-origin:top; background:rgba(243,231,210,.68) }.s1{left:39%;height:235px;transform:rotate(6deg)}.s2{left:61%;height:235px;transform:rotate(-6deg)}.s3{left:45%;height:425px;transform:rotate(8deg)}.s4{left:55%;height:425px;transform:rotate(-8deg)}
.diagram-body { position:absolute; left:50%; top:270px; width:210px; height:285px; transform:translateX(-50%) }.diagram-body i { position:absolute; display:block; background:linear-gradient(90deg,#7d2823,#c94739,#8b2c26); box-shadow:inset -10px -8px 15px rgba(0,0,0,.28) }
.diagram-body .head { width:67px; height:79px; left:71px; border-radius:46% 46% 52% 52%; background:linear-gradient(100deg,#b78253,#d4a777 48%,#9d6c43) }.diagram-body .torso { width:88px; height:112px; left:61px; top:80px; clip-path:polygon(18% 0,82% 0,100% 100%,0 100%) }.diagram-body .arm { width:30px; height:126px; top:87px; border-radius:30px; transform-origin:top }.diagram-body .a1{left:50px;transform:rotate(24deg)}.diagram-body .a2{right:50px;transform:rotate(-24deg)}.diagram-body .leg { width:34px; height:127px; top:182px; border-radius:0 0 30px 30px; transform-origin:top }.diagram-body .l1{left:67px;transform:rotate(7deg)}.diagram-body .l2{right:67px;transform:rotate(-7deg)}
.diagram-label { position:absolute; width:155px; padding-top:7px; border-top:1px solid #74624b; color:#c0ad90; font-size:9px; letter-spacing:.16em; text-transform:uppercase }.label-head{top:260px;left:5%}.label-hand{top:397px;right:-2%}.label-knee{top:520px;left:0}
.physics-ledger { position:relative; z-index:3; border-top:1px solid #5c4c38 }.physics-ledger p { margin:0; padding:21px 0; border-bottom:1px solid #5c4c38; color:#b5a489; font-size:12px }.physics-ledger span { display:block; color:var(--work); font:400 34px var(--display) }
.anatomy-margin { position:absolute; left:6vw; bottom:32px; color:#615240; font-size:9px; letter-spacing:.18em; text-transform:uppercase }

.bench { position:relative; padding-bottom:100px; overflow:hidden; background:radial-gradient(circle at 73% 20%,rgba(255,224,163,.28),transparent 25%),linear-gradient(110deg,#b68d58,#d3b07a 51%,#b98e58); color:#281b12 }
.bench-heading { display:grid; grid-template-columns:.62fr 1.28fr .74fr; gap:5vw; align-items:end }.bench-heading .section-number { align-self:start; color:#7c2823 }.bench-heading h2 { margin:0 }.bench-heading>p:last-child { margin-bottom:9px; font-size:18px }
.inspection-control { min-height:88px; display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin:42px 2vw -44px 0; position:relative; z-index:8 }
.inspection-control>p { margin:0 0 7px; color:#5e351c; font-size:9px; font-weight:600; font-variant-numeric:tabular-nums; letter-spacing:.17em; text-transform:uppercase }
.worklight-pull { min-height:58px; display:flex; align-items:center; gap:14px; margin-left:auto; padding:6px 16px 6px 5px; border:1px solid rgba(71,39,17,.55); background:rgba(81,46,22,.09); color:#422412; cursor:pointer; text-align:left; transition:color .25s,background .25s,transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1) }
.worklight-pull:hover { transform:translateY(-3px); background:rgba(255,229,177,.2); box-shadow:0 12px 25px rgba(68,35,12,.15) }.worklight-pull:focus-visible { outline-color:#6f261d }.worklight-pull strong,.worklight-pull small { display:block }.worklight-pull strong { font:400 16px/1.15 var(--display); letter-spacing:.015em }.worklight-pull small { margin-top:5px; font-size:8px; font-weight:600; letter-spacing:.15em; text-transform:uppercase }
.pull-cord { width:39px; height:50px; position:relative; display:block; border-right:1px solid #5b351d }.pull-cord i { position:absolute; right:-7px; bottom:0; width:13px; height:17px; border-radius:50% 50% 45% 45%; background:linear-gradient(90deg,#633719,#a56e35,#5b3017); box-shadow:0 3px 4px rgba(41,20,7,.35); transition:transform .24s cubic-bezier(.2,.9,.3,1) }.worklight-pull:active .pull-cord i { transform:translateY(7px) }.worklight-pull[aria-pressed="true"] .pull-cord i { background:linear-gradient(90deg,#8a5a23,#df9d35,#7d4a1b); box-shadow:0 0 12px rgba(240,171,66,.6) }
.wood-table { min-height:610px; position:relative; isolation:isolate; display:flex; justify-content:center; align-items:flex-end; gap:7vw; margin-top:58px; padding:74px 5vw 64px; border:13px solid #573617; background:repeating-linear-gradient(2deg,rgba(255,255,255,.018) 0 2px,rgba(45,22,7,.12) 3px 5px),linear-gradient(95deg,#6d411f,#986238 47%,#70431f); box-shadow:inset 0 28px 50px rgba(35,16,6,.55),0 26px 46px rgba(47,23,8,.35); transition:background-color .6s ease }
.wood-table::before { content:""; position:absolute; z-index:4; inset:0; pointer-events:none; background:rgba(19,10,5,.68); opacity:0; transition:opacity .6s ease }
.inspection-light { width:34%; height:118%; position:absolute; z-index:5; top:-18%; left:-2%; pointer-events:none; opacity:0; background:radial-gradient(ellipse at 50% 47%,rgba(255,230,172,.53) 0,rgba(247,180,72,.2) 24%,transparent 63%); mix-blend-mode:screen; transform:translateX(0); transition:opacity .5s ease,transform .9s cubic-bezier(.16,1,.3,1) }
.wood-table[data-inspection]:not([data-inspection="0"])::before,.wood-table[data-inspection]:not([data-inspection="0"]) .inspection-light { opacity:1 }.wood-table[data-inspection="2"] .inspection-light { transform:translateX(100%) }.wood-table[data-inspection="3"] .inspection-light { transform:translateX(200%) }
.wood-table::after { content:"BELLINI / BANCO 02"; position:absolute; right:18px; bottom:13px; color:#b98e5a; font-size:8px; letter-spacing:.22em }
.head-study { position:relative; z-index:6; text-align:center; filter:brightness(.68) saturate(.72); transition:filter .65s ease,transform .75s cubic-bezier(.16,1,.3,1) }.wood-table[data-inspection="0"] .head-study { filter:none }.head-cut { transform:translateY(-48px) rotate(1deg) }.head-painted { transform:translateY(8px) rotate(-1.2deg) }
.wood-table[data-inspection="1"] .head-raw,.wood-table[data-inspection="2"] .head-cut,.wood-table[data-inspection="3"] .head-painted { filter:brightness(1.12) saturate(1.08); transform:translateY(-18px) rotate(0) scale(1.035) }.wood-table[data-inspection="2"] .head-cut { transform:translateY(-66px) rotate(0) scale(1.035) }.wood-table[data-inspection="3"] .head-painted { transform:translateY(-10px) rotate(0) scale(1.035) }
.wood-head { width:176px; height:218px; position:relative; border-radius:46% 42% 48% 51% / 35% 38% 58% 61%; background:linear-gradient(105deg,transparent 0 49%,rgba(255,213,144,.22) 50% 53%,transparent 54%),radial-gradient(circle at 34% 36%,#6b3f20 0 3%,transparent 4%),radial-gradient(circle at 68% 35%,#6b3f20 0 3%,transparent 4%),linear-gradient(100deg,#a96f35,#c58c4e 38%,#d3a265 52%,#8e582a); box-shadow:inset -20px -12px 25px rgba(65,31,9,.36),9px 19px 22px rgba(28,13,5,.44); clip-path:polygon(14% 4%,83% 1%,96% 17%,97% 72%,79% 94%,54% 100%,27% 94%,5% 75%,2% 22%) }
.wood-head::before { content:""; position:absolute; left:69px; top:76px; width:39px; height:65px; background:#a96c35; clip-path:polygon(55% 0,100% 87%,56% 100%,0 84%); filter:drop-shadow(4px 4px 2px rgba(69,36,13,.33)) }.wood-head::after { content:""; position:absolute; left:50px; top:157px; width:76px; height:21px; border-bottom:4px solid #643719; border-radius:50% }
.wood-head i,.wood-head b { position:absolute; top:68px; width:25px; height:8px; border-top:5px solid #673a1d; border-radius:50% }.wood-head i{left:32px}.wood-head b{right:31px}.wood-head span { position:absolute; top:-18px; left:49px; width:82px; height:35px; border-radius:50%; background:#8e6734 }
.head-raw .wood-head { filter:saturate(.72); clip-path:polygon(20% 0,78% 0,100% 25%,94% 80%,70% 100%,25% 94%,0 72%,5% 20%) }.head-raw .wood-head::after { opacity:.45 }
.head-painted .wood-head { background:radial-gradient(circle at 34% 36%,#17100c 0 3%,#e9d6ad 4% 8%,transparent 9%),radial-gradient(circle at 67% 35%,#17100c 0 3%,#e9d6ad 4% 8%,transparent 9%),linear-gradient(100deg,#8d291f,#c94c3c 47%,#9e3026) }.head-painted .wood-head span { background:#173e38 }
.painted-tear { width:4px; height:18px; position:absolute; z-index:3; left:62px; top:85px; border-radius:60% 40% 60% 60%; background:linear-gradient(#d5e6dd,#79b4b4); opacity:0; transform:translateY(-5px) scale(.5); box-shadow:0 0 8px #f4e4be; transition:opacity .5s .35s,transform .7s cubic-bezier(.16,1,.3,1) .3s }.wood-table[data-inspection="3"] .painted-tear { opacity:.95; transform:none }
.head-study p { display:flex; justify-content:space-between; gap:28px; margin-top:27px; padding-top:12px; border-top:1px solid rgba(235,207,165,.4); color:#f1ddbc; text-align:left }.head-study strong { font:400 19px var(--display); letter-spacing:.03em }.head-study p span { color:#d8bf99; font-size:10px; line-height:1.55; letter-spacing:.1em; text-transform:uppercase }
.bench-secret { position:absolute; right:0; bottom:-31px; left:0; color:#ffe3ad; font-size:8px; font-weight:600; letter-spacing:.17em; text-transform:uppercase; opacity:0; transform:translateY(7px); transition:opacity .45s .35s,transform .55s cubic-bezier(.16,1,.3,1) .3s }.wood-table[data-inspection="1"] .head-raw .bench-secret,.wood-table[data-inspection="2"] .head-cut .bench-secret,.wood-table[data-inspection="3"] .head-painted .bench-secret { opacity:1; transform:none }
.shavings i { position:absolute; width:76px; height:26px; left:var(--l); bottom:var(--b); border:3px solid #d3a05b; border-left-color:transparent; border-radius:50%; transform:rotate(var(--r)) }.shavings i:nth-child(1){--r:15deg;--l:8%;--b:15%}.shavings i:nth-child(2){--r:-32deg;--l:32%;--b:6%}.shavings i:nth-child(3){--r:48deg;--l:64%;--b:19%}.shavings i:nth-child(4){--r:-8deg;--l:82%;--b:10%}.shavings i:nth-child(5){--r:70deg;--l:49%;--b:22%}
.chisel { position:absolute; top:8%; right:3%; width:250px; height:18px; transform:rotate(-18deg); background:linear-gradient(#e0c999,#a78d61); box-shadow:0 8px 8px #351b0b }.chisel::after { content:""; position:absolute; left:-130px; top:-8px; width:140px; height:34px; border-radius:20px; background:linear-gradient(#57341c,#3c2314) }
.bench-note { margin:25px 0 0; text-align:right; font-size:10px; letter-spacing:.14em; text-transform:uppercase }

.repertory { position:relative; overflow:hidden; background:#8d3029 }
.repertory::before { content:""; position:absolute; inset:0; background:linear-gradient(115deg,rgba(27,8,6,.2),transparent 44%,rgba(40,10,7,.5)),repeating-linear-gradient(5deg,transparent 0 69px,rgba(255,220,160,.04) 71px) }
.repertory-heading { position:relative; z-index:2; display:grid; grid-template-columns:.52fr 1.22fr .76fr; gap:5vw; align-items:end; color:#f5e5ca }.repertory-heading .section-number { align-self:start; color:#ffd073 }.repertory-heading h2 { margin:0 }.repertory-heading p:last-child { font-size:18px }
.poster-wall { position:relative; z-index:2; min-height:650px; display:grid; grid-template-columns:repeat(4,1fr); align-items:center; margin-top:100px; perspective:1000px }
.poster { aspect-ratio:2/3; position:relative; display:flex; flex-direction:column; justify-content:space-between; padding:30px 25px; color:#f8e8cc; box-shadow:11px 21px 33px rgba(25,8,6,.5); transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s ease,filter .45s }
.poster::after { content:""; position:absolute; inset:8px; border:1px solid rgba(255,238,202,.5); pointer-events:none }.poster::before { content:"73"; position:absolute; right:17px; top:42%; color:rgba(255,255,255,.1); font:400 72px/1 var(--display) }
.poster:nth-child(1){transform:rotate(-5deg) translateY(34px)}.poster:nth-child(2){transform:rotate(2deg) translateY(-35px)}.poster:nth-child(3){transform:rotate(-2deg) translateY(38px)}.poster:nth-child(4){transform:rotate(5deg) translateY(-22px)}
.poster:hover,.poster:focus-visible,.poster:focus { z-index:5; transform:rotate(0) translateY(-54px) scale(1.025); box-shadow:17px 34px 45px rgba(24,7,5,.62); filter:saturate(1.13) }
.poster span,.poster small { font-size:8px; line-height:1.7; letter-spacing:.17em }.poster b { font:400 clamp(30px,3vw,53px)/.86 var(--display); text-align:center }.poster i { font:italic 14px/1.3 var(--body); text-align:center }
.poster-red{background:#6c211f}.poster-blue{background:#204d69}.poster-gold{background:#b67b24;color:#27190f}.poster-green{background:#1e5b4d}
.poster-note { position:relative; z-index:2; margin:40px 0 0; color:#edb9a4; font-size:9px; letter-spacing:.16em; text-align:center; text-transform:uppercase }

.visit { min-height:820px; position:relative; overflow:hidden; padding:145px 9vw 105px; background:linear-gradient(90deg,#100c09,#1a130e 60%,#0f0b08); text-align:left }
.visit-light { position:absolute; top:-140px; left:64%; width:66vw; height:730px; transform:translateX(-50%); background:conic-gradient(from 159deg at 50% 0,transparent 0 29%,rgba(255,193,99,.19) 34% 65%,transparent 70%); filter:blur(11px) }
.visit .section-number { position:relative; margin-left:44% }
.visit h2 { position:relative; max-width:1050px; margin:28px 0 42px 14%; color:var(--string); font-size:clamp(68px,8.2vw,126px) }.visit h2 em { color:var(--work) }
.visit-deck { position:relative; max-width:510px; margin:-8px 0 65px 52%; color:#c9b799; font-size:18px; line-height:1.5 }
.visit-details { position:relative; max-width:980px; display:grid; grid-template-columns:repeat(3,1fr); margin:0 0 0 auto; border-top:1px solid #69563c; border-bottom:1px solid #69563c }
.visit-details p { margin:0; padding:29px 24px; border-right:1px solid #69563c; color:#c7b598; font-size:14px }.visit-details p:last-child { border:0 }.visit-details span { display:block; margin-bottom:8px; color:var(--string); font:400 19px var(--display) }
.ticket-link { position:relative; min-height:44px; display:inline-flex; align-items:center; gap:46px; margin:62px 0 0 38%; padding:13px 2px; border-bottom:1px solid var(--amber); color:var(--work); font-size:12px; letter-spacing:.14em; text-transform:uppercase }.ticket-link span { font-size:22px; transition:transform .25s }.ticket-link:hover span { transform:translateX(8px) }
.visit-folio { position:absolute; right:3vw; bottom:31px; margin:0; color:#332b22; font:400 76px var(--display) }

footer { min-height:94px; display:flex; justify-content:space-between; align-items:center; padding:24px 4vw; background:#0b0907; color:#a8977b; font-size:10px; letter-spacing:.1em }footer p { margin:0 }footer nav { display:flex; gap:29px }footer a { min-height:44px; display:flex; align-items:center; transition:color .25s ease }footer a:hover,footer a:focus-visible { color:var(--work) }

.reveal { opacity:0; transform:translateY(24px); transition:opacity .8s ease,transform .9s cubic-bezier(.2,.7,.2,1) }.reveal.is-visible { opacity:1; transform:none }

@media (max-width:900px) {
  .site-header { grid-template-columns:1fr auto; padding:0 24px }.site-header nav { display:none }.control-link { font-size:10px }
  .hero { min-height:960px; height:960px }.hero-copy { top:142px; left:6vw; width:63vw } h1 { font-size:clamp(88px,14vw,118px) }.hero-deck { margin:36px 0 0 22vw }.hero-folio { display:none }
  .stage-frame { inset:92px 0 0 }.stage-instruction { left:24px; bottom:116px }.tension-console { right:24px; bottom:111px; width:300px }.stage-caption { right:24px; bottom:60px; width:300px }.scroll-cue { display:none }
  .section-pad { padding:110px 6vw }.section-intro,.bench-heading,.repertory-heading { grid-template-columns:1fr 1.4fr }.section-intro .intro-copy,.bench-heading>p:last-child,.repertory-heading>p:last-child { grid-column:2 }.section-intro { margin-bottom:70px }
  .family-tree li { grid-template-columns:102px 1fr 34px }.family-tree li:nth-child(even) { grid-template-columns:34px 102px 1fr }.portrait { width:95px; height:118px }.portrait::before { left:31px; top:46px; box-shadow:26px 0 #2b1911 }.portrait::after { left:36px; top:64px }.portrait span { transform:scale(.73); transform-origin:top left }
  .anatomy { grid-template-columns:.7fr 1.3fr; padding:105px 5vw }.physics-ledger { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,1fr); margin-top:45px }.physics-ledger p { padding:20px }.anatomy-diagram { height:570px; transform:scale(1) }
  .wood-table { gap:4vw; padding-left:3vw; padding-right:3vw }.wood-head { width:145px; height:180px }.wood-head::before { left:55px; top:62px; transform:scale(.8); transform-origin:top left }.wood-head::after { left:41px; top:127px; width:62px }.wood-head i,.wood-head b { top:56px }.wood-head i{left:27px}.wood-head b{right:26px}.wood-head span{left:38px;width:70px}.painted-tear{left:51px;top:68px}.head-study p{display:block}.head-study p span{display:block;margin-top:7px}
  .poster-wall { grid-template-columns:repeat(2,1fr); gap:18px }.poster { max-height:480px }.visit { min-height:820px }.visit h2 { margin-left:4% }.visit-deck { margin-left:42% }
}

@media (max-width:560px) {
  body { font-size:16px }.site-header { height:76px; padding:0 16px }.wordmark { font-size:14px }.wordmark small { display:none }.wordmark-mark { width:32px; height:32px }.control-link { padding:0; font-size:9px }.control-link span { display:none }
  .hero { min-height:860px; height:860px; max-height:none; background:radial-gradient(ellipse at 51% 39%,rgba(238,169,71,.18),transparent 33%),linear-gradient(100deg,#100b08,#302116 58%,#160f0b) }.hero::before { inset:76px 0 auto; height:65% }
  .hero-copy { top:112px; left:20px; width:350px }.kicker { max-width:260px; font-size:8px; line-height:1.6; letter-spacing:.2em } h1 { font-size:69px; line-height:.69; letter-spacing:-.055em } h1 span:nth-child(2) { margin-left:.43em }.hero-deck { width:235px; margin:28px 0 0 104px; font-size:14px; line-height:1.35 }
  .stage-frame { inset:76px 0 0 }.stage-instruction { left:17px; bottom:100px; max-width:230px; font-size:10px }.stage-instruction span:last-child { font-size:8px }.tension-console { right:16px; bottom:161px; width:185px; text-align:right }.tension-console i { justify-content:flex-end }.stage-caption { display:none }.fly-label { display:none }
  .section-pad { padding:88px 20px }.section-intro,.bench-heading,.repertory-heading { display:block }.section-intro { margin-bottom:58px }.section-intro h2,.bench-heading h2,.repertory-heading h2 { margin-bottom:27px }.intro-copy,.bench-heading>p:last-child,.repertory-heading>p:last-child { font-size:17px } h2 { font-size:51px }
  .lineage::before { top:310px; bottom:250px; left:41px }.family-tree li,.family-tree li:nth-child(even) { width:100%; min-height:0; display:block; margin:0; padding:24px 0 32px 67px }.family-tree li::after,.family-tree li:nth-child(even)::after { right:auto; left:37px }.family-tree li .portrait { width:74px; height:88px; float:right; margin:0 0 9px 13px; border-width:4px; border-bottom-width:12px }.portrait::before { left:23px; top:34px; transform:scale(.65); transform-origin:left }.portrait::after { left:25px; top:47px; transform:scale(.65); transform-origin:left }.portrait span { transform:scale(.55) }.family-tree li>b { position:absolute; left:0; top:22px; font-size:31px }.family-tree h3 { font-size:25px }.archive-note { margin-top:58px; padding:24px }.archive-note blockquote { font-size:26px }.lineage-tally { grid-template-columns:1fr; margin-top:65px }.lineage-tally p { display:grid; grid-template-columns:70px 1fr; align-items:center; padding:15px 18px }.lineage-tally b { margin:0 }
  .anatomy { min-height:1000px; display:block; padding:88px 20px }.anatomy-copy h2 { font-size:53px }.anatomy-diagram { height:545px; margin-top:35px; transform:scale(.82); transform-origin:top center }.physics-ledger { display:block; margin-top:-48px }.physics-ledger p { padding:15px 0 }.physics-ledger span { display:inline-block; width:90px; font-size:25px }.anatomy-margin { display:none }
  .inspection-control { min-height:0; display:block; margin:31px 0 -25px }.worklight-pull { width:100%; min-height:62px; justify-content:flex-end }.inspection-control>p { margin:9px 2px 0; text-align:right }.wood-table { min-height:820px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:39px; margin-top:52px; padding:55px 17px 45px }.inspection-light{width:118%;height:37%;top:-3%;left:-9%}.wood-table[data-inspection="2"] .inspection-light{transform:translateY(100%)}.wood-table[data-inspection="3"] .inspection-light{transform:translateY(200%)}.head-study,.head-cut,.head-painted { width:100%; display:grid; grid-template-columns:108px 1fr; align-items:center; gap:14px; transform:none }.head-study:nth-of-type(2){transform:translateX(11px)}.head-study:nth-of-type(3){transform:translateX(-8px)}.head-study:nth-of-type(2) .wood-head{transform:rotate(4deg) scale(.93)}.head-study:nth-of-type(3) .wood-head{transform:rotate(-3deg) scale(1.02)}.wood-table[data-inspection="1"] .head-raw,.wood-table[data-inspection="2"] .head-cut,.wood-table[data-inspection="3"] .head-painted{transform:translateX(0) scale(1.025)}.wood-head { width:105px; height:132px }.wood-head::before { left:37px; top:40px; transform:scale(.58) }.wood-head::after { left:28px; top:88px; width:47px }.wood-head i,.wood-head b { top:38px; transform:scale(.7) }.wood-head i{left:17px}.wood-head b{right:16px}.wood-head span { left:28px; width:53px }.painted-tear{left:36px;top:49px;width:3px;height:12px}.head-study p { margin:0; padding:9px 0 0 }.bench-secret{bottom:-20px;text-align:left;padding-left:122px;font-size:7px}.chisel { width:150px; top:4% }.bench-note { text-align:left }
  .poster-wall { min-height:0; grid-template-columns:repeat(2,1fr); gap:13px; margin-top:54px }.poster { min-width:0; padding:19px 12px; transform:none!important }.poster:nth-child(even){transform:translateY(31px)!important}.poster:hover,.poster:focus { transform:translateY(-8px)!important }.poster b { font-size:27px }.poster i { font-size:11px }.poster span,.poster small { font-size:6.8px }.poster-note { margin-top:70px; line-height:1.6 }
  .visit { min-height:1000px; padding:95px 20px 72px }.visit .section-number { margin-left:0 }.visit h2 { margin:25px 0 30px; font-size:56px }.visit-deck { margin:0 0 48px 12%; font-size:16px }.visit-details { display:block; margin:0 }.visit-details p { border-right:0; border-bottom:1px solid #69563c }.visit-details p:last-child { border:0 }.ticket-link { gap:19px; margin:50px 0 0; font-size:10px }.visit-folio { font-size:48px }
  footer { display:block; padding:28px 20px } footer nav { display:grid; gap:0; margin-top:20px } footer a { border-top:1px solid #30271f }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto }.curtain { display:none }.site-header,.hero-copy,.instruction-pulse { animation:none }.poster,.ticket-link span,.reveal,.inspection-light,.head-study,.bench-secret,.painted-tear,.worklight-pull { transition:none }.reveal { opacity:1; transform:none }
}
