/* Only optional spooky visuals. Everything else on your current site is unchanged. */
.haunt-spider {display:none;position:absolute;right:12%;top:0;width:36px;height:160px;z-index:8;pointer-events:none;transform-origin:top center;filter:drop-shadow(0 3px 4px rgba(0,0,0,.28));}
.haunt-spider svg {display:block;width:36px;height:36px;position:absolute;bottom:0;left:0;transform-origin:50% 0;}
.haunt-spider .spider-silk {position:absolute;top:-2px;left:18px;width:1px;height:132px;background:linear-gradient(180deg,rgba(255,251,248,.12),rgba(255,251,248,.68));}
body.haunt-on .haunt-spider {display:block;animation:haunt-descend 21s cubic-bezier(.4,0,.3,1) infinite;}
body.haunt-on .haunt-spider svg {animation:haunt-sway 7s ease-in-out infinite;}
body.haunt-on .haunt-spider.is-startled {animation-play-state:paused;}
@keyframes haunt-descend {0%,8%{transform:translateY(-175px)} 19%,72%{transform:translateY(0)} 85%,100%{transform:translateY(-175px)}}
@keyframes haunt-sway{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}
/* A whisper of atmosphere, not a new colour scheme or redesign. */
body.haunt-on .hero-background::after {filter:contrast(1.055) saturate(.96);}
body.haunt-on .featured-book {background-image:radial-gradient(ellipse at 98% 16%,rgba(114,32,48,.15),transparent 56%);}
.haunt-switch[hidden]{display:none!important;}
.haunt-switch {position:fixed;right:17px;bottom:16px;z-index:1500;}
.haunt-switch button {display:inline-flex;gap:9px;align-items:center;border:1px solid rgba(255,239,223,.37);border-radius:30px;padding:9px 13px;background:rgba(29,18,23,.93);color:#f7e9e1;box-shadow:0 8px 28px rgba(0,0,0,.13);font:600 9px/1.2 'DM Sans',sans-serif;letter-spacing:.12em;cursor:pointer;}
.haunt-switch button:focus-visible{outline:2px solid #f3c9c0;outline-offset:4px;}
.haunt-dot{height:6px;width:6px;flex:0 0 6px;border-radius:50%;background:#bf767c;box-shadow:0 0 9px #c25c68;}
body.haunt-off .haunt-dot {background:#9b9593;box-shadow:none;}
body.menu-is-open .haunt-switch,body.mobile-menu-open .haunt-switch,body.newsletter-is-open .haunt-switch,html.spectral-trial-open .haunt-switch{visibility:hidden;}
.event-preorder{display:inline-block;margin-top:13px;color:var(--oxblood);font:600 10px/1.4 'DM Sans',sans-serif;text-decoration:none;letter-spacing:.06em;border-bottom:1px solid currentColor;padding-bottom:3px;}
.event-preorder:hover {color:var(--wine);}
.event-preorder:focus-visible {outline:2px solid currentColor;outline-offset:4px;}
@media(max-width:800px){.haunt-spider{right:13%;width:28px;height:130px}.haunt-spider svg{width:28px;height:28px}.haunt-spider .spider-silk{left:14px;height:105px}.haunt-switch{right:10px;bottom:10px}.haunt-switch button{font-size:8px;padding:9px 10px}}
@media(prefers-reduced-motion:reduce){body.haunt-on .haunt-spider,body.haunt-on .haunt-spider svg{animation:none!important}.haunt-spider{transform:none!important}.haunt-spider .spider-silk{height:60px}.haunt-spider svg{top:58px;bottom:auto}}


/* SIX MARKS / a full-screen branching vignette, not a trivia quiz. */
.spectral-sixth {display:block;padding:27px 0 0;margin-top:32px;border-top:1px solid rgba(252,235,222,.22);}

.spectral-sixth-trigger {display:inline-flex;align-items:center;gap:24px;padding:9px 0;border:0;background:transparent;color:#f9eae3;cursor:pointer;text-align:left;font:600 9px/1.5 'DM Sans',sans-serif;letter-spacing:.20em;}
.spectral-sixth-marks {display:flex;gap:7px;align-items:center;height:29px;}
.spectral-sixth-marks i {display:block;width:2px;height:22px;background:#d6a5a3;transform:rotate(14deg);transition:transform .35s,background .35s;}
.spectral-sixth-marks i:last-child {background:#f6d6cc;transform:rotate(-12deg);}
.spectral-sixth-trigger:hover .spectral-sixth-marks i,.spectral-sixth-trigger:focus-visible .spectral-sixth-marks i {transform:rotate(0);background:#fff0e1;}
.spectral-sixth-trigger:hover .spectral-sixth-copy {color:#fff8f1;}
.spectral-sixth-trigger:focus-visible {outline:1px solid #f6d5cb;outline-offset:7px;}
.spectral-sixth-copy {color:#e6c7bd;transition:color .25s;}
.spectral-sixth-copy small {font-weight:400;opacity:.75;letter-spacing:.15em;margin-left:10px;}
.spectral-sixth-hint {margin:7px 0 0!important;color:rgba(247,224,215,.57)!important;font:400 12px/1.5 'DM Sans',sans-serif!important;letter-spacing:0;}
.spectral-trial {display:none;position:fixed;inset:0;z-index:350000;padding:clamp(12px,3vw,42px);background:rgba(16,7,13,.87);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;color:#f5e9e2;}
.spectral-trial.is-open {display:flex;align-items:safe center;justify-content:center;}
.spectral-trial-panel {width:min(1180px,100%);min-height:min(735px,calc(100dvh - 70px));margin:auto;position:relative;background:#260f19;box-shadow:0 28px 95px rgba(0,0,0,.43);overflow:hidden;isolation:isolate;}
.spectral-trial-panel::before {content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 94% 10%,rgba(133,32,48,.28),transparent 49%),linear-gradient(130deg,transparent 34%,rgba(96,25,42,.18));pointer-events:none;z-index:-1;}
.spectral-trial-topline {display:flex;align-items:center;justify-content:space-between;gap:16px;padding:25px clamp(24px,5vw,65px);border-bottom:1px solid rgba(255,231,219,.19);font:600 9px/1.4 'DM Sans',sans-serif;letter-spacing:.22em;color:#e9c7ba;}
.spectral-trial-topline .trial-slash {opacity:.4;padding:0 12px;}
.spectral-trial-exit {flex:0 0 auto;border:0;background:transparent;color:#f7e9e0;font:600 9px/1 'DM Sans',sans-serif;letter-spacing:.20em;cursor:pointer;padding:7px 0 7px 16px;}
.spectral-trial-exit span {font:300 25px/0 'Cormorant Garamond',serif;margin-left:10px;vertical-align:middle;}
.spectral-trial-exit:hover,.spectral-trial-retry:hover,.spectral-trial-return:hover {color:#ffb9b5;}
.spectral-trial-layout {display:grid;grid-template-columns: minmax(130px, .32fr) minmax(0,1fr);min-height:590px;}
.spectral-trial-aside {position:relative;overflow:hidden;border-right:1px solid rgba(255,231,219,.15);min-height:570px;}
.spectral-trial-thread {position:absolute;top:30px;left:51%;height:70%;width:1px;background:linear-gradient(to bottom, transparent,rgba(243,214,201,.55) 30%,rgba(243,214,201,.32) 85%,transparent);}
.spectral-trial-aside-text {position:absolute;left:43%;bottom:95px;writing-mode:vertical-rl;transform:rotate(180deg);font:500 9px/1.4 'DM Sans',sans-serif;letter-spacing:.24em;color:rgba(246,222,211,.46);white-space:nowrap;}
.spectral-trial-roman {position:absolute;bottom:13px;left:12%;font:400 clamp(100px,14vw,205px)/.65 'Cormorant Garamond',Georgia,serif;color:rgba(239,188,185,.07);}
.spectral-trial-content {display:flex;flex-direction:column;min-width:0;padding:clamp(36px,5.3vw,80px) clamp(25px,6vw,85px) 28px;}
.spectral-trial-progress-wrap {display:flex;align-items:center;justify-content:space-between;gap:20px;}
.spectral-trial-counter {font:600 9px/1.4 'DM Sans',sans-serif;letter-spacing:.23em;color:#e2afa7;white-space:nowrap;}
.spectral-trial-progress {display:flex;gap:10px;align-items:center;}
.spectral-trial-progress span {display:block;width:3px;height:23px;background:rgba(243,211,200,.22);transform:rotate(14deg);transition:background .35s,transform .35s;}
.spectral-trial-progress span.is-current {background:#ffe9db;transform:rotate(-13deg);}
.spectral-trial-progress span.is-spared {background:#ccb38f;}
.spectral-trial-progress span.is-taken {background:#9e4a5e;}
.spectral-trial-scene {margin:clamp(42px,7vh,78px) 0 35px;}
.spectral-trial-chapter {font:600 9px/1.4 'DM Sans',sans-serif;letter-spacing:.25em;color:#dfa5a0;margin-bottom:20px;}
.spectral-trial-title {font:500 clamp(55px,5.9vw,99px)/.82 'Cormorant Garamond',Georgia,serif;letter-spacing:-.055em;max-width:830px;text-wrap:balance;text-transform:uppercase;}
.spectral-trial-description {font:300 clamp(14px,1.2vw,17px)/1.67 'DM Sans',sans-serif;color:rgba(249,231,222,.76);margin:25px 0 0;max-width:600px;}
.spectral-trial-options {display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto;}
.spectral-trial-option {display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;min-height:86px;padding:17px 19px;border:1px solid rgba(248,224,213,.30);background:rgba(251,221,212,.035);color:#faf0e9;text-align:left;cursor:pointer;transition:background .25s,border-color .25s,transform .25s;}
.spectral-trial-option:hover {background:rgba(160,53,74,.19);border-color:#d9a6a3;transform:translateY(-2px);}
.spectral-trial-option>span {font:600 9px/1 'DM Sans',sans-serif;letter-spacing:.2em;color:#d5a4a0;align-self:start;}
.spectral-trial-option strong {font:400 clamp(17px,1.7vw,23px)/1.17 'Cormorant Garamond',Georgia,serif;letter-spacing:-.01em;}
.spectral-trial-option em {font-style:normal;font-size:16px;opacity:.55;}
.spectral-trial-footnote {font:600 8px/1.6 'DM Sans',sans-serif;letter-spacing:.23em;text-transform:uppercase;color:rgba(249,218,207,.48);margin-top:21px;}
.spectral-trial-result-actions {display:flex;gap:32px;flex-wrap:wrap;margin-top:auto;padding-top:14px;}
.spectral-trial-result-actions[hidden] {display:none;}
.spectral-trial-retry,.spectral-trial-return {background:transparent;border:0;border-bottom:1px solid rgba(255,225,215,.65);cursor:pointer;padding:10px 0;color:#fff0e7;font:600 9px/1.4 'DM Sans',sans-serif;letter-spacing:.20em;text-align:left;}
.spectral-trial-retry span,.spectral-trial-return span {margin-left:10px;}
.spectral-trial.is-result .spectral-trial-title {color:#fff0e7;}
.spectral-trial.is-result .spectral-trial-chapter {color:#edaaa7;}
.spectral-trial button:focus-visible {outline:2px solid #ffe2d2;outline-offset:5px;}
html.spectral-trial-open,html.spectral-trial-open body {overflow:hidden !important;}
@media(max-width:800px){
  .spectral-trial {padding:10px;}
  .spectral-trial-panel {min-height:calc(100dvh - 20px);}
  .spectral-trial-topline {padding:20px 6%;}
  .spectral-trial-layout {grid-template-columns:1fr;min-height:0;}
  .spectral-trial-aside {display:none;}
  .spectral-trial-content {min-height:calc(100dvh - 85px);padding:35px 6% 27px;}
  .spectral-trial-scene {margin:clamp(38px,7vh,70px) 0 35px;}
  .spectral-trial-title {font-size:clamp(57px,11.5vw,86px);}
}
@media(max-width:480px){
  .spectral-trial-topline {font-size:8px;letter-spacing:.12em;}
  .spectral-trial-topline .trial-slash {padding:0 4px;}
  .spectral-trial-progress-wrap {gap:9px;}
  .spectral-trial-counter {font-size:8px;letter-spacing:.12em;white-space:normal;}
  .spectral-trial-progress {gap:7px;}
  .spectral-trial-progress span {height:20px;}
  .spectral-trial-title {font-size:clamp(51px,12.5vw,69px);}
  .spectral-trial-scene {margin:35px 0 28px;}
  .spectral-trial-options {grid-template-columns:1fr;}
  .spectral-trial-option {min-height:69px;}
  .spectral-trial-footnote {font-size:7px;letter-spacing:.13em;}
}
@media(prefers-reduced-motion:reduce){.spectral-trial * {transition:none !important;animation:none !important;}}

/* A second, optional way into the same Kit mailing list.
   Appears only after the player has received their verdict. */
.spectral-trial-mailer {
  margin:33px 0 0;
  padding:26px 0 4px;
  border-top:1px solid rgba(241,206,195,.28);
  background:linear-gradient(100deg,rgba(112,37,47,.13),transparent 65%);
  color:#f9eae3;
}
.spectral-trial-mailer[hidden],
.spectral-trial-mailer [hidden],
.spectral-trial-mail-member[hidden] {display:none !important;}
.spectral-trial-mailer-kicker {
  color:#ddaaa2;
  font:600 9px/1.5 'DM Sans',sans-serif;
  letter-spacing:.23em;
  margin:0 0 11px;
}
.spectral-trial-mailer h3 {
  font:500 clamp(32px,3.8vw,48px)/.94 'Cormorant Garamond',Georgia,serif;
  letter-spacing:-.03em;
  margin:0;
}
.spectral-trial-mailer-intro {
  font:300 13px/1.65 'DM Sans',sans-serif;
  color:rgba(249,231,222,.72);
  margin:12px 0 19px;
  max-width:575px;
}
.spectral-trial-mail-form label {
  display:block;
  font:600 9px/1.5 'DM Sans',sans-serif;
  letter-spacing:.17em;
  color:#f0b9ad;
  margin-bottom:8px;
}
.spectral-trial-mail-row {display:flex;align-items:stretch;gap:0;max-width:730px;min-width:0;}
.spectral-trial-mail-row input {
  flex:1 1 220px;min-width:0;min-height:51px;
  padding:14px 16px;
  border:1px solid rgba(246,214,200,.55);
  border-right:0;
  background:#f9efe9;
  color:#26131a;
  font:400 14px/1.2 'DM Sans',sans-serif;
  border-radius:0;
}
.spectral-trial-mail-row input::placeholder {color:#887d7c;}
.spectral-trial-mail-row input:focus {outline:2px solid #edaaa7;outline-offset:-2px;}
.spectral-trial-mail-submit {
  flex:0 0 auto;min-height:51px;
  padding:13px 17px;
  background:#a3535c;border:1px solid #bc6f78;
  color:#fff5ef;
  cursor:pointer;
  font:600 9px/1.3 'DM Sans',sans-serif;
  letter-spacing:.13em;
  transition:background .25s ease;
}
.spectral-trial-mail-submit span {margin-left:9px;font-size:15px;}
.spectral-trial-mail-submit:hover {background:#bd6a71;}
.spectral-trial-mail-submit:disabled {opacity:.7;cursor:default;}
.spectral-trial-mail-consent {
  max-width:650px;
  margin:11px 0 0;
  font:400 11px/1.65 'DM Sans',sans-serif;
  color:rgba(249,231,222,.64);
}
.spectral-trial-mail-consent a {color:#f4cfbf;text-underline-offset:3px;}
.spectral-trial-mail-error {color:#ffd2c5;margin:6px 0 0;font:400 12px/1.5 'DM Sans',sans-serif;}
.spectral-trial-mail-decline {
  display:block;margin-top:14px;
  background:transparent;border:0;border-bottom:1px solid rgba(249,231,222,.42);
  padding:7px 0;color:rgba(248,227,216,.68);
  text-align:left;cursor:pointer;
  font:600 9px/1.4 'DM Sans',sans-serif;letter-spacing:.15em;
}
.spectral-trial-mail-decline:hover {color:#fff5ec;}
.spectral-trial-mail-confirmation,.spectral-trial-mail-member {
  margin:18px 0 0;
  color:#f7dfcf;
  font:600 10px/1.8 'DM Sans',sans-serif;
  letter-spacing:.11em;
}
.spectral-trial-mail-confirmation span {display:block;letter-spacing:normal;font-weight:300;font-size:13px;color:rgba(249,231,222,.72);}
.spectral-trial-mail-member {margin-top:30px;padding-top:16px;border-top:1px solid rgba(241,206,195,.25);}
.spectral-trial-kit-frame {position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;border:0;}
.spectral-trial.is-result .spectral-trial-scene {margin-bottom:18px;}
.spectral-trial.is-result .spectral-trial-result-actions {padding-top:26px;}
@media(max-width:620px) {
  .spectral-trial-mailer {margin-top:21px;padding-top:21px;}
  .spectral-trial-mail-row {flex-direction:column;gap:9px;}
  .spectral-trial-mail-row input {flex:0 0 auto;min-height:49px;border-right:1px solid rgba(246,214,200,.55);}
  .spectral-trial-mail-submit {min-height:48px;width:100%;}
  .spectral-trial-mailer h3 {font-size:clamp(32px,10vw,43px);}
  .spectral-trial.is-result .spectral-trial-content {padding-top:26px;}
  .spectral-trial.is-result .spectral-trial-scene {margin:24px 0 17px;}
  .spectral-trial.is-result .spectral-trial-description {margin-top:17px;}
}


/* Ensure semantic hidden elements stay hidden when we open the dialog. */
.spectral-trial-option[hidden],.spectral-trial-mailer[hidden],.spectral-trial-mail-member[hidden] {display:none!important;}
