:root { color-scheme:dark; --ss-bg:#101214; --ss-ink:#f2f0eb; --ss-muted:#c2c6c3; --ss-red:#bc343d; --ss-pale:#edb9b9; --sans:Inter,system-ui,sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--ss-bg); color:var(--ss-ink); font:16px/1.65 var(--sans); }
body::before,body::after { content:none; }
h1,h2,h3,p,figure,dl,dd { margin:0; }
h1,h2,h3 { font-family:Georgia,serif; font-weight:500; line-height:1.07; letter-spacing:0; text-wrap:balance; }
h2 { font-size:40px; } h3 { font-size:26px; }
a { color:inherit; } img { display:block; max-width:100%; }
:focus-visible { outline:3px solid #f2ca84; outline-offset:5px; }
.ss-wrap { width:min(1280px,100% - 48px); margin-inline:auto; }
.ss-kicker { color:var(--ss-pale); font:700 12px/1.6 var(--sans); text-transform:uppercase; }
.ss-back { display:inline-flex; min-height:44px; align-items:center; margin-bottom:12px; color:var(--ss-muted); font-size:14px; font-weight:700; text-underline-offset:5px; }
.ss-series { font:500 16px/1.4 var(--sans); color:var(--ss-muted); margin-top:22px; }
.ss-hero { position:relative; isolation:isolate; background:linear-gradient(108deg,#151718 0 55%,#1d1719 100%); border-bottom:1px solid #694348; overflow:hidden; }
.ss-hero-inner { position:relative; min-height:650px; padding-block:48px; }
.ss-hero-copy { position:relative; z-index:2; width:55%; max-width:670px; }
.ss-hero h1 { margin:12px 0 22px; font-size:96px; }
.ss-hook { max-width:31ch; font:26px/1.3 Georgia,serif; color:#e3bab8; }
.ss-intro { max-width:490px; margin-top:18px; color:#e0e2df; }

.ss-actions { display:flex; align-items:center; flex-wrap:wrap; gap:14px 24px; margin-top:26px; }
.ss-button { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:50px; padding:12px 24px; background:#b9343d; color:#fff; border:1px solid #df7379; border-radius:3px; font-weight:750; text-decoration:none; white-space:nowrap; }
.ss-button:hover { background:#98252e; }
.ss-text-link { display:inline-flex; align-items:center; min-height:44px; font-weight:650; text-underline-offset:5px; text-decoration-thickness:1px; }
.ss-reassurance,.ss-small { color:var(--ss-muted); font-size:14px; margin-top:18px; }
.ss-booking-strip { background:#222629; }
.ss-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:26px 0; gap:24px; }
.ss-facts dt { font-size:12px; color:#c3c7c7; text-transform:uppercase; font-weight:650; }
.ss-facts dd { font-size:17px; font-weight:700; margin-top:6px; }
.ss-venue { border-top:1px solid #4b4d4e; display:flex; justify-content:space-between; gap:20px; align-items:center; padding:18px 0; }
.ss-venue strong,.ss-venue span { display:block; }.ss-venue span { color:var(--ss-muted); font-size:14px; }
.ss-section { padding:76px 0; border-bottom:1px solid #373b3d; }
.ss-section-heading { max-width:770px; }.ss-section-heading h2 { margin:12px 0 22px; }.ss-section-heading>p:last-child { max-width:640px; color:var(--ss-muted); }
.ss-three { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:42px; margin-top:46px; }
.ss-three article { border-top:1px solid #704246; padding-top:18px; }.ss-number { color:#d4aaa8; font-size:12px; text-transform:uppercase; }.ss-three h3 { margin:14px 0; }.ss-three p { color:var(--ss-muted); }
.ss-experience .ss-wrap { position:relative; z-index:2; }


.ss-characters { background:#e9eae6; color:#202826; }.ss-characters .ss-kicker { color:#8c2931; }.ss-characters .ss-section-heading>p:last-child { color:#454e49; }
.ss-cast { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:20px; margin-top:30px; }.ss-cast img { width:100%; height:280px; object-fit:contain; object-position:center bottom; }.ss-cast figcaption { border-top:1px solid #b8bfba; padding:14px 0; margin-top:12px; font:600 17px/1.25 Georgia,serif; text-align:center; }
.ss-character-note { display:flex; justify-content:space-between; align-items:center; gap:32px; border-top:1px solid #b8bfba; padding-top:24px; margin-top:10px; }.ss-character-note p { max-width:720px; }.ss-character-note a { flex-shrink:0; }
.ss-two { display:grid; grid-template-columns:1fr 1fr; gap:72px; }.ss-two h2 { margin:12px 0 24px; }.ss-two p { margin-bottom:18px; }.ss-host { display:grid; grid-template-columns:140px minmax(0,1fr); gap:24px; align-content:start; }.ss-host>img { width:140px; height:180px; object-fit:cover; border-radius:3px; }.ss-host h3 { margin-bottom:18px; }.ss-host p { color:var(--ss-muted); }
details { border-top:1px solid #525757; padding:0; margin-top:16px; }summary { cursor:pointer; min-height:56px; padding:16px 0; font-weight:700; }details p { padding-bottom:16px; color:var(--ss-muted); }details p:last-child { margin:0; }.ss-faq-layout { display:grid; grid-template-columns:1fr 1.5fr; gap:64px; }.ss-faq-layout h2 { margin-top:12px; }.ss-faq details:first-of-type { margin-top:0; }.ss-faq details { margin-top:0; }
.ss-final { padding:76px 0 56px; background:linear-gradient(105deg,#23171a 0 60%,#181416 100%); }.ss-final h2 { margin:14px 0 22px; font-size:52px; }.ss-poster { max-width:420px; margin-top:36px; }.ss-poster img { width:100%; height:auto; }
@media(max-width:1000px) { .ss-hero h1 { font-size:76px; }.ss-hero-inner { min-height:620px; }.ss-three { gap:24px; }.ss-two { gap:36px; }.ss-host { grid-template-columns:100px minmax(0,1fr); }.ss-host img { width:100px; height:140px; }.ss-cast img { height:220px; }.ss-character-note { display:block; }.ss-character-note a { margin-top:12px; } }

@media(max-width:700px) { .ss-wrap { width:calc(100% - 36px); }h2 { font-size:32px; }h3 { font-size:24px; }.ss-hero-inner { padding:30px 0 0; min-height:0; }.ss-hero-copy { width:100%; max-width:none; }.ss-hero h1 { font-size:62px; margin:10px 0 20px; }.ss-series { margin-top:16px; font-size:14px; }.ss-hook { font-size:23px; }.ss-intro { font-size:16px; }.ss-reassurance { max-width:32ch; }.ss-facts { grid-template-columns:1fr 1fr; gap:20px 14px; }.ss-facts dd { font-size:15px; }.ss-venue { align-items:flex-start; flex-direction:column; gap:8px; }.ss-booking-strip { padding-bottom:72px; }.ss-section { padding:48px 0; }.ss-experience,.ss-comfort { padding-bottom:92px; }.ss-three,.ss-two,.ss-faq-layout { grid-template-columns:1fr; gap:30px; }.ss-three { margin-top:28px; }.ss-cast { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }.ss-cast img { height:230px; }.ss-cast figure:last-child { grid-column:1 / -1; width:calc(50% - 9px); justify-self:center; }.ss-host { grid-template-columns:100px minmax(0,1fr); gap:18px; }.ss-final { padding:48px 0 100px; }.ss-final h2 { font-size:36px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }*,*::before,*::after { animation:none!important; transition:none!important; } }

/* October 17 player preparation: page-local guidance and navigation. */
.ss-page-nav { background:#171719; border-bottom:1px solid #464047; }
.ss-page-nav .ss-wrap { display:flex; gap:12px 30px; flex-wrap:wrap; padding-block:10px; }
.ss-page-nav a { min-height:44px; display:inline-flex; align-items:center; font-size:14px; font-weight:650; color:#dfcec9; text-decoration:none; }
.ss-page-nav a:hover { color:#fff; text-decoration:underline; text-underline-offset:6px; }
section[id],.ss-custom-guide,.ss-roster-heading { scroll-margin-top:110px; }
.ss-character-paths { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:36px; padding-bottom:38px; border-bottom:1px solid #aab3ac; }
.ss-character-paths article { border-top:3px solid #772831; padding-top:20px; }
.ss-path-label { color:#71303a; font-size:13px; font-weight:750; }
.ss-character-paths h3 { margin:10px 0 14px; }.ss-character-paths p { color:#454e49; }
.ss-character-paths .ss-text-link { margin-top:12px; color:#6a222c; }
.ss-roster-heading { margin-top:34px; }.ss-roster-heading p { margin-top:12px; color:#454e49; max-width:70ch; }
.ss-custom-guide { max-width:920px; margin-top:38px; padding-top:28px; border-top:1px solid #aab3ac; }
.ss-custom-summary { margin:16px 0; color:#454e49; }
.ss-custom-guide details { border-color:#aab3ac; }.ss-custom-guide details p { color:#454e49; padding:0; margin:0 0 18px; }
.ss-detail-body { padding:4px 0 10px; }.ss-detail-body a { color:#6a222c; }
.ss-custom-guide summary { display:flex; align-items:center; justify-content:space-between; gap:20px; list-style:none; }
.ss-custom-guide summary::-webkit-details-marker { display:none; }
.ss-custom-guide summary::after { content:'+'; font-size:25px; font-weight:400; }.ss-custom-guide details[open] summary::after { content:'−'; }
.ss-updates { background:#21181c; border-block:1px solid #624047; }
.ss-updates-inner { display:grid; grid-template-columns:1fr 1.4fr; gap:64px; }
.ss-updates h2 { margin-top:14px; }.ss-updates p+p { margin-top:20px; }.ss-updates-inner>div:last-child>p { color:#d6cec9; }
.ss-update-reassurance { border-left:3px solid #c48d86; padding-left:20px; }.ss-updates a { margin-top:16px; }
@media(max-width:700px) { .ss-page-nav .ss-wrap { gap:0 24px; }.ss-character-paths,.ss-updates-inner { grid-template-columns:1fr; gap:30px; }.ss-character-paths { margin-top:28px; padding-bottom:28px; }section[id],.ss-custom-guide,.ss-roster-heading { scroll-margin-top:80px; } }

.ss-session-update { max-width:950px; margin:0 0 28px; padding:18px 22px; background:#2d2226; color:#e9d6d1; font-size:15px; border:1px solid #8a5d65; }
.ss-listing-link { margin-top:4px; font-size:14px; color:#d9bbb5; }
::selection { background:#862e3a; color:#fff5ed; }
.ss-characters ::selection { background:#71303a; color:#fff; }
.ss-update-reassurance { border-left:0; border-top:1px solid #a77c77; padding:18px 0 0; }

/* Invitation and final portrait: two deliberate claw contact points. */
.ss-hero-inner { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:58px; align-items:center; padding-block:52px 64px; }
.ss-hero-copy { width:100%; }
.ss-invitation { position:relative; isolation:isolate; padding:108px 16px 22px; margin-top:12px; min-width:0; }
.ss-invitation-paper { position:relative; z-index:2; background:#f0ebdc url('assets/invitation-paper.png') center/cover; color:#29251f; padding:115px 24px 32px; text-align:center; box-shadow:4px 18px 36px #0006; transform:rotate(2deg); border:1px solid #cdbd9c; }
.ss-invitation-kicker { font-size:11px; text-transform:uppercase; letter-spacing:.16em; }
.ss-invitation-month { font:22px/1.4 Georgia,serif; text-transform:uppercase; letter-spacing:.16em; margin-top:26px; }
.ss-invitation-date { font:132px/.95 Georgia,serif; color:#822d24; margin-top:8px; }
.ss-invitation-rule { display:block; width:56px; border-top:1px solid #927b59; margin:20px auto; }
.ss-invitation-time { font:23px/1.35 Georgia,serif; }
.ss-invitation-place { margin-top:16px; font-size:16px; line-height:1.5; }
.ss-invitation-note { margin-top:14px; font-size:13px; color:#5b4c3a; }
.ss-invitation-signature { font:italic 19px/1.4 Georgia,serif; margin-top:24px; }
.ss-invitation-claw { position:absolute; width:310px; height:auto; right:-12px; top:-15px; pointer-events:none; filter:drop-shadow(1px 7px 4px #0006); transform-origin:88% 35%; }
.ss-invitation-claw-back { z-index:1; }.ss-invitation-claw-front { z-index:3; }
.ss-final { padding:64px 0 40px; }
.ss-finale-layout { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:56px; align-items:center; }
.ss-final-art { position:relative; isolation:isolate; min-width:0; width:100%; max-width:480px; justify-self:end; }
.ss-finale-character { width:85%; height:auto; margin-left:auto; position:relative; z-index:1; }
.ss-shoulder-claw { position:absolute; z-index:2; width:58%; height:auto; left:-7%; top:0; transform:scaleX(-1) rotate(8deg); filter:drop-shadow(1px 5px 3px #0008); pointer-events:none; }
@media(max-width:1000px) { .ss-hero-inner { gap:30px; }.ss-invitation { padding-inline:8px; }.ss-invitation-paper { padding-inline:16px; }.ss-invitation-time { font-size:20px; }.ss-invitation-claw { width:260px; right:-10px; }.ss-finale-layout { gap:26px; } }
@media(max-width:700px) { .ss-hero-inner,.ss-finale-layout { grid-template-columns:1fr; gap:24px; }.ss-hero-inner { padding-block:30px 36px; }.ss-invitation { width:min(420px,100%); margin:0 auto; padding:100px 10px 18px; }.ss-invitation-claw { width:260px; right:-3px; }.ss-invitation-paper { padding-top:110px; }.ss-invitation-date { font-size:116px; }.ss-final { padding:48px 0 0; }.ss-final-art { width:min(380px,90%); justify-self:center; margin-top:10px; }.ss-shoulder-claw { left:-7%; }.ss-poster { margin-top:28px; } }

.ss-damaged { position:relative; overflow:hidden; }.ss-damaged>.ss-wrap { position:relative; z-index:4; }

/* Restore the reference's torn roots, stained paper and atmospheric damage. */
.ss-invitation-claw-back,.ss-shoulder-claw { aspect-ratio:495/378; }
.ss-arm-opening { position:absolute; z-index:-1; width:34%; height:90%; right:-7%; top:-15%; max-width:none; filter:brightness(.3) sepia(.3); }
.ss-invitation-claw-back>img:not(.ss-arm-opening),.ss-shoulder-claw>img:not(.ss-arm-opening) { width:100%; }
.ss-invitation-paper { background-image:url('assets/horror-blood-mist.png'),url('assets/invitation-paper.png'); background-position:left bottom,center; background-size:43% auto,cover; background-repeat:no-repeat; }
.ss-invitation-paper::after { content:""; position:absolute; top:0; left:0; width:90px; height:150px; background:url('assets/horror-blood-drip.png') top left/contain no-repeat; opacity:.88; pointer-events:none; }
.ss-hero { background:linear-gradient(108deg,#151718bb 0 45%,#1d171960 100%),url('assets/atmosphere.png') right center/cover; }
.ss-experience,.ss-comfort,.ss-faq-section,.ss-final { background-image:linear-gradient(#181416bf,#181416bf),url('assets/atmosphere.png'); background-size:cover; background-position:center; }
.ss-damaged::before { content:""; position:absolute; z-index:1; bottom:0; left:-28px; width:180px; height:180px; background:url('assets/horror-blood-mist.png') left bottom/contain no-repeat; opacity:.78; pointer-events:none; }
.ss-damaged:nth-of-type(even)::before { left:auto; right:-28px; transform:scaleX(-1); }
.ss-characters::after { content:""; position:absolute; z-index:1; right:-45px; top:48%; width:180px; height:180px; background:url('assets/horror-blood-mist.png') center/contain no-repeat; opacity:.64; pointer-events:none; }
.ss-comfort::after,.ss-faq-section::after { content:""; position:absolute; right:6px; top:20px; width:140px; height:160px; background:url('assets/horror-scratches.png') center/contain no-repeat; opacity:.8; pointer-events:none; }
.ss-experience .ss-section-heading { padding-right:340px; min-height:225px; }
.ss-straight-claw { position:absolute; right:0; top:-10px; width:310px; pointer-events:none; }
@media(max-width:1000px) { .ss-experience .ss-section-heading { padding-right:260px; }.ss-straight-claw { width:240px; } }
@media(max-width:700px) { .ss-experience .ss-section-heading { padding-right:0; min-height:0; }.ss-straight-claw { position:relative; top:auto; right:auto; width:min(280px,85%); margin:18px auto 24px; }.ss-damaged::before { width:125px; height:145px; left:-35px; }.ss-damaged:nth-of-type(even)::before { right:-35px; }.ss-comfort::after,.ss-faq-section::after { width:80px; height:100px; right:-18px; opacity:.6; }.ss-invitation-paper::after { width:75px; height:125px; } }

@media(max-width:700px) { .ss-invitation-claw { right:20px; width:240px; }.ss-invitation-paper { background-size:25% auto,cover; } }
.ss-straight-claw img { width:100%; height:auto; }
@media(max-width:700px) { .ss-shoulder-claw { left:2%; } }
