.promise{min-height:145vh;padding:18vh 6vw;color:var(--paper);background:var(--night)}.promise-sticky{position:sticky;top:17vh;width:min(78rem,88vw);margin:auto;text-align:center}.promise h2{margin:0 auto 2.5rem;max-width:15ch}.promise h2 em{color:var(--sun)}.promise-sticky>p:not(.section-index){max-width:46rem;margin:auto;color:rgba(255,248,240,.72);font-size:clamp(1rem,1.5vw,1.25rem)}.promise-stamps{display:flex;justify-content:center;flex-wrap:wrap;gap:.55rem;margin-top:2.5rem}.promise-stamps span{padding:.55rem .9rem;border:1px solid rgba(255,255,255,.2);border-radius:99rem;font-size:.77rem}
.offers,.portfolio,.process,.booking{padding:clamp(6rem,10vw,10rem) max(6vw,calc((100vw - 88rem)/2))}.section-heading{display:grid;grid-template-columns:1fr 2.2fr;gap:4vw;margin-bottom:4rem}.section-heading h2{max-width:17ch;margin-bottom:0}.offer-split{display:grid;grid-template-columns:1fr 1fr;min-height:46rem}.offer{position:relative;padding:clamp(2rem,4vw,4.7rem);overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}.offer-full{color:var(--paper);background:var(--raspberry);border-radius:3rem 0 0 3rem}.offer-box{color:var(--ink);background:var(--sun);border-radius:0 3rem 3rem 0}.offer-number{position:absolute;top:2rem;right:2rem;font:600 clamp(4rem,8vw,8rem)/1 "Bricolage Grotesque",sans-serif;opacity:.16}.offer-kicker{margin-bottom:1rem;font-size:.8rem;font-weight:700}.offer h3{max-width:11ch;margin-bottom:1.35rem}.offer>p:not(.offer-kicker){max-width:34rem}.offer ul{padding:0;margin:1rem 0 2rem;list-style:none}.offer li{padding:.55rem 0;border-bottom:1px solid rgba(255,255,255,.22)}.offer-box li{border-color:rgba(41,30,53,.18)}.offer .text-link{align-self:flex-start}.offer-shape{position:absolute;width:16rem;height:16rem;top:12%;left:10%;border:1px solid rgba(255,255,255,.2);border-radius:50%}.offer-shape span{position:absolute;inset:20%;border-radius:50%;background:rgba(255,255,255,.1)}.offer-shape i{position:absolute;width:3rem;height:3rem;top:-1.5rem;left:48%;border-radius:50%;background:var(--sun)}.offer-box-art{position:absolute;top:10%;left:12%;width:12rem;height:9rem;display:grid;place-items:center;color:var(--sun);background:var(--night);border-radius:1rem;transform:rotate(-8deg);box-shadow:var(--shadow)}.offer-box-art::after{content:"";position:absolute;inset:0 auto 0 47%;width:1.3rem;background:var(--raspberry)}.offer-box-art span{z-index:2;font-size:2rem}
.worlds-intro{padding:10rem 6vw 6rem;text-align:center;background:var(--paper-2)}.worlds-intro h2{max-width:15ch;margin:0 auto 1.6rem}.worlds-intro>p:last-child{max-width:42rem;margin:auto;color:var(--muted)}.theme-scene{position:relative;min-height:100svh;overflow:hidden;display:grid;align-items:end;padding:7vw;isolation:isolate}.scene-art{position:absolute;z-index:-3;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.4s var(--ease)}.theme-scene.is-visible .scene-art{transform:scale(1)}.scene-wash{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(41,30,53,.66),rgba(41,30,53,.02) 70%)}.scene-card{width:min(35rem,90vw);padding:clamp(1.5rem,3vw,3rem);color:var(--paper);background:rgba(41,30,53,.78);border:1px solid rgba(255,255,255,.2);border-radius:2rem;backdrop-filter:blur(18px);box-shadow:var(--shadow)}.scene-count{font-size:.68rem;font-weight:700;letter-spacing:.08em}.scene-card h2{margin-bottom:1rem;font-size:clamp(2.8rem,5vw,5.5rem)}.scene-card>p:not(.scene-count){color:rgba(255,248,240,.8)}.scene-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.5rem}.scene-tags span{padding:.35rem .7rem;border:1px solid rgba(255,255,255,.22);border-radius:99rem;font-size:.7rem}
.portfolio{background:var(--paper)}.portfolio .section-heading>p:last-child{max-width:34rem;color:var(--muted)}.portfolio-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-auto-rows:25rem;gap:1rem}.portfolio-card{position:relative;margin:0;overflow:hidden;border-radius:1.5rem;background:var(--paper-2)}.portfolio-card.card-wide{grid-row:span 2}.portfolio-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}.portfolio-card:hover img{transform:scale(1.04)}.portfolio-card figcaption{position:absolute;left:1rem;right:1rem;bottom:1rem;padding:1rem;display:flex;justify-content:space-between;gap:1rem;color:var(--paper);background:rgba(41,30,53,.76);border-radius:.9rem;backdrop-filter:blur(12px)}.portfolio-card figcaption span{font-size:.7rem}.portfolio-note{margin:1.5rem 0 0;display:flex;gap:.7rem;align-items:flex-start;color:var(--muted);font-size:.75rem}
.about{padding:10rem max(6vw,calc((100vw - 88rem)/2));display:grid;grid-template-columns:.75fr 1.25fr;gap:8vw;align-items:center;color:var(--paper);background:var(--lilac)}.about-art{position:relative;min-height:35rem;display:grid;place-items:center}.about-art img{position:relative;z-index:2;width:13rem;filter:drop-shadow(0 2rem 2rem rgba(41,30,53,.2))}.about-ring{position:absolute;width:min(30vw,27rem);aspect-ratio:1;border:1px solid rgba(255,255,255,.4);border-radius:50%}.about-ring::after{content:"";position:absolute;inset:12%;border:1px dashed rgba(255,255,255,.25);border-radius:inherit;animation:spin 30s linear infinite reverse}.about-star{position:absolute;right:14%;top:22%;color:var(--sun);font-size:3rem;animation:float 4s ease-in-out infinite}.about-copy h2{max-width:12ch}.about-copy>p:not(.section-index){max-width:44rem;color:rgba(255,248,240,.82)}.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:3rem}.trust-grid article{padding:1.2rem;border-top:1px solid rgba(255,255,255,.35)}.trust-grid article>span{font-size:.7rem;opacity:.65}.trust-grid h3{margin:.8rem 0 .4rem;font-size:1.1rem;letter-spacing:-.02em}.trust-grid p{margin:0;font-size:.75rem;opacity:.75}
.process{background:var(--night);color:var(--paper)}.process .section-heading h2{color:var(--paper)}.process-line{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr)}.process-line li{position:relative;min-height:22rem;padding:1.5rem;border-top:1px solid rgba(255,255,255,.2);border-right:1px solid rgba(255,255,255,.14)}.process-line li::before{content:"";position:absolute;top:-.4rem;left:1.5rem;width:.7rem;height:.7rem;border-radius:50%;background:var(--sun)}.process-line span{font-size:.68rem;opacity:.6}.process-line h3{margin:5rem 0 1rem;font-size:1.8rem;letter-spacing:-.03em}.process-line p{color:rgba(255,248,240,.68);font-size:.87rem}
.booking{display:grid;grid-template-columns:.72fr 1.28fr;gap:6vw;align-items:start;background:var(--sky)}.booking-intro{position:sticky;top:calc(var(--header-h) + 2rem)}.booking-intro h2{font-size:clamp(3rem,5vw,5.5rem)}.booking-intro>p:not(.section-index):not(.preview-disclaimer){max-width:34rem;color:var(--muted)}.booking-facts{margin:2rem 0;display:grid;gap:.65rem}.booking-facts div{display:flex;gap:.7rem;align-items:center;font-size:.82rem;font-weight:600}.booking-facts i{width:1.7rem;height:1.7rem;display:grid;place-items:center;border-radius:50%;background:var(--paper);font-style:normal}.preview-disclaimer{padding:1rem;border-left:.25rem solid var(--raspberry);background:rgba(255,255,255,.5);font-size:.75rem}.wizard{min-height:45rem;padding:clamp(1.3rem,3vw,3rem);background:var(--paper);border-radius:2rem;box-shadow:var(--shadow)}.wizard-progress{display:grid;grid-template-columns:repeat(3,1fr);padding:0 0 1.4rem;margin:0 0 2rem;list-style:none;border-bottom:1px solid var(--line)}.wizard-progress li{display:flex;align-items:center;gap:.55rem;color:var(--muted)}.wizard-progress li span{width:1.8rem;height:1.8rem;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;font-size:.7rem}.wizard-progress li b{font-size:.7rem}.wizard-progress li.is-active{color:var(--ink)}.wizard-progress li.is-active span{color:var(--paper);border-color:var(--raspberry);background:var(--raspberry)}.wizard-step[hidden],.wizard-result[hidden]{display:none}.step-heading{display:flex;gap:1rem;margin-bottom:2rem}.step-heading>span{width:2.5rem;height:2.5rem;flex:0 0 auto;display:grid;place-items:center;color:var(--paper);background:var(--night);border-radius:50%;font-size:.7rem}.step-heading h3{margin-bottom:.4rem;font-size:clamp(1.8rem,3vw,2.8rem)}.step-heading p{margin:0;color:var(--muted);font-size:.84rem}
.service-choice{padding:0;margin:0 0 1.5rem;border:0;display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.service-choice legend{margin-bottom:.6rem;font-size:.75rem;font-weight:700}.service-choice label{position:relative;min-height:7rem;padding:1rem;display:flex;justify-content:space-between;align-items:center;gap:.8rem;border:1px solid var(--line);border-radius:1rem;cursor:pointer;transition:border .25s,background .25s,transform .25s}.service-choice label:hover{transform:translateY(-.12rem)}.service-choice label:has(input:checked){border-color:var(--raspberry);background:rgba(233,84,130,.07)}.service-choice input{position:absolute;opacity:0}.service-choice b,.service-choice small{display:block}.service-choice b{font-size:.9rem}.service-choice small{margin-top:.25rem;color:var(--muted);font-size:.68rem}.service-choice i{font-style:normal}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.field{display:grid;gap:.4rem}.field-full{grid-column:1/-1}.field>span{font-size:.73rem;font-weight:700}.field small{color:var(--muted);font-weight:400}.field input,.field select,.field textarea{width:100%;min-height:3.25rem;border:1px solid var(--line);border-radius:.75rem;padding:.75rem .85rem;color:var(--ink);background:#fff;transition:border .2s,box-shadow .2s}.field textarea{min-height:7rem;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--lilac);box-shadow:0 0 0 .2rem rgba(140,122,230,.12);outline:0}.form-error{min-height:1.25rem;margin:.75rem 0 0;color:#9d2147;font-size:.75rem;font-weight:700}.step-actions{margin-top:1rem;display:flex;justify-content:space-between;gap:.7rem}.step-actions-end{justify-content:flex-end}
.calendar{border:1px solid var(--line);border-radius:1rem;overflow:hidden}.calendar-head{padding:1rem;display:grid;grid-template-columns:2.5rem 1fr 2.5rem;align-items:center;background:var(--night);color:var(--paper)}.calendar-head h4{margin:0;text-align:center;font-family:"Bricolage Grotesque",sans-serif;font-size:1rem}.calendar-head button{width:2.4rem;height:2.4rem;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:inherit;background:transparent;cursor:pointer}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays{padding:.5rem;color:var(--muted);background:var(--paper-2);text-align:center;font-size:.65rem;font-weight:700}.calendar-grid{padding:.5rem}.calendar-grid button{aspect-ratio:1;border:0;border-radius:50%;color:var(--ink);background:transparent;cursor:pointer;font-size:.75rem}.calendar-grid button:not(:disabled):hover{background:rgba(140,122,230,.13)}.calendar-grid button.is-selected{color:var(--paper);background:var(--raspberry)}.calendar-grid button.is-today{box-shadow:inset 0 0 0 1px var(--lilac)}.calendar-grid button:disabled{opacity:.24;cursor:not-allowed}.selected-date{margin:1rem 0;padding:.8rem;display:flex;justify-content:space-between;gap:1rem;border-radius:.7rem;background:var(--paper-2);font-size:.75rem}.privacy-check{margin-top:1.3rem;display:flex;align-items:flex-start;gap:.65rem;font-size:.73rem}.privacy-check input{margin-top:.2rem;width:1rem;height:1rem;accent-color:var(--raspberry)}.payment-note{padding:.8rem;margin:1rem 0 0;display:flex;gap:.6rem;color:var(--muted);background:rgba(191,233,242,.35);border-radius:.7rem;font-size:.7rem}.wizard-result{padding:5rem 1rem;text-align:center}.result-icon{width:5rem;height:5rem;margin:0 auto 1.5rem;display:grid;place-items:center;color:var(--night);background:var(--sun);border-radius:50%;font-size:2rem;animation:pop .6s var(--ease)}.wizard-result h3{font-size:3rem}.wizard-result p:not(.section-index){max-width:37rem;margin-left:auto;margin-right:auto;color:var(--muted)}.wizard-result .button{margin:.35rem}
.closing{padding:9rem max(6vw,calc((100vw - 88rem)/2));display:grid;grid-template-columns:1.25fr .75fr;gap:8vw;align-items:end;background:var(--sun)}.closing-copy>img{width:12rem;margin-bottom:2rem}.closing-copy h2{max-width:12ch}.contact-panel{display:grid}.contact-link{padding:1.2rem 0;display:flex;flex-direction:column;text-decoration:none;border-bottom:1px solid rgba(41,30,53,.2)}.contact-link span{font-size:.68rem;color:var(--muted)}.contact-link strong{overflow-wrap:anywhere}.site-footer{padding:2rem 4vw 6rem;display:grid;grid-template-columns:1fr auto;gap:1rem;color:rgba(255,248,240,.72);background:var(--night);font-size:.72rem}.site-footer>div{display:flex;align-items:center;gap:.8rem}.site-footer img{width:3rem;filter:brightness(0) invert(1);opacity:.85}.site-footer p{margin:0}.site-footer nav{display:flex;gap:1rem}.legal-status{grid-column:1/-1;padding-top:1rem;border-top:1px solid rgba(255,255,255,.14)}.mobile-cta{display:none}
.reveal{opacity:0;transform:translateY(2.4rem);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.is-visible{opacity:1;transform:none}
.legal-page{background:var(--paper)}.legal-shell{width:min(92vw,58rem);margin:0 auto;padding:2rem 0 6rem}.legal-header{padding:1rem 0 2rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;border-bottom:1px solid var(--line)}.legal-header>a{font:700 1.35rem/1 "Bricolage Grotesque",sans-serif;text-decoration:none}.legal-header p{margin:0;padding:.5rem .7rem;color:#8b2141;background:rgba(233,84,130,.12);border-radius:.5rem;font-size:.7rem}.legal-content{padding:3rem 0}.legal-content h1{margin-bottom:2rem;font-size:clamp(2.8rem,7vw,5rem)}.legal-content h2{margin-top:2.7rem;font-size:1.6rem;letter-spacing:-.03em}.legal-content p,.legal-content li{max-width:76ch}.legal-content code{padding:.1rem .3rem;border-radius:.25rem;background:var(--paper-2)}.legal-content section[lang="en"]{margin-top:3rem;padding:1.5rem;border-left:.25rem solid var(--lilac);background:rgba(140,122,230,.07)}.legal-footer{padding-top:1.5rem;border-top:1px solid var(--line);color:var(--muted);font-size:.75rem}.legal-footer nav{display:flex;flex-wrap:wrap;gap:1rem}
