:root {
  --bone: #f4ecd8;
  --bone-deep: #e8dcc0;
  --ink: #17130f;
  --muted-ink: #433a30;
  --marigold: #f2a007;
  --amber: #ffbf3f;
  --pink: #e85d8a;
  --teal: #158f8a;
  --pink-ink: #9d264e;
  --teal-dark: #0b6d69;
  --paper-shadow: rgba(23, 19, 15, .24);
  --display: 'Anton', sans-serif;
  --body: 'Spectral', serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; overflow-x: hidden; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--bone);
  font-family: var(--body);
  font-size: 18px;
  line-height: 1.55;
  overflow-x: hidden;
}
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
::selection { background: var(--pink); color: var(--ink); }

.skip-link {
  position: absolute; top: 8px; left: 8px; z-index: 999;
  transform: translateY(-150%); background: var(--bone); color: var(--ink);
  padding: .7rem 1rem; border: 3px solid var(--ink); font-weight: 700;
}
.skip-link:focus-visible { transform: translateY(0); }
:focus-visible { outline: 3px solid var(--pink); outline-offset: 4px; }

.paper-grain {
  position: fixed; inset: 0; pointer-events: none; z-index: 100;
  opacity: .16; mix-blend-mode: multiply;
  background-image:
    repeating-radial-gradient(circle at 17% 23%, transparent 0 2px, rgba(23,19,15,.08) 2.5px 3px, transparent 3.5px 7px),
    repeating-linear-gradient(97deg, rgba(23,19,15,.025) 0 1px, transparent 1px 7px);
  background-size: 89px 73px, 31px 100%;
}

