@charset "UTF-8";
/* Salem after dark. Seasonal components and palette live in this edition only. */
:root{color-scheme:dark;--ivory:#17111d;--paper:#23192a;--wine:#e2b783;--blue:#dc9b58;--blue-hover:#efb675;--wine-dark:#100b15;--ink:#f3e9da;--muted:#c0b2c5;--gold:#c09564;--line:#554050;--moon:#f5dcc0;--lavender:#b8a6d2}
body{background:radial-gradient(ellipse at 100% 25%,#32203a45,transparent 50%),var(--ivory) url('grain.svg')}
.has-js:not([data-content-ready]) #site-shell{visibility:hidden}
::selection{background:#dc9b58;color:#17111d}
:focus-visible{outline-color:#f4b86f}
.button,.skip-link{color:#211225;background:linear-gradient(130deg,#efba7f,#d79148);border-color:#e3b178;box-shadow:inset 0 1px #fff5d83b,0 8px 25px #08060b26}
.button:hover{background:linear-gradient(130deg,#f7c790,#e9aa65);box-shadow:0 8px 32px #dba15c20}
.button-outline{color:var(--ink);background:transparent;border-color:var(--line)}
.button-outline:hover{background:var(--paper)}
.brand-logo{filter:sepia(.8) saturate(.72);box-shadow:0 0 0 1px #e2b78375,0 0 22px #d4a06c1c}
.site-header{background:#17111df2 url('grain.svg');border-bottom-color:#bd925e35;backdrop-filter:blur(14px)}
.page-home .site-header:not(.header-scrolled){background:linear-gradient(#140d1ce8,#140d1c18);border-color:#dba15c36}
.page-home .site-header:not(.header-scrolled) .header-book{background:#c4884940;color:#fae8d2;border-color:#e7bc8180}
.page-home .site-header:not(.header-scrolled) .menu-toggle{background:#21132d72;color:#fae8d2;border-color:#e7bc8160}
.menu-toggle,.menu-close{color:#f3d6b1;border-color:#c1966660;transition:border-color .3s,box-shadow .3s}
.menu-toggle:hover,.menu-close:hover{border-color:#edbd80;box-shadow:0 0 24px #d7914820}
.menu-lines i{height:1px;background:linear-gradient(90deg,#e9bb81,#ad90c5)}
.menu-lines i:last-child{width:16px;margin-left:auto}
.cinematic-hero{isolation:isolate;background:#160e1e;overflow:clip}
.cinema-shade{background:linear-gradient(90deg,#180e26ed 0%,#23122baa 43%,#1b102d52 80%),linear-gradient(0deg,#120c1cf5,transparent 45%)}
.cinema-content{position:relative;z-index:3}
.cinema-content h1{font-size:clamp(78px,8.1vw,125px);line-height:.95;max-width:760px;letter-spacing:-.045em;color:#faedda}
.cinema-content h1 em{color:#efbb82}
.cinema-content .eyebrow{color:#e9c29b;letter-spacing:.24em}
.cinema-description{color:#e0cedf!important;font-size:17px;max-width:430px}
.cinema-action{background:linear-gradient(120deg,#efba7f,#d79148)!important;color:#211225!important;border-color:#eab987!important;min-height:58px}
.cinema-controls{z-index:4;color:#f5e3cd}
.slide-prev,.slide-next{border-color:#dab38585;color:#f5d3a8;background:#27152c44}
.slide-prev:hover,.slide-next:hover{background:#c4884950;border-color:#edbd80}
.slide-dots button::after{border-color:#f2d4b2}
.slide-dots button[aria-pressed=true]::after{background:#f2b874;box-shadow:0 0 12px #e5b17a90}
.cinema-scroll{color:#eed8c2}
.halloween-orbit{position:absolute;width:min(38vw,520px);aspect-ratio:1;right:4.5%;top:22%;z-index:2;pointer-events:none;transform:translate3d(var(--paper-x,0px),var(--paper-y,0px),0)}
.hero-moon{position:absolute;inset:7% 12% 13%;border-radius:50%;background:url('halloween/paper-moon.webp') center/contain no-repeat;filter:drop-shadow(0 10px 8px #09061b45)}
.hero-moon::before,.hero-moon::after{content:none}
.hero-witch{position:absolute;width:112%;aspect-ratio:3/2;left:-15%;top:9%;animation:witch-hover 7s ease-in-out infinite;filter:drop-shadow(0 12px 26px #05030780)}
.witch-sprite{display:block;width:100%;height:100%;background:url('halloween/paper-witch-flight.webp') 0 0/200% 200% no-repeat;animation:witch-frames 1.6s steps(1,end) infinite}
.orbit-star{position:absolute;color:#f1bd7b;text-shadow:0 0 16px #dba76680;font-family:Georgia,serif;animation:star-breathe 4.5s ease-in-out infinite}
.star-one{left:8%;top:18%;font-size:48px}.star-two{right:4%;top:51%;font-size:30px;animation-delay:-2s}.star-three{left:27%;bottom:9%;font-size:22px;animation-delay:-1s}
.orbit-caption{position:absolute;bottom:3%;left:0;right:0;text-align:center;color:#e8c99a;font:italic 24px var(--serif);letter-spacing:.05em}
.published-facts{border-color:#bd925e38;padding-block:45px}
.published-facts .eyebrow{color:#e2b783}
.halloween-invitation{position:relative;isolation:isolate;overflow:hidden;min-height:650px;background:#171225;border-block:1px solid #bd925e38}
.spell-invitation{position:relative;z-index:2;padding-block:92px}
.spell-invitation h2{font-size:clamp(46px,5.5vw,78px);max-width:630px}
.spell-invitation p{margin-top:25px;font-size:16px;color:#dfcde0;max-width:500px}
.spell-invitation .text-link{margin-top:25px;color:#f1c292;border-color:#d09a6266}
.story-photos .main-portrait,.collection-image,.experience-image,.feature-photo{box-shadow:0 0 0 1px #dca96e42,0 18px 55px #07050b60}
.story-photos .inset{border-color:#281c2d;box-shadow:0 12px 35px #08060b90}
.collection-image::after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 0 1px #e2b7832c;background:linear-gradient(0deg,#24102f32,transparent 38%)}
.collection-card:hover .circle-arrow{background:#d79b5b;color:#1b1023}
.service-box{background:linear-gradient(145deg,#2a1e31,#1d1423);border:1px solid #815c454d;box-shadow:inset 0 1px #ffffff05}
.published-service>img{filter:sepia(.65) saturate(.7);opacity:.85}
.published-service h3{color:#fae6cc}
.published-reviews{background:#1b1222 url('grain.svg');border-top:1px solid #bd925e28}
.published-review{background:linear-gradient(140deg,#2b1d31,#211626);border-color:#805a4a55;border-radius:2px}
.published-review blockquote p{color:#d9cbdc}
.review-initial{background:#3b2840;color:#e7bf92}
.feature-band{background:#261b2e url('grain.svg')}
.feature-copy .eyebrow{color:#e2b783}
.dark{background:#261b2e url('grain.svg');color:var(--ink)}
.dark em,.dark .eyebrow,.dark .step-number{color:#e2b783}
.dark p,.dark .intro{color:#cfc0d2}
.dark .text-link{color:#f4e4d4;border-color:#876642}
.dark .button{background:#e4ad70;color:#1e1226;border-color:#e4ad70}
.dark .button:hover{background:#efbe88}
.step{border-color:#7e5b484f}
.photo-note{background:#23162ee8;color:#f4dcc0;border:1px solid #e0ac6940}
.booking-panel,.contact-card{background:linear-gradient(140deg,#2c1e32,#211526);border-color:#75573e70;color:var(--ink)}
.booking-panel p,.contact-card p{color:#ccbdd0}
.care-note,.care-settings{background:linear-gradient(130deg,#302133,#211827);border-color:#775640}
.care-body a,.legal-links a{color:#e9bf93}
.footer-cta{position:relative;overflow:hidden;background:radial-gradient(ellipse at 90% 50%,#8b4d3826,transparent 55%),#261a2e;border-block:1px solid #ad7b4c4d}
.footer-cta::after{content:'☾';position:absolute;right:26%;top:-30px;font:230px Georgia,serif;color:#d8a46910;pointer-events:none;transform:rotate(-25deg)}
.footer-cta h2 em{color:#e8b680}
.site-footer{background:#110c17;border-color:#5d4159}
.footer-title,.footer-bottom,.footer-tagline{color:#c4afca}
.footer-links a,.footer-links address{color:#ddcedd}
.footer-bottom,.legal-links{border-color:#62404c60}
.footer-links a:hover{color:#f3b97e}
.navigation-dialog{color:#f7e9d5}
.navigation-dialog::backdrop{background:#10071685;backdrop-filter:blur(9px)}
.menu-info{border-color:#dcb57d55;padding:35px 0 35px 55px;align-self:center}
.menu-info p,.menu-info a,.menu-info address{color:#e9d8de}
.menu-info .eyebrow{color:#e8b784}
.menu-season{display:block;margin-bottom:25px;font:italic clamp(23px,2.5vw,34px) var(--serif);color:#d8b492}
.menu-left>.eyebrow{color:#d6bade}
.site-nav a{color:#f6e6d2;transition:color .25s,transform .3s;text-shadow:0 2px 25px #10061890;letter-spacing:-.055em}
.site-nav a:hover{color:#edb877;transform:translateX(9px)}
.site-nav a[aria-current=page]{color:#e6b277}
.site-nav a[aria-current=page]::before{content:'☾';color:#e8c59a;font-size:23px;left:-32px}
.menu-bottom{border-color:#c8986c55;color:#cfb8d1}
.menu-bottom a{color:#ebc296}
.menu-atmosphere{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:0;z-index:-1;transition:opacity .5s}
.navigation-dialog[data-state=open] .menu-atmosphere{opacity:1}
.fallback-menu-panel{background:#20162b url('grain.svg');color:#f5e2cf}
.fallback-menu-links a,.fallback-menu-info{color:#edd9e7}
.brand-preloader{color:#f3e0ca}
.loader-content{position:relative;z-index:3;padding:25px 35px}
.loader-brand{width:240px;height:200px;margin-bottom:24px}
.loader-brand img{width:140px;height:140px;filter:sepia(.85) saturate(.6);box-shadow:0 0 45px #e6be8730;z-index:1}
.loader-moon{position:absolute;inset:0 20px;border-radius:50%;background:radial-gradient(circle,#dda45d1f,#8260851f 62%,transparent 70%);box-shadow:0 0 80px #b67c4314}
.load-orbit{inset:0 20px;width:200px;height:200px;z-index:0}
.orbit-track{stroke:#d0a57545}.orbit-progress{stroke:#e4b477;stroke-width:.9;filter:drop-shadow(0 0 2px #dbaa6a)}
.loader-flyby{position:absolute;width:210px;aspect-ratio:3/2;top:-30px;left:-72px;z-index:2;animation:loader-flight 5s ease-in-out infinite;filter:drop-shadow(0 8px 12px #0c061b60)}
.loader-kicker{color:#e2b783;font-size:10px;letter-spacing:.25em}
.loader-title{font-size:clamp(44px,5vw,65px);line-height:1.04;margin-top:17px;color:#f7e6d0}
.loader-title em{color:#d7b2e0}
.load-meter{color:#c6abc8;margin-top:23px}.load-percent{color:#edc591}
.loader-note{color:#d4b4ba;font-size:9px;letter-spacing:.18em;margin-top:19px}
.spell-dust{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:2;contain:paint}
.spell-dust i{position:absolute;left:var(--dust-x);top:100%;width:var(--dust-size);height:var(--dust-size);border-radius:50%;background:#ebc28e;box-shadow:0 0 8px #e3ad6780;opacity:0;animation:dust-drift var(--dust-duration) linear var(--dust-delay) infinite}
.spell-dust i:nth-child(3n){background:#cab4e4;box-shadow:0 0 8px #b195d470}
.spell-dust i:nth-child(4n){border-radius:0;clip-path:polygon(50% 0,61% 39%,100% 50%,61% 61%,50% 100%,39% 61%,0 50%,39% 39%)}
.motion-cursor{border-color:#d8ad79;mix-blend-mode:normal;width:25px;height:25px;box-shadow:0 0 12px #d39a5b30}
.motion-cursor.is-hovering{background:#c89b6817;border-color:#efc28a;box-shadow:0 0 18px #d7ac784d}
@keyframes witch-frames{0%,24.99%{background-position:0 0}25%,49.99%{background-position:100% 0}50%,74.99%{background-position:0 100%}75%,100%{background-position:100% 100%}}
@keyframes witch-hover{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-16px) rotate(1deg)}}
@keyframes loader-flight{0%,100%{transform:translate(0,5px) rotate(-4deg)}50%{transform:translate(18px,-12px) rotate(2deg)}}
@keyframes moon-orbit{to{transform:rotate(360deg)}}
@keyframes star-breathe{0%,100%{opacity:.45;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}
@keyframes dust-drift{0%{opacity:0;transform:translate(0,0)}15%{opacity:.55}55%{transform:translate(24px,-50vh);opacity:.35}85%{opacity:.5}100%{transform:translate(-18px,-110vh);opacity:0}}
@media(max-width:1100px){.halloween-orbit{right:2%;width:38vw;top:30%}.cinema-content h1{font-size:clamp(75px,9vw,110px)}.menu-info{padding-left:35px}.menu-season{font-size:26px}}
@media(max-width:850px){.halloween-orbit{right:0;width:40vw;top:31%}.cinema-content h1{font-size:clamp(65px,10vw,88px)}.orbit-caption{font-size:20px}.menu-info{padding-left:25px}.invitation-moon{right:7%;font-size:140px;top:80px}}
@media(max-width:640px){
 .cinematic-hero{height:auto;min-height:860px}
 .cinema-content{padding:calc(130px + env(safe-area-inset-top,0px)) 0 440px}
 .cinema-content h1{font-size:clamp(58px,16vw,85px);max-width:100%;line-height:.98}
 .cinema-description{font-size:15px;max-width:290px;margin-top:20px}
 .cinema-content .eyebrow{font-size:8px;letter-spacing:.16em;max-width:100%}
 .cinema-shade{background:linear-gradient(90deg,#180e26dd,#21122a9c),linear-gradient(0deg,#120c1cf5,transparent 60%)}
 .halloween-orbit{width:260px;max-width:80vw;right:calc(50% - 130px);top:auto;bottom:calc(145px + env(safe-area-inset-bottom,0px))}
 .hero-witch{width:115%;left:-15%;top:8%}.orbit-caption{font-size:20px;bottom:0}
 .cinema-controls{bottom:calc(16px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:1fr auto;gap:5px 10px}
 .slide-controls{grid-column:1;grid-row:1;gap:12px}.cinema-scroll{grid-column:2;grid-row:1;font-size:8px;gap:8px}
 .slide-dots{grid-column:1/-1;grid-row:2;justify-content:center;gap:2px}.slide-dots button{width:44px;height:44px;padding:0}
 .slide-dots button::after{left:19px}.cinema-action{min-height:52px!important}
 .halloween-invitation{min-height:650px}
 .spell-invitation{padding-block:55px}.spell-invitation h2{font-size:48px;position:relative;z-index:1}
 .spell-invitation p{font-size:14px;position:relative;z-index:1}
 .menu-content{padding-top:12px}.menu-season{margin-bottom:20px;font-size:25px}.menu-left>.eyebrow{font-size:8px;letter-spacing:.16em}
 .site-nav a{font-size:49px;padding:7px 0}.site-nav a[aria-current=page]::before{font-size:15px;left:-18px}
 .menu-info{padding:22px 0 0;background:linear-gradient(110deg,#180d23ab,#180d2322);gap:18px}.menu-info address{font-size:21px}
 .menu-info>div>a:not(.text-link){font-size:11px}.menu-bottom{margin-top:15px}
 .loader-brand{width:220px;height:190px;margin-bottom:22px}.loader-brand img{width:130px;height:130px}.load-orbit{inset:0 15px;width:190px;height:190px}
 .loader-flyby{width:175px;left:-45px;top:-14px}.loader-title{font-size:47px}.loader-content{padding:25px}
 .footer-cta::after{right:0;font-size:170px}.care-note,.care-settings{border-radius:8px}
}
@media(max-width:360px){.cinema-content h1{font-size:54px}.halloween-orbit{max-width:78vw;right:11%;bottom:calc(145px + env(safe-area-inset-bottom,0px))}.cinematic-hero{min-height:870px}.site-nav a{font-size:44px}.loader-title{font-size:42px}.header-inner{gap:8px}.brand{width:58px}.brand-logo{width:56px;height:56px}.header-book{font-size:8px;padding-inline:10px;gap:10px}.menu-toggle{font-size:8px;padding-inline:10px;gap:10px}.cinema-scroll{gap:6px;font-size:7px}}
.site-header{padding-top:env(safe-area-inset-top,0px);padding-inline:env(safe-area-inset-left,0px) env(safe-area-inset-right,0px)}
.navigation-dialog{padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}

/* Fully covering falling leaves replace the old SVG transition. */
.leaf-curtain{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:12}
.loader-content{z-index:15}.loader-night-sky,.menu-night-sky{position:fixed;inset:0;background:#171225;pointer-events:none;z-index:-1}
.loader-night-sky{transition:none}.brand-preloader.is-leaf-reveal .loader-night-sky{display:none}
.brand-preloader.is-leaf-reveal .loader-content{visibility:hidden}
.menu-night-sky{opacity:0}.navigation-dialog[data-state=open] .menu-night-sky,.navigation-dialog[data-state=ready] .menu-night-sky{opacity:1}
.navigation-dialog[data-state=ready] .menu-top,.navigation-dialog[data-state=ready] .menu-content,.navigation-dialog[data-state=ready] .menu-bottom{opacity:1}
.navigation-dialog::backdrop{background:transparent;backdrop-filter:none}
.navigation-dialog .menu-top,.navigation-dialog .menu-content,.navigation-dialog .menu-bottom{position:relative;z-index:3}
.navigation-dialog[data-state=ready] .menu-atmosphere{opacity:1}
.page-curtain{background:transparent}.page-curtain[data-leaf-phase=covered]{pointer-events:auto}
.menu-info{background:linear-gradient(90deg,#160d238f,#160d232e 85%,transparent)}
@media(prefers-reduced-motion:reduce){.spell-dust,.leaf-curtain{display:none}.witch-sprite,.hero-witch,.hero-moon::after,.orbit-star,.loader-flyby{animation:none}.site-nav a:hover{transform:none}}
/* Real cutouts: independent image sheets, not one moving painted backdrop. */
.paper-scene{position:absolute;inset:0;overflow:hidden;pointer-events:none;isolation:isolate;background:radial-gradient(ellipse at 80% 12%,#463455,#20162f 55%,#131627) url('grain.svg');contain:paint}
.paper-layer{position:absolute;transform:translate3d(var(--paper-x,0px),var(--paper-y,0px),0)}
.paper-layer img{display:block;width:100%;height:100%;object-fit:fill;animation-play-state:paused;filter:drop-shadow(0 7px 3px #08081770)}
.paper-scene.is-moving .paper-layer img{animation-play-state:running}
.paper-moon{width:clamp(190px,23vw,330px);aspect-ratio:1;right:10%;top:6%;z-index:1}
.paper-moon img{object-fit:contain;filter:drop-shadow(0 5px 3px #11102055)}
.paper-cloud{width:65%;height:auto;aspect-ratio:2.5;z-index:3}
.cloud-back{right:-7%;top:17%;opacity:.88}.cloud-back img{animation:paper-cloud-drift 41s ease-in-out -8s infinite}
.cloud-front{width:49%;right:1%;top:30%;z-index:4;opacity:.82}.cloud-front img{animation:paper-cloud-drift 29s ease-in-out -20s infinite reverse}
.paper-bats{width:220px;right:10%;top:17%;z-index:5;fill:#17111f}
.paper-bats svg{width:100%;filter:drop-shadow(0 3px 1px #eee1cb35)}
.paper-wave{left:-9%;width:118%;height:65%;min-width:650px}
.wave-back{bottom:-4%;z-index:6}.wave-middle{bottom:-14%;z-index:7}.wave-front{bottom:-25%;z-index:8}
.wave-back img{animation:paper-wave-swell 17s ease-in-out -5s infinite;--swell-x:12px;--swell-y:5px;--swell-tilt:.2deg}
.wave-middle img{animation:paper-wave-swell 13s ease-in-out -9s infinite reverse;--swell-x:23px;--swell-y:9px;--swell-tilt:.4deg}
.wave-front img{animation:paper-wave-swell 10s ease-in-out -2s infinite;--swell-x:32px;--swell-y:13px;--swell-tilt:.5deg}
.paper-scene-shade{position:absolute;inset:0;z-index:9;background:linear-gradient(90deg,#140d226b,transparent 70%);pointer-events:none}
.menu-night-sky .paper-scene-shade{background:linear-gradient(90deg,#140d2285,transparent 82%),linear-gradient(0deg,#12102160,transparent 45%)}
.menu-night-sky .paper-moon{right:7%;top:4%;width:clamp(180px,21vw,290px)}
.loader-night-sky .paper-scene-shade{background:linear-gradient(90deg,#140d2240,#140d2250)}
.halloween-invitation .paper-moon{right:11%;width:clamp(210px,25vw,330px)}
.halloween-invitation .paper-scene-shade{background:linear-gradient(90deg,#170e2199,transparent 75%)}
.loader-night-sky,.menu-night-sky{z-index:0}
.hero-witch{filter:drop-shadow(0 9px 4px #07051b70)}
.menu-info{background:#181025ce url('grain.svg');padding:30px 40px;border:1px solid #b19eaf33;box-shadow:0 8px 25px #09051445}
.menu-close{background:#20162dd9}
@keyframes paper-wave-swell{0%,100%{transform:translate3d(calc(-1 * var(--swell-x)),0,0) rotate(calc(-1 * var(--swell-tilt)))}50%{transform:translate3d(var(--swell-x),calc(-1 * var(--swell-y)),0) rotate(var(--swell-tilt))}}
@keyframes paper-cloud-drift{0%,100%{transform:translate3d(-52px,-6px,0)}50%{transform:translate3d(60px,10px,0)}}
@media(max-width:640px){
 .paper-cloud{width:125%;right:-40%;top:32%}.cloud-front{width:100%;right:-28%;top:46%}
 .paper-moon,.menu-night-sky .paper-moon{width:195px;right:-42px;top:9%}
 .paper-bats{right:-24px;top:22%;width:150px}
 .paper-wave{left:-25%;width:160%;height:46%;min-width:0}
 .wave-back{bottom:-5%}.wave-middle{bottom:-12%}.wave-front{bottom:-21%}
 .halloween-invitation .paper-moon{width:190px;top:52%;right:1%}
 .halloween-invitation .cloud-back{top:56%}.halloween-invitation .cloud-front{top:68%}
 .halloween-invitation .paper-bats{top:57%;right:7%}
 .halloween-invitation .paper-scene-shade{background:linear-gradient(#170e2130,transparent 65%)}
 .menu-night-sky .paper-scene-shade{background:linear-gradient(90deg,#140d2299,#140d2245)}
 .menu-info{background:#1b102acf;border-radius:2px;padding:18px}
 .navigation-dialog .menu-top{position:sticky;top:0;z-index:11;background:#181026e8;backdrop-filter:blur(10px)}
}
@media(prefers-reduced-motion:reduce){.paper-layer,.halloween-orbit{transform:none!important}.paper-layer img{animation:none!important}.has-js .brand-preloader:not([hidden]){display:grid}}
