/* Halloween edition: cinematic neon, restrained motion and scattered characters. */
:root{--purple:#ba77ff;--lime:#eaff39;--orange:#ff943d}body{isolation:isolate;background:#100a1d}.night-atmosphere{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:-1}.night-haze{position:absolute;inset:-15%;background:radial-gradient(ellipse at 80% 15%,#682a9e55,transparent 43%),radial-gradient(ellipse at 5% 55%,#bb4f1d20,transparent 35%),radial-gradient(ellipse at 80% 95%,#6c20b844,transparent 35%);animation:mist-drift 18s ease-in-out infinite alternate}.ember{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:var(--size);border-radius:50%;background:var(--color);box-shadow:0 0 10px var(--color);opacity:.4;animation:ember-drift var(--duration) var(--delay) ease-in-out infinite}.preview-note{background:linear-gradient(90deg,#432165,#241238,#432165);color:#ecdaff;font-size:.8rem}header{border-bottom-color:#955aca40}.hero{padding-top:62px;min-height:675px;position:relative;grid-template-columns:1.04fr 1fr}.hero h1{font-size:clamp(2.5rem,4vw,3.75rem);line-height:1.24;letter-spacing:-.055em}.hero h1 em{background:linear-gradient(115deg,#f0ff59 10%,#f6ff2e 45%,#ffab45 90%);background-clip:text;color:transparent}.hero .lead{max-width:510px}.hero-art{transform:translate(var(--parallax-x,0px),var(--parallax-y,0px));transition:transform .5s ease-out}.ghost-scene{width:138%;margin-left:-23%;animation:spectral-drift 7s ease-in-out infinite}.ghost-scene img{mix-blend-mode:normal;mask-image:radial-gradient(ellipse 68% 69% at 60% 49%,#000 45%,transparent 83%)}.ghost-message{left:36%;top:38%;width:50%;height:28%;transform:rotate(-1deg)}.ghost-message strong{color:#311444}.ghost-message small{color:#3b2149}.orbit-label{background:#a758e5;color:#fff3d4;box-shadow:0 0 35px #a73bff50;right:0;top:-10px}.art-caption{color:#e0c1fc;font-weight:600;font-size:.875rem;margin-top:0}.music-pill{border-color:#9b68c4;box-shadow:0 0 25px #8a43cf18;grid-template-columns:25px 1fr;min-height:62px}.music-pill>span:first-child{grid-column:1;grid-row:1/3}.music-pill>.music-label{grid-column:2;grid-row:1;font-size:.875rem;color:var(--text)}.music-pill small{grid-column:2;grid-row:2;font-size:.8rem}.button{box-shadow:0 5px 25px #d9fc2014}.button:hover{box-shadow:0 4px 32px #deff3340}.ticker{position:relative;background:linear-gradient(100deg,#dfff23,#f3ff60,#ffa454);border-block:1px solid #f0ffa7;transform:rotate(-.7deg);box-shadow:0 0 40px #dfff2312}.ticker b{animation:star-turn 15s linear infinite}.section{position:relative}.section-heading h2>span{color:#c488ff}.about{padding-top:100px}.character{position:absolute;width:170px;height:170px;background-image:url('halloween-characters.webp');background-repeat:no-repeat;background-size:300% 100%;mask-image:radial-gradient(ellipse at center,#000 49%,transparent 74%);pointer-events:none;z-index:1;filter:drop-shadow(0 0 16px #a455ff28)}.character.cat{background-position:left center;right:45px;top:13px;animation:cat-sway 7s ease-in-out infinite}.character.pumpkin{background-position:center center;right:65px;top:28px;width:190px;height:190px;animation:pumpkin-glow 5s ease-in-out infinite}.character.vampire{background-position:right center;right:220px;top:-77px;width:160px;height:160px;animation:spectral-drift 6s ease-in-out infinite}.about .section-heading,.schedule-section .section-heading{padding-right:190px}.manifesto{background:radial-gradient(ellipse at top,#8e43c01c,transparent 80%)}.featured{background:linear-gradient(130deg,#2a1740,#1a1028);border:1px solid #a75de280;box-shadow:0 0 70px #6930a222}.feature-art{overflow:hidden;border-radius:12px}.feature-art img{transition:transform 1.2s ease;filter:saturate(1.15)}.featured:hover .feature-art img{transform:scale(1.04)}.thirteen{display:inline-block;color:#eaff39!important;text-shadow:0 0 25px #b0f13e40;animation:key-glow 5s ease-in-out infinite}.activity{position:relative;overflow:hidden;border:1px solid #b06bef65;box-shadow:0 8px 30px #0002}.activity:after{content:'';position:absolute;inset:0;background:linear-gradient(115deg,transparent 25%,#fff2 50%,transparent 75%);transform:translateX(-125%);pointer-events:none;transition:transform .8s}.activity:hover:after{transform:translateX(125%)}.activity.purple{background:linear-gradient(145deg,#ae61ed,#632391);color:#fff}.activity.lime{background:linear-gradient(145deg,#f1ff6b,#b5cb22);color:#171c0b}.activity.peach{background:linear-gradient(145deg,#ffb150,#e06523);color:#27110d}.activity.dark{background:radial-gradient(ellipse at top,#713395,#251334);border-color:#b06bef}.activity-symbol{transition:transform .4s}.activity:hover .activity-symbol{transform:rotate(14deg) scale(1.1)}.activity-number{font-size:.75rem}.activity p{font-size:.94rem}.activity h3{font-size:1.6rem}.activity.is-seen{animation:arrive .8s both}.activity:nth-child(2){animation-delay:.08s}.activity:nth-child(3){animation-delay:.16s}.activity:nth-child(4){animation-delay:.24s}.schedule article{background:linear-gradient(#a458e510,transparent);padding:24px 15px 5px;border-top-color:#bd83ff}.schedule-section{border-block-color:#a45add40}.camp-offer{box-shadow:0 0 40px #daff2410;background:radial-gradient(ellipse at top left,#65631c25,transparent 65%),#1a1129}.trip-offer{background:radial-gradient(ellipse at top right,#8730bd30,transparent 70%),#1a1129}.partner-panel{position:relative;overflow:visible;background:radial-gradient(ellipse at 85% 15%,#7130a2,transparent 80%),#25122f;border-color:#a566d3;box-shadow:0 0 30px #6b32a322}.partner-panel>div:not(.character){position:relative;z-index:2}.partner-panel .button{position:relative;z-index:3}.parent-section{background:linear-gradient(125deg,#271439,#171027);border:1px solid #a762d635}.soundtrack{max-width:1080px;margin:55px auto 0;padding:25px 30px;display:grid;grid-template-columns:1fr 360px;gap:35px;align-items:center;border:1px solid #75469965;border-radius:18px;background:linear-gradient(120deg,#271438cc,#1b112a99)}.soundtrack h2{font-size:1.55rem;letter-spacing:-.04em;margin:0 0 9px}.soundtrack .eyebrow{font-size:.75rem;margin-bottom:12px}.soundtrack p:not(.eyebrow){font-size:.85rem;margin-bottom:12px}.sound-controls{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.sound-controls label{margin:0;display:flex;align-items:center;gap:10px;font-size:.875rem}.sound-controls input{padding:0;margin:0;width:90px;accent-color:var(--lime);border:0;min-height:25px}.soundtrack .button{min-width:165px;font-size:.875rem}.soundtrack .text-link{font-size:.8rem;padding:0}.video-shell{border-radius:10px;overflow:hidden;background:#0a0710;aspect-ratio:16/9;min-height:200px;border:1px solid #694580}.video-shell iframe,.video-shell #thriller-player{width:100%;height:100%;min-height:200px;border:0;display:block}.soundtrack #music-status{margin:12px 0 5px;min-height:28px}.sound-shortcut{position:fixed;right:18px;bottom:18px;z-index:25;display:flex;align-items:center;gap:10px;padding:11px 18px;border:1px solid #a963db;background:#241335f2;color:var(--lime);box-shadow:0 4px 25px #0006;border-radius:30px;font-size:1.1rem}.sound-shortcut span{font-size:.8rem;color:var(--text)}.sound-shortcut.playing{border-color:var(--lime)}.eyebrow,.tag,.activity-number,.facts strong,.schedule article>span{font-size:.75rem}.facts span{font-size:.8rem}.fine-print{font-size:.8125rem}.brand-camp{font-size:.75rem}footer{padding-bottom:90px}
@keyframes spectral-drift{0%,100%{transform:translateY(0) rotate(-.7deg)}50%{transform:translateY(-12px) rotate(.8deg)}}@keyframes mist-drift{from{transform:translate(-2%,-1%)}to{transform:translate(3%,2%)}}@keyframes ember-drift{0%,100%{transform:translate(0,0);opacity:.15}50%{transform:translate(12px,-35px);opacity:.55}}@keyframes cat-sway{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(2deg) translateY(-6px)}}@keyframes pumpkin-glow{0%,100%{filter:drop-shadow(0 0 7px #ff792035);transform:translateY(0)}50%{filter:drop-shadow(0 0 23px #ff792060);transform:translateY(-7px)}}@keyframes key-glow{0%,100%{text-shadow:0 0 15px #dcff3040}50%{text-shadow:0 0 33px #dcff3090}}@keyframes star-turn{to{transform:rotate(360deg)}}@keyframes arrive{from{transform:translateY(20px)}to{transform:translateY(0)}}
body.no-motion .hero-art{transform:none!important}body.no-motion *{scroll-behavior:auto!important}body.no-motion *,body.no-motion *:after,body.no-motion *:before,body.tab-hidden *,body.tab-hidden *:after,body.tab-hidden *:before{animation-play-state:paused!important}body.no-motion *{animation:none!important;transition:none!important}
@media(max-width:1100px){.soundtrack{margin-inline:30px;grid-template-columns:1fr 320px;gap:25px}.hero h1{font-size:3.9vw}.character.cat{right:25px}.character.vampire{right:180px}.activity h3{font-size:1.35rem}.activity-number{font-size:.7rem}}
@media(max-width:760px){.hero{grid-template-columns:1fr;padding-top:40px;min-height:0}.hero h1{font-size:clamp(2.2rem,7.8vw,3.5rem)}.hero-art{margin-top:35px}.ghost-scene{width:115%;margin-left:-13%}.ghost-message{left:36%;top:38%;width:50%;height:28%}.art-caption{font-size:.8rem}.orbit-label{font-size:.7rem;top:0;right:0}.soundtrack{margin:35px 20px 0;padding:22px;grid-template-columns:1fr;gap:20px}.soundtrack h2{font-size:1.35rem}.soundtrack .video-shell{width:100%;min-height:200px}.about .section-heading,.schedule-section .section-heading{padding-right:0}.about .section-heading h2,.schedule-section .section-heading h2{padding-right:40px}.character.cat{width:105px;height:105px;top:32px;right:0;opacity:.9}.about .eyebrow{max-width:65%}.character.pumpkin{width:115px;height:115px;top:5px;right:4px}.schedule-section .section-heading{padding-top:50px}.character.vampire{width:110px;height:110px;right:12px;top:-47px}.partner-panel .eyebrow{padding-right:65px}.activity h3{font-size:1.25rem}.activity p{font-size:.875rem}.activity-number{font-size:.7rem}.night-atmosphere .ember:nth-child(n+13){display:none}.section-heading h2{font-size:1.8rem}.sound-shortcut{right:12px;bottom:12px;padding:10px 14px}.hero .music-label{font-size:.875rem}.hero .ghost-scene img{mask-image:radial-gradient(ellipse 70% 73% at 57% 48%,#000 45%,transparent 83%)}.ticker{gap:14px;font-size:.75rem}.featured{overflow:hidden}.sound-controls{gap:15px}.section-heading{margin-bottom:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.hero-art{transform:none!important}}
.character{mask-image:none}
@media(max-width:760px){.character.cat{top:5px;width:100px;height:100px}}
/* Owner supplied campaign artwork and logo. This revision intentionally keeps them static. */
.brand-image{width:116px;height:52px;display:block}.brand-image img{width:100%;height:100%;object-fit:contain;object-position:left center}.hero-poster{width:115%;margin-left:-10%;animation:none!important;transform:none!important}.hero-poster img{width:100%;height:auto;object-fit:contain;mix-blend-mode:normal;mask-image:none!important;border-radius:12px}.ghost-message{display:none}.hero-art:before{display:none}.night-haze{animation:none!important}.ember{display:none}.ticker b{animation:none!important}.activity:after{display:none}.activity:hover{transform:none}.activity:hover .activity-symbol{transform:none}.featured:hover .feature-art img{transform:none}.thirteen{animation:none!important;text-shadow:none}.character{animation:none!important}.soundtrack{margin-top:30px}
/* Orange editorial text with accessible contrast on the deep violet surfaces. */
body{color:#ffad62}.hero h1,.hero h1 em,h2,h3,.manifesto p,.offer-card h3,.schedule h3,summary,label,.brand-camp{color:#ffad62}p,.hero p,.about-text p,.offer-card p,.schedule p,.team-roles p,.faq p,.soundtrack p,.fine-print{color:#ffc58e}.section-heading h2 span,.feature-copy .neon,.manifesto strong,.partner-panel h2 span,.eyebrow,.values,.text-link,.activity-symbol,.facts strong{color:#ff9b4d!important}.ticker{color:#25120b}.ticker span{color:#25120b}.button{color:#25120b;background:#ff9b4d;border-color:#ff9b4d}.button.outline{color:#ffad62;border-color:#ff9b4d;background:transparent}.button.outline:hover{background:#3a1d2e}.brand-image img{filter:drop-shadow(0 0 8px #ff9b4d44)}.about-grid .manifesto{border-left-color:#ff9b4d}.schedule article{border-top-color:#ff9b4d}.camp-offer{border-color:#ff9b4d}.tag{color:#ffad62;border-color:#ff9b4d}.camp-offer .tag{background:#ff9b4d;color:#25120b}.offer-card li{color:#ffc58e}.offer-card li:before{color:#ff9b4d}.sound-shortcut{color:#ffad62;border-color:#ff9b4d}.music-pill{color:#ffad62;border-color:#ff9b4d}.music-pill>span:first-child{color:#ff9b4d}.soundtrack{border-color:#ff9b4d66}.sound-controls input{accent-color:#ff9b4d}.partner-panel{border-color:#ff9b4d88}.contact-pending{border-left-color:#ff9b4d}.whatsapp{color:#ffc58e;border-color:#ff9b4d}.preview-note{color:#ffc58e}
@media(max-width:760px){.brand-image{width:88px;height:45px}.hero-poster{width:116%;margin-left:-8%}}
/* Deliberately static visual treatment for this revision. */
*,*::before,*::after{animation:none!important;transition:none!important}
/* Reintroduce only the requested micro-interactions. */
.brand-image img{animation:logo-pulse 4.2s ease-in-out infinite!important}.hero-poster{overflow:visible!important}.hero-poster img{position:relative;z-index:1}.flying-bat,.fire-spark{position:absolute;z-index:3;pointer-events:none}.flying-bat{left:var(--left);top:var(--top);font-size:clamp(1rem,2.2vw,1.7rem);filter:drop-shadow(0 0 5px #b778ff);animation:bat-flight 7s ease-in-out var(--delay) infinite!important}.fire-spark{left:var(--left);bottom:15%;width:4px;height:4px;border-radius:50%;background:#ffd55a;box-shadow:0 0 9px 3px #ff9e3d;animation:spark-rise 2.8s ease-out var(--delay) infinite!important}.character.cat,.character.vampire{display:none!important}@keyframes logo-pulse{0%,100%{transform:scale(1);filter:drop-shadow(0 0 5px #ff9b4d33)}50%{transform:scale(1.04);filter:drop-shadow(0 0 14px #ff9b4d99)}}@keyframes bat-flight{0%{transform:translate(0,0) scale(.8) rotate(-5deg);opacity:0}15%,75%{opacity:.9}50%{transform:translate(22px,-18px) scale(1) rotate(5deg)}100%{transform:translate(55px,-42px) scale(.65) rotate(-2deg);opacity:0}}@keyframes spark-rise{0%{transform:translate(0,0) scale(.5);opacity:0}20%{opacity:1}100%{transform:translate(-8px,-52px) scale(.1);opacity:0}}@media(prefers-reduced-motion:reduce){.brand-image img,.flying-bat,.fire-spark{animation:none!important}}
/* Featured card layout fix: keep every text block inside its column. */
.featured{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);overflow:hidden}.feature-art,.feature-copy{min-width:0}.feature-copy{overflow-wrap:anywhere}.feature-copy h2{font-size:clamp(2rem,3.7vw,3.6rem);word-break:normal}.feature-copy p{max-width:100%;overflow-wrap:break-word}.facts{min-width:0}.facts>div{min-width:0}.facts strong{word-break:normal;overflow-wrap:anywhere}.flying-bat{display:none!important}
@media(max-width:900px) and (min-width:761px){.featured{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:24px;padding:28px}.feature-art img{height:auto}.feature-copy h2{font-size:2.25rem}.feature-copy p{font-size:.9rem}.facts{gap:12px}.facts strong{font-size:.67rem}.facts span{font-size:.7rem}}
/* Full-width campaign presentation: artwork first, copy below. */
.featured{display:block;padding:42px;overflow:hidden}.featured .feature-art{width:100%;max-width:100%;margin:0}.featured .feature-art img{width:100%;height:auto;aspect-ratio:1536/1024;object-fit:contain;object-position:center;border-radius:14px}.featured .feature-copy{width:100%;max-width:950px;margin:34px auto 0;text-align:center}.featured .feature-copy h2{font-size:clamp(2.2rem,4vw,4rem)}.featured .feature-copy p{max-width:850px;margin-left:auto;margin-right:auto}.featured .facts{justify-content:center}.featured .text-link{justify-content:center}@media(max-width:760px){.featured{padding:20px;margin-inline:16px}.featured .feature-copy{margin-top:25px;text-align:left}.featured .facts{justify-content:flex-start}.featured .text-link{justify-content:flex-start}}
.booking-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0 25px;padding:15px;background:#ff9b4d12;border:1px solid #ff9b4d66;border-radius:10px}.booking-facts>div{min-width:0}.booking-facts span{display:block;color:#ffc58e;font-size:.68rem;letter-spacing:.09em;font-weight:800}.booking-facts strong{display:block;color:#ffad62;font-size:.83rem;margin-top:3px;overflow-wrap:anywhere}.feature-copy .booking-facts{max-width:900px;margin-left:auto;margin-right:auto}.feature-copy .booking-facts>div{text-align:center}@media(max-width:760px){.booking-facts{grid-template-columns:1fr;gap:10px}.feature-copy .booking-facts>div{text-align:left}.booking-facts strong{font-size:.9rem}}

/* Revised opening: story first, followed immediately by the campaign artwork. */
.about{padding-top:48px;padding-bottom:36px}.about .section-heading{padding-right:0;margin-bottom:24px}.about h1{font-size:clamp(2rem,4vw,3.6rem);line-height:1.15;letter-spacing:-.045em;color:#ffad62;margin:0}.about h1 span{color:#ff9b4d}.featured .feature-art img{aspect-ratio:16/9}.booking-facts{grid-template-columns:repeat(2,minmax(0,1fr))}a.whatsapp{display:inline-flex;align-items:center;gap:16px;text-decoration:none}a.whatsapp:focus-visible{outline:2px solid #ff9b4d;outline-offset:5px}
@media(max-width:760px){.about{padding-top:32px;padding-bottom:24px}.booking-facts{grid-template-columns:1fr}}

/* Opening title above the artwork; introduction inside the purple panel. */
.opening{padding-top:48px;padding-bottom:32px}.opening h1{margin:0;font-size:clamp(2.5rem,4vw,3.75rem);line-height:1.24;letter-spacing:-.055em;color:#ffad62}.opening h1 em{color:#ffad62}.featured .story-intro{padding:36px 0 0;scroll-margin-top:100px}.story-intro .section-heading h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.15}.featured .feature-copy{border-top:1px solid #a75de255;padding-top:30px}.story-intro .about-grid{gap:30px}
@media(max-width:760px){.opening{padding-top:32px;padding-bottom:24px}.opening h1{font-size:clamp(2.2rem,7.8vw,3.5rem)}.featured .story-intro{padding-top:25px}.story-intro .about-grid{grid-template-columns:1fr}.story-intro .section-heading h2{padding-right:0;font-size:1.8rem}}

.featured .story-intro .about-grid{grid-template-columns:1fr}

.featured .opening{padding:0 0 32px;text-align:center}.featured .opening h1,.featured .opening h1 span{font-style:normal}.featured .opening h1 span{color:#ffad62}
@media(max-width:760px){.featured .opening{padding-bottom:24px}}

/* Accommodation collaborators, with photos from the supplied brochures. */
.stays-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}.stay-card{min-width:0;overflow:hidden;background:linear-gradient(135deg,#2a1740,#1a1028);border:1px solid #a75de280;border-radius:18px}.stay-card>h3{padding:25px 24px 20px;margin:0;font-size:1.5rem;line-height:1.25}.stay-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 24px}.stay-gallery figure{margin:0;min-width:0}.stay-gallery figure:first-child{grid-column:1/-1}.stay-gallery a{display:block;border-radius:10px;overflow:hidden;background:#100a1d}.stay-gallery img{display:block;width:100%;height:150px;object-fit:cover}.stay-gallery figure:first-child img{height:auto;aspect-ratio:16/9;object-fit:cover}.stay-gallery figcaption{font-size:.72rem;line-height:1.4;color:#ffc58e;padding:6px 0}.stay-gallery a:focus-visible{outline:3px solid #ffad62;outline-offset:3px}.stay-body{padding:18px 24px 24px}.stay-detail+ .stay-detail{margin-top:20px}.stay-detail h4{font-size:.85rem;letter-spacing:.03em;color:#ffad62;margin:0 0 7px}.stay-detail p{font-size:.92rem;line-height:1.7;margin:0}.stay-note{font-size:.8rem;line-height:1.6;border-top:1px solid #a75de255;padding-top:16px;margin:20px 0 0;color:#ffc58e}.collaborators>.fine-print{margin-top:20px}
@media(max-width:760px){.stays-grid{grid-template-columns:1fr;gap:22px}.stay-card>h3{padding:20px 18px 16px;font-size:1.35rem}.stay-gallery{padding:0 18px;gap:10px}.stay-gallery img{height:120px}.stay-body{padding:16px 18px 20px}}