.site-header {
  height: 152px; position: relative; z-index: 20;
  background: var(--ink); color: var(--bone); border-bottom: 5px solid var(--marigold);
}
.papel-canvas { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.nav-shell {
  height: 100%; max-width: 1380px; padding: 48px 32px 16px; margin: 0 auto;
  display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; position: relative; z-index: 2;
}
.brand-mark { display: flex; gap: .7rem; align-items: center; text-decoration: none; font-family: var(--display); text-transform: uppercase; line-height: .9; letter-spacing: .04em; }
.brand-mark svg { width: 45px; height: 45px; }
.brand-mark svg path:first-child { fill: var(--bone); stroke: var(--bone); }
.brand-mark svg circle { fill: var(--ink); }
.brand-mark svg path:last-child { fill: none; stroke: var(--ink); stroke-width: 2.6; }
.main-nav { display: flex; align-items: center; gap: clamp(1.3rem, 3vw, 3rem); }
.main-nav a { font-family: var(--display); text-transform: uppercase; letter-spacing: .07em; text-decoration: none; font-size: .92rem; position: relative; }
.main-nav a::after { content: ''; position: absolute; height: 3px; background: var(--marigold); left: 50%; right: 50%; bottom: -7px; transition: .25s ease; }
.main-nav a:hover::after { left: 0; right: 0; }
.nav-stamp { min-width: 118px; min-height: 48px; display: grid; place-content: center; text-align: center; text-decoration: none; border: 2px solid var(--pink); color: var(--pink); transform: rotate(2deg); font: 400 .9rem/1 var(--display); letter-spacing: .08em; text-transform: uppercase; }
.nav-stamp span { display: block; font-size: .65rem; color: var(--bone); }

.hero {
  min-height: 850px; position: relative; isolation: isolate; overflow: hidden;
  display: grid; grid-template-columns: minmax(340px, .85fr) minmax(520px, 1.15fr) 64px;
  gap: clamp(1.5rem, 4vw, 5rem); align-items: center;
  padding: 70px clamp(24px, 4vw, 68px) 90px; max-width: 1600px; margin: 0 auto;
}
.hero::before { content:''; position:absolute; inset:0; z-index:-2; background: linear-gradient(105deg, rgba(242,160,7,.12), transparent 46%), repeating-linear-gradient(0deg, transparent 0 19px, rgba(23,19,15,.027) 20px); }
.sun-disc { position: absolute; z-index: -1; width: 560px; aspect-ratio: 1; border-radius: 50%; background: var(--marigold); right: 23%; top: 115px; box-shadow: 0 0 0 20px rgba(242,160,7,.12); }
.hero-copy { align-self: start; margin-top: 45px; }
.issue-line { margin: 0 0 1.5rem; font-family: var(--display); font-size: .85rem; text-transform: uppercase; letter-spacing: .09em; border-top: 3px solid; border-bottom: 1px solid; padding: .45rem 0; display: flex; justify-content: space-between; gap: 1rem; }
.issue-line span { color: #8a370f; }
.hero h1 { margin: 0; font-family: var(--display); font-weight: 400; font-size: clamp(6rem, 10.7vw, 10.5rem); line-height: .74; letter-spacing: -.025em; text-transform: uppercase; }
.hero h1 span { display: block; }
.hero h1 span:last-child { color: var(--pink); text-shadow: 3px 3px 0 var(--ink); transform: translateX(clamp(12px, 3vw, 44px)); }
.hero-deck { max-width: 520px; font-size: clamp(1.05rem, 1.5vw, 1.3rem); line-height: 1.48; margin: 2.1rem 0; font-weight: 500; }
.hero-actions { display: flex; align-items: center; gap: 1.5rem; }
.ticket-link { position: relative; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; min-height: 66px; padding: .65rem 2rem .65rem 1.4rem; background: var(--ink); color: var(--bone); text-decoration: none; clip-path: polygon(0 0, 94% 0, 100% 50%, 94% 100%, 0 100%, 4% 50%); }
.ticket-link::before, .ticket-link::after { content:''; position:absolute; left:8px; width:8px; height:8px; border-radius:50%; background:var(--bone); }
.ticket-link::before { top:-4px; }.ticket-link::after { bottom:-4px; }
.ticket-link span { font: 400 1rem/1 var(--display); text-transform: uppercase; letter-spacing: .07em; }
.ticket-link small { display:block; margin-top:.26rem; font-size:.7rem; line-height:1; color:var(--amber); }
.ticket-link:hover { background: var(--teal); transform: translateY(-2px) rotate(-1deg); }
.ink-note { font-style: italic; font-size: .84rem; line-height: 1.25; transform: rotate(-4deg); }

.broadside-wrap { position: relative; align-self: center; padding-bottom: 50px; perspective: 1000px; }
.broadside { width: min(100%, 620px); margin: 0 auto; padding: 22px 27px 18px; background: #f8f0dc; border: 2px solid var(--ink); box-shadow: 13px 16px 0 var(--ink), 20px 24px 30px rgba(23,19,15,.22); transform: rotate(1.1deg); position: relative; }
.broadside::after { content:''; position:absolute; inset:7px; border:1px solid var(--ink); pointer-events:none; }
.broadside-topline { display:flex; justify-content:space-between; gap:1rem; padding-bottom:.25rem; border-bottom:2px solid; font-size:.64rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.broadside-title { font: 400 clamp(1.8rem, 3vw, 3.2rem)/1 var(--display); text-transform:uppercase; text-align:center; letter-spacing:.03em; padding:.5rem 0 .25rem; }
.broadside-scene { width:100%; aspect-ratio: 1.55; border-top:3px solid; border-bottom:3px solid; overflow:hidden; background:#eee3c9; }
.broadside-scene svg { display:block; width:100%; height:100%; }
.couplet { min-height: 68px; padding:.7rem 1rem .55rem; text-align:center; font-size: clamp(.87rem, 1.2vw, 1.05rem); font-weight:700; line-height:1.15; font-style:italic; }
.broadside-credit { border-top:1px solid; padding-top:.3rem; text-align:center; font-size:.56rem; text-transform:uppercase; letter-spacing:.08em; }
.registration-mark { position:absolute; font:400 2rem/1 var(--display); z-index:2; color:var(--teal); }
.registration-one { top:-22px; left:-15px; }.registration-two { right:-5px; bottom:56px; color:var(--pink); }
.press-pull { position:absolute; bottom:-9px; right:5%; min-height:68px; border:0; background:var(--teal-dark); color:#fffaf0; padding:.6rem 1.2rem .6rem 4.5rem; box-shadow:5px 6px 0 var(--ink); cursor:pointer; text-align:left; transform:rotate(-2deg); }
.press-pull::before { content:''; position:absolute; left:26px; bottom:47px; width:9px; height:45px; background:var(--ink); transform:rotate(12deg); transform-origin:bottom; transition:transform .25s; }
.press-pull:hover::before { transform:rotate(28deg); }
.lever-knob { position:absolute; left:25px; bottom:81px; width:20px; height:20px; border-radius:50%; background:var(--pink); border:3px solid var(--ink); transition:transform .25s; }
.press-pull:hover .lever-knob { transform:translate(18px, 5px); }
.press-pull strong { display:block; font:400 .95rem/1 var(--display); text-transform:uppercase; letter-spacing:.05em; }.press-pull small{font-size:.7rem;}
.hero-side-note { writing-mode:vertical-rl; transform:rotate(180deg); text-transform:uppercase; font-family:var(--display); letter-spacing:.14em; display:flex; align-items:center; gap:.7rem; }
.hero-side-note i { color:#87364f; font-family:var(--body); text-transform:lowercase; }

.reveal { opacity:0; transform:translateY(24px); }
.is-ready .reveal { opacity:1; transform:none; transition: opacity .75s var(--delay, 0s) ease, transform .85s var(--delay, 0s) cubic-bezier(.2,.8,.2,1); }

.rolling-notice { overflow:hidden; background:var(--pink); border-top:3px solid var(--ink); border-bottom:3px solid var(--ink); font-family:var(--display); text-transform:uppercase; letter-spacing:.07em; }
.rolling-track { display:flex; gap:1.7rem; align-items:center; width:max-content; padding:.55rem 0; animation:roll 28s linear infinite; }
.rolling-track b { font-family:var(--body); }
@keyframes roll { to { transform:translateX(-50%); } }

.ink-field { background:var(--ink); color:var(--bone); }
.manifesto { min-height:740px; padding:clamp(70px,9vw,140px) clamp(25px,6vw,96px); display:grid; grid-template-columns:.55fr 1.1fr .7fr; grid-template-rows:auto auto; gap:2rem clamp(2rem,6vw,7rem); position:relative; overflow:hidden; }
.manifesto::before { content:''; position:absolute; inset:0; opacity:.22; background:repeating-linear-gradient(165deg,transparent 0 8px,rgba(244,236,216,.1) 9px 10px,transparent 11px 19px); mask:linear-gradient(90deg,black,transparent 55%); }
.giant-number { position:absolute; right:-.02em; top:-.28em; color:rgba(244,236,216,.055); font:400 36rem/1 var(--display); }
.kicker { margin:0 0 1rem; font:400 .78rem/1 var(--display); text-transform:uppercase; letter-spacing:.16em; }
.kicker.pink { color:var(--pink-ink); }
.manifesto-title-block { position:relative; z-index:1; grid-column:1 / 3; }
.manifesto h2, .section-head h2, .verse-intro h2, .process-title h2, .altar-copy h2 { margin:0; font:400 clamp(4.2rem,9vw,9rem)/.83 var(--display); text-transform:uppercase; letter-spacing:-.015em; }
.manifesto h2 em { color:var(--marigold); font-family:var(--body); font-weight:300; text-transform:none; font-size:.82em; }
.manifesto-copy { grid-column:2; position:relative; z-index:1; max-width:670px; }
.manifesto-copy .lead { font-size:1.35rem; line-height:1.42; color:#fff8e8; }
.manifesto blockquote { margin:3rem 0 0 -12%; border-left:8px solid var(--pink); padding:.4rem 0 .4rem 1.5rem; font-size:1.5rem; line-height:1.35; font-style:italic; }
.manifesto blockquote cite { display:block; margin-top:.8rem; font:400 .65rem/1.4 var(--display); letter-spacing:.08em; text-transform:uppercase; color:var(--amber); }
.tools-column { grid-column:3; grid-row:2; position:relative; z-index:1; border-top:1px solid rgba(244,236,216,.5); }
.tools-column div { display:grid; grid-template-columns:32px 1fr; padding:1rem 0; border-bottom:1px solid rgba(244,236,216,.25); }
.tools-column span { color:var(--pink); font:400 .7rem var(--display); }.tools-column strong{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;}.tools-column small{grid-column:2;color:#cfc1a6;}
.manifesto-skull { position:absolute; right:2%; bottom:-55px; width:240px; color:rgba(244,236,216,.13); transform:rotate(9deg); }

.workshop-section { padding:clamp(75px,10vw,150px) clamp(20px,5vw,80px); background:var(--bone); position:relative; }
.section-head { max-width:1320px; margin:0 auto 4rem; display:grid; grid-template-columns:1fr 1fr; align-items:end; }
.section-head .kicker { grid-column:1 / -1; }
.section-head h2 { font-size:clamp(4rem,8vw,8rem); }.section-head h2 span{color:var(--teal);}
.section-head > p:last-child { max-width:390px; justify-self:end; font-size:1.1rem; border-top:3px solid;padding-top:1rem; }
.night-list { max-width:1320px; margin:0 auto; border-top:4px solid var(--ink); }
.night-row { display:grid; grid-template-columns:130px 1.2fr .7fr auto; gap:1.5rem; align-items:center; padding:1.45rem 1rem; border-bottom:2px solid var(--ink); transition:background .2s, transform .2s; }
.night-row:hover { background:var(--marigold); transform:translateX(8px); }
.night-row.teal-row:hover{background:#7cc9bf}.night-row.pink-row:hover{background:#f2a0b9}.night-row.amber-row:hover{background:#ffc754}
.night-date { display:flex; align-items:center; gap:.7rem; }.night-date span{font:400 4rem/1 var(--display);}.night-date small{font:400 .7rem/1.2 var(--display);letter-spacing:.08em;}
.night-row h3 { margin:0; font:400 1.5rem/1.1 var(--display); text-transform:uppercase; letter-spacing:.04em; }.night-row p{margin:.3rem 0 0;font-size:.94rem;line-height:1.35;}
.night-meta span,.night-meta strong{display:block;}.night-meta span{font-style:italic;}.night-meta strong{font:400 .75rem var(--display);text-transform:uppercase;color:#7b320a;}
.night-seal { min-width:116px; min-height:54px; border:2px solid var(--ink); border-radius:50%; background:transparent; font:400 .72rem/1 var(--display); text-transform:uppercase; cursor:pointer; transform:rotate(-3deg); }
.night-seal:hover { background:var(--ink);color:var(--bone);transform:rotate(2deg) scale(1.04); }
.reservation-note { max-width:1320px;margin:1.3rem auto 0;text-align:right;font-style:italic; }

.verse-lab { padding:clamp(75px,9vw,135px) clamp(24px,7vw,110px); background:var(--teal-dark); color:#fff9eb; display:grid;grid-template-columns:.85fr .72fr 1fr;gap:clamp(2rem,6vw,7rem);align-items:center;position:relative;overflow:hidden; }
.verse-lab::after{content:'“';position:absolute;right:-.05em;top:-.32em;font:400 38rem/1 var(--body);color:rgba(255,255,255,.08);}
.verse-intro,.verse-controls,.verse-proof{position:relative;z-index:1}.verse-intro h2{font-size:clamp(4rem,5vw,5rem);}.verse-intro p:last-child{max-width:480px;}
.verse-controls{display:grid;gap:.7rem}.verse-controls label{font:400 .75rem var(--display);text-transform:uppercase;letter-spacing:.1em}.verse-controls select{width:100%;min-height:58px;border:2px solid var(--ink);background:var(--bone);color:var(--ink);padding:.6rem 2.4rem .6rem .8rem;border-radius:0}.verse-controls button{min-height:56px;border:0;background:var(--ink);color:var(--bone);font:400 .9rem var(--display);text-transform:uppercase;letter-spacing:.1em;cursor:pointer}.verse-controls button:hover{background:var(--pink);color:var(--ink)}
.verse-proof{background:var(--bone);color:var(--ink);padding:2.2rem 2rem 1.4rem;transform:rotate(2deg);box-shadow:11px 12px 0 var(--ink);min-height:330px;display:flex;flex-direction:column;justify-content:center}.verse-proof::before{content:'';position:absolute;inset:9px;border:1px solid}.proof-pin{position:absolute;top:14px;left:50%;width:16px;height:16px;border-radius:50%;background:var(--pink);box-shadow:1px 2px 2px #444}.proof-label{position:absolute;top:25px;left:30px;font:400 .62rem var(--display);letter-spacing:.1em;text-transform:uppercase}.verse-proof p{font-size:clamp(1.3rem,2vw,1.8rem);font-weight:700;line-height:1.25;font-style:italic;text-align:center}.verse-proof small{text-align:center;}

.process-section { min-height:790px;padding:clamp(80px,10vw,150px) clamp(24px,7vw,110px);background:var(--marigold);display:grid;grid-template-columns:.75fr 1.25fr;gap:clamp(3rem,8vw,10rem);position:relative;overflow:hidden; }
.process-section::before{content:'';position:absolute;inset:-30% 50% -30% -30%;background:repeating-radial-gradient(ellipse at center,transparent 0 7px,rgba(23,19,15,.08) 8px 9px,transparent 10px 17px);transform:rotate(-18deg)}
.process-title,.process-steps{position:relative;z-index:1}.process-title h2{font-size:clamp(5.5rem,11vw,11rem);}.process-title h2 span{color:var(--pink);text-shadow:3px 3px 0 var(--ink)}
.process-steps{margin:0;padding:0;list-style:none;border-top:4px solid}.process-steps li{display:grid;grid-template-columns:90px 1fr;gap:1.4rem;padding:1.45rem 0;border-bottom:2px solid}.process-steps li>span{font:400 1.4rem var(--display)}.process-steps strong{font:400 1.45rem var(--display);text-transform:uppercase;letter-spacing:.04em}.process-steps p{margin:.25rem 0 0;max-width:560px}.process-stamp{position:absolute;right:-28px;bottom:22px;width:150px;aspect-ratio:1;border:4px double;border-radius:50%;display:grid;place-content:center;text-align:center;font:400 1rem/1 var(--display);text-transform:uppercase;transform:rotate(-13deg)}.process-stamp span{font-size:3rem;}

.altar-section{min-height:800px;background:#211912;color:var(--bone);padding:clamp(80px,10vw,150px) clamp(24px,6vw,96px) clamp(70px,6vw,95px);display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(3rem,7vw,8rem);align-items:center;position:relative;overflow:hidden}.altar-section::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 72% 48%,rgba(242,160,7,.24),transparent 38%),linear-gradient(90deg,rgba(0,0,0,.28),transparent)}#petal-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.altar-copy,.altar-stage{position:relative;z-index:3}.altar-copy h2{font-size:clamp(4.5rem,8vw,8rem)}.altar-copy h2 span{color:var(--marigold);font-family:var(--body);font-style:italic;text-transform:none;font-size:.72em}.altar-copy>p{max-width:530px}.name-form{margin-top:2.5rem}.name-form label{display:block;margin-bottom:.5rem;font:400 .75rem var(--display);text-transform:uppercase;letter-spacing:.12em}.name-form>div{display:flex;max-width:560px}.name-form input{min-width:0;flex:1;min-height:62px;border:2px solid var(--bone);border-right:0;background:transparent;color:#fff;padding:0 1rem;border-radius:0}.name-form input::placeholder{color:#b9a98e}.name-form button{min-height:62px;border:2px solid var(--marigold);background:var(--marigold);color:var(--ink);padding:0 1rem;font:400 .84rem var(--display);text-transform:uppercase;cursor:pointer}.name-form button:hover{background:var(--pink);border-color:var(--pink)}.name-form>p{font-size:.76rem;color:#c8bda8}
.altar-stage{min-height:610px;border:2px solid rgba(244,236,216,.45);border-radius:50% 50% 2px 2px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;padding:30px 5% 68px;box-shadow:inset 0 0 70px rgba(242,160,7,.12)}.arch{position:absolute;border:2px solid rgba(242,160,7,.5);border-bottom:0;border-radius:50% 50% 0 0}.arch-one{inset:28px 28px 0}.arch-two{inset:54px 54px 0}.candle-row{position:absolute;left:8%;right:8%;bottom:42px;display:flex;align-items:flex-end;justify-content:space-between}.candle{width:24px;height:80px;background:#ead7a7;display:block;position:relative;box-shadow:0 0 25px rgba(255,177,39,.28)}.candle.tall{height:116px}.candle.short{height:58px}.candle::after{content:'';position:absolute;top:0;left:0;width:100%;height:10px;border-radius:50%;background:#fff0c6}.candle i{position:absolute;left:6px;top:-31px;width:12px;height:32px;background:linear-gradient(#fff8c9 0 15%,#f2a007 55%,#e65a1b);border-radius:70% 30% 65% 35%;transform-origin:50% 100%;animation:gutter 1.8s ease-in-out infinite alternate;filter:drop-shadow(0 0 8px #ffae22)}.candle:nth-child(2) i{animation-delay:-.7s}.candle:nth-child(4) i{animation-delay:-1.2s}@keyframes gutter{0%{transform:rotate(-5deg) scaleY(.9)}45%{transform:rotate(4deg) scaleY(1.08)}100%{transform:rotate(-2deg) scaleY(.8)}}
.dancers{width:100%;min-height:300px;display:flex;align-items:flex-end;justify-content:center;gap:clamp(1rem,4vw,3.5rem);position:relative;z-index:2}.memory-dancer{display:flex;flex-direction:column;align-items:center;color:var(--bone);animation:dance 1.3s ease-in-out infinite alternate;transform-origin:50% 100%}.memory-dancer:nth-child(even){animation-delay:-.55s}.memory-dancer span{background:var(--pink);color:var(--ink);padding:.2rem .5rem;font:700 .75rem/1 var(--body);white-space:nowrap;transform:rotate(var(--lean, 0deg))}.mini-skeleton{width:64px;height:126px;position:relative;background:linear-gradient(var(--bone),var(--bone)) 31px 39px/3px 48px no-repeat}.mini-skeleton::before{content:'';position:absolute;left:18px;top:0;width:30px;height:36px;border:3px solid var(--bone);border-radius:45% 45% 38% 38%;background:radial-gradient(circle at 30% 48%,var(--ink) 0 3px,transparent 4px),radial-gradient(circle at 70% 48%,var(--ink) 0 3px,transparent 4px)}.mini-skeleton::after{content:'';position:absolute;left:11px;top:45px;width:46px;height:76px;background:linear-gradient(62deg,transparent 46%,var(--bone) 47% 51%,transparent 52%) 0 0/24px 49px no-repeat,linear-gradient(-62deg,transparent 46%,var(--bone) 47% 51%,transparent 52%) 24px 0/24px 49px no-repeat,linear-gradient(30deg,transparent 46%,var(--bone) 47% 52%,transparent 53%) 5px 36px/28px 38px no-repeat,linear-gradient(-30deg,transparent 46%,var(--bone) 47% 52%,transparent 53%) 24px 36px/28px 38px no-repeat;border-top:8px double var(--bone);border-radius:50%}.altar-table{position:absolute;bottom:0;left:-5%;right:-5%;height:60px;background:var(--pink);border-top:9px solid var(--marigold);color:var(--ink);display:grid;place-items:center;font:400 .75rem var(--display);letter-spacing:.12em}@keyframes dance{to{transform:translateY(-11px) rotate(var(--lean, 4deg))}}

.colophon{padding:75px clamp(24px,6vw,96px);background:var(--bone);display:grid;grid-template-columns:130px 1.2fr .8fr .75fr;gap:3rem;align-items:center;border-top:8px solid var(--pink)}.colophon-mark{width:120px;aspect-ratio:1;border:7px double;border-radius:50%;display:grid;place-items:center;font:400 3.2rem var(--display);transform:rotate(-8deg)}.colophon h2{margin:0;font:400 clamp(2rem,4vw,4rem)/1.05 var(--display);text-transform:uppercase}.colophon h2 span{color:var(--teal)}.colophon dl{margin:0}.colophon dl div{padding:.6rem 0;border-bottom:1px solid}.colophon dt{font:400 .68rem var(--display);text-transform:uppercase;letter-spacing:.09em}.colophon dd{margin:0;font-style:italic}.last-word{font-style:italic;border-left:5px solid var(--marigold);padding-left:1rem}

.site-footer{background:var(--ink);color:var(--bone);overflow:hidden}.footer-skulls{height:52px;overflow:hidden;border-bottom:1px solid rgba(244,236,216,.25);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='32' viewBox='0 0 36 32'%3E%3Cpath d='M10 13c0-6 3-10 8-10s8 4 8 10c0 4-2 6-4 7v5h-8v-5c-2-1-4-3-4-7Z' fill='%23f2a007'/%3E%3Ccircle cx='15' cy='13' r='2' fill='%2317130f'/%3E%3Ccircle cx='21' cy='13' r='2' fill='%2317130f'/%3E%3Cpath d='m16 19 2-3 2 3m-6 4h8M5 29l26-7M5 22l26 7' stroke='%23f2a007' stroke-width='2'/%3E%3C/svg%3E");background-repeat:repeat-x;background-position:0 10px;background-size:72px 32px}.footer-inner{max-width:1500px;margin:auto;min-height:110px;padding:25px clamp(24px,5vw,70px);display:flex;justify-content:space-between;align-items:center;gap:2rem;font-size:.8rem}.footer-inner p{margin:0}.footer-inner nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:1rem 2rem}.footer-inner a{text-decoration:none;border-bottom:1px solid var(--pink)}.footer-inner a:hover{color:var(--amber)}

/* Guide */
.guide-body{background:var(--bone)}.guide-header{height:118px}.guide-header .nav-shell{padding-top:28px}.guide-main{max-width:1380px;margin:auto;padding:80px clamp(24px,6vw,90px) 120px}.guide-hero{display:grid;grid-template-columns:1.25fr .75fr;gap:5vw;align-items:end;border-bottom:6px solid;padding-bottom:55px}.guide-hero h1{margin:0;font:400 clamp(5.5rem,12vw,12rem)/.78 var(--display);text-transform:uppercase;letter-spacing:-.02em}.guide-hero h1 span{display:block;color:var(--pink);transform:translateX(7%)}.guide-deck{font-size:1.25rem;border-top:3px solid;padding-top:1.2rem}.guide-folio{font:400 .75rem var(--display);text-transform:uppercase;letter-spacing:.14em;color:var(--pink-ink)}.guide-grid{display:grid;grid-template-columns:250px 1fr 1fr;gap:clamp(2rem,5vw,6rem);padding-top:70px}.guide-toc{font:400 .75rem/1.5 var(--display);text-transform:uppercase;letter-spacing:.09em;position:sticky;top:20px;align-self:start}.guide-toc a{display:block;padding:.6rem 0;border-bottom:1px solid;text-decoration:none}.guide-article{grid-column:2 / -1;display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(2rem,5vw,5rem);align-items:start}.guide-article section{margin:0 0 3rem}.guide-article h2{margin:0 0 .7rem;font:400 2.1rem/1 var(--display);text-transform:uppercase}.guide-article h2 span{color:var(--teal-dark)}.guide-article p{margin:.6rem 0}.guide-article code{font-family:var(--body);font-weight:700;font-style:italic}.token-strip{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);border:3px solid;margin:2rem 0 4rem}.token-strip div{min-height:120px;padding:.7rem;display:flex;align-items:flex-end;font:400 .65rem var(--display);text-transform:uppercase}.token-strip div:nth-child(1){background:var(--bone)}.token-strip div:nth-child(2){background:var(--ink);color:var(--bone)}.token-strip div:nth-child(3){background:var(--marigold)}.token-strip div:nth-child(4){background:var(--pink)}.token-strip div:nth-child(5){background:var(--teal-dark);color:#fff}.reproduce-box{grid-column:1/-1;background:var(--ink);color:var(--bone);padding:clamp(2rem,5vw,5rem);display:grid;grid-template-columns:.5fr 1.5fr;gap:3rem;position:relative;overflow:hidden}.reproduce-box::after{content:'';position:absolute;right:1rem;bottom:-2rem;width:170px;height:170px;opacity:.08;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M20 44C20 19 33 8 50 8s30 11 30 36c0 17-7 26-17 31v17H37V75C27 70 20 61 20 44Z' fill='none' stroke='%23f4ecd8' stroke-width='5'/%3E%3Ccircle cx='39' cy='43' r='8' fill='%23f4ecd8'/%3E%3Ccircle cx='61' cy='43' r='8' fill='%23f4ecd8'/%3E%3Cpath d='m45 62 5-9 5 9M37 77h26M44 76v16m12-16v16' fill='none' stroke='%23f4ecd8' stroke-width='4'/%3E%3C/svg%3E") center/contain no-repeat}.reproduce-box h2{font-size:clamp(3rem,6vw,6rem);color:var(--marigold)}.reproduce-box p{font-size:1.1rem;position:relative;z-index:1}

@media (max-width: 1050px) {
  .hero{grid-template-columns:.83fr 1.17fr;min-height:720px;padding-inline:28px;gap:2rem}.hero-side-note{display:none}.hero h1{font-size:clamp(5.5rem,12vw,8rem)}.sun-disc{right:10%;width:430px}.broadside{padding:18px}.manifesto{grid-template-columns:.7fr 1.3fr}.manifesto-title-block{grid-column:1/-1}.manifesto-copy{grid-column:2}.tools-column{grid-column:1;grid-row:2}.manifesto-skull{display:none}.night-row{grid-template-columns:100px 1fr .65fr}.night-seal{grid-column:2/4;justify-self:end}.verse-lab{grid-template-columns:1fr 1fr}.verse-proof{grid-column:1/-1;width:min(620px,100%);justify-self:center}.colophon{grid-template-columns:100px 1fr 1fr}.last-word{grid-column:2/4}.guide-grid{grid-template-columns:180px 1fr 1fr}
}

@media (min-width: 1051px) {
  .guide-article .reproduce-box{margin-left:calc(-250px - clamp(2rem,5vw,6rem))}
}

@media (max-width: 720px) {
  body{font-size:16px}.site-header{height:138px}.nav-shell{padding:46px 16px 12px;align-items:flex-end;gap:.5rem}.brand-mark svg{width:38px}.brand-mark span{font-size:.82rem}.main-nav{display:none}.nav-stamp{min-width:105px;min-height:46px}
  .hero{min-height:auto;display:block;padding:48px 16px 88px}.hero-copy{margin:0}.issue-line{font-size:.64rem}.hero h1{font-size:clamp(5rem,25.5vw,6.2rem);line-height:.77}.hero h1 span:last-child{transform:translateX(2px);text-shadow:2px 2px 0}.hero-deck{font-size:1.04rem;margin:1.6rem 0}.hero-actions{align-items:flex-start}.ticket-link{padding-right:1.2rem}.ink-note{font-size:.72rem}.sun-disc{width:330px;right:-120px;top:430px}.broadside-wrap{margin-top:68px;padding-bottom:70px}.broadside{padding:14px 13px 12px;box-shadow:7px 9px 0 var(--ink);transform:rotate(.5deg)}.broadside-topline{font-size:.47rem}.broadside-title{font-size:1.75rem}.couplet{font-size:.78rem;min-height:60px;padding:.55rem .35rem}.press-pull{right:0;bottom:0;min-height:62px;padding-left:4rem}.press-pull::before{height:38px;bottom:44px}.lever-knob{bottom:74px}.rolling-track{font-size:.88rem}
  .manifesto{display:block;min-height:auto;padding:82px 20px}.manifesto h2{font-size:4.4rem}.manifesto-copy{margin-top:3rem}.manifesto-copy .lead{font-size:1.16rem}.manifesto blockquote{margin:2.5rem 0;font-size:1.25rem}.tools-column{margin-top:3rem}.giant-number{font-size:22rem;top:-.1em}
  .workshop-section{padding:80px 16px}.section-head{display:block;margin-bottom:2.7rem}.section-head h2{font-size:4rem}.section-head>p:last-child{margin-top:2rem}.night-row{grid-template-columns:72px 1fr;gap:.7rem;padding:1.2rem .3rem}.night-date{display:block}.night-date span{font-size:3.2rem}.night-meta{grid-column:2}.night-seal{grid-column:2;justify-self:start;min-height:48px}.night-row:hover{transform:none}.reservation-note{text-align:left}
  .verse-lab{display:block;padding:80px 20px}.verse-intro h2{font-size:4.2rem}.verse-controls{margin:2.5rem 0}.verse-proof{min-height:310px;padding-inline:1.3rem;transform:rotate(1deg);box-shadow:7px 8px 0}.verse-proof p{font-size:1.25rem}
  .process-section{display:block;padding:80px 20px 110px}.process-title h2{font-size:5.9rem}.process-steps{margin-top:3rem}.process-steps li{grid-template-columns:66px 1fr;gap:.7rem}.process-steps strong{font-size:1.15rem}.process-stamp{width:110px;right:-20px}
  .altar-section{display:block;padding:80px 18px 100px}.altar-copy h2{font-size:4.2rem}.name-form>div{display:block}.name-form input,.name-form button{width:100%;border:2px solid}.name-form button{margin-top:.5rem}.altar-stage{min-height:510px;margin-top:55px;padding-inline:2%;}.dancers{gap:.35rem;transform:scale(.9);transform-origin:bottom}.mini-skeleton{width:54px}.memory-dancer span{font-size:.62rem}.arch-one{inset:18px 10px 0}.arch-two{inset:40px 28px 0}.candle-row{left:3%;right:3%}.altar-table{font-size:.57rem}
  .colophon{display:block;padding:70px 20px}.colophon-mark{width:90px;margin-bottom:2rem}.colophon dl{margin:2rem 0}.last-word{margin-top:2rem}
  .footer-inner{display:block;padding-block:30px}.footer-inner nav{justify-content:flex-start;margin-top:1.4rem;gap:1rem}.footer-inner a{min-height:44px;display:flex;align-items:center}
  .guide-header{height:104px}.guide-main{padding:55px 18px 90px}.guide-hero{display:block;padding-bottom:35px}.guide-hero h1{font-size:5.2rem}.guide-deck{margin-top:2rem}.guide-grid{display:block;padding-top:45px}.guide-toc{position:static;display:grid;grid-template-columns:1fr 1fr;margin-bottom:3rem}.guide-article{display:block}.token-strip{grid-template-columns:1fr}.token-strip div{min-height:70px}.reproduce-box{display:block;padding:2rem}.reproduce-box h2{font-size:3.5rem}
}

@media (prefers-reduced-motion: reduce) {
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal{opacity:1;transform:none}.rolling-track{animation:none}.memory-dancer{animation:none}
}

/* Pass 2 — stronger presswork, stage depth, and interaction character */
html { scroll-padding-top: 1rem; }
body { text-rendering: optimizeLegibility; }
button, a, select { touch-action: manipulation; }
h1, h2, h3 { text-wrap: balance; }
p { text-wrap: pretty; }
section[id], article[id] { scroll-margin-top: 1rem; }
.main-nav a::after { transition: left .25s ease, right .25s ease; }
.brand-mark, .nav-stamp, .ticket-link, .footer-inner a, .guide-toc a { transition: color .2s ease, background-color .2s ease, transform .25s cubic-bezier(.2,.8,.2,1), border-color .2s ease; }
.brand-mark:hover { color: var(--marigold); transform: rotate(-1deg); }
.nav-stamp:hover { background: var(--pink); color: var(--ink); transform: rotate(-1deg) translateY(-2px); }
.nav-stamp:hover span { color: var(--ink); }
.ticket-link:active, .night-seal:active, .verse-controls button:active, .name-form button:active { transform: translateY(2px); }

.site-header::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -5px; height: 5px;
  background: repeating-linear-gradient(90deg, var(--marigold) 0 72px, var(--pink) 72px 79px, var(--teal) 79px 84px);
}
.hero { min-height: 830px; background: radial-gradient(circle at 64% 48%, rgba(242,160,7,.16), transparent 36%); }
.hero::after {
  content: 'HECHO A MANO · HECHO DE MEMORIA'; position: absolute; left: -80px; bottom: 35px;
  font: 400 .64rem/1 var(--display); letter-spacing: .22em; transform: rotate(-90deg); color: var(--pink-ink);
}
.hero-copy { position: relative; z-index: 2; }
.hero-copy::after {
  content: ''; position: absolute; width: 84px; height: 23px; right: 5%; top: 48%; opacity: .22;
  background: repeating-linear-gradient(171deg, transparent 0 4px, var(--ink) 5px 6px); transform: rotate(-7deg);
}
.hero h1 span:first-child { position: relative; z-index: 1; }
.hero h1 span:first-child::after { content: ''; position: absolute; height: .08em; width: .56em; left: .05em; bottom: .08em; background: var(--marigold); z-index: -1; transform: rotate(-2deg); }
.hero h1 span:last-child { filter: drop-shadow(7px 9px 0 rgba(242,160,7,.85)); }
.hero-proof-note { margin: 2.1rem 0 0; display: flex; gap: .75rem; align-items: center; font-size: .72rem; font-style: italic; }
.hero-proof-note span { font: 400 .65rem/1 var(--display); letter-spacing: .12em; text-transform: uppercase; background: var(--pink); padding: .35rem .55rem; transform: rotate(-2deg); }
.broadside-wrap { z-index: 3; }
.broadside { width: min(100%, 650px); background-image: radial-gradient(circle at 15% 25%, rgba(242,160,7,.06), transparent 28%), linear-gradient(90deg, transparent 49.7%, rgba(23,19,15,.035) 50%, transparent 50.3%); transform-origin: 50% 95%; }
.broadside::before { content: ''; position: absolute; inset: -8px 13px 7px -8px; border: 1px solid rgba(23,19,15,.42); pointer-events: none; transform: rotate(-.7deg); }
.broadside-title { letter-spacing: .018em; text-shadow: 1px 1px 0 rgba(23,19,15,.2); }
.broadside-scene { aspect-ratio: 1.48; box-shadow: inset 0 0 22px rgba(23,19,15,.12); }
.couplet { position: relative; letter-spacing: -.008em; }
.couplet::before, .couplet::after { content: '❦'; position: absolute; top: 50%; translate: 0 -50%; color: var(--pink-ink); font-style: normal; font-size: 1rem; }
.couplet::before { left: .15rem; }.couplet::after { right: .15rem; transform: rotate(180deg); }
.broadside-sorts { height: 7px; display: flex; gap: 3px; justify-content: center; margin-bottom: 4px; }
.broadside-sorts i { display: block; width: clamp(14px, 7%, 36px); background: var(--ink); opacity: .82; }
.broadside-sorts i:nth-child(2), .broadside-sorts i:nth-child(6) { background: var(--pink); transform: translateY(2px); }
.broadside-sorts i:nth-child(4) { background: var(--marigold); }
.press-pull { transition: transform .25s cubic-bezier(.2,.8,.2,1), background-color .2s ease, box-shadow .2s ease; }
.press-pull:hover { background: #075b58; transform: rotate(1deg) translateY(-3px); }
.press-pull.is-pulled::before { animation: lever-pull .58s cubic-bezier(.2,.8,.2,1); }
.press-pull.is-pulled .lever-knob { animation: knob-pull .58s cubic-bezier(.2,.8,.2,1); }
@keyframes lever-pull { 45% { transform: rotate(66deg); } }
@keyframes knob-pull { 45% { transform: translate(37px, 19px); } }

.rolling-notice { position: relative; background: linear-gradient(90deg, #d94076, var(--pink) 30%, #f0789e 65%, #d94076); }
.rolling-notice::before, .rolling-notice::after { content: ''; position: absolute; top: 0; bottom: 0; width: 8vw; z-index: 2; pointer-events: none; }
.rolling-notice::before { left: 0; background: linear-gradient(90deg, var(--ink), transparent); }
.rolling-notice::after { right: 0; background: linear-gradient(-90deg, var(--ink), transparent); }
.rolling-notice:hover .rolling-track { animation-play-state: paused; }
.rolling-track span:nth-of-type(2n) { color: #36120f; }

.manifesto, .workshop-section, .verse-lab, .process-section, .altar-section, .colophon { --print-shift: 32px; }
.manifesto > *, .workshop-section > *, .verse-lab > *, .process-section > *, .altar-section > *, .colophon > * { opacity: 0; transform: translateY(var(--print-shift)); transition: opacity .7s ease, transform .85s cubic-bezier(.16,.84,.25,1); }
.in-view > * { opacity: 1; transform: none; }
.in-view > *:nth-child(2) { transition-delay: .08s; }.in-view > *:nth-child(3) { transition-delay: .16s; }.in-view > *:nth-child(4) { transition-delay: .24s; }
.manifesto { background: #15110e radial-gradient(circle at 76% 32%, rgba(232,93,138,.12), transparent 24%); }
.manifesto-title-block { transform-origin: left center; }
.manifesto.in-view .manifesto-title-block { animation: ink-bite .72s .12s both; }
@keyframes ink-bite { 0% { opacity: 0; transform: translateY(22px) skewX(-4deg); filter: blur(3px); } 68% { filter: blur(0); } 100% { opacity: 1; transform: none; } }
.manifesto h2 em { text-shadow: 2px 2px 0 #6e2b00; }
.tools-column { background: rgba(244,236,216,.035); padding: 0 1rem; transform: rotate(1deg); }
.tools-column div:nth-child(2) { translate: 13px 0; }

.workshop-section { background: var(--bone) linear-gradient(98deg, rgba(242,160,7,.1), transparent 34%, rgba(21,143,138,.08)); }
.section-head h2 { max-width: 980px; }
.night-list { border-top: 0; position: relative; }
.night-list::before { content: ''; position: absolute; top: 0; bottom: 0; left: 50%; border-left: 1px dashed rgba(23,19,15,.35); }
.night-row { position: relative; width: 91%; border: 2px solid var(--ink); border-left-width: 9px; margin-bottom: 1rem; background: rgba(244,236,216,.72); box-shadow: 7px 7px 0 rgba(23,19,15,.15); overflow: hidden; }
.night-row:nth-child(even) { margin-left: 9%; border-left-width: 2px; border-right-width: 9px; }
.night-row::before { content: attr(data-folio); position: absolute; right: 1.2rem; top: -.24em; font: 400 5rem/1 var(--display); color: rgba(23,19,15,.055); pointer-events: none; }
.night-row:hover { box-shadow: 11px 11px 0 var(--ink); }
.night-row:nth-child(even):hover { transform: translateX(-8px); }
.night-seal { transition: transform .2s ease, color .2s ease, background-color .2s ease; }
.night-seal[aria-pressed="true"] { background: var(--ink); color: var(--bone); transform: rotate(2deg); }
.reservation-note { border-right: 5px solid var(--pink); padding-right: 1rem; }

.verse-lab { background: radial-gradient(circle at 76% 45%, rgba(255,255,255,.08), transparent 30%), linear-gradient(115deg, #075b58, var(--teal-dark) 52%, #075f5c); }
.verse-lab::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(7deg, transparent 0 18px, rgba(255,255,255,.025) 19px 20px); pointer-events: none; }
.verse-intro h2 { line-height: .78; }
.verse-controls select { appearance: auto; background-color: #f7edd6; }
.verse-controls button, .name-form button { transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .15s ease; }
.verse-proof { box-shadow: 13px 15px 0 #0a0907, 28px 31px 0 rgba(232,93,138,.36); }
.verse-proof::after { content: ''; position: absolute; inset: 18px; border: 1px dashed rgba(23,19,15,.18); pointer-events: none; }
.proof-slug { position: absolute; right: 27px; top: 25px; font: 400 .58rem/1 var(--display); text-transform: uppercase; letter-spacing: .08em; color: var(--pink-ink); }

.process-section { background: linear-gradient(120deg, #e88f00, var(--marigold) 45%, #ffb30b 75%, #e89100); }
.process-title h2 { filter: drop-shadow(5px 6px 0 rgba(244,236,216,.38)); }
.process-steps li { position: relative; transition: background-color .2s ease, padding-left .25s ease; }
.process-steps li:hover { background: rgba(244,236,216,.24); padding-left: 1rem; }
.process-steps li::after { content: ''; position: absolute; right: .5rem; top: 50%; width: 9px; height: 9px; background: var(--pink); border-radius: 50%; box-shadow: -16px 0 var(--teal), -32px 0 var(--ink); }

.altar-section { background: #19120d radial-gradient(ellipse at 72% 47%, rgba(242,160,7,.29), transparent 29%); }
.altar-section::after { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(90deg, transparent 0 74px, rgba(242,160,7,.025) 75px 76px); pointer-events: none; }
.altar-copy h2 { line-height: .78; }
.name-form input { transition: background-color .2s ease, border-color .2s ease; }
.name-form input:focus { background: rgba(244,236,216,.07); }
.altar-stage { min-height: 640px; background: linear-gradient(90deg, rgba(0,0,0,.25), transparent 20% 80%, rgba(0,0,0,.25)), radial-gradient(circle at 50% 45%, rgba(242,160,7,.13), transparent 48%); box-shadow: inset 0 0 90px rgba(242,160,7,.15), 0 30px 50px rgba(0,0,0,.28); }
.altar-stage::before { content: ''; position: absolute; inset: 17% 17% 58%; border: 1px solid rgba(244,236,216,.22); background: repeating-linear-gradient(164deg, transparent 0 7px, rgba(244,236,216,.09) 8px 9px); }
.altar-inscription { position: absolute; top: 74px; margin: 0; z-index: 2; color: var(--amber); font-style: italic; font-size: .9rem; letter-spacing: .04em; }
.marigold-garland { position: absolute; left: 11%; right: 11%; top: 34px; height: 58px; display: flex; justify-content: space-between; z-index: 3; }
.marigold-garland::before { content: ''; position: absolute; left: 0; right: 0; top: 19px; border-top: 2px solid #80611b; transform: rotate(2deg); }
.marigold-garland i { width: 27px; height: 27px; border-radius: 45%; background: repeating-radial-gradient(circle, #7b320a 0 2px, var(--marigold) 3px 6px); box-shadow: 7px 4px 0 #d87900; transform: rotate(var(--twist, 0deg)); }
.marigold-garland i:nth-child(2n) { translate: 0 9px; scale: .8; }.marigold-garland i:nth-child(3n) { translate: 0 -2px; scale: 1.15; }
.dancers { min-height: 335px; gap: clamp(.7rem, 3vw, 2.5rem); }
.memory-dancer { min-width: 0; filter: drop-shadow(0 7px 7px rgba(0,0,0,.45)); }
.memory-dancer:nth-child(3n) { animation-duration: 1.55s; }.memory-dancer:nth-child(3n+2) { animation-duration: 1.12s; }
.mini-calavera { width: clamp(54px, 6vw, 76px); height: auto; overflow: visible; color: var(--bone); }
.memory-dancer span { max-width: 112px; overflow: hidden; text-overflow: ellipsis; border: 1px solid var(--ink); box-shadow: 2px 3px 0 var(--ink); }
.candle { background: linear-gradient(90deg, #c9b47e, #fff0c6 48%, #bda56d); }
.altar-table { background: linear-gradient(90deg, #c93f70, var(--pink) 45%, #e96b95); box-shadow: 0 12px 0 #110d09; }

.colophon { background: var(--bone) radial-gradient(circle at 12% 35%, rgba(232,93,138,.11), transparent 20%); }
.colophon-mark { box-shadow: 8px 8px 0 var(--marigold); }
.colophon h2 span { text-shadow: 1px 1px 0 rgba(23,19,15,.25); }
.footer-inner a:hover { transform: translateY(-2px); }

@media (max-width: 1050px) {
  .hero { min-height: 700px; }
  .broadside { width: min(100%, 590px); }
  .night-row { width: 94%; }.night-row:nth-child(even) { margin-left: 6%; }
  .altar-stage { min-height: 580px; }
}

@media (max-width: 720px) {
  .site-header { height: 126px; padding-top: env(safe-area-inset-top); }
  .nav-shell { padding: 38px max(16px, env(safe-area-inset-right)) 10px max(16px, env(safe-area-inset-left)); }
  .hero { padding: 34px 16px 72px; }
  .hero::after, .hero-copy::after { display: none; }
  .issue-line { margin-bottom: 1.1rem; }
  .hero h1 { font-size: clamp(4.8rem, 24vw, 5.85rem); }
  .hero h1 span:last-child { filter: drop-shadow(4px 5px 0 rgba(242,160,7,.82)); }
  .hero-deck { margin: 1.35rem 0; line-height: 1.42; }
  .hero-actions { gap: .8rem; }
  .ticket-link { min-height: 62px; padding-left: 1.15rem; }
  .ticket-link small { font-size: .62rem; }
  .hero-proof-note { margin-top: 1.4rem; }
  .broadside-wrap { margin-top: 42px; }
  .broadside { padding: 12px 12px 11px; }
  .broadside::before { display: none; }
  .broadside-title { font-size: 1.65rem; }
  .broadside-scene { aspect-ratio: 1.42; }
  .couplet { font-size: .74rem; line-height: 1.13; padding-inline: .8rem; }
  .couplet::before, .couplet::after { display: none; }
  .press-pull { max-width: 92%; }
  .manifesto > *, .workshop-section > *, .verse-lab > *, .process-section > *, .altar-section > *, .colophon > * { opacity: 1; transform: none; }
  .night-list::before { left: 39px; }
  .night-row, .night-row:nth-child(even) { width: 100%; margin-left: 0; border-left-width: 6px; border-right-width: 2px; padding: 1rem .55rem; box-shadow: 4px 5px 0 rgba(23,19,15,.16); }
  .night-row::before { right: .2rem; font-size: 4rem; }
  .night-row:nth-child(even):hover { transform: none; }
  .reservation-note { border-left: 5px solid var(--pink); border-right: 0; padding: .2rem 0 .2rem .8rem; }
  .verse-intro h2 { font-size: 3.85rem; }
  .proof-slug { display: none; }
  .verse-proof { box-shadow: 7px 9px 0 #0a0907, 15px 17px 0 rgba(232,93,138,.32); }
  .process-title h2 { font-size: 5.35rem; }
  .process-steps li::after { display: none; }
  .altar-section { padding-top: 92px; }
  .altar-copy h2 { font-size: 3.85rem; }
  .altar-stage { min-height: 525px; margin-top: 48px; }
  .altar-inscription { top: 63px; font-size: .73rem; }
  .marigold-garland { left: 8%; right: 8%; top: 24px; }
  .marigold-garland i { width: 20px; height: 20px; }
  .dancers { gap: 0; min-height: 300px; transform: none; }
  .mini-calavera { width: 54px; }
  .memory-dancer span { max-width: 72px; font-size: .58rem; }
  .footer-inner { padding-left: max(24px, env(safe-area-inset-left)); padding-right: max(24px, env(safe-area-inset-right)); padding-bottom: max(30px, env(safe-area-inset-bottom)); }
}

@media (prefers-reduced-motion: reduce) {
  .manifesto > *, .workshop-section > *, .verse-lab > *, .process-section > *, .altar-section > *, .colophon > * { opacity: 1; transform: none; }
  .press-pull.is-pulled::before, .press-pull.is-pulled .lever-knob, .manifesto.in-view .manifesto-title-block { animation: none; }
}

/* Guide as a workshop specimen, not generic documentation */
.guide-header { position: relative; overflow: hidden; }
.guide-header::before {
  content: ''; position: absolute; left: 22%; right: 22%; top: -2px; height: 42px;
  background: linear-gradient(135deg, var(--pink) 25%, transparent 25%) 0 0/56px 42px, linear-gradient(225deg, var(--marigold) 25%, transparent 25%) 28px 0/56px 42px;
  opacity: .95;
}
.guide-main { position: relative; }
.guide-main::before { content: 'ARCHIVO DEL TALLER'; position: absolute; right: 2rem; top: 27rem; writing-mode: vertical-rl; font: 400 .62rem/1 var(--display); letter-spacing: .2em; color: var(--pink-ink); }
.guide-hero { min-height: 390px; position: relative; isolation: isolate; }
.guide-hero::before { content: ''; position: absolute; width: 330px; aspect-ratio: 1; left: 30%; bottom: -4.5rem; border-radius: 50%; background: var(--marigold); opacity: .88; z-index: -1; box-shadow: 0 0 0 17px rgba(242,160,7,.13); }
.guide-hero h1 { text-shadow: 3px 3px 0 var(--bone); }
.guide-hero h1 span { text-shadow: 4px 4px 0 var(--ink); filter: drop-shadow(6px 7px 0 rgba(242,160,7,.75)); }
.guide-deck { position: relative; padding-top: 2.1rem; font-size: 1.28rem; font-weight: 500; }
.guide-proof-stamp { position: absolute; right: 0; top: -2.7rem; display: block; border: 2px solid var(--pink-ink); color: var(--pink-ink); padding: .45rem .65rem; font: 400 .58rem/1 var(--display); letter-spacing: .12em; text-transform: uppercase; transform: rotate(3deg); }
.guide-grid { position: relative; }
.guide-toc { border: 2px solid var(--ink); padding: 1rem; box-shadow: 6px 7px 0 var(--marigold); background: rgba(244,236,216,.88); }
.guide-toc::before { content: 'INDEX / ÍNDICE'; display: block; margin-bottom: .6rem; color: var(--pink-ink); }
.guide-toc a { min-height: 44px; display: flex; align-items: center; }
.guide-toc a:hover { padding-left: .35rem; color: var(--teal-dark); background: rgba(242,160,7,.12); }
.guide-article section { position: relative; }
.guide-article section:not(.reproduce-box)::after { content: ''; position: absolute; left: 0; bottom: -1.5rem; width: 34px; border-bottom: 5px solid var(--pink); }
.guide-article h2 { font-size: 2.2rem; letter-spacing: -.01em; }
.guide-article p { max-width: 39rem; }
.guide-article code { background: rgba(242,160,7,.16); padding: .05em .22em; color: #512206; }
.guide-specimen { grid-column: 1 / -1; margin: 1rem 0 5rem; display: grid; grid-template-columns: 1.35fr .65fr; border: 3px solid var(--ink); background: var(--pink); box-shadow: 12px 14px 0 var(--ink); transform: rotate(-.6deg); }
.specimen-stage { min-height: 270px; position: relative; background: var(--bone) repeating-linear-gradient(160deg, transparent 0 9px, rgba(23,19,15,.09) 10px 11px); border-right: 3px solid var(--ink); overflow: hidden; }
.specimen-stage::before { content: ''; position: absolute; width: 170px; aspect-ratio: 1; border-radius: 50%; right: 8%; top: 16%; background: var(--marigold); border: 4px solid var(--ink); }
.specimen-stage::after { content: 'POSE / PROP / COSTUME'; position: absolute; left: 1rem; bottom: 1rem; font: 400 .7rem/1 var(--display); letter-spacing: .14em; }
.specimen-skull { position: absolute; left: 42%; top: 55px; width: 88px; height: 91px; border: 6px solid var(--ink); border-radius: 45% 45% 35% 35%; background: var(--bone); z-index: 2; }
.specimen-skull::after { content: ''; position: absolute; left: 22px; right: 22px; bottom: -16px; height: 27px; border: 5px solid var(--ink); background: var(--bone); }
.specimen-skull i { position: absolute; top: 32px; width: 19px; height: 24px; border-radius: 50%; background: var(--ink); }.specimen-skull i:first-child { left: 14px; }.specimen-skull i:last-child { right: 14px; }
.specimen-hat { position: absolute; left: calc(42% - 14px); top: 21px; width: 116px; height: 50px; border-radius: 50% 50% 10% 10%; background: radial-gradient(circle at 18% 76%, var(--pink) 0 9px, transparent 10px), radial-gradient(circle at 40% 48%, var(--marigold) 0 11px, transparent 12px), radial-gradient(circle at 64% 50%, var(--teal) 0 10px, transparent 11px), radial-gradient(circle at 84% 77%, var(--pink) 0 9px, transparent 10px); z-index: 3; }
.specimen-fan { position: absolute; left: 61%; top: 133px; width: 84px; height: 82px; border: 5px solid var(--ink); border-radius: 100% 0 100% 0; background: repeating-conic-gradient(from 30deg at 0 100%, var(--pink) 0 8deg, var(--ink) 9deg 11deg, var(--bone) 12deg 20deg); transform: rotate(13deg); }
.specimen-bone { position: absolute; z-index: 1; height: 7px; background: var(--ink); transform-origin: left center; }.bone-a { width: 104px; left: 42%; top: 160px; transform: rotate(114deg); }.bone-b { width: 120px; left: 48%; top: 164px; transform: rotate(64deg); }.bone-c { width: 106px; left: 50%; top: 162px; transform: rotate(10deg); }
.guide-specimen figcaption { padding: 2rem; display: flex; flex-direction: column; justify-content: center; color: var(--ink); }
.guide-specimen figcaption strong { font: 400 clamp(2rem,4vw,4.4rem)/.9 var(--display); text-transform: uppercase; }
.guide-specimen figcaption span { margin-top: 1rem; font-style: italic; }
.token-strip { box-shadow: 9px 10px 0 rgba(23,19,15,.16); transform: rotate(.35deg); }
.token-strip div { position: relative; min-height: 134px; border-right: 1px solid rgba(23,19,15,.35); }
.token-strip div:nth-child(2), .token-strip div:nth-child(4) { translate: 0 8px; }
.reproduce-box { box-shadow: 14px 15px 0 var(--pink); transform: rotate(.25deg); }
.reproduce-box::before { content: ''; position: absolute; left: 0; right: 0; top: -7px; height: 14px; background: radial-gradient(circle, var(--bone) 0 5px, transparent 5.5px) 0 0/18px 14px; }
.reproduce-box p { max-width: 56rem; }

@media (max-width: 1050px) {
  .guide-main::before { display: none; }
  .guide-specimen { grid-template-columns: 1fr .72fr; }
  .guide-hero::before { left: 25%; width: 260px; }
}

@media (max-width: 720px) {
  .guide-header::before { left: 28%; right: 28%; height: 32px; background-size: 44px 32px; }
  .guide-hero { min-height: 400px; }
  .guide-hero::before { width: 190px; left: 42%; bottom: 1rem; }
  .guide-hero h1 { font-size: 4.9rem; }
  .guide-proof-stamp { top: -2.4rem; }
  .guide-toc { box-shadow: 5px 6px 0 var(--marigold); }
  .guide-toc a { padding: .45rem .25rem; }
  .guide-article section { margin-bottom: 4rem; }
  .guide-specimen { display: block; margin: 1rem 0 4rem; box-shadow: 7px 8px 0 var(--ink); }
  .specimen-stage { min-height: 235px; border-right: 0; border-bottom: 3px solid var(--ink); }
  .specimen-skull { left: 35%; }.specimen-hat { left: calc(35% - 14px); }.bone-a { left: 35%; }.bone-b { left: 43%; }.bone-c { left: 47%; }.specimen-fan { left: 61%; }
  .guide-specimen figcaption { padding: 1.35rem; }
  .guide-specimen figcaption strong { font-size: 2.7rem; }
  .token-strip div { min-height: 66px; }
  .token-strip div:nth-child(2), .token-strip div:nth-child(4) { translate: 0 0; }
  .reproduce-box { box-shadow: 7px 8px 0 var(--pink); }
}

/* Pass 3 — the proof has a physical reverse, plus final optical polish */
html {
  scrollbar-color: var(--pink) var(--ink);
  scrollbar-width: thin;
}
html::-webkit-scrollbar { width: 12px; }
html::-webkit-scrollbar-track { background: var(--ink); }
html::-webkit-scrollbar-thumb { background: var(--pink); border: 3px solid var(--ink); }
html::-webkit-scrollbar-thumb:hover { background: var(--marigold); }
body {
  font-optical-sizing: auto;
  font-kerning: normal;
  font-synthesis: none;
  letter-spacing: .002em;
}
::selection { background: var(--pink); color: #120d09; text-shadow: none; }
.paper-grain { opacity: 0; }
.is-ready .paper-grain { opacity: .16; transition: opacity 1.25s .18s cubic-bezier(.16,.84,.25,1); }
.issue-line, .broadside-topline, .broadside-credit, .night-date, .proof-slug, .process-steps li > span, .colophon dl, .guide-folio {
  font-variant-numeric: lining-nums tabular-nums;
}
.hero h1, .manifesto h2, .section-head h2, .verse-intro h2, .process-title h2, .altar-copy h2, .guide-hero h1 {
  font-kerning: none;
}
.hero-deck, .manifesto-copy, .section-head > p:last-child, .verse-intro > p:last-child, .altar-copy > p, .guide-deck, .guide-article p {
  hanging-punctuation: first last;
}

.proof-stack {
  width: min(100%, 650px);
  margin: 0 auto;
  perspective: 1500px;
}
.proof-card {
  position: relative;
  transform-style: preserve-3d;
  transition: transform .92s cubic-bezier(.16,.84,.25,1);
}
.proof-card > .broadside,
.carved-block {
  width: 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
.proof-card > .broadside { margin: 0; }
.carved-block {
  --rake-x: 72%;
  --rake-y: 26%;
  position: absolute;
  inset: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding: 22px 27px 18px;
  color: var(--bone);
  background:
    radial-gradient(circle at var(--rake-x) var(--rake-y), rgba(255,196,74,.28), transparent 22%),
    repeating-linear-gradient(164deg, transparent 0 6px, rgba(244,236,216,.05) 7px 8px),
    #100d0a;
  border: 7px solid #096c68;
  outline: 2px solid var(--ink);
  box-shadow: inset 0 0 0 2px var(--marigold), 13px 16px 0 var(--ink), 20px 24px 30px rgba(23,19,15,.22);
  transform: rotateY(180deg) rotate(-.7deg);
  isolation: isolate;
}
.carved-block::before {
  content: '';
  position: absolute;
  inset: 11px;
  border: 1px dashed rgba(244,236,216,.5);
  pointer-events: none;
  z-index: 3;
}
.carved-block::after {
  content: 'CUT AWAY THE SILENCE';
  position: absolute;
  right: 11px;
  bottom: 52px;
  writing-mode: vertical-rl;
  color: var(--marigold);
  font: 400 .52rem/1 var(--display);
  letter-spacing: .18em;
  z-index: 4;
}
.block-topline {
  position: relative;
  z-index: 4;
  display: flex;
  justify-content: space-between;
  padding-bottom: .35rem;
  border-bottom: 1px solid currentColor;
  font: 400 .58rem/1 var(--display);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.carved-block > strong {
  position: absolute;
  left: 42px;
  top: 58px;
  z-index: 4;
  color: var(--marigold);
  font: 400 clamp(1.5rem, 2.6vw, 2.55rem)/.86 var(--display);
  letter-spacing: .025em;
  text-transform: uppercase;
  text-shadow: 2px 2px 0 #603109;
}
.block-scene {
  flex: 1;
  min-height: 0;
  margin: 1rem 0 .2rem;
  overflow: hidden;
  opacity: .9;
}
.block-scene svg {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(-1);
  filter: grayscale(1) invert(1) contrast(2.05) brightness(.8);
  mix-blend-mode: screen;
}
.carved-block > p {
  position: relative;
  z-index: 4;
  margin: 0;
  text-align: center;
  color: #f2c35d;
  font-size: .67rem;
  font-style: italic;
  letter-spacing: .04em;
}
.is-block-view .proof-card { transform: rotateY(180deg); }
.block-toggle {
  position: absolute;
  left: 5%;
  bottom: -4px;
  z-index: 6;
  min-width: 174px;
  min-height: 56px;
  display: grid;
  grid-template-columns: 30px 1fr;
  align-content: center;
  column-gap: .55rem;
  padding: .45rem .8rem;
  border: 2px solid var(--ink);
  background: var(--marigold);
  color: var(--ink);
  box-shadow: 4px 5px 0 var(--pink);
  cursor: pointer;
  text-align: left;
  transform: rotate(1.5deg);
  transition: transform .25s cubic-bezier(.2,.8,.2,1), background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.block-toggle > span {
  grid-row: 1 / 3;
  align-self: center;
  font: 400 1.8rem/1 var(--display);
  transition: transform .7s cubic-bezier(.16,.84,.25,1);
}
.block-toggle strong { font: 400 .77rem/1 var(--display); letter-spacing: .08em; text-transform: uppercase; }
.block-toggle small { font-size: .61rem; line-height: 1.05; }
.block-toggle:hover { background: var(--pink); box-shadow: 6px 7px 0 var(--ink); transform: rotate(-1deg) translateY(-3px); }
.block-toggle:hover > span, .block-toggle[aria-pressed="true"] > span { transform: rotate(-180deg); }
.block-toggle[aria-pressed="true"] { background: var(--bone); }
.block-toggle:active { transform: translateY(2px) rotate(0); box-shadow: 2px 2px 0 var(--ink); }
.press-pull:focus-visible, .block-toggle:focus-visible, .night-seal:focus-visible, .verse-controls button:focus-visible, .name-form button:focus-visible {
  outline-color: var(--marigold);
}

.verse-lab { border-top: 8px solid #064f4c; border-bottom: 8px solid #064f4c; }
.verse-intro { isolation: isolate; }
.verse-intro::before {
  content: '02';
  position: absolute;
  z-index: -1;
  left: -.16em;
  top: -.46em;
  color: rgba(244,236,216,.055);
  -webkit-text-stroke: 1px rgba(244,236,216,.07);
  font: 400 clamp(14rem, 22vw, 22rem)/1 var(--display);
  letter-spacing: -.08em;
}
.verse-proof {
  background-color: var(--bone);
  background-image:
    radial-gradient(circle at 12% 19%, rgba(242,160,7,.08), transparent 27%),
    repeating-radial-gradient(circle at 82% 71%, transparent 0 8px, rgba(23,19,15,.026) 9px 10px, transparent 11px 17px);
}
.verse-controls select:hover { border-color: var(--marigold); }
.verse-controls select:focus-visible, .name-form input:focus-visible {
  outline: 3px solid var(--marigold);
  outline-offset: 3px;
}
.night-row:focus-within { background: rgba(242,160,7,.22); box-shadow: 10px 10px 0 var(--ink); }
.process-steps li:focus-within { background: rgba(244,236,216,.24); }
.footer-inner a:focus-visible, .guide-toc a:focus-visible { color: var(--amber); }

@media (max-width: 1050px) {
  .proof-stack { width: min(100%, 590px); }
  .block-toggle {
    left: -10px;
    bottom: 20%;
    width: 48px;
    min-width: 48px;
    min-height: 150px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: .55rem;
    padding: .55rem .35rem;
    text-align: center;
  }
  .block-toggle strong { writing-mode: vertical-rl; transform: rotate(180deg); }
  .block-toggle small { display: none; }
}

@media (max-width: 720px) {
  .proof-stack { width: 100%; }
  .block-toggle {
    top: -35px;
    bottom: auto;
    left: 8px;
    width: auto;
    min-width: 166px;
    min-height: 44px;
    display: grid;
    grid-template-columns: 30px 1fr;
    align-content: center;
    align-items: initial;
    gap: 0 .55rem;
    padding-block: .3rem;
    text-align: left;
  }
  .block-toggle strong { writing-mode: initial; transform: none; }
  .block-toggle small { display: block; }
  .block-toggle > span { font-size: 1.45rem; }
  .carved-block { padding: 13px 14px 12px; border-width: 5px; }
  .block-topline { font-size: .43rem; }
  .carved-block > strong { left: 28px; top: 41px; font-size: 1.3rem; }
  .carved-block::after { display: none; }
  .block-scene { margin-top: .45rem; }
  .carved-block > p { font-size: .54rem; }
  .verse-intro::before { font-size: 15rem; top: -.3em; }
}

@media (prefers-reduced-motion: reduce) {
  .paper-grain { opacity: .16; }
  .proof-card { transition: none; }
  .block-toggle > span { transition: none; }
}
