:root{--ink:#272039;--plum:#75445f;--rose:#edc7d1;--cream:#fcfaf7;--violet:#b8b0e9;--line:#dfd9d5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);font-family:Manrope,Arial,sans-serif;color:var(--ink);overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(#33264a12 1px,transparent 1px);background-size:7px 7px;z-index:5}.aurora{position:absolute;border-radius:50%;filter:blur(65px);opacity:.47;z-index:-1;animation:float 12s ease-in-out infinite}.a1{width:35vw;height:35vw;background:#e9c4e7;right:-10vw;top:7rem}.a2{width:23vw;height:23vw;background:#bacdff;left:-9vw;top:38rem;animation-delay:-4s}@keyframes float{50%{transform:translate3d(-2rem,3rem,0) scale(1.12)}}header{height:92px;padding:0 5.5vw;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:2}.brand{font-weight:800;letter-spacing:-.06em;color:var(--ink);text-decoration:none;font-size:18px}.brand span{display:inline-grid;place-items:center;width:25px;height:25px;background:var(--ink);color:#fff;border-radius:50%;font-family:"Playfair Display";margin-right:2px}.brand em{font-weight:400;font-style:normal;color:#a98896}nav{display:flex;gap:30px}nav a,footer a{color:inherit;text-decoration:none;font-size:13px}.round-link{font-size:12px;text-decoration:none;color:var(--ink);padding:12px 17px;border:1px solid #cbc1c9;border-radius:30px}.round-link b{font-size:16px;margin-left:7px}.round-link:hover,.round-link.active{background:var(--ink);color:white}.hero{min-height:680px;padding:8vh 11vw 12vh;display:grid;grid-template-columns:1fr 1fr;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:10px;font-weight:800;color:#a87b8c;margin:0 0 22px}h1,h2{font-family:"Playfair Display",serif;letter-spacing:-.065em;font-weight:600;margin:0}h1{font-size:clamp(64px,8vw,120px);line-height:.88}h2{font-size:clamp(42px,5vw,78px);line-height:.98}i{font-weight:600;color:var(--plum)}.lead{max-width:330px;font-size:15px;line-height:1.7;margin:30px 0}.actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;gap:20px;align-items:center;justify-content:center;border:0;background:var(--ink);color:white;text-decoration:none;border-radius:50px;padding:15px 22px;font:700 12px Manrope;cursor:pointer;transition:.3s}.button span{font-size:18px}.button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #32283d2c}.text-link{font-size:12px;color:var(--ink);text-decoration:none;font-weight:700}.hero-visual{height:500px;position:relative;perspective:1200px}.photo-card{position:absolute;width:270px;height:390px;right:11%;top:8%;border-radius:140px 140px 16px 16px;overflow:hidden;box-shadow:25px 35px 60px #6b526742;transform:rotateY(-11deg) rotateZ(7deg);animation:card 7s ease-in-out infinite}.photo-card img{height:100%;width:100%;object-fit:cover}.photo-card span,.work span{position:absolute;bottom:0;left:0;background:#fffdf9dc;padding:9px 12px;font-size:9px;text-transform:uppercase;letter-spacing:.15em}.orb{position:absolute;border-radius:50%;transform-style:preserve-3d}.orb-one{width:200px;height:200px;background:linear-gradient(135deg,#d4d0ff,#f3c8db);left:9%;top:7%;box-shadow:inset -18px -18px 35px #9e93be5c;animation:spin 11s linear infinite}.orb-two{width:82px;height:82px;background:linear-gradient(135deg,#fff,#e7b4c6);right:2%;bottom:2%;box-shadow:inset -9px -7px 15px #b5789750;animation:spin 7s linear reverse infinite}@keyframes spin{to{transform:rotate3d(1,1,0,360deg)}}@keyframes card{50%{transform:rotateY(-4deg) rotateZ(3deg) translateY(-16px)}}.floating-note{position:absolute;left:4%;bottom:10%;font-family:"Playfair Display";font-size:18px;font-style:italic;transform:rotate(-10deg);animation:float 5s ease-in-out infinite}.floating-note b{display:block;color:#c05d88;margin:7px 0 0 50px}.manifesto{padding:145px 11vw;background:#f2e8e8;position:relative}.manifesto:after{content:"✦";position:absolute;right:12%;top:10%;font-size:75px;color:#c1b7f0;animation:spin 12s linear infinite}.manifesto h2{max-width:850px}.manifesto-foot{display:flex;justify-content:space-between;align-items:end;margin-top:55px;margin-left:43%;gap:30px}.manifesto-foot p{max-width:300px;font-size:13px;line-height:1.8}.circle-button{width:80px;height:80px;border-radius:50%;background:#c3b8ef;text-decoration:none;color:var(--ink);display:grid;place-content:center;text-align:center;font-size:10px;line-height:1.4;transform:rotate(-8deg);transition:.3s}.circle-button:hover{transform:rotate(8deg) scale(1.1)}.portfolio{padding:130px 7vw}.section-head{display:flex;align-items:end;justify-content:space-between;margin:0 4vw 60px}.gallery{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:330px 330px;gap:18px}.work{margin:0;position:relative;overflow:hidden;border-radius:10px;transform:translateZ(0);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s}.work:hover{transform:scale(1.025) rotateX(3deg) rotateY(-3deg);box-shadow:0 28px 30px #3c23412b;z-index:1}.work img{width:100%;height:100%;object-fit:cover;transition:transform .7s}.work:hover img{transform:scale(1.08)}.work-a{grid-row:span 2}.work-b{grid-column:span 2}.work-d{grid-column:span 2}.cta{margin:0 5vw 80px;padding:120px 5vw;text-align:center;background:linear-gradient(135deg,#3a2744,#70576f);color:#fff;border-radius:18px;position:relative;overflow:hidden}.cta h2{margin-bottom:35px;color:#fff}.cta i{color:#edc9de}.cta-star{position:absolute;font-size:260px;color:#eacde224;right:5%;top:-90px;animation:spin 18s linear infinite}.button.light{background:white;color:var(--ink);position:relative}footer{padding:35px 5.5vw;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line)}footer p{font-size:10px;color:#9b9192}.booking{min-height:calc(100vh - 92px);display:grid;grid-template-columns:38% 62%;padding:3vh 11vw 9vh;gap:8vw}.booking aside{padding-top:7vh}.booking aside>p:not(.eyebrow){font-size:13px;line-height:1.8;max-width:275px;margin:27px 0}.booking aside img{width:210px;height:160px;object-fit:cover;border-radius:100px 100px 12px 12px;transform:rotate(-5deg);box-shadow:15px 17px 40px #5e426330}.booking-panel,.admin-panel{background:#fffdfb;border:1px solid #e7dfdc;border-radius:15px;padding:35px;box-shadow:0 15px 50px #654d5510}.steps{display:flex;gap:30px;margin-bottom:42px}.step{font-size:10px;color:#c7bfc1}.step b{display:block;margin-top:5px;text-transform:uppercase;letter-spacing:.1em}.step.current{color:var(--plum)}.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.calendar-head h2{font:700 19px Manrope;letter-spacing:-.04em}.calendar-head button{border:0;background:none;font-size:20px;cursor:pointer}.weekdays,.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.weekdays span{text-align:center;font-size:10px;color:#a89da0;padding-bottom:7px}.day{aspect-ratio:1;border:0;background:#f8f4f1;border-radius:8px;color:#b8adb0;font:500 12px Manrope}.day.available{background:#eee8fa;color:var(--ink);cursor:pointer;font-weight:800}.day.available:hover,.day.selected{background:#725070;color:#fff}.time-block{padding-top:28px}.hidden{display:none}.label{font-weight:700;font-size:12px;margin:0 0 14px}.times{display:flex;gap:9px;flex-wrap:wrap}.time{border:1px solid #e1d9df;background:white;border-radius:30px;padding:9px 15px;font:600 11px Manrope;cursor:pointer}.time.selected{background:var(--ink);color:#fff;border-color:var(--ink)}.contact-form{margin-top:28px;gap:18px;align-items:end;justify-content:space-between}.contact-form>div{display:flex;gap:12px;flex:1}.contact-form label,.admin-panel label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;display:grid;gap:7px}.contact-form input,.admin-panel input{border:1px solid #ded5d5;border-radius:8px;padding:12px;font:400 12px Manrope;min-width:0}.booking-message{font-size:13px;color:#5d3c58;font-weight:700}.admin{padding:7vh 11vw;display:grid;grid-template-columns:36% 1fr;gap:7vw}.admin>div>p:not(.eyebrow){font-size:13px;line-height:1.8}.admin-panel form{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:28px}.slot-list-head,.booking-list-head{display:flex;justify-content:space-between;align-items:center;margin-top:30px}.slot-list-head h2,.booking-list-head h2{font:700 16px Manrope;letter-spacing:-.04em}.plain-button{border:0;background:transparent;color:#a3788d;font:700 10px Manrope;cursor:pointer}.slot-item{padding:13px 0;border-bottom:1px solid #eee9e6;display:flex;align-items:center;justify-content:space-between;font-size:12px}.slot-item span{font-weight:800}.slot-item button{border:0;background:#f7eeee;border-radius:20px;padding:6px 10px;font:700 10px Manrope;cursor:pointer}@media(max-width:760px){header{padding:0 6vw;height:76px}nav{display:none}.hero{padding:6vh 8vw;grid-template-columns:1fr}.hero-visual{height:380px;margin-top:20px}.photo-card{width:220px;height:320px;right:6%}.orb-one{width:150px;height:150px}.manifesto,.portfolio{padding:80px 8vw}.manifesto-foot{margin-left:0}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:250px 250px 250px}.work-a{grid-row:span 2}.work-b,.work-d{grid-column:span 1}.work-e{display:none}.booking,.admin{padding:3vh 6vw 8vh;display:block}.booking aside{padding-top:20px}.booking aside img{display:none}.booking-panel{margin-top:35px;padding:22px}.contact-form,.contact-form>div{display:grid}.admin-panel{margin-top:35px;padding:22px}.admin-panel form{grid-template-columns:1fr}.steps{gap:18px}.cta{margin:0 6vw 50px;padding:90px 7vw}footer{gap:10px;flex-wrap:wrap}}
