@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&display=swap');
:root{--ink:#54283b;--rose:#b44b73;--pale:#fbf1f5;--line:#ecdde3}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:#fffafc;color:var(--ink);font:14px 'DM Sans',sans-serif}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}header{max-width:1200px;margin:auto;padding:26px 40px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{font:30px 'Playfair Display',Georgia,serif;display:flex;align-items:center;gap:12px}.brand>span:first-child{font-size:36px;color:var(--rose)}.brand-sub{font:9px 'DM Sans',sans-serif;letter-spacing:2px;margin:8px 0 0 12px}.nav{font-size:12px}.nav span{margin-left:20px;color:var(--rose)}main{max-width:1200px;margin:auto;padding:0 40px}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;padding:60px 0 54px;gap:40px}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:700;color:#a36780}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400}h1{font-size:64px;line-height:1.12;letter-spacing:-2px;margin:22px 0}h1 em{color:var(--rose);font-weight:400}.hero p{color:#876d79;line-height:1.9;font-size:14px}.primary{display:inline-flex;justify-content:space-between;gap:36px;align-items:center;background:var(--rose);color:white;border:0;border-radius:7px;padding:17px 23px;font-size:13px;margin-top:18px;box-shadow:0 6px 15px #b44b7318}.primary:hover{background:#9d3d61}.note{font-size:10px;color:#9c7e8c;margin-top:22px}.portrait-area{position:relative;max-width:340px;width:100%;margin:auto;padding:5px 12px 25px}.portrait{border-radius:170px 170px 12px 12px;height:355px;overflow:hidden;border:8px solid white;box-shadow:0 0 0 1px #e8ccd7,15px 18px 0 #f4e2ea;transform:rotate(3deg)}.portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 24%;transform:scale(1.18)}.photo-label{position:absolute;bottom:0;left:-15px;background:white;border:1px solid #f0e4e9;border-radius:5px;padding:15px 30px;transform:rotate(-5deg);font:29px 'Playfair Display',Georgia,serif;box-shadow:0 10px 25px #702e4010}.photo-label span{color:var(--rose)}.photo-label small{font:9px 'DM Sans',sans-serif;display:block;margin-top:6px;color:#9a7d88}.spark{position:absolute;font-size:53px;color:#bd8199;z-index:1}.one{right:-24px;top:-18px}.two{bottom:32px;right:-25px;font-size:35px}.divider{display:flex;align-items:center;justify-content:center;gap:22px;padding:23px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#b6889b}.divider span{font-size:9px;letter-spacing:2px}.section-head{text-align:center;padding:49px 0 28px}h2{font-size:35px;margin:12px 0}h2 span{color:#bb88a0}.section-head p{color:#927785;font-size:13px}.schedule{display:grid;grid-template-columns:1.12fr 1fr;gap:26px;align-items:start}.calendar-card,.booking-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:30px}.month-head{display:flex;justify-content:space-between;align-items:center}.month-head h3{text-transform:capitalize;font-size:25px;margin:0}.month-head button{border:1px solid var(--line);background:white;border-radius:50%;width:33px;height:33px;margin-left:7px}.weekdays,.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.weekdays{text-align:center;margin:29px 0 13px;font-size:10px;color:#a28190}.day{background:#fff;border:1px solid transparent;border-radius:8px;min-height:57px;padding:9px 0 4px;display:flex;align-items:center;flex-direction:column;gap:9px}.day:hover{background:var(--pale)}.day b{font-weight:500}.day.selected{background:var(--rose);color:white}.dots{display:flex;gap:3px;height:5px}i{display:inline-block;background:#cfb7c5;width:5px;height:5px;border-radius:50%}i.booked{background:#bd507a}.selected i{background:#fff}.legend{display:flex;gap:22px;font-size:10px;color:#8c6d7e;border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.legend i{margin-right:6px}.stage-note{background:#fbf3f6;display:flex;gap:16px;margin-top:25px;border-radius:9px;padding:18px}.stage-note>span{font-size:30px;color:#ae6f88}.stage-note b{font-size:12px;font-weight:500}.stage-note p{font-size:11px;line-height:1.8;margin:5px 0 0;color:#927384}.booking-card{background:#fff9fb}.booking-card h3{font-size:25px;margin:12px 0;text-transform:capitalize}.availability{font-size:11px;color:#9b6f83;border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:20px}label{font-size:11px;font-weight:600;display:block;margin-top:15px}input,select{display:block;border:1px solid #e8dce2;border-radius:6px;background:white;width:100%;padding:12px;color:var(--ink);font-size:12px;margin-top:8px;outline-color:var(--rose)}input::placeholder{color:#ae95a1}.chips{display:flex;gap:6px;margin-top:9px;flex-wrap:wrap}.chips button{font-size:10px;background:white;border:1px solid var(--line);border-radius:20px;padding:8px 10px}.chips button.active{background:#f4dce6;border-color:#d398b0}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.reserve{width:100%;margin-top:22px}.helper{font-size:9px;color:#9c7e8d;text-align:center;display:block;margin-top:13px;line-height:1.6}button:disabled{opacity:.45;cursor:not-allowed}.occupied{font-size:11px}.message{padding:17px;border-radius:8px;margin:20px 0}.error{background:#ffe7e7;color:#922f3c}.success{background:#e9f4e9;color:#396340}.empty{display:none}.my-bookings{margin-top:40px}.my-bookings>p{color:#8c6d7e}.my-bookings article{border-bottom:1px solid var(--line);padding:15px 0;display:flex;align-items:center;justify-content:space-between;gap:12px}.my-bookings article p{font-size:12px}.my-bookings button{border:1px solid var(--line);background:white;padding:9px;border-radius:5px}footer{margin-top:55px;padding:29px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;color:#a28392}footer span{font:18px 'Playfair Display',Georgia,serif}footer p{font-size:10px}@media(max-width:760px){header{padding:18px 22px}.brand-sub{display:none}main{padding:0 20px}.hero{grid-template-columns:1fr;padding:37px 0;gap:35px}.eyebrow{font-size:8px;letter-spacing:1.8px}h1{font-size:49px}.hero p{font-size:13px}.portrait-area{max-width:260px}.portrait{height:270px}.photo-label{font-size:24px;left:0;padding:11px 18px}.photo-label small{font-size:8px}.note{font-size:9px}.divider{padding:18px 0;gap:10px}.divider span{font-size:7px;letter-spacing:1px}.schedule{grid-template-columns:1fr;gap:20px}.calendar-card,.booking-card{padding:21px}.section-head{padding:35px 0 20px}h2{font-size:29px}.day{min-height:47px}.grid{gap:3px}.row{gap:9px}.nav{font-size:11px}footer{display:block;text-align:center}.desktop{display:none}}

input,select,button{min-height:44px}button:focus-visible,a:focus-visible{outline:3px solid #b44b73;outline-offset:3px}.month-head button{width:44px;height:44px}.occupied{line-height:1.8;overflow-wrap:anywhere}.my-bookings article{overflow-wrap:anywhere} @media(max-width:760px){input,select{font-size:16px}.chips button{min-height:44px}.row{grid-template-columns:1fr}.hero{overflow:hidden}.day{min-height:44px}.weekdays,.grid{gap:2px}.calendar-card,.booking-card{padding:16px}.nav span{margin-left:5px}.brand{font-size:27px}.legend{gap:12px;flex-wrap:wrap}.divider span{text-align:center}h1{font-size:clamp(39px,10vw,49px)}.photo-label{left:8px}}
