@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800;900&display=swap');
:root{--bg:#11101a;--paper:#faf8f5;--purple:#8261e7;--pink:#f3a5cb;--ink:#171422}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'DM Sans',sans-serif;background:var(--paper);color:var(--ink)}h1,h2,h3,.brand{font-family:Outfit,sans-serif}a{text-decoration:none;color:inherit}.nav{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 max(5%,calc((100vw - 1250px)/2));background:#fff;position:sticky;top:0;z-index:10;box-shadow:0 2px 15px #00000008}.brand{font-size:26px;font-weight:900;letter-spacing:-1px}.brand span{font-weight:400}.brand i{font-style:normal;color:var(--purple);margin-left:5px}.nav nav{display:flex;align-items:center;gap:30px;font-size:14px;font-weight:700}.nav-cta,.btn{background:var(--purple);color:#fff;border:0;border-radius:100px;padding:15px 25px;font-weight:700;display:inline-block;cursor:pointer}.btn.light{background:#fff;color:var(--ink)}.btn.outline{background:transparent;border:1px solid #ffffff66;color:#fff}.hero{background:radial-gradient(circle at 80% 40%,#463477 0,transparent 36%),linear-gradient(135deg,#191527,#100e19);color:white;min-height:630px;display:flex;align-items:center;overflow:hidden}.wrap{width:min(1200px,90%);margin:auto}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:35px;align-items:center;padding:90px 0}.eyebrow{text-transform:uppercase;letter-spacing:3px;color:#d4b6ff;font-size:12px;font-weight:800}.hero h1{font-size:clamp(50px,6.5vw,88px);letter-spacing:-4px;line-height:1.04;margin:24px 0}.hero h1 em{color:var(--pink);font-style:normal}.hero p{max-width:490px;color:#d6d1df;font-size:18px;line-height:1.8}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.visual{height:420px;position:relative;display:flex;align-items:center;justify-content:center}.halo{position:absolute;width:380px;height:380px;background:#b79bf5;border-radius:50%;filter:blur(1px);opacity:.16}.photo-frame{position:relative;transform:rotate(7deg);background:#fff;padding:12px 12px 55px;box-shadow:0 30px 80px #0008;width:300px;height:360px;border-radius:4px}.photo-frame:before{content:'✦';display:grid;place-items:center;color:#fff;font-size:100px;background:linear-gradient(145deg,#a48ae8,#edadd4);height:100%;border-radius:2px}.photo-frame:after{content:'SAY CHEESE!';position:absolute;bottom:16px;left:0;width:100%;text-align:center;color:#201c2d;font-weight:900;letter-spacing:2px}.spark{position:absolute;font-size:60px;color:#f7b7d6}.spark.a{left:5%;top:10%}.spark.b{right:0;bottom:10%}.section{padding:95px 0}.center{text-align:center}.section h2{font-size:clamp(35px,4vw,54px);letter-spacing:-2px;margin:14px 0}.muted{color:#77717d;line-height:1.8}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px}.card{background:#fff;border:1px solid #eee9f0;border-radius:22px;padding:32px;box-shadow:0 10px 30px #241b3210}.card .icon{font-size:34px}.card h3{font-size:24px}.dark{background:#191524;color:#fff}.dark .muted{color:#c8c2d1}.offer{background:#282139;border-radius:24px;padding:30px;min-height:290px}.offer .number{font-size:60px;color:#bfa5ff}.offer h3{font-size:27px}.banner{background:#e9dffa;border-radius:30px;padding:60px;display:flex;align-items:center;justify-content:space-between;gap:30px}.banner h2{max-width:650px}.form-box{max-width:560px;margin:55px auto;background:#fff;padding:38px;border-radius:24px;box-shadow:0 15px 70px #1a122217}.form-box h1{font-size:38px;margin:0 0 12px}label{display:block;font-weight:700;font-size:13px;margin:18px 0 8px}input,textarea{font:inherit;width:100%;border:1px solid #ddd7e5;border-radius:12px;padding:14px;background:#fff}input[type=file]{padding:10px}button{font:inherit}.form-box .btn{width:100%;margin-top:24px}.error{background:#ffe9e9;color:#a32736;padding:12px;border-radius:10px}.success{background:#e4f8e9;color:#146b36;padding:12px;border-radius:10px}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:15px;margin:25px 0 65px}.gallery a{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 5px 20px #0001}.gallery img{width:100%;height:200px;object-fit:cover;display:block}.gallery span{display:block;padding:12px;font-size:12px;color:#666}.admin-table{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden}.admin-table td,.admin-table th{padding:16px;text-align:left;border-bottom:1px solid #eee}.admin-table form{display:inline}.admin-table button{background:#eee;border:0;padding:9px 13px;border-radius:9px;cursor:pointer}footer{background:#110f19;color:white;padding:40px 5%;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}footer span,footer small{color:#bcb7c8}@media(max-width:760px){.nav{height:70px}.nav nav{gap:10px}.nav nav>a:not(.nav-cta){display:none}.hero-grid{grid-template-columns:1fr;padding:65px 0}.hero h1{letter-spacing:-2px}.visual{height:300px}.photo-frame{width:210px;height:255px;padding-bottom:40px}.photo-frame:before{font-size:75px}.grid3{grid-template-columns:1fr}.banner{display:block;padding:35px}.section{padding:60px 0}.form-box{margin:30px 5%;padding:25px}.admin-table{font-size:12px}}

.calendar-shell{max-width:760px;margin:30px auto;background:white;padding:25px;border-radius:24px;box-shadow:0 12px 30px #241b3210}.calendar-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;text-transform:capitalize;font-size:22px}.calendar-head button{background:#eee8fc;border:0;border-radius:50%;height:42px;width:42px;font-size:28px;cursor:pointer}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;text-align:center}.calendar b{padding:10px 0}.calendar .day{aspect-ratio:1;border:0;border-radius:13px;background:#e8dfff;color:#36206b;font-weight:800;cursor:pointer}.calendar .day.option{background:#ffdbb3;color:#815019}.calendar .day.booked{background:#d5d3d8;color:#555}.calendar .day:disabled{cursor:not-allowed;opacity:.6}.calendar .day.selected{outline:3px solid #8261e7;outline-offset:2px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}select{font:inherit;width:100%;border:1px solid #ddd7e5;border-radius:12px;padding:14px;background:white}.inquiry{border-top:1px solid #eee;padding:18px 0}.inquiry p{overflow-wrap:anywhere}@media(max-width:760px){.form-grid{grid-template-columns:1fr}.calendar{gap:4px}.calendar-shell{padding:12px}.calendar .day{border-radius:7px}}