:root{--ink:#192421;--forest:#17382f;--forest-2:#0f2a23;--sage:#a9b7a3;--cream:#f1eee5;--paper:#faf8f3;--gold:#c8a86a;--line:rgba(25,36,33,.16)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Arial,sans-serif;line-height:1.7}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.skip-link{position:fixed;left:1rem;top:-5rem;background:#fff;padding:.7rem 1rem;z-index:99}.skip-link:focus{top:1rem}.site-header{height:88px;padding:0 4vw;display:flex;align-items:center;gap:3rem;position:absolute;z-index:20;width:100%;color:#fff;border-bottom:1px solid rgba(255,255,255,.18)}.brand{display:flex;align-items:center;gap:.8rem;margin-right:auto}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--gold);border-radius:50%;font-family:"Playfair Display";font-size:1.5rem;color:var(--gold)}.brand strong{display:block;font-family:"Playfair Display";font-size:1.2rem;line-height:1}.brand small{display:block;text-transform:uppercase;letter-spacing:.13em;font-size:.48rem;margin-top:.35rem;opacity:.72}.site-header nav{display:flex;gap:1.8rem;font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.site-header nav a{position:relative}.site-header nav a:after{content:"";position:absolute;left:0;bottom:-.5rem;width:0;height:1px;background:var(--gold);transition:.3s}.site-header nav a:hover:after{width:100%}.language{position:relative}.language-button{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;padding:.6rem .8rem;cursor:pointer}.language-menu{display:none;position:absolute;right:0;top:calc(100% + .6rem);background:#fff;color:var(--ink);min-width:180px;padding:.5rem;box-shadow:0 20px 40px #0003}.language.open .language-menu{display:grid}.language-menu a{padding:.55rem .7rem;display:flex;justify-content:space-between;font-size:.8rem}.language-menu a:hover,.language-menu a.active{background:var(--cream)}.menu-toggle{display:none}
.hero{min-height:780px;height:100vh;position:relative;color:#fff;display:flex;align-items:center;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url("../images/hero.jpg") center 32%/cover no-repeat;transform:scale(1.015)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,31,25,.94) 0%,rgba(10,31,25,.72) 40%,rgba(10,31,25,.18) 72%),linear-gradient(0deg,rgba(7,24,19,.55),transparent 45%)}.hero-content{position:relative;z-index:2;max-width:710px;margin-left:10vw;margin-top:4rem}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:.69rem;font-weight:700;color:#d3bb85;margin:0 0 1.4rem;display:flex;align-items:center;gap:.8rem}.eyebrow:before{content:"";width:38px;height:1px;background:currentColor}.eyebrow.dark{color:#806b42}.hero h1{font-family:"Playfair Display";font-size:clamp(3.6rem,7vw,7.2rem);line-height:.94;letter-spacing:-.04em;margin:0;max-width:700px}.hero-lead{font-size:1.05rem;max-width:520px;margin:2rem 0;color:#e3e5df}.hero-actions{display:flex;align-items:center;gap:2rem}.button{display:inline-flex;gap:2rem;align-items:center;padding:.9rem 1.25rem;text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700}.button.primary{background:var(--gold);color:#17251f}.button span{font-size:1rem}.text-link{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;border-bottom:1px solid #ffffff55;padding-bottom:.4rem}.text-link span{margin-left:1rem}.store-row{display:flex;gap:.75rem;margin-top:2.2rem;flex-wrap:wrap}.store-badge{display:flex;align-items:center;gap:.7rem;border:1px solid #ffffff55;border-radius:8px;padding:.45rem .8rem;background:#090b0a;color:#fff;min-width:150px;line-height:1}.store-badge small{display:block;font-size:.5rem;margin-bottom:.25rem}.store-badge strong{font-size:.92rem}.store-icon,.play-icon{font-size:1.35rem}.play-icon{color:#64d48d}.scroll-cue{position:absolute;right:3.5vw;bottom:3rem;z-index:2;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.2em;font-size:.55rem;display:flex;align-items:center;gap:.7rem}.scroll-cue span{height:55px;width:1px;background:#ffffff88}
.quote-section{padding:7.5rem 12vw;background:var(--cream);text-align:center;position:relative}.quote-mark{font-family:"Playfair Display";font-size:7rem;line-height:.5;color:var(--gold)}blockquote{font-family:"Playfair Display";font-size:clamp(1.55rem,2.5vw,2.6rem);line-height:1.45;max-width:1050px;margin:2rem auto;font-style:italic}.quote-sign{font-family:"Playfair Display";color:#806b42;font-style:italic}
.section{padding:8rem 9vw}.about{display:grid;grid-template-columns:minmax(320px,500px) 1fr;gap:10vw;align-items:center}.about-visual{position:relative}.portrait-frame{border-radius:50% 50% 3rem 3rem;overflow:hidden;aspect-ratio:4/5;background:#d9d7ce}.portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:center}.orbit{position:absolute;right:-4rem;bottom:2rem;width:120px;height:120px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;font-size:.5rem;letter-spacing:.13em;background:var(--paper);text-align:center;padding:1.5rem;color:#806b42}.section h2,.tickets h2,.app-promo h2{font-family:"Playfair Display";font-size:clamp(2.8rem,5vw,5rem);line-height:1.05;letter-spacing:-.03em;margin:0 0 1.8rem}.large-copy{font-size:1.08rem;max-width:650px;color:#46504d}.signature{font-family:"Playfair Display";font-style:italic;font-size:1.8rem;color:#806b42;margin-top:2rem}
.services{background:#e8e5dc}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:3.5rem}.section-heading h2{margin:0}.section-number{font-size:.65rem;letter-spacing:.2em}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.service-card{padding:2.6rem 2rem 2rem;border-right:1px solid var(--line);min-height:390px;display:flex;flex-direction:column}.service-card:first-child{border-left:1px solid var(--line)}.card-top{display:flex;justify-content:space-between;color:#806b42;font-size:.7rem}.card-top i{font-size:2rem;font-style:normal}.service-card h3{font-family:"Playfair Display";font-size:2rem;line-height:1.15;margin:3rem 0 1.2rem}.service-card p{color:#58615e;font-size:.9rem}.service-card a{margin-top:auto;text-transform:uppercase;letter-spacing:.14em;font-size:.65rem;font-weight:700}.service-card a span{float:right;font-size:1rem}
.information{display:grid;grid-template-columns:1fr 1fr}.info-panel{padding:6rem 8vw;background:#d8d4c8;display:grid;grid-template-columns:60px 1fr;gap:2rem}.dark-panel{background:var(--forest);color:#e9ece5}.panel-icon{border:1px solid var(--gold);color:var(--gold);width:52px;height:52px;border-radius:50%;display:grid;place-items:center;font-size:1.4rem}.info-panel h2{font-family:"Playfair Display";font-size:2.2rem;margin:0 0 1rem}.info-panel p{font-size:.88rem;opacity:.82}
.tickets{min-height:610px;background:var(--forest-2);color:#fff;display:grid;place-items:center;text-align:center;padding:7rem 1.5rem;position:relative;overflow:hidden}.ticket-content{max-width:700px;position:relative;z-index:2}.ticket-content .eyebrow{justify-content:center}.ticket-content .eyebrow:after{content:"";width:38px;height:1px;background:currentColor}.ticket-content p:not(.eyebrow){color:#c9d0cb;max-width:600px;margin:0 auto 2.5rem}.tixa-button{margin:auto;max-width:420px;display:flex;align-items:center;gap:1.2rem;padding:1rem 1.2rem;background:var(--gold);color:var(--ink);text-align:left;text-transform:uppercase;font-size:.72rem;letter-spacing:.1em;font-weight:700}.tixa-button small{display:block;font-size:.52rem;margin-top:.25rem;opacity:.65}.tixa-button b{margin-left:auto;font-size:1.2rem}.ticket-icon{width:42px;height:42px;border:1px solid #58472055;border-radius:50%;display:grid;place-items:center}.ticket-orb{position:absolute;border-radius:50%;border:1px solid #c8a86a33}.orb-one{width:550px;height:550px;left:-170px;top:-230px}.orb-two{width:430px;height:430px;right:-150px;bottom:-160px}
.booking-intro{text-align:center;max-width:780px;margin:0 auto 4rem}.booking-intro .eyebrow{justify-content:center}.booking-intro p:last-child{color:#5d6663}.booking-layout{display:grid;grid-template-columns:1fr 1fr;gap:7vw}.steps h3,.booking-placeholder h3{font-family:"Playfair Display";font-size:2rem}.step{display:grid;grid-template-columns:45px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.step span{font-size:.65rem;color:#806b42}.step p{margin:0;font-size:.9rem}.help{margin-top:2rem;font-size:.82rem}.help a{text-decoration:underline}.booking-placeholder{background:var(--forest);color:#fff;min-height:520px;padding:4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative}.booking-placeholder>p{color:#bec8c2;max-width:360px}.calendar-icon{width:82px;height:82px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);position:relative}.calendar-icon span{position:absolute;top:25px;width:36px;border-top:1px solid var(--gold)}.calendar-icon b{font-size:1.5rem}.skeleton{width:80%;margin-top:2rem}.skeleton span{display:block;height:1px;background:#ffffff25;margin:.8rem}.phase{position:absolute;bottom:1.5rem;right:1.5rem;font-size:.55rem;letter-spacing:.2em;color:var(--gold)}
.app-promo{background:#1f4339;color:#fff;padding:7rem 12vw;display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden}.app-promo>div{max-width:550px}.app-promo p:not(.eyebrow){color:#ccd4cf}.app-glow{width:390px;margin:auto;filter:drop-shadow(0 25px 40px #0008);border-radius:50%}
footer{background:#0c1d18;color:#cbd1cd;padding:6rem 8vw 2rem;display:grid;grid-template-columns:1fr 1fr 1fr;gap:4rem;position:relative}footer h2{font-family:"Playfair Display";font-size:2.5rem;margin:.8rem 0}footer h3{color:#fff;font-family:"Playfair Display";font-size:1.5rem;margin-top:0}footer p{font-size:.82rem;max-width:400px}footer a{display:block;margin:.6rem 0;font-size:.82rem}.footer-links{display:flex;flex-direction:column;align-items:flex-end}.copyright{grid-column:1/-1;border-top:1px solid #ffffff18;padding-top:1.5rem;margin-top:2rem}
.reveal{opacity:0;transform:translateY(25px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}
@media(max-width:900px){.site-header{height:72px}.site-header nav{position:fixed;inset:72px 0 auto;background:var(--forest-2);padding:2rem;display:none;flex-direction:column}.site-header nav.open{display:flex}.menu-toggle{display:flex;background:transparent;border:0;flex-direction:column;gap:4px;color:#fff;align-items:center}.menu-toggle span{width:23px;border-top:1px solid}.menu-toggle b{font-size:.45rem}.language{order:2}.hero-content{margin:5rem 7vw 0}.hero h1{font-size:clamp(3.3rem,12vw,5.5rem)}.hero-shade{background:linear-gradient(90deg,rgba(10,31,25,.91),rgba(10,31,25,.45))}.about{grid-template-columns:1fr;gap:5rem}.about-visual{max-width:480px}.service-grid{grid-template-columns:1fr}.service-card,.service-card:first-child{border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.information,.booking-layout,.app-promo{grid-template-columns:1fr}.app-promo{gap:4rem}.info-panel{padding:4rem 6vw}.section{padding:6rem 6vw}footer{grid-template-columns:1fr 1fr}.footer-links{align-items:flex-start}}
@media(max-width:600px){.site-header{padding:0 1rem;gap:.8rem}.brand small{display:none}.brand strong{font-size:1rem}.brand-mark{width:36px;height:36px}.language-button{padding:.45rem}.hero{min-height:740px}.hero-content{margin-left:1.3rem;margin-right:1.3rem}.hero-lead{font-size:.9rem}.hero-actions{gap:1rem}.store-row{margin-top:1.5rem}.store-badge{min-width:140px;padding:.4rem .65rem}.quote-section{padding:5rem 1.4rem}.section{padding:5rem 1.4rem}.section-heading{align-items:start;gap:1rem}.section-number{white-space:nowrap}.orbit{right:-.5rem}.info-panel{grid-template-columns:1fr;padding:4rem 1.5rem}.booking-placeholder{padding:3rem 1.5rem}.app-promo{padding:5rem 1.5rem}footer{grid-template-columns:1fr;padding:5rem 1.5rem 2rem}.footer-links{align-items:flex-start}.scroll-cue{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.reveal{opacity:1;transform:none;transition:none}}

/* Mystical black and violet art direction */
:root{--ink:#f5f1f7;--forest:#252525;--forest-2:#000;--sage:#716b75;--cream:#171419;--paper:#0a090b;--gold:#AF47FF;--purple:#AF47FF;--line:rgba(175,71,255,.22)}
body{background:#0a090b;color:#f5f1f7}
body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}
.site-header{height:104px;border-bottom-color:#af47ff3d;background:linear-gradient(180deg,#000c,transparent)}
.brand{margin-right:auto}.brand img{width:112px;height:82px;object-fit:contain;filter:drop-shadow(0 0 15px #af47ff55)}
.brand-mark,.brand>span{display:none}
.site-header nav a:after{background:#AF47FF;box-shadow:0 0 9px #AF47FF}
.language-button{border-color:#af47ff80;background:#0008}
.language-menu{background:#151217;color:#fff;border:1px solid #af47ff55;box-shadow:0 20px 50px #000}
.language-menu a:hover,.language-menu a.active{background:#af47ff24;color:#dfaaff}
.hero{background:#000}.hero:after{content:"";position:absolute;width:42vw;height:42vw;right:-8vw;top:10%;border:1px solid #af47ff55;border-radius:50%;box-shadow:0 0 100px #af47ff22,inset 0 0 100px #af47ff12;z-index:1}
.hero-photo{inset:-6% 0;background-image:url("../images/hero-mystic.png");background-position:center 44%;background-size:cover;filter:saturate(.88) contrast(1.08);transform:translate3d(0,var(--hero-parallax,0px),0) scale(1.045);will-change:transform}
.hero-shade{background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.88) 22%,rgba(0,0,0,.2) 43%,transparent 49%,transparent 62%,rgba(0,0,0,.28) 80%,rgba(0,0,0,.82) 100%),linear-gradient(0deg,#000 0%,transparent 42%),radial-gradient(ellipse at 53% 40%,transparent 20%,rgba(0,0,0,.08) 48%,rgba(0,0,0,.55) 100%)}
.hero-content{margin-left:8vw}.eyebrow,.eyebrow.dark{color:#c77cff;text-shadow:0 0 20px #af47ff99}.eyebrow:before{box-shadow:0 0 10px currentColor}
.hero-lead{color:#c9c3cd}.button.primary{background:#AF47FF;color:#000;box-shadow:0 0 30px #af47ff66}.text-link{border-bottom-color:#af47ff99}
.store-badge{border-color:#af47ff77;background:#050505;box-shadow:0 0 22px #af47ff20}.store-icon,.play-icon{color:#c77cff}.scroll-cue span{background:#AF47FF}
.quote-section{background:radial-gradient(circle at 50% 0,#af47ff20,transparent 46%),#100e12;border-top:1px solid #af47ff33;border-bottom:1px solid #af47ff33}
.quote-section:before{content:"✦";position:absolute;left:8%;top:12%;color:#af47ff77;font-size:2rem}.quote-mark{color:#AF47FF;text-shadow:0 0 35px #af47ff88}.quote-sign,.signature{color:#c77cff}
.portrait-frame{background:#1d1820;border:1px solid #af47ff66;box-shadow:0 0 60px #af47ff20}.portrait-frame img{filter:saturate(.65) contrast(1.08)}
.orbit{border-color:#AF47FF;background:#080709;color:#d6a2ff;box-shadow:0 0 30px #af47ff44}
.large-copy,.service-card p,.booking-intro p:last-child{color:#aaa3ad}
.services{background:#121013}.service-card{border-color:#af47ff2e}.card-top{color:#c77cff}
.information{background:#000}.info-panel{background:#1b181d}.dark-panel{background:#000;border-left:1px solid #af47ff44}.panel-icon{border-color:#AF47FF;color:#c77cff}
.tickets{background:radial-gradient(circle at 50% 50%,#af47ff2b,transparent 44%),#000}.ticket-content p:not(.eyebrow){color:#aaa3ad}.tixa-button{background:#AF47FF;color:#000;box-shadow:0 0 40px #af47ff4d}.ticket-orb{border-color:#af47ff55}
.booking-placeholder{background:radial-gradient(circle at 50% 35%,#af47ff25,transparent 45%),#000;border:1px solid #af47ff44}.calendar-icon{border-color:#AF47FF;color:#c77cff}.calendar-icon span{border-color:#AF47FF}.booking-placeholder>p{color:#aaa3ad}
.app-promo{background:radial-gradient(circle at 22% 50%,#af47ff29,transparent 34%),#151217}.app-glow{filter:drop-shadow(0 25px 55px #af47ff55)}
footer{background:#000;border-top:1px solid #af47ff44}.footer-brand img{width:210px;height:155px;object-fit:contain;filter:drop-shadow(0 0 25px #af47ff55)}.footer-brand h2{display:none}
@media(max-width:900px){.site-header nav{background:#09070b}.hero-photo{inset:-4% 0;background-position:50% 44%;transform:translate3d(0,var(--hero-parallax,0px),0) scale(1.06)}.hero-shade{background:linear-gradient(90deg,#000f 0%,rgba(0,0,0,.72) 28%,rgba(0,0,0,.12) 44%,transparent 50%,rgba(0,0,0,.12) 56%,rgba(0,0,0,.72) 100%),linear-gradient(0deg,#000 0%,transparent 45%),radial-gradient(ellipse at 50% 40%,transparent 16%,rgba(0,0,0,.42) 100%)}}
@media(max-width:600px){.site-header{height:82px}.brand img{width:78px;height:60px}.hero-photo{background-position:50% 42%}.hero:after{width:85vw;height:85vw;right:-35vw;top:18%}}
.portrait-frame img{object-position:center 38%}
@media(prefers-reduced-motion:reduce){.hero-photo{transform:scale(1.045);will-change:auto}}

/* Interactive booking prototype */
.booking-layout{grid-template-columns:minmax(260px,.7fr) minmax(560px,1.6fr);gap:4vw;align-items:start}
.booking-engine{background:linear-gradient(145deg,#121014,#050505);color:#f7f2f8;border:1px solid rgba(178,156,110,.45);border-radius:2px;box-shadow:0 28px 80px rgba(0,0,0,.3),0 0 45px rgba(175,71,255,.09);overflow:hidden;min-height:610px}
.booking-engine-head{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.8rem;border-bottom:1px solid #ffffff17;background:linear-gradient(90deg,rgba(175,71,255,.13),transparent)}
.booking-engine-head h3{font-family:"Playfair Display";font-size:1.7rem;margin:.25rem 0 0}.booking-demo{color:var(--gold-light);text-transform:uppercase;letter-spacing:.18em;font-size:.56rem}
.booking-progress{min-width:150px}.booking-progress i{display:block;height:2px;background:linear-gradient(90deg,#AF47FF 20%,#ffffff18 20%);margin-bottom:.55rem}.booking-progress span{display:block;text-align:right;color:#bdb5c1;font-size:.65rem;letter-spacing:.14em}
.booking-stage-list{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;margin:0;padding:0 1.8rem;border-bottom:1px solid #ffffff12;background:#080709}.booking-stage-list li{position:relative;padding:.85rem .5rem .85rem 1.2rem;color:#777;font-size:.57rem;line-height:1.25}.booking-stage-list li:before{content:"";position:absolute;left:0;top:1rem;width:7px;height:7px;border:1px solid #666;border-radius:50%}.booking-stage-list li.active{color:#fff}.booking-stage-list li.active:before{border-color:#AF47FF;background:#AF47FF;box-shadow:0 0 12px #AF47FF}.booking-stage-list li.complete{color:#B29C6E}.booking-stage-list li.complete:before{border-color:#B29C6E;background:#B29C6E}
.booking-form{padding:2rem}.booking-screen{display:none;animation:bookingIn .35s ease}.booking-screen.active{display:block}.booking-screen>h4{font-family:"Playfair Display";font-size:1.55rem;margin:0 0 1.5rem}
@keyframes bookingIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.booking-services{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.booking-service{cursor:pointer}.booking-service input{position:absolute;opacity:0;pointer-events:none}.service-visual{height:100%;min-height:245px;display:flex;flex-direction:column;padding:1.2rem;border:1px solid #ffffff1c;background:#ffffff08;transition:.25s ease}.service-visual i{width:52px;height:52px;border:1px solid color-mix(in srgb,var(--booking-service-color,#B29C6E) 75%,transparent);border-radius:50%;display:grid;place-items:center;color:var(--booking-service-color,var(--gold-light));font-style:normal;font-size:1.25rem;margin-bottom:1.8rem}.service-visual strong{font-family:"Playfair Display";font-size:1.15rem;line-height:1.2}.service-visual small{color:#aaa3ad;line-height:1.5;margin:.7rem 0 .6rem}.service-visual em{font-style:normal;color:#d4ccd6;font-size:.68rem;margin-bottom:1rem}.service-visual b{margin-top:auto;color:var(--booking-service-color,var(--gold-light));font-size:.73rem}.booking-service input:checked+.service-visual{border-color:var(--booking-service-color,#AF47FF);background:linear-gradient(145deg,color-mix(in srgb,var(--booking-service-color,#AF47FF) 22%,transparent),#ffffff08);box-shadow:inset 0 0 30px color-mix(in srgb,var(--booking-service-color,#AF47FF) 10%,transparent),0 0 25px color-mix(in srgb,var(--booking-service-color,#AF47FF) 14%,transparent);transform:translateY(-3px)}.booking-service input:focus-visible+.service-visual{outline:2px solid #fff;outline-offset:2px}
.guest-picker{display:flex;align-items:center;justify-content:center;gap:2rem;min-height:190px}.guest-picker button{width:54px;height:54px;border-radius:50%;border:1px solid #AF47FF;color:#fff;background:#af47ff15;font-size:1.5rem;cursor:pointer}.guest-picker strong{font-family:"Playfair Display";font-size:4rem;min-width:80px;text-align:center}.booking-total{display:flex;justify-content:space-between;border-top:1px solid #ffffff18;padding:1.2rem 0;color:#bdb5c1}.booking-total strong{color:var(--gold-light);font-size:1.2rem}
.date-options,.time-options{display:grid;grid-template-columns:repeat(4,1fr);gap:.65rem;margin-bottom:2rem}.date-option,.time-option{position:relative}.date-option input,.time-option input{position:absolute;opacity:0}.date-option span,.time-option span{display:flex;min-height:62px;align-items:center;justify-content:center;flex-direction:column;border:1px solid #ffffff20;background:#ffffff07;cursor:pointer;text-align:center;padding:.55rem;transition:.2s}.date-option b{font-family:"Playfair Display";font-size:1.2rem}.date-option small{color:#aaa3ad}.date-option input:checked+span,.time-option input:checked+span{border-color:#AF47FF;color:#fff;background:#af47ff25;box-shadow:0 0 22px #af47ff20}.time-options:empty:after{content:"—";color:#777}
.availability-message{grid-column:1/-1;margin:0;padding:1.2rem;border:1px solid #ffffff18;background:#ffffff05;color:#aaa3ad;font-size:.76rem;line-height:1.6}.availability-message.loading{color:#cbb7d8}.availability-message.error{border-color:#ff797944;color:#ffb1b1}
.participant-fields,.billing-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field-label,.billing-grid label{display:flex;flex-direction:column;gap:.45rem;color:#c8c0cb;font-size:.7rem}.field-label{grid-column:1/-1}.participant-fields input,.billing-grid input{width:100%;border:1px solid #ffffff24;background:#ffffff08;color:#fff;padding:.85rem .9rem;font:inherit;outline:0}.participant-fields input:focus,.billing-grid input:focus{border-color:#AF47FF;box-shadow:0 0 0 3px #af47ff18}.participant-fields input.invalid,.billing-grid input.invalid{border-color:#ff7b7b}.billing-grid .wide{grid-column:1/-1}
.booking-summary{margin-top:1.4rem;border:1px solid rgba(178,156,110,.35);padding:1.1rem;background:#b29c6e0c}.booking-summary h4{font-family:"Playfair Display";margin:0 0 .8rem}.booking-summary div{color:#bdb5c1;font-size:.8rem;line-height:1.7}.booking-summary p{display:flex;justify-content:space-between;border-top:1px solid #ffffff18;padding-top:.8rem;margin-bottom:0}.booking-summary strong{color:var(--gold-light)}.demo-note{font-size:.7rem;color:#9d95a1}
.booking-nav{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;padding-top:1.2rem;border-top:1px solid #ffffff14}.booking-nav button,.booking-success button{border:0;padding:.85rem 1.1rem;text-transform:uppercase;letter-spacing:.1em;font-weight:700;font-size:.65rem;cursor:pointer}.booking-next,.booking-success button{margin-left:auto;background:#AF47FF;color:#050505;box-shadow:0 0 25px #af47ff36}.booking-back{background:transparent;color:#ccc}.booking-error{margin-top:1rem;color:#ffadad;font-size:.78rem}
.booking-success{padding:5rem 3rem;text-align:center}.booking-success>span{display:grid;place-items:center;margin:auto;width:74px;height:74px;border:1px solid #AF47FF;border-radius:50%;font-size:1.8rem;color:#d9adff;box-shadow:0 0 35px #af47ff35}.booking-success h3{font-family:"Playfair Display";font-size:2rem}.booking-success p{color:#bdb5c1;max-width:520px;margin:0 auto 1.5rem}.booking-success [data-success-summary]{color:var(--gold-light);margin-bottom:2rem;line-height:1.7}
.booking-facts{margin:1.5rem 0;border:1px solid rgba(178,156,110,.35);background:rgba(178,156,110,.08)}.booking-facts p{display:flex;justify-content:space-between;gap:1rem;margin:0;padding:.75rem;border-bottom:1px solid rgba(178,156,110,.2);font-size:.72rem}.booking-facts p:last-child{border:0}.booking-facts strong{color:#6f5831}.booking-facts span{text-align:right;color:#645e56}
@media(max-width:1100px){.booking-layout{grid-template-columns:1fr}.booking-services{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.booking-form{padding:1.3rem}.booking-engine-head{padding:1.2rem}.booking-progress{min-width:95px}.booking-stage-list{padding:0 .7rem}.booking-stage-list li{font-size:0;padding:.85rem 0;text-align:center}.booking-stage-list li:before{position:static;display:inline-block}.booking-services{grid-template-columns:1fr}.service-visual{min-height:170px}.service-visual i{margin-bottom:1rem}.date-options{grid-template-columns:repeat(2,1fr)}.time-options{grid-template-columns:repeat(3,1fr)}.participant-fields,.billing-grid{grid-template-columns:1fr}.billing-grid .wide{grid-column:auto}.booking-success{padding:3.5rem 1.4rem}}

/* Persistent shrinking navigation */
.site-header{
  --header-height:104px;
  position:fixed;
  top:0;
  left:0;
  height:var(--header-height);
  z-index:100;
  transition:height .3s ease,padding .3s ease,background .3s ease,box-shadow .3s ease,border-color .3s ease;
}
.site-header .brand img,.site-header nav,.site-header .language-button{transition:.3s ease}
.site-header.scrolled{
  --header-height:68px;
  background:rgba(5,4,6,.91);
  border-bottom-color:rgba(178,156,110,.38);
  box-shadow:0 12px 35px rgba(0,0,0,.38);
  backdrop-filter:blur(15px);
  -webkit-backdrop-filter:blur(15px);
}
.site-header.scrolled .brand img{width:74px;height:54px}
.site-header.scrolled nav{font-size:.68rem;gap:1.45rem}
.site-header.scrolled .language-button{padding:.42rem .65rem}
section[id]{scroll-margin-top:78px}
@media(max-width:900px){
  .site-header{--header-height:82px}
  .site-header.scrolled{--header-height:64px}
  .site-header nav{top:var(--header-height);bottom:auto;transition:top .3s ease}
  .site-header.scrolled .brand img{width:66px;height:48px}
}

/* Warm light surfaces and gold accents */
:root{
  --gold:#B29C6E;
  --gold-light:#D8C9A8;
  --ivory:#F0EBE1;
  --sand:#DDD2BF;
  --warm-ink:#252525;
}
.quote-section{
  color:var(--warm-ink);
  background:
    radial-gradient(circle at 50% 0,rgba(175,71,255,.11),transparent 42%),
    linear-gradient(135deg,#f3eee5 0%,#ded3c0 100%);
  border-color:rgba(178,156,110,.55);
}
.quote-section:before{color:#AF47FF88}
.quote-mark{color:var(--gold);text-shadow:0 0 30px rgba(178,156,110,.45)}
.quote-sign{color:#705e3c}

.about{
  color:#f5f1f7;
  background:
    radial-gradient(circle at 18% 45%,rgba(178,156,110,.18),transparent 28%),
    radial-gradient(circle at 88% 15%,rgba(175,71,255,.16),transparent 32%),
    linear-gradient(125deg,#050505 0%,#171419 52%,#252525 100%);
  border-top:1px solid rgba(178,156,110,.32);
  border-bottom:1px solid rgba(175,71,255,.22);
}
.about:before{
  content:"";
  position:absolute;
  width:420px;
  height:420px;
  right:7%;
  border:1px solid rgba(178,156,110,.13);
  border-radius:50%;
  pointer-events:none;
}
.about{position:relative;overflow:hidden}
.about .about-visual,.about .section-copy{position:relative;z-index:1}
.about .eyebrow.dark{color:var(--gold-light);text-shadow:0 0 18px rgba(178,156,110,.32)}
.services .eyebrow.dark,.booking .eyebrow.dark{color:#765f37;text-shadow:none}
.services .eyebrow:before,.booking .eyebrow:before{box-shadow:none}
.about .large-copy{color:#c9c2cc}
.about .signature{color:var(--gold-light)}
.portrait-frame{border-color:rgba(178,156,110,.75);box-shadow:0 24px 70px rgba(0,0,0,.55),0 0 45px rgba(175,71,255,.12)}
.orbit{border-color:var(--gold);background:#252525;color:var(--gold-light);box-shadow:0 12px 35px rgba(37,37,37,.22)}

.services{
  color:var(--warm-ink);
  background:
    radial-gradient(circle at 85% 0,rgba(175,71,255,.09),transparent 30%),
    linear-gradient(135deg,#c6b99f 0%,#ad9e84 100%);
}
.service-grid{border-color:rgba(77,62,38,.22)}
.service-card,.service-card:first-child{border-color:rgba(77,62,38,.22)}
.service-card:nth-child(2){background:rgba(255,255,255,.24)}
.service-card h3{color:#252525}
.service-card p{color:#625b51}
.service-card a,.card-top{color:#6f5831}
.card-top i{color:#AF47FF}

.info-panel{
  color:var(--warm-ink);
  background:linear-gradient(145deg,#e9e1d2,#cdbd9f);
}
.info-panel .panel-icon{border-color:#765f37;color:#765f37}
.information .info-panel:first-child{
  color:#f5f1f7;
  background:
    radial-gradient(circle at 0 50%,rgba(216,169,255,.28),transparent 40%),
    linear-gradient(120deg,#8f32d6 0%,#542075 36%,#252525 100%);
}
.information .info-panel:first-child .panel-icon{
  color:#f0ddff;
  border-color:#d8a9ff;
  box-shadow:0 0 24px rgba(175,71,255,.34);
}
.information .info-panel:first-child p{color:#ddd5e1}
.dark-panel{
  color:#f5f1f7;
  background:
    radial-gradient(circle at 100% 0,rgba(175,71,255,.2),transparent 38%),
    #252525;
  border-left-color:rgba(178,156,110,.55);
}
.dark-panel .panel-icon{border-color:var(--gold);color:var(--gold-light)}

.tixa-button{background:var(--gold);color:#111;box-shadow:0 0 40px rgba(178,156,110,.35)}
.ticket-icon{border-color:rgba(37,37,37,.35)}

.booking{
  color:var(--warm-ink);
  background:
    radial-gradient(circle at 85% 15%,rgba(175,71,255,.08),transparent 28%),
    #f3eee5;
}
.booking-intro p:last-child{color:#645e56}
.step{border-color:rgba(77,62,38,.2)}
.step span{color:#765f37}
.help a{color:#6f5831;text-decoration-color:#B29C6E}
.booking-placeholder{color:#fff}
.booking-placeholder .calendar-icon{border-color:var(--gold);color:var(--gold-light)}
.booking-placeholder .calendar-icon span{border-color:var(--gold)}
.booking-placeholder .phase{color:var(--gold-light)}

.app-promo{border-top:1px solid rgba(178,156,110,.35)}
footer{border-top-color:rgba(178,156,110,.5)}
footer h3,.footer-links a:hover{color:var(--gold-light)}
.footer-bottom{grid-column:1/-1;border-top:1px solid #ffffff18;padding-top:1.5rem;margin-top:2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}
.footer-bottom .copyright{grid-column:auto;border:0;padding:0;margin:0}
.site-credit{display:flex;flex-direction:column;align-items:center;flex:0 0 auto}
.site-credit a{margin:.2rem 0;font-size:.62rem;letter-spacing:.08em;color:#aaa}
.site-credit img{width:90px;height:31px;object-fit:contain;image-rendering:auto;opacity:.9;transition:.2s}
.site-credit a:hover img{opacity:1;filter:drop-shadow(0 0 8px rgba(175,71,255,.45))}

.scroll-top{
  position:fixed;right:28px;bottom:28px;z-index:45;width:58px;height:58px;
  display:grid;place-items:center;border:1px solid rgba(178,156,110,.75);
  border-radius:50%;background:rgba(10,9,11,.9);color:var(--gold-light);
  box-shadow:0 12px 35px rgba(0,0,0,.4),0 0 22px rgba(175,71,255,.16);
  cursor:pointer;opacity:0;visibility:hidden;transform:translateY(14px);
  transition:.25s ease;backdrop-filter:blur(10px)
}
.scroll-top.visible{opacity:1;visibility:visible;transform:none}
.scroll-top:hover{background:#AF47FF;border-color:#AF47FF;color:#000;box-shadow:0 0 30px rgba(175,71,255,.5)}
.scroll-top span{font-size:1.15rem;line-height:1;transform:translateY(5px)}
.scroll-top small{font-size:.43rem;letter-spacing:.16em;transform:translateY(-6px)}

.cookie-banner{
  position:fixed;z-index:260;left:24px;right:24px;bottom:24px;
  display:grid;grid-template-columns:52px minmax(260px,1fr) auto;gap:1.25rem;align-items:center;
  max-width:1240px;margin:auto;padding:1.25rem 1.35rem;
  color:#f5f1f7;background:linear-gradient(115deg,rgba(22,18,25,.97),rgba(0,0,0,.98));
  border:1px solid rgba(178,156,110,.55);box-shadow:0 24px 70px rgba(0,0,0,.65),0 0 35px rgba(175,71,255,.15);
  backdrop-filter:blur(16px)
}
.cookie-banner[hidden]{display:none}
.cookie-symbol{width:46px;height:46px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold-light);box-shadow:0 0 20px rgba(178,156,110,.22)}
.cookie-copy h2{font:600 1.25rem/1.2 "Playfair Display",serif;margin:0 0 .35rem;color:#fff}
.cookie-copy p{margin:0;color:#c8c0ca;font-size:.72rem;line-height:1.55;max-width:760px}
.cookie-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end}
.cookie-actions button{border:1px solid rgba(178,156,110,.55);background:transparent;color:#eee;padding:.65rem .82rem;text-transform:uppercase;letter-spacing:.08em;font-size:.56rem;cursor:pointer}
.cookie-actions button:first-child,.cookie-actions button[data-cookie-action="save"]{background:var(--gold);border-color:var(--gold);color:#111;font-weight:700}
.cookie-actions button:hover{border-color:#AF47FF}
.cookie-settings{margin-top:.8rem;padding-top:.7rem;border-top:1px solid rgba(178,156,110,.2)}
.cookie-settings label{display:flex;align-items:center;justify-content:space-between;gap:1rem;cursor:pointer}
.cookie-settings label span{display:grid}.cookie-settings strong{font-size:.72rem}.cookie-settings small{color:#aaa1ac;font-size:.62rem}
.cookie-settings input{position:absolute;opacity:0}
.cookie-settings i{width:42px;height:22px;border-radius:20px;background:#4b454d;position:relative;transition:.2s}
.cookie-settings i:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}
.cookie-settings input:checked+i{background:#AF47FF}.cookie-settings input:checked+i:after{transform:translateX(20px)}
.cookie-settings label+label{margin-top:.65rem}.cookie-storage-list{margin-top:.9rem;padding-top:.8rem;border-top:1px solid #ffffff14}.cookie-storage-list>strong{color:var(--gold-light);font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}.cookie-storage-list dl{display:grid;grid-template-columns:1fr 1fr;gap:.45rem .8rem;margin:.7rem 0 0}.cookie-storage-list dl div{padding:.55rem;background:#ffffff05;border-left:1px solid #b29c6e66}.cookie-storage-list dt{font:600 .58rem ui-monospace,Consolas,monospace;color:#d8c9a8}.cookie-storage-list dd{margin:.2rem 0 0;color:#aaa1ac;font-size:.56rem;line-height:1.45}.cookie-banner.settings-open{align-items:start}.cookie-banner.settings-open .cookie-copy{max-height:68vh;overflow:auto;padding-right:.35rem}.cookie-reopen{border:0;background:transparent;color:inherit;padding:0;margin:.6rem 0;font:inherit;font-size:.82rem;text-align:right;cursor:pointer}.cookie-reopen:hover{color:var(--gold-light)}
@media(max-width:820px){
  .cookie-banner{grid-template-columns:42px 1fr;left:12px;right:12px;bottom:12px;padding:1rem}
  .cookie-symbol{width:38px;height:38px}.cookie-actions{grid-column:1/-1;justify-content:stretch}
  .cookie-actions button{flex:1}.scroll-top{right:16px;bottom:16px}
  body:has(.cookie-banner:not([hidden])) .scroll-top{bottom:250px}
  .cookie-storage-list dl{grid-template-columns:1fr}.cookie-reopen{text-align:left}
}
@media(max-width:900px){.footer-bottom{align-items:flex-start}.site-credit{align-items:center}}
@media(max-width:600px){.footer-bottom{flex-direction:column}.site-credit{align-items:flex-start}}

.spirit-particles{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;mix-blend-mode:screen}
.soul-cursor{position:fixed;inset:0;z-index:49;pointer-events:none;opacity:0;transition:opacity .35s;background:radial-gradient(140px circle at var(--cursor-x,-300px) var(--cursor-y,-300px),rgba(175,71,255,.09),rgba(178,156,110,.035) 40%,transparent 72%)}
.soul-cursor.active{opacity:1}
.soul-journey{padding:8rem 9vw 9rem;color:#f5f1f7;background:radial-gradient(circle at 15% 20%,rgba(175,71,255,.16),transparent 28%),radial-gradient(circle at 90% 80%,rgba(178,156,110,.13),transparent 30%),#09080a;overflow:hidden}
.journey-heading{max-width:780px;margin:0 auto 6rem;text-align:center}.journey-heading .eyebrow{justify-content:center}.journey-heading .eyebrow:after{content:"";width:38px;height:1px;background:currentColor}.journey-heading h2{font:600 clamp(2.8rem,5vw,5rem)/1.04 "Playfair Display",serif;margin:0 0 1.5rem}.journey-heading>p:last-child{color:#aaa3ad}
.journey-path{position:relative;max-width:1120px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:1rem 8rem}.journey-line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#ffffff10}.journey-line i{position:absolute;inset:0;background:linear-gradient(#AF47FF,#B29C6E,#AF47FF);transform:scaleY(0);transform-origin:top;transition:transform 2.2s ease;box-shadow:0 0 16px #af47ff66}.soul-journey.drawing .journey-line i{transform:scaleY(1)}
.journey-step{display:grid;grid-template-columns:auto 1fr;gap:1.3rem;align-items:start;padding:2rem 0;min-height:220px}.journey-step:nth-of-type(even){grid-column:2}.journey-step:nth-of-type(odd){grid-column:1}.journey-node{width:54px;height:54px;border:1px solid #B29C6E;border-radius:50%;display:grid;place-items:center;background:#111;box-shadow:0 0 25px rgba(178,156,110,.18)}.journey-node span{font-size:.6rem;letter-spacing:.15em;color:#D8C9A8}.journey-step small{font-size:.52rem;letter-spacing:.18em;text-transform:uppercase;color:#AF47FF}.journey-step h3{font:600 2rem/1.1 "Playfair Display",serif;margin:.45rem 0 .8rem}.journey-step p{margin:0;color:#aaa3ad;font-size:.88rem;max-width:370px}
.manifesto{min-height:520px;display:grid;place-items:center;text-align:center;position:relative;overflow:hidden;padding:6rem 12vw;color:#252525;background:linear-gradient(135deg,#efe8dc,#cdbd9f)}.manifesto p{font:italic 500 clamp(2.2rem,4.8vw,5rem)/1.18 "Playfair Display",serif;max-width:1100px;position:relative;z-index:2}.manifesto-star{position:absolute;top:16%;color:#AF47FF;font-size:1.4rem}.manifesto-orbit{position:absolute;width:470px;height:470px;border:1px solid rgba(175,71,255,.22);border-radius:50%;box-shadow:0 0 70px rgba(175,71,255,.08)}
@media(max-width:760px){.journey-path{grid-template-columns:1fr;padding-left:1.2rem}.journey-line{left:0}.journey-step:nth-of-type(even),.journey-step:nth-of-type(odd){grid-column:1}.journey-step{min-height:auto;padding:1.6rem 0}.manifesto{min-height:420px;padding:5rem 1.5rem}.manifesto-orbit{width:320px;height:320px}}
@media(prefers-reduced-motion:reduce){.soul-cursor,.spirit-particles{display:none}.journey-line i{transform:scaleY(1);transition:none}}

.service-finder{padding:8rem 9vw;background:radial-gradient(circle at 100% 0,rgba(175,71,255,.1),transparent 28%),#eee7da;color:#252525}.finder-heading{max-width:780px;margin:0 auto 4rem;text-align:center}.finder-heading .eyebrow{justify-content:center;color:#765f37;text-shadow:none}.finder-heading h2,.prep-copy h2,.faq-heading h2{font:600 clamp(2.7rem,5vw,4.8rem)/1.06 "Playfair Display",serif;margin:0 0 1.3rem}.finder-heading>p:last-child{color:#645e56}
.finder-form{max-width:1050px;margin:auto}.finder-question{border:0;border-top:1px solid rgba(77,62,38,.22);padding:1.8rem 0;margin:0}.finder-question legend{width:100%;display:flex;gap:1rem;font:600 1.25rem "Playfair Display",serif;padding-top:1.7rem}.finder-question legend span{font:600 .58rem Manrope;color:#765f37;letter-spacing:.15em}.finder-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.2rem 0 0 2.5rem}.finder-options input{position:absolute;opacity:0}.finder-options label span{display:block;border:1px solid rgba(77,62,38,.25);padding:1rem 1.2rem;font-size:.8rem;cursor:pointer;transition:.2s}.finder-options input:checked+span{color:#fff;background:#252525;border-color:#AF47FF;box-shadow:0 0 0 1px #AF47FF,0 10px 30px rgba(37,37,37,.16)}.finder-submit{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin:2rem auto 0;padding:1rem 1.2rem;border:0;background:#AF47FF;color:#000;text-transform:uppercase;letter-spacing:.1em;font-size:.62rem;font-weight:700;cursor:pointer}.finder-error{text-align:center;color:#8e2250;font-size:.75rem}.finder-result{max-width:700px;margin:3rem auto 0;padding:2.5rem;text-align:center;color:#fff;background:linear-gradient(125deg,#8f32d6,#252525);box-shadow:0 25px 60px #0003}.finder-result[hidden],.finder-result [hidden]{display:none}.finder-result>small{text-transform:uppercase;letter-spacing:.18em;color:#D8C9A8;font-size:.55rem}.finder-result h3{font:600 2.2rem "Playfair Display",serif;margin:.8rem}.finder-result p{color:#ddd5e1;font-size:.85rem}.finder-result>a{display:inline-block;margin-top:1rem;border-bottom:1px solid #B29C6E;padding-bottom:.3rem;text-transform:uppercase;letter-spacing:.1em;font-size:.6rem}
.preparation{padding:8rem 9vw;color:#fff;background:radial-gradient(circle at 10% 20%,rgba(175,71,255,.18),transparent 30%),linear-gradient(120deg,#050505,#252525);display:grid;grid-template-columns:.85fr 1.15fr;gap:8vw;align-items:center}.prep-copy>p:not(.eyebrow){color:#aaa3ad}.prep-meter{margin-top:2.5rem;display:grid;grid-template-columns:1fr auto;gap:.7rem;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:#D8C9A8}.prep-meter i{grid-column:1/-1;height:2px;background:#ffffff18}.prep-meter em{display:block;width:0;height:100%;background:linear-gradient(90deg,#AF47FF,#B29C6E);box-shadow:0 0 12px #AF47FF;transition:width .35s}.prep-list{border-top:1px solid #ffffff20}.prep-item{width:100%;display:grid;grid-template-columns:38px 1fr 30px;align-items:center;gap:1rem;text-align:left;padding:1.25rem 0;border:0;border-bottom:1px solid #ffffff20;background:transparent;color:#eee;cursor:pointer}.prep-item>span{font-size:.55rem;color:#B29C6E}.prep-item p{margin:0;font-size:.82rem}.prep-item i{width:26px;height:26px;border:1px solid #ffffff3d;border-radius:50%;display:grid;place-items:center;color:transparent;font-style:normal;transition:.2s}.prep-item[aria-pressed="true"] i{color:#000;background:#B29C6E;border-color:#B29C6E}.prep-item[aria-pressed="true"] p{color:#D8C9A8}
.faq-section{padding:8rem 9vw;background:#f1eadf;color:#252525;display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw}.faq-heading{position:sticky;top:3rem;align-self:start}.faq-heading .eyebrow{color:#765f37;text-shadow:none}.faq-list{border-top:1px solid rgba(77,62,38,.25)}.faq-item{border-bottom:1px solid rgba(77,62,38,.25)}.faq-item summary{list-style:none;display:grid;grid-template-columns:38px 1fr 28px;align-items:center;gap:1rem;padding:1.5rem 0;cursor:pointer}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary>span{font-size:.55rem;color:#765f37}.faq-item summary strong{font:600 1.25rem "Playfair Display",serif}.faq-item summary i{width:20px;height:20px;position:relative}.faq-item summary i:before,.faq-item summary i:after{content:"";position:absolute;left:3px;right:3px;top:9px;border-top:1px solid #AF47FF;transition:.2s}.faq-item summary i:after{transform:rotate(90deg)}.faq-item[open] summary i:after{transform:rotate(0)}.faq-item>p{margin:0;padding:0 3rem 1.6rem;color:#645e56;font-size:.85rem}
@media(max-width:820px){.preparation,.faq-section{grid-template-columns:1fr}.faq-heading{position:static}.finder-options{grid-template-columns:1fr;margin-left:0}.service-finder,.preparation,.faq-section{padding:6rem 6vw}}
@media(max-width:520px){.service-finder,.preparation,.faq-section{padding:5rem 1.4rem}.finder-result{padding:2rem 1.2rem}.faq-item summary strong{font-size:1.08rem}}

/* Managed campaign popup */
body.popup-open{overflow:hidden}.site-popup{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:1.5rem;opacity:0;transition:opacity .25s}.site-popup[hidden]{display:none}.site-popup.visible{opacity:1}.site-popup-backdrop{position:absolute;inset:0;border:0;background:rgba(0,0,0,.78);backdrop-filter:blur(9px);cursor:pointer}.site-popup article{position:relative;width:min(900px,100%);max-height:calc(100vh - 3rem);display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);overflow:auto;background:radial-gradient(circle at 90% 10%,rgba(175,71,255,.18),transparent 35%),#121014;border:1px solid rgba(178,156,110,.55);box-shadow:0 35px 100px #000c;transform:translateY(20px) scale(.98);transition:transform .3s}.site-popup.visible article{transform:none}.site-popup-image{min-height:480px;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at center,rgba(175,71,255,.14),transparent 62%),#09070b}.site-popup-image img{width:100%;height:100%;display:block;object-fit:contain;object-position:center}.site-popup-copy{align-self:center;padding:clamp(2rem,5vw,4.5rem)}.site-popup-copy>span{color:#B29C6E;font-size:.58rem;letter-spacing:.22em}.site-popup-copy h2{margin:.8rem 0 1.4rem;color:#fff;font:600 clamp(2.2rem,4vw,3.7rem)/1.05 "Playfair Display",serif}.site-popup-copy>div{color:#bbb3bf;font-size:.86rem;line-height:1.8}.site-popup-copy>button{margin-top:2rem;border:1px solid rgba(175,71,255,.65);background:rgba(175,71,255,.12);color:#fff;padding:.8rem 1rem;text-transform:uppercase;letter-spacing:.12em;font-size:.58rem;cursor:pointer}.site-popup article:not(:has(.site-popup-image)){grid-template-columns:1fr;width:min(650px,100%);text-align:center}
@media(max-width:700px){.site-popup{padding:.8rem}.site-popup article{grid-template-columns:1fr;max-height:calc(100vh - 1.6rem)}.site-popup-image{min-height:220px;height:34vh}.site-popup-copy{padding:2rem 1.5rem}.site-popup-copy h2{font-size:2.2rem}}

/* Newsletter signup */
.newsletter-widget[hidden]{display:none!important}
.newsletter-widget{position:fixed;z-index:180;color:#fff}.newsletter-widget article{position:relative;background:radial-gradient(circle at 90% 5%,rgba(175,71,255,.2),transparent 32%),#141116;border:1px solid rgba(178,156,110,.55);box-shadow:0 25px 80px #000b;padding:2rem}.newsletter-widget article>p{margin:0;color:#B29C6E;font-size:.52rem;letter-spacing:.2em}.newsletter-widget h2{font:600 2rem/1.1 "Playfair Display",serif;margin:.6rem 0 1rem}.newsletter-intro{color:#aaa3ad;font-size:.76rem;line-height:1.65}.newsletter-widget form{display:grid;gap:.85rem;margin-top:1.3rem}.newsletter-widget label{display:grid;gap:.35rem;color:#c8c0ca;font-size:.6rem}.newsletter-widget input:not([type=checkbox]){width:100%;padding:.78rem;border:1px solid #ffffff24;background:#ffffff08;color:#fff}.newsletter-consent{grid-template-columns:auto 1fr!important;align-items:start;line-height:1.55}.newsletter-consent input{margin-top:.15rem;accent-color:#AF47FF}.newsletter-consent a{color:#D4C19A}.newsletter-widget form>button{border:0;background:#AF47FF;color:#09070a;padding:.85rem;font-size:.6rem;font-weight:800;text-transform:uppercase;cursor:pointer}.newsletter-close{position:absolute;right:.7rem;top:.6rem;border:0;background:transparent;color:#aaa;font-size:1.4rem;cursor:pointer}.newsletter-feedback{padding:.6rem;border:1px solid #e58a8a55;color:#efb0b0;font-size:.62rem}.newsletter-feedback.success{border-color:#63d29a55;color:#9de1bf}.newsletter-discreet{right:18px;bottom:110px;width:52px;height:52px}.newsletter-discreet .newsletter-tab{position:relative;z-index:2;width:52px;height:52px;display:grid;place-items:center;border:1px solid #b29c6e99;border-radius:50%;background:#171319;color:transparent;font-size:0;cursor:pointer;box-shadow:0 10px 30px #0008}.newsletter-discreet .newsletter-tab span{color:#AF47FF;font-size:1rem;margin:0}.newsletter-discreet .newsletter-tab:after{content:"✉";position:absolute;color:#D8C9A8;font-size:.8rem}.newsletter-discreet article{position:absolute;right:62px;bottom:0;width:min(380px,calc(100vw - 88px));transform:translateX(18px) scale(.98);transform-origin:bottom right;opacity:0;pointer-events:none;transition:.3s}.newsletter-discreet.open article{transform:none;opacity:1;pointer-events:auto}.newsletter-modal{inset:0;display:grid;place-items:center;padding:1rem;opacity:0;transition:.25s}.newsletter-modal.open{opacity:1}.newsletter-modal .newsletter-tab{display:none}.newsletter-backdrop{position:absolute;inset:0;border:0;background:#000b;backdrop-filter:blur(7px)}.newsletter-modal article{width:min(520px,100%);transform:translateY(18px);transition:.3s}.newsletter-modal.open article{transform:none}
@media(max-width:520px){.newsletter-discreet{right:12px;bottom:82px;width:46px;height:46px}.newsletter-discreet .newsletter-tab{width:46px;height:46px}.newsletter-discreet article{right:54px;bottom:0;width:calc(100vw - 78px);max-height:80vh;overflow:auto;padding:1.4rem}.newsletter-widget h2{font-size:1.7rem}}
.newsletter-discreet .newsletter-tab span{display:none}
.newsletter-close{right:.75rem;top:.75rem;z-index:3;width:38px;height:38px;display:grid;place-items:center;border:1px solid #b29c6e88;border-radius:50%;background:#09070bd9;color:#fff;font-size:1.35rem;line-height:1;box-shadow:0 6px 18px #0008}.newsletter-close:hover,.newsletter-close:focus-visible{border-color:#AF47FF;background:#24142b;outline:2px solid #af47ff55;outline-offset:2px}.newsletter-backdrop{backdrop-filter:none}.newsletter-modal{transition:opacity .18s}.newsletter-modal article{transition:transform .18s}
