@font-face{font-family:"Bigshot One";src:url("assets/BigshotOne-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Forum;src:url("assets/Forum-Regular.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap}
.event-page .hero-subtitle{font-family:var(--font-body);font-weight:400}
/* Literal annotations 1–12 in AJUSTES_HALLOWEEN.png. Canonical component definitions. */







/* 1 — two reflected, fine corner silhouettes. */

.event-page .event-header:before,.event-page .event-header:after{content:'';position:absolute;top:0;width:156px;height:174px;background:url('assets/corner-vigil.svg?v=4') left top/contain no-repeat;opacity:.85;pointer-events:none}

.event-page .event-header:before{left:0}.event-page .event-header:after{right:0;transform:scaleX(-1)}

/* 2–3 — book serif title and inset gold/green CTA pair. */

.event-page .hero-content h1{font:400 clamp(70px,6.875vw,96px)/.9 var(--font-display);letter-spacing:-.025em;text-wrap:initial;max-width:690px;color:#f7e8c2;-webkit-text-stroke:.35px #ead29b;text-shadow:0 1px 0 #967442,1px 0 0 #eed79e,-1px 0 0 #fff0ce,0 4px 16px #000b}

.event-page .actions{display:flex;align-items:center;gap:18px;margin-top:22px;flex-wrap:wrap}

.event-page .actions .button{position:relative;min-height:46px;min-width:178px;padding:10px 21px;gap:13px;border:1px solid #806632;border-radius:2px;font:16px/1.25 var(--font-body);box-shadow:inset 0 0 0 1px #dcc48a,0 4px 12px #0005;transition:filter 180ms ease-out,box-shadow 180ms ease-out,transform 180ms ease-out}

.event-page .actions .button:before{content:'';position:absolute;inset:3px;border:1px solid #d2b67280;border-radius:1px;pointer-events:none}

.event-page .actions .button:after{content:'';position:absolute;inset:5px;background:linear-gradient(#8d6d33,#8d6d33) left top/2px 2px no-repeat,linear-gradient(#8d6d33,#8d6d33) right top/2px 2px no-repeat,linear-gradient(#8d6d33,#8d6d33) left bottom/2px 2px no-repeat,linear-gradient(#8d6d33,#8d6d33) right bottom/2px 2px no-repeat;pointer-events:none}

.event-page .actions .primary{min-width:205px;background:linear-gradient(105deg,#c69e51,#e8ce92 48%,#c6a15b);color:#211b11;border-color:#8b6b32;box-shadow:inset 0 0 0 1px #f2db9e,inset 0 0 8px #fff0bd20,0 3px 14px #d1a54633}

.event-page .actions .outline{background:linear-gradient(#13201bd9,#081610e8);color:#e9dfc8;border-color:#a18a53}

.event-page .actions .outline:after{filter:brightness(1.5)}

.event-page .actions .button .icon{width:17px;height:17px;stroke-width:1.3}

.event-page .actions .button:is(:hover,:focus-visible){filter:brightness(1.1);transform:translateY(-1px);box-shadow:inset 0 0 0 2px #ead5a44d,0 4px 18px #ddba6640}

/* 4 — connected circles, sharp terminals and contained halo. */

.halloween .act-stepper{position:relative;z-index:4;margin-top:-30px;padding:0 28px 24px;border-bottom:1px solid var(--color-rule)}

.halloween .act-stepper ol{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));list-style:none;margin:0;padding:0;position:relative}

.halloween .act-stepper ol:before{content:'';position:absolute;height:1px;top:20px;left:0;right:0;background:#a68a50;z-index:-1}

.halloween .act-stepper ol:after{content:'';position:absolute;top:8px;left:0;right:0;height:24px;background:url('assets/rail-finial.svg') left center/16px 24px no-repeat,url('assets/rail-finial.svg') right center/16px 24px no-repeat;pointer-events:none}

.halloween .act-stepper li{text-align:center;position:relative;scroll-snap-align:center}

.halloween .act-stepper :is(a,.step-static){display:flex;flex-direction:column;align-items:center;gap:8px;min-height:80px;font:16px/1.15 var(--font-body)}

.halloween .step-number{display:grid;place-items:center;width:39px;height:39px;border:1px solid #a58a4e;border-radius:50%;background:#07130fea;font:19px/1 var(--font-body);color:#e5c990}

.halloween .act-stepper .current{color:#f1d99f}

.halloween .act-stepper .current .step-number{border-color:#f2d398;box-shadow:0 0 4px #ffe9b4,inset 0 0 12px #d9af4e29,0 0 18px #e4b55a99}

.halloween .act-stepper .planned{color:#d0c6ad}

.halloween .act-stepper small{font:11px/1.2 var(--font-body);margin-top:-3px}

.halloween .act-stepper a:hover .step-number{background:#1d2918}

.event-page .act-stepper{width:100%;margin-top:0;padding:3px 0 8px;min-height:95px;border-color:#a28649}

.event-page .act-stepper ol{width:65%;max-width:none;margin:auto;min-height:84px}

/* 5 — quiet rectangular speech panel, cut pointer and corner flourish. */

.event-page .story-copy{align-self:start}

.event-page .story-copy h2{font:400 36px/1.05 var(--font-display);letter-spacing:0;color:#e1bc75;margin:0 0 16px;text-shadow:0 2px 5px #0009}

.event-page .iris-art blockquote{position:absolute;top:65px;right:0;width:48%;margin:0;padding:10px 13px 12px;min-width:0;border:12px solid transparent;border-image:url('assets/frame-speech.svg') 12 fill/12px;border-radius:0;background:none;font:400 14px/1.35 var(--font-body);color:#eee7d8;box-shadow:0 5px 18px #0004}

.event-page .iris-art blockquote:before{content:'';position:absolute;width:24px;height:22px;left:-31px;top:14px;background:url('assets/speech-pointer.svg') center/contain no-repeat}

.event-page .iris-art blockquote:after{content:'';position:absolute;width:20px;height:25px;bottom:-13px;right:15px;background:url('assets/rail-finial.svg') center/contain no-repeat}

.event-page .iris-art cite{position:absolute;left:-38px;top:-43px;display:block;margin:0;width:260px;max-width:125%;color:#d9b971;font:15px/1.2 var(--font-body)}

/* 6 — framed interior footers; outer card frame remains untouched. */

.event-page .path-card{display:flex;flex-direction:column}

.event-page .path-card>.asset{flex:none}

.halloween .path-copy{display:grid;grid-template-columns:49px minmax(0,1fr) 18px;gap:12px;align-items:center}

.event-page .path-copy{position:relative;flex:1;margin:0 1px 0;min-height:104px;padding:8px 4px;border:8px solid transparent;border-image:url('assets/frame-caption-clean.svg') 12/8px;background:radial-gradient(ellipse at 10% 40%,#b08a3b15,transparent 27%),#0b1912;grid-template-columns:46px minmax(0,1fr) 16px;gap:8px;z-index:1}

.event-page .path-copy h3{font:400 24px/1.05 var(--font-display);letter-spacing:0;color:#e8ca88;margin:0 0 6px}

.event-page .path-copy p{font:15px/1.25 var(--font-body);color:#e9e2d2}

.event-page .path-icon{display:grid;place-items:center;position:relative;width:46px;height:54px;color:#efd18a;background:none}

.event-page .path-icon:after{content:'';position:absolute;left:42%;top:43%;width:5px;height:8px;background:#ffe8a54d;box-shadow:0 0 6px 2px #ffd36e80;pointer-events:none}

.event-page .path-icon img{width:44px;height:48px;object-fit:contain;filter:drop-shadow(0 0 1px #ffe5a8b3) drop-shadow(0 1px 3px #edb94b66)}

.event-page .path-copy>.icon{width:20px;height:20px;color:#e5c47d;stroke-width:1.25}

/* 7 — each act is its own nine-slice framed cell, no shared horizontal-only rail. */

.event-page .act-rail a{display:grid;grid-template-columns:26px minmax(0,1fr);gap:9px;align-items:center;position:relative;min-height:64px;padding:11px 12px;border:0;background:#0a1612;color:#fff}

.event-page .act-rail a[aria-current]{background:linear-gradient(90deg,#b2934429,#0b1811);box-shadow:inset 0 0 17px #c9a65019;color:#fff}

.event-page .act-rail a:not([aria-current]){opacity:1}

.event-page .act-rail a[aria-current] .icon{width:28px;height:31px;filter:drop-shadow(0 0 2px #e5bd6a66);color:#f0d18a}

.event-page .act-rail small{display:block;font:12px/1.15 var(--font-body);color:#fff}

.event-page .act-rail strong{display:block;font:400 18px/1.1 var(--font-body);letter-spacing:0;margin-top:2px;color:#fff}

.event-page .act-rail a[aria-current] strong{font-size:22px;color:#fff;-webkit-text-stroke:.15px #fff}

.event-page .act-rail em{display:block;font:11px/1.15 var(--font-body);font-style:normal;color:#fff;margin-top:3px}

.event-page .rail-number{display:grid;place-items:center;color:#b9a680}.event-page .rail-number .icon{width:18px;height:22px;stroke-width:1.15}

/* 8 — folded map / skull / rolled manuscript / pouch, inset glowing selection. */

.halloween .act-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 0 18px;padding:0;border:0}

.halloween .act-tabs a{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;min-height:44px;padding:7px 12px;border:1px solid #8b7c54;border-radius:4px 4px 0 0;background:#0b1812;color:#d4c3a0;font:16px/1.2 var(--font-body);box-shadow:inset 0 1px 5px #dabf7d0c}

.halloween .act-tabs .icon{width:24px;height:24px;stroke-width:1.3;fill:#bda1661c}

.halloween .act-tabs [aria-selected=true]{color:#3e301b;border-color:#e5d29a;background:linear-gradient(105deg,#c4aa72,#efe2b8 50%,#bc9f66);box-shadow:inset 0 0 0 2px #f5e6ba66,inset 0 0 11px #fff2c64d,0 0 9px #e0bf6a35}

.halloween .act-tabs [aria-selected=true] .icon{fill:#4b381b16}

.halloween .act-tabs a:is(:hover,:focus-visible){border-color:#e6ca85;filter:brightness(1.07)}

.event-page .act-tabs{grid-column:1/-1;margin:0}

/* 9 — matching five-slot inventory row and illustrated Cera spotlight, truthful sources. */

.event-page .explorer-info{grid-column:2;grid-row:2;min-width:0;padding:0;color:#e1d7bf}

.event-page .explorer-info h3{font:400 28px/1.1 var(--font-display);letter-spacing:0;color:#ead49c;margin:0 0 9px}

.event-page .explorer-info>p{font:15px/1.35 var(--font-body);margin:0}

.event-page .explorer-info h4{font:16px/1.2 var(--font-display);color:#e7d19c;margin:15px 0 9px}

.event-page .drop-preview-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}

.event-page .drop-mini{display:grid;grid-template-rows:minmax(0,1fr);place-items:center;position:relative;min-width:0;height:57px;border:1px solid #b49a60;border-radius:2px;background:radial-gradient(ellipse,#26301b55,#08120f 75%);box-shadow:inset 0 0 0 2px #c9af6610;margin:0;padding:3px}

.event-page .drop-mini:before,.event-page .drop-mini:after{content:'';position:absolute;width:3px;height:3px;background:#ddc17d;top:-1px;left:-1px}

.event-page .drop-mini:after{left:auto;right:-1px;top:auto;bottom:-1px}

.event-page .drop-mini img{width:100%;height:100%;max-height:100%;object-fit:contain;min-width:0;min-height:0}

.event-page .drop-mini img.native-item{width:36px;height:36px;max-width:100%;image-rendering:pixelated}

.event-page .drop-mini:is(a:hover,a:focus-visible){background:#26311b;border-color:#e7cb87}

.event-page .explorer-info>.drop-provenance{font:11.5px/1.3 var(--font-body);color:#c5b995;margin:7px 0 0}

.event-page .material-spotlight{display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:9px;align-items:center;border:1px solid #a78e56;border-radius:3px;padding:8px;margin-top:10px;background:linear-gradient(110deg,#70602e16,#07140f)}

.event-page .material-spotlight img{width:46px;height:62px;object-fit:contain;border:1px solid #a78e56;border-radius:2px;padding:3px;background:radial-gradient(ellipse,#6a583329,#08130e 80%)}

.event-page .material-spotlight strong{display:block;font:15px/1.15 var(--font-display);color:#eee0bd}

.event-page .material-spotlight p{font:13px/1.3 var(--font-body);margin:5px 0 0;color:#d6ccaf}

.event-page .material-spotlight>span{font:15px/1.2 var(--font-body);color:#eed596;white-space:nowrap;text-align:center}.event-page .material-spotlight>span small{display:block;font:10px/1.2 var(--font-body);margin-bottom:3px;color:#d5c69d}

.event-page .explorer-info>.objectives-link{font-size:13px;min-height:36px;margin-top:5px}

/* 10–11 — pointed plaques and fine circular compass, numbers/list remain accessible. */

.halloween .map-pin{position:absolute;transform:translate(-50%,-65%);padding:0;background:transparent;min-width:44px;min-height:54px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ead29a;z-index:2}

.halloween .map-pin>span:not(.pin-label){display:grid;place-items:center;width:32px;height:32px;border:1px solid #b79a60;border-radius:50%;background:#14161cdd;box-shadow:0 2px 5px #0008}

.halloween .map-pin .icon{width:19px;height:19px;stroke-width:1.2}

.halloween .map-pin b{display:grid;place-items:center;width:17px;height:17px;background:#dfc27e;color:#231b0e;border-radius:50%;font:10px/1 var(--font-body);margin-top:-3px}

.halloween .map-pin[aria-expanded=true]>span:not(.pin-label){background:#c9ad6a;color:#18160d;box-shadow:0 0 10px #d9bc6566}

.event-page .compact-map .map-pin>.pin-label{position:absolute;bottom:calc(100% - 3px);left:50%;transform:translateX(-50%);width:max-content;max-width:180px;min-height:0;height:auto;border:7px solid transparent;border-image:url('assets/frame-plaque.svg') 8 fill/7px;padding:0 3px;font:13px/1.1 var(--font-body);color:#eee2c5;white-space:nowrap;pointer-events:none;box-shadow:0 2px 5px #0006}

.event-page .compact-map .pin-flores>.pin-label{top:31px;bottom:auto}

.halloween .map-zoomed .map-pin>.pin-label{visibility:hidden}

.halloween .map-compass,.event-page .compact-map .map-compass{position:absolute;top:10px;left:10px;width:50px;height:50px;pointer-events:none;opacity:.84;filter:drop-shadow(0 1px 2px #0008)}

.halloween .map-compass img{width:100%;height:100%}

@media(min-width:901px){.event-page .explorer{grid-template-columns:16% minmax(0,1fr)}}

@media(min-width:601px) and (max-width:1100px){

 .event-page .hero-content h1{font-size:66px}

 .event-page .story-copy h2{font-size:31px}

 .event-page .iris-art blockquote{width:47%;padding:16px 13px;font-size:14px}.event-page .iris-art cite{font-size:13px;left:-10px}

 .event-page .path-copy{grid-template-columns:38px minmax(0,1fr) 15px;gap:7px;padding:8px 4px}.event-page .path-icon{width:36px}.event-page .path-icon .icon{width:34px;height:34px}.event-page .path-copy h3{font-size:22px}.event-page .path-copy p{font-size:14px}

 .event-page .drop-preview-row{gap:4px}.event-page .drop-mini{height:49px}.event-page .material-spotlight{grid-template-columns:37px minmax(0,1fr);gap:6px}.event-page .material-spotlight>span{grid-column:2;text-align:left}.event-page .material-spotlight>span small{display:inline;margin-right:4px}

}

@media(max-width:900px){

 .halloween .act-stepper{width:92%;padding:0 0 8px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#b59a56 #06120d}

 .halloween .act-stepper ol,.event-page .act-stepper ol{width:100%;min-width:620px;min-height:94px}

 .event-page .act-rail a{min-width:137px;flex:none;min-height:78px}

}

@media(max-width:600px){

 .event-page .event-header:before,.event-page .event-header:after{width:31px;height:45px;opacity:.4}

 .event-page .hero-content h1{font-size:clamp(46px,13.5vw,66px);line-height:.96;max-width:100%}

 .event-page .actions{gap:8px;margin-top:20px;align-items:stretch;flex-wrap:nowrap}

 .event-page .actions .button{min-width:0;min-height:46px;flex:1;font-size:14px;padding:10px 9px;gap:6px}

 .event-page .story-copy h2{font-size:34px;max-width:260px}

 .event-page .iris-art blockquote{top:110px;width:47%;padding:16px 12px 19px;font-size:14px}.event-page .iris-art cite{font-size:14px;max-width:100%;width:auto;left:0;top:-37px}

 .event-page .path-copy{grid-template-columns:47px minmax(0,1fr) 18px;gap:10px;padding:12px 7px}.event-page .path-copy h3{font-size:27px}.event-page .path-copy p{font-size:16px}

 .event-page .act-rail strong{font-size:18px}.event-page .act-rail a[aria-current] strong{font-size:22px}

 .halloween .act-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:16px}

 .halloween .act-tabs a{font-size:15px;padding:8px;gap:7px}

 .event-page .act-tabs{margin-bottom:0}

 .event-page .explorer-info{grid-column:1;grid-row:3;border-top:1px solid #99804b;padding-top:16px;margin-top:4px}

 .event-page .explorer-info h3{font-size:30px}.event-page .explorer-info>p{font-size:16px;line-height:1.4}.event-page .explorer-info h4{font-size:18px}

 .event-page .drop-preview-row{gap:7px}.event-page .drop-mini{height:58px}.event-page .explorer-info>.drop-provenance{font-size:12px}

 .event-page .material-spotlight{grid-template-columns:44px minmax(0,1fr) auto;padding:9px}.event-page .material-spotlight strong{font-size:15px}.event-page .material-spotlight p{font-size:13px}

 .event-page .compact-map .map-pin>.pin-label{font-size:11px;max-width:150px;padding-inline:1px}

 .halloween .map-compass,.event-page .compact-map .map-compass{width:36px;height:36px;top:7px;left:7px}

}

@media(max-width:359px){

 .event-page .hero-content h1{font-size:46px}.event-page .actions{flex-direction:column;max-width:220px}.event-page .actions .button{flex:none;min-width:0}

 .event-page .iris-art blockquote{width:47%;padding:14px 10px;font-size:13px}

 .event-page .drop-preview-row{gap:5px}.event-page .drop-mini{height:51px}.event-page .material-spotlight{gap:6px;padding:7px}.event-page .material-spotlight>span{font-size:13px}

}

@media(prefers-reduced-motion:reduce){.event-page .actions .button{transition:none}}



/* 25 Oct: selected chapters, fuller portrait and authored icon motion. */

.halloween .signal-motes{position:absolute;inset:-6px;pointer-events:none;display:none;z-index:1}

.halloween .signal-motes i{position:absolute;left:5%;bottom:3%;width:2px;height:2px;border-radius:50%;background:#ffe3a0;box-shadow:0 0 4px #e7b954;opacity:0;animation:signal-rise 3.6s ease-out infinite}

.halloween .signal-motes i:nth-child(2){left:92%;bottom:18%;animation-delay:-1.1s}

.halloween .signal-motes i:nth-child(3){left:20%;bottom:0;animation-delay:-2.5s;width:1px;height:3px}

.halloween .signal-motes i:nth-child(4){left:78%;bottom:0;animation-delay:-.5s;width:1px;height:1px}

.halloween .current .signal-motes,.halloween .act-rail [aria-current]>.signal-motes,.halloween .path-icon>.signal-motes{display:block}

@keyframes signal-rise{0%{opacity:0;transform:translate(0,4px)}20%{opacity:.8}65%{opacity:0;transform:translate(3px,-24px)}100%{opacity:0;transform:translate(4px,-30px)}}

.halloween .step-number{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;width:44px;height:44px;font-variant-numeric:tabular-nums}

.halloween .step-value{position:relative;z-index:2;display:block;font:700 18px/1 var(--font-body)}

.halloween .step-number:after{content:'';position:absolute;inset:-7px;pointer-events:none;background:url('assets/frame-step-circle.svg') center/100% 100% no-repeat;opacity:.8}

.halloween .act-stepper ol:before{top:22px}

.halloween .act-stepper ol:after{top:10px}

.halloween .act-stepper .current .step-number{color:#fff0ba;background:radial-gradient(circle,#7e69343d,#0a180f 72%);border-color:#ffe6a5;box-shadow:inset 0 0 12px #d5b35b26,0 0 7px #f3d58c99,0 0 21px #b58c4473}

.halloween .act-stepper .current .step-number:after{opacity:1;filter:drop-shadow(0 0 2px #e4b85873)}

.event-page .act-stepper{isolation:isolate;padding-top:10px;padding-bottom:20px}

.event-page .act-stepper:before{content:'';position:absolute;inset:-80px 0 0;z-index:-1;background:linear-gradient(180deg,#06120d00,#06120db8 42%,#06120dfa 78%);pointer-events:none}

.event-page .preview-tag{background:transparent;position:relative;z-index:5}

.event-page .story{z-index:5;min-height:460px}

.event-page .iris-art{min-height:460px;overflow:visible}

.event-page .iris-art>.portrait{inset:-43px 30% 0 -15%;height:auto;max-height:none;overflow:visible;z-index:0}

.event-page .iris-art .portrait img{height:100%;width:100%;object-fit:contain;object-position:center bottom}

.event-page .iris-art blockquote{z-index:2;width:43%;min-width:190px;max-width:280px;top:72px;padding:10px 12px 12px}

.event-page .iris-art blockquote:before{width:28px;height:24px;left:-39px;top:25px;background-image:url('assets/speech-pointer-straight.svg')}

.event-page .iris-art blockquote:after{width:20px;height:25px;right:-21px;top:calc(50% - 12px);bottom:auto}

.event-page .iris-art cite{font:700 17px/1.25 var(--font-body);color:#fff8e9;top:-46px;left:-24px;width:260px;max-width:135%;text-shadow:0 2px 5px #000b}

.event-page .path-icon .game-icon{width:42px;height:46px;color:#f4d88e;filter:drop-shadow(0 0 1px #ffe9b699) drop-shadow(0 1px 3px #e0b64f66)}

.event-page .path-icon:after{width:3px;height:4px;box-shadow:0 0 5px 1px #e6b94d66;background:#fce5a433}

.event-page .act-rail a{background:#0a1612}

.event-page .act-rail a:before{content:'';position:absolute;inset:0;border:10px solid transparent;border-image:url('assets/frame-act-clean.svg') 12/10px;pointer-events:none;z-index:2}

.event-page .act-rail a[aria-current]{background:radial-gradient(ellipse at 23% 50%,#8f743b3b,#0b1811 78%);background-color:#0b1811;box-shadow:inset 0 0 12px #d7b75d17,0 0 10px #c5a14c26}

.event-page .act-rail a[aria-current]:before{filter:brightness(1.25) drop-shadow(0 0 2px #dab75a33)}

.event-page .act-rail a>.signal-motes{inset:3px 8px}

.event-page .act-view{row-gap:32px}

.event-page .compact-map{position:relative}

.event-page .compact-map .map-disclaimer{position:absolute;bottom:100%;left:0;width:100%;font-size:12px;line-height:1.35;margin:0 0 5px}

.halloween .game-icon{fill:currentColor;stroke:none;overflow:visible;flex:none}

.halloween .act-tabs .game-icon{fill:currentColor;stroke:none;width:25px;height:25px}

.halloween .act-tabs [aria-selected=true] .game-icon{fill:currentColor}

/* Home VII rhythm: two seconds of contextual SVG motion, then two at rest. */

.halloween :where(.icon .icon-motion){animation-duration:4s;animation-timing-function:var(--ease-in-out,ease-in-out);animation-iteration-count:infinite;transform-box:fill-box;transform-origin:center}

.halloween .file-sheet{transform-origin:center bottom;animation-name:sheet-fan}

.halloween .sheet-1{--sheet-angle:-8deg;--sheet-rise:-10px}

.halloween .sheet-2{--sheet-angle:4deg;--sheet-rise:-19px;animation-name:sheet-middle}

.halloween .sheet-3{--sheet-angle:6deg;--sheet-rise:-7px}

.halloween .clash-left{transform-origin:256px 256px;transform-box:view-box;animation-name:blade-left}

.halloween .clash-right{transform-origin:256px 256px;transform-box:view-box;animation-name:blade-right}

.halloween .clash-sparks{transform-origin:256px 256px;transform-box:view-box;animation-name:clash-impact}

.halloween .note-paper{transform-origin:right top;animation-name:note-flutter}

.halloween .note-dagger{animation-name:dagger-pin}

.halloween .compass-needle{transform-box:view-box;transform-origin:256px 256px;animation-name:needle-seek}

.halloween .skull-jaw{animation-name:jaw-open}

.halloween .skull-eyelids{opacity:0;animation-name:skull-blink}

.halloween .map-trail{animation-name:route-trace}

.halloween .trail-1{animation-name:route-trace-b}

.halloween .trail-2{animation-name:route-trace-c}

.halloween .trail-3{animation-name:route-trace-d}

.halloween .map-destination{animation-name:destination-mark}

.halloween .bag-ribbons{transform-origin:center bottom;animation-name:ribbon-sway}

.halloween .bag-body{transform-origin:center top;animation-name:bag-settle}

.halloween .icon-bell .bell-housing{transform-box:view-box;transform-origin:12px 3px;animation-name:bell-ring}

.halloween .bell-clapper{animation-name:clapper-ring}

.halloween .candle-flame{transform-origin:center bottom;animation-name:flame-flicker}

.halloween .ghost-body{animation-name:ghost-float}

.halloween .ghost-eyes{animation-name:ghost-blink}

.halloween .page-lines{animation-name:page-read}

.halloween .map-folds{animation-name:fold-map}

.halloween :is(.icon-spark,.icon-investigate)>.icon-motion{animation-name:small-spark}

.halloween .icon-lock>.icon-motion{transform-origin:center bottom;animation-name:lock-rattle}

.halloween .icon-swords>.icon-motion{animation-name:small-spark}

/* Utility symbols respond to their control, without competing with the story. */

.halloween :is(a,button):is(:hover,:focus-visible) :is(.icon-arrow,.icon-chevron)>.icon-motion{animation-name:arrow-forward}

.halloween :is(a,button):is(:hover,:focus-visible) .icon-back>.icon-motion{animation-name:arrow-back}

.halloween button:is(:hover,:focus-visible) :is(.icon-plus,.icon-minus,.icon-close,.icon-menu,.icon-pause)>.icon-motion,

.halloween a:is(:hover,:focus-visible) .icon-user>.icon-motion{animation-name:control-acknowledge}

@keyframes sheet-fan{0%,50%,100%{transform:none}14%{transform:translateY(var(--sheet-rise)) rotate(var(--sheet-angle))}30%{transform:translateY(2px) rotate(1deg)}42%{transform:translateY(-2px)}}

@keyframes sheet-middle{0%,50%,100%{transform:none}22%{transform:translateY(var(--sheet-rise)) rotate(var(--sheet-angle))}36%{transform:translateY(3px) rotate(-1deg)}}

@keyframes blade-left{0%,50%,100%{transform:none}12%{transform:rotate(-9deg)}24%{transform:rotate(4deg)}34%{transform:rotate(-2deg)}}

@keyframes blade-right{0%,50%,100%{transform:none}12%{transform:rotate(9deg)}24%{transform:rotate(-4deg)}34%{transform:rotate(2deg)}}

@keyframes clash-impact{0%,50%,100%{transform:none;opacity:1}13%{transform:scale(.7);opacity:.25}24%{transform:scale(1.15);opacity:1}36%{transform:scale(.95);opacity:.7}}

@keyframes note-flutter{0%,50%,100%{transform:none}16%{transform:skewX(-2deg) scaleY(.98)}32%{transform:skewX(1deg)}}

@keyframes dagger-pin{0%,50%,100%{transform:none}12%{transform:translate(8px,-12px)}24%{transform:translate(-2px,3px)}36%{transform:translate(1px,-2px)}}

@keyframes needle-seek{0%,50%,100%{transform:none}12%{transform:rotate(-24deg)}27%{transform:rotate(18deg)}39%{transform:rotate(-6deg)}}

@keyframes jaw-open{0%,50%,100%{transform:none}18%{transform:translateY(12px)}32%{transform:translateY(4px)}40%{transform:translateY(8px)}}

@keyframes skull-blink{0%,12%,30%,50%,100%{opacity:0}20%{opacity:.85}}

@keyframes route-trace{0%,50%,100%{opacity:1}9%{opacity:.18}18%{opacity:1}}

@keyframes route-trace-b{0%,50%,100%{opacity:1}17%{opacity:.18}26%{opacity:1}}

@keyframes route-trace-c{0%,50%,100%{opacity:1}25%{opacity:.18}34%{opacity:1}}

@keyframes route-trace-d{0%,50%,100%{opacity:1}33%{opacity:.18}42%{opacity:1}}

@keyframes destination-mark{0%,50%,100%{transform:none;opacity:1}39%{transform:scale(.9);opacity:.2}45%{transform:scale(1.04);opacity:1}}

@keyframes ribbon-sway{0%,50%,100%{transform:none}12%{transform:rotate(-7deg)}26%{transform:rotate(6deg)}38%{transform:rotate(-2deg)}}

@keyframes bag-settle{0%,50%,100%{transform:none}16%{transform:scale(1.03,.96)}29%{transform:scale(.99,1.02)}40%{transform:scale(1.01,.99)}}

@keyframes bell-ring{0%,50%,100%{transform:none}10%{transform:rotate(-8deg)}22%{transform:rotate(7deg)}34%{transform:rotate(-3deg)}43%{transform:rotate(1deg)}}

@keyframes clapper-ring{0%,50%,100%{transform:none}12%{transform:translateX(1px)}24%{transform:translateX(-1px)}36%{transform:translateX(.5px)}}

@keyframes flame-flicker{0%,50%,100%{transform:none;opacity:1}12%{transform:skewX(-7deg) scale(.9,1.08);opacity:.75}25%{transform:skewX(5deg) scale(1.06,.94);opacity:1}38%{transform:skewX(-3deg);opacity:.85}}

@keyframes ghost-float{0%,50%,100%{transform:none}20%{transform:translateY(-1px)}36%{transform:translateY(.3px)}}

@keyframes ghost-blink{0%,12%,30%,50%,100%{transform:none}20%{transform:scaleY(.2)}}

@keyframes page-read{0%,50%,100%{opacity:1}18%{opacity:.35}36%{opacity:1}}

@keyframes fold-map{0%,50%,100%{transform:none}18%{transform:scaleX(.9)}34%{transform:scaleX(1.04)}}

@keyframes small-spark{0%,50%,100%{transform:none;opacity:1}18%{transform:scale(.87);opacity:.6}34%{transform:scale(1.06);opacity:1}}

@keyframes lock-rattle{0%,50%,100%{transform:none}16%{transform:rotate(-3deg)}26%{transform:rotate(3deg)}36%{transform:rotate(-1deg)}}

@keyframes arrow-forward{0%,50%,100%{transform:none}24%{transform:translateX(2px)}}

@keyframes arrow-back{0%,50%,100%{transform:none}24%{transform:translateX(-2px)}}

@keyframes control-acknowledge{0%,50%,100%{transform:none}24%{transform:scale(.92)}}



@media(min-width:601px) and (max-width:1100px){

 .event-page .story{min-height:430px}.event-page .iris-art{min-height:430px}

 .event-page .iris-art>.portrait{inset:-36px 29% 0 -24%}

 .event-page .iris-art blockquote{width:43%;min-width:174px;padding:9px 10px;font-size:13px}

 .event-page .iris-art cite{font-size:16px;left:-15px}

 .event-page .act-view{row-gap:48px}

 .event-page .path-icon .game-icon{width:35px;height:40px}

}

@media(max-width:900px){

 .halloween .act-stepper{padding-top:10px;padding-bottom:14px}

 .halloween .act-stepper ol,.event-page .act-stepper ol{min-height:104px}

 .event-page .act-rail a{padding:11px 12px}

}

@media(max-width:600px){

 .event-page .story{min-height:0}

 .event-page .story-copy{padding-top:24px}

 .event-page .iris-art{min-height:420px;margin-top:28px}

 .event-page .iris-art>.portrait{inset:-28px 23% 0 -12%;height:auto;max-height:none;overflow:visible}

 .event-page .iris-art blockquote{top:90px;width:46%;min-width:0;padding:12px 9px 15px;font-size:13px}

 .event-page .iris-art cite{font-size:15px;left:auto;right:0;top:-53px;max-width:none;width:180px}

 .event-page .path-icon .game-icon{width:42px;height:46px}

 .event-page .act-view{row-gap:10px}

 .event-page .compact-map .map-disclaimer{position:static;margin:0 0 7px}

}

@media(prefers-reduced-motion:reduce){.halloween .signal-motes{display:none!important}.halloween .icon .icon-motion{animation:none!important}}

.halloween.motion-paused .signal-motes{display:none!important}

.halloween.motion-paused .icon .icon-motion{animation-play-state:paused!important}

.halloween.page-hidden .signal-motes i,.halloween.page-hidden .icon .icon-motion{animation-play-state:paused}



/* 25 Oct — connected act rail and local map point exploration. */

@media(min-width:901px){

 .event-page .act-rail{position:relative;justify-content:space-between;gap:8px;height:var(--rail-map-height,auto);align-self:start}

 .event-page .act-rail:before{content:'';position:absolute;left:calc(50% - 5px);top:20px;bottom:20px;width:1px;background:#ad9054;opacity:.7;pointer-events:none}

 .event-page .act-rail a{z-index:1;flex:none}

}

@media(min-width:901px) and (max-width:1100px){

 .event-page .act-rail a{padding:7px;min-height:55px;gap:4px;grid-template-columns:18px minmax(0,1fr)}

 .event-page .act-rail a[aria-current] .icon{width:22px;height:25px}

 .event-page .act-rail strong{font-size:16px}.event-page .act-rail a[aria-current] strong{font-size:20px}

 .event-page .act-rail small{font-size:11px}.event-page .act-rail em{font-size:10px}

}

.halloween .map-viewport>.zoom-controls,.event-page .compact-map .map-viewport>.zoom-controls{position:absolute;right:8px;bottom:8px;z-index:8;margin:0;background:#07150feF;border-color:#b69a5e;box-shadow:0 3px 10px #0007}

.halloween .map-point-overlay{display:grid;gap:12px}

.halloween .map-point-scrim,.halloween .map-point-close{display:none}

.halloween .map-point-dialog{color:#eee4cc;background:#0c1d13;border:1px solid #b69a5e;padding:18px 16px;border-radius:3px}

.halloween .map-point-dialog h3{font:400 24px/1.1 var(--font-display);color:#f0d598;margin:0 0 10px}

.halloween .map-point-dialog p{font:14px/1.45 var(--font-body);margin:0}

.halloween .map-point-dialog article+article{margin-top:20px}

html:not(.js) .halloween .map-viewport{display:block;aspect-ratio:auto}

html:not(.js) .halloween .map-point-overlay{margin:12px 0 60px}

.js .halloween .map-point-overlay{position:absolute;inset:0;z-index:6;display:flex;align-items:center;justify-content:center;padding:12px 12px 60px}

.js .halloween .map-point-scrim{position:absolute;display:block;inset:0;width:100%;height:100%;padding:0;background:#020d08bd;cursor:pointer;animation:point-shade-in 240ms ease-out both}

.js .halloween .map-point-dialog{position:relative;z-index:1;width:min(380px,100%);max-height:100%;overflow:auto;scrollbar-width:thin;scrollbar-color:#ad9054 #07150f;box-shadow:0 8px 24px #0008;animation:point-card-in 260ms var(--ease-out) both}

.js .halloween .map-point-dialog h3{padding-right:28px}

.js .halloween .map-point-dialog article+article{margin-top:0}

.js .halloween .map-point-close{position:absolute;display:grid;place-items:center;top:2px;right:2px;min-width:38px;min-height:38px;padding:0;background:none;color:#e9cd8c}

.halloween .map-point-close:hover,.halloween .map-point-close:focus-visible{color:#fff0ba;background:#25402a}

.halloween .map-point-close .icon{width:19px;height:19px}

.halloween .map-art{transition:transform 380ms var(--ease-out)}

@keyframes point-shade-in{from{opacity:0}to{opacity:1}}

@keyframes point-card-in{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}

@media(max-width:600px){

 .halloween .map-lettering{bottom:58px}

 .js .halloween .map-point-overlay{padding:8px 8px 58px}

 .js .halloween .map-point-dialog{padding:14px 12px}

 .halloween .map-point-dialog h3{font-size:22px}.halloween .map-point-dialog p{font-size:13px;line-height:1.4}

}

@media(prefers-reduced-motion:reduce){.halloween .map-art,.halloween .map-point-dialog,.halloween .map-point-scrim{transition:none;animation:none}}



.halloween .icon.is-offscreen .icon-motion{animation-play-state:paused!important}


/* Closing callout and navigation use the secondary face. */
.halloween .calendar-note h2{font-family:var(--font-body);font-weight:400}

/* Diary: closer portrait group, readable copy, and content-sized speech. */
.event-page .story-copy h2{font-size:clamp(38px,2.2vw,44px);line-height:1.08}
.event-page .story-copy>p:not(.eyebrow){font-size:clamp(18px,1.05vw,20px);line-height:1.5;max-width:32ch}
.event-page .iris-art{transform:translateX(clamp(-48px,-2.5vw,-24px))}
.event-page .iris-art>.portrait{bottom:-32px;overflow:visible;clip-path:inset(0 -100px 32px -100px)}
.event-page .iris-art .portrait img{transform:scale(1.14);transform-origin:center top}
.event-page .iris-art blockquote{width:fit-content;min-width:0;max-width:min(30ch,48%);height:auto;min-height:0;font-size:16px;line-height:1.4;padding:12px 14px}
.event-page .iris-art cite{font:inherit;color:inherit;font-style:normal;top:auto;bottom:calc(100% + 12px);left:0;right:auto;width:max-content;max-width:100%;text-shadow:none}
.event-page .iris-art cite strong{font-weight:700}
.event-page .iris-art cite span{font:inherit;color:inherit}
@media(min-width:601px) and (max-width:1100px){
 .event-page .iris-art{transform:translateX(-16px)}
 .event-page .iris-art blockquote{max-width:48%;font-size:15px;padding:10px 11px}
 .event-page .story-copy h2{font-size:36px}
}
@media(max-width:600px){
 .event-page .story-copy h2{font-size:36px}
 .event-page .story-copy>p:not(.eyebrow){font-size:18px;max-width:34ch}
 .event-page .iris-art{transform:none;margin-top:20px}
 .event-page .iris-art blockquote{max-width:46%;font-size:14px;padding:10px 9px}
 .event-page .iris-art cite{max-width:100%;font-size:inherit}
}

@media(min-width:1101px) and (max-width:1450px){.event-page .iris-art{transform:translateX(-4px)}.event-page .story-copy>p:not(.eyebrow){max-width:25ch}}
