:root{--ink:#1b1319;--wine:#64243d;--rose:#b96875;--cream:#fbf7f5;--paper:#fff;--muted:#756970;--line:#e8dcdf}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);margin:0;font-family:Arial,sans-serif}a{color:inherit;text-decoration:none}.topbar{border-bottom:1px solid var(--line);z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fbf7f5f0;justify-content:space-between;align-items:center;height:82px;padding:0 5vw;display:flex;position:sticky;top:0}.brand{letter-spacing:.12em;align-items:center;gap:12px;font-weight:800;display:flex}.brand small{letter-spacing:.28em;color:var(--rose);margin-top:3px;font-size:8px;display:block}.brand-mark{border:1px solid var(--wine);width:38px;height:38px;color:var(--wine);border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:22px;display:grid}.topbar nav{gap:30px;font-size:13px;display:flex}.topbar nav a:hover{color:var(--wine)}.button{background:var(--wine);color:#fff;border-radius:999px;justify-content:center;align-items:center;padding:16px 24px;font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 12px 32px #64243d24}.button-small{padding:11px 19px}.text-link{color:var(--wine);font-weight:700}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:7vw;min-height:650px;padding:72px 7vw;display:grid}.hero h1,.section h2{margin:14px 0 24px;font-family:Georgia,serif;font-weight:400;line-height:.98}.hero h1{font-size:clamp(56px,7vw,104px)}.hero h1 em{color:var(--wine);font-weight:400}.eyebrow{letter-spacing:.22em;color:var(--rose);font-size:11px;font-weight:800}.lead{max-width:580px;font-family:Georgia,serif;font-size:20px;line-height:1.6}.actions{align-items:center;gap:26px;margin-top:34px;display:flex}.hero-art{color:#fff;background:linear-gradient(145deg,#2a1722,#6c2944);border-radius:260px 260px 28px 28px;flex-direction:column;justify-content:center;align-items:center;height:520px;display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px #32121d3d}.hero-art:after{content:"";border:1px solid #ffffff38;border-radius:240px 240px 18px 18px;position:absolute;inset:18px}.monogram{letter-spacing:-.12em;z-index:2;font-family:Georgia,serif;font-size:120px}.hero-art p{text-align:center;letter-spacing:.12em;z-index:2;font-size:12px;line-height:1.7}.orb{filter:blur(3px);border-radius:50%;position:absolute}.orb-one{background:#d9919d77;width:250px;height:250px;top:-50px;right:-40px}.orb-two{background:#eec4ad66;width:190px;height:190px;bottom:-45px;left:-35px}.section{padding:96px 7vw}.section-heading{justify-content:space-between;align-items:end;margin-bottom:42px;display:flex}.section h2{font-size:clamp(42px,5vw,72px)}.grid{gap:22px;display:grid}.three{grid-template-columns:repeat(3,1fr)}.card{background:var(--paper);border:1px solid var(--line);border-radius:24px;min-height:260px;padding:28px;transition:all .25s}.card:hover{transform:translateY(-5px);box-shadow:0 20px 60px #35152214}.card-number{color:var(--rose);font-family:Georgia,serif;font-size:18px}.card h3{margin:38px 0 12px;font-family:Georgia,serif;font-size:27px}.card p{color:var(--muted);line-height:1.6}.card footer{border-top:1px solid var(--line);justify-content:space-between;margin-top:26px;padding-top:18px;font-size:13px;display:flex}.color-section{background:#efe5e7}.swatches{grid-template-columns:repeat(6,1fr);gap:18px;display:grid}.swatch{flex-direction:column;gap:8px;display:flex}.swatch>span{aspect-ratio:1;border-radius:50% 50% 16px 16px;box-shadow:inset 0 0 0 1px #fff7,0 14px 28px #31111b19}.swatch strong{font-size:13px}.swatch small{color:var(--muted)}.split{grid-template-columns:.8fr 1.2fr;align-items:center;gap:8vw;display:grid}.muted{color:var(--muted)}.gallery-preview{grid-template-columns:1fr 1fr;gap:16px;display:grid}.gallery-tile{background:#e1d2d5;border-radius:22px;place-items:center;min-height:330px;display:grid;overflow:hidden}.gallery-tile:first-child{margin-top:60px}.gallery-tile img{object-fit:cover;width:100%;height:100%}.placeholder{color:#fff;background:linear-gradient(145deg,#64243d,#a25a6d);font-family:Georgia,serif;font-size:120px}.placeholder.soft{background:linear-gradient(145deg,#d09aa2,#eed2c8)}.cta{text-align:center;background:var(--ink);color:#fff}.cta h2{max-width:760px;margin:22px auto}.cta p{color:#d6cbd0;margin-bottom:30px}.button.light{color:var(--ink);background:#fff}.footer{color:var(--muted);justify-content:space-between;align-items:center;padding:42px 7vw 96px;font-size:12px;display:flex}.mobile-nav{display:none}@media (max-width:900px){.topbar nav{display:none}.hero{grid-template-columns:1fr;padding-top:48px}.hero-art{height:430px}.three{grid-template-columns:1fr}.swatches{grid-template-columns:repeat(3,1fr)}.split{grid-template-columns:1fr}.footer{flex-direction:column;align-items:flex-start;gap:16px}.mobile-nav{z-index:30;color:#fff;background:#1b1319ed;border-radius:20px;justify-content:space-around;padding:16px;font-size:11px;display:flex;position:fixed;bottom:12px;left:12px;right:12px}.footer{padding-bottom:120px}}@media (max-width:560px){.topbar{height:68px;padding:0 18px}.topbar .button{display:none}.hero{min-height:auto;padding:38px 22px 70px}.hero h1{font-size:53px}.lead{font-size:17px}.actions{flex-direction:column;align-items:flex-start}.hero-art{height:360px}.monogram{font-size:88px}.section{padding:70px 22px}.section-heading{display:block}.section h2{font-size:44px}.swatches{grid-template-columns:repeat(2,1fr)}.gallery-tile{min-height:220px}}.subpage{min-height:100vh;padding:60px 7vw 100px}.subpage>h1{margin:50px 0 20px;font-family:Georgia,serif;font-size:clamp(48px,7vw,90px);font-weight:400}.select-button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:99px;width:100%;margin-top:18px;padding:13px;font-weight:700}.empty-state{border:1px dashed var(--line);text-align:center;color:var(--muted);background:#fff;border-radius:22px;padding:50px}.gallery-page{grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.gallery-card{border:1px solid var(--line);background:#fff;border-radius:22px;padding-bottom:18px;overflow:hidden}.gallery-card img,.gallery-card video{aspect-ratio:4/5;object-fit:cover;width:100%}.gallery-card h3,.gallery-card p{margin:14px 18px 0}.account-page{max-width:850px;margin:auto}.login-card{border:1px solid var(--line);background:#fff;border-radius:24px;gap:20px;max-width:520px;padding:30px;display:grid}.login-card label{letter-spacing:.08em;gap:8px;font-size:12px;font-weight:800;display:grid}.login-card input{border:1px solid var(--line);border-radius:14px;padding:14px;font-size:16px}@media (max-width:760px){.subpage{padding:32px 22px 100px}.gallery-page{grid-template-columns:1fr}}.button:disabled{opacity:.55;cursor:not-allowed}.premium-form{margin-top:28px;box-shadow:0 30px 80px #32121d12}.form-pair{grid-template-columns:1fr 1fr;gap:14px;display:grid}.premium-form>small{color:var(--muted);margin-top:-10px}.password-field{border:1px solid var(--line);background:#fff;border-radius:14px;display:flex;overflow:hidden}.password-field input{flex:1;min-width:0;border:0!important;border-radius:0!important}.password-field button{color:var(--wine);cursor:pointer;background:#f3eaec;border:0;padding:0 14px;font-weight:800}.form-error,.form-success{border-radius:13px;padding:13px 15px;font-size:13px;font-weight:700}.form-error{color:#8f2438;background:#f9e1e4}.form-success{color:#25634b;background:#e2f2e9}.booking-page{max-width:1500px;margin:auto}.booking-intro{grid-template-columns:1.2fr .8fr;align-items:end;gap:7vw;margin:45px 0 60px;display:grid}.booking-intro h1{margin:12px 0 0!important}.booking-flow{gap:24px;display:grid}.booking-step{border:1px solid var(--line);background:#fff;border-radius:28px;padding:30px;transition:all .25s;box-shadow:0 24px 70px #32121d0a}.booking-step.disabled{opacity:.48;pointer-events:none}.step-heading{align-items:flex-start;gap:18px;margin-bottom:25px;display:flex}.step-heading>span{border:1px solid var(--line);width:42px;height:42px;color:var(--rose);border-radius:50%;place-items:center;font:17px Georgia,serif;display:grid}.step-heading h2{margin:3px 0;font:36px Georgia,serif}.step-heading p{margin:0}.service-selector{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.booking-service{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:18px;min-height:215px;padding:20px;transition:all .2s}.booking-service:hover,.booking-service.selected{border-color:var(--rose);transform:translateY(-2px);box-shadow:0 18px 38px #64243d13}.booking-service.selected{background:#fbf2f4}.booking-service>span,.booking-service p{color:var(--muted);font-size:12px;line-height:1.55}.booking-service h3{margin:20px 0 9px;font:22px Georgia,serif}.booking-service strong{color:var(--wine);margin-top:14px;display:block}.staff-selector{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.staff-card{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:17px;align-items:center;gap:13px;padding:14px;display:flex}.staff-card.selected{border-color:var(--rose);background:#fbf2f4}.staff-card i{color:#fff;border-radius:50%;flex:none;place-items:center;width:52px;height:52px;font:24px Georgia,serif;display:grid}.staff-card strong,.staff-card small{display:block}.staff-card small{color:var(--muted);margin-top:4px;line-height:1.4}.date-field{gap:8px;max-width:310px;font-size:11px;font-weight:800;display:grid}.date-field input{border:1px solid var(--line);background:#fff;border-radius:12px;padding:13px}.slot-grid{flex-wrap:wrap;gap:9px;margin-top:20px;display:flex}.slot-grid button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:999px;padding:11px 16px;font-weight:700}.slot-grid button.selected{background:var(--wine);color:#fff;border-color:var(--wine)}.booking-hint{color:var(--muted);font-size:13px}.booking-login{grid-template-columns:1fr 1fr auto;align-items:center;gap:10px;display:grid}.booking-login p{color:var(--muted);grid-column:1/4;margin:0 0 5px}.booking-login input{border:1px solid var(--line);border-radius:12px;padding:13px}.booking-login button{background:var(--wine);color:#fff;cursor:pointer;border:0;border-radius:12px;padding:14px 20px;font-weight:800}.booking-login a{color:var(--wine);grid-column:1/4;font-size:12px;font-weight:800}.booking-confirm{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.booking-confirm>div{background:#f8f2f3;border-radius:14px;padding:16px}.booking-confirm small,.booking-confirm strong{display:block}.booking-confirm small{letter-spacing:.12em;color:var(--rose);font-size:9px;font-weight:900}.booking-confirm strong{margin-top:7px}.booking-confirm label{grid-column:1/4;gap:8px;font-size:11px;font-weight:800;display:grid}.booking-confirm textarea{border:1px solid var(--line);resize:vertical;border-radius:13px;min-height:90px;padding:13px}.booking-confirm .button{justify-self:start}.booking-confirm>p{color:var(--muted);grid-column:1/4;font-size:11px}.booking-success{color:#fff;text-align:center;background:linear-gradient(145deg,#21151d,#722d4b);border-radius:34px;place-content:center;min-height:570px;padding:50px;display:grid}.success-mark{width:68px;height:68px;color:var(--wine);background:#fff;border-radius:50%;place-items:center;margin:0 auto 24px;font-size:30px;display:grid}.booking-success h2{max-width:660px;margin:10px auto 18px;font:48px Georgia,serif}.booking-success>span{margin:9px}.booking-success>div{justify-content:center;align-items:center;gap:24px;margin-top:28px;display:flex}.booking-success .text-link{color:#fff}.account-loading{color:var(--muted);padding:40px}.account-portal{gap:22px;margin-top:25px;display:grid}.profile-card{color:#fff;background:linear-gradient(145deg,#24151f,#6d2946);border-radius:25px;grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:24px;display:grid}.profile-monogram{border:1px solid #fff5;border-radius:50%;place-items:center;width:72px;height:72px;font:27px Georgia,serif;display:grid}.profile-card h2{margin:5px 0;font:31px Georgia,serif}.profile-card span{color:#e0ccd3;font-size:13px}.profile-card button{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #fff3;border-radius:10px;padding:11px}.account-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.member-stat{border:1px solid var(--line);background:#fff;border-radius:18px;padding:20px}.member-stat small,.member-stat strong,.member-stat span{display:block}.member-stat small{letter-spacing:.13em;color:var(--rose);font-size:9px;font-weight:900}.member-stat strong{margin:13px 0 7px;font:27px Georgia,serif}.member-stat span{color:var(--muted);font-size:11px;line-height:1.5}.appointment-list{border:1px solid var(--line);background:#fff;border-radius:20px;padding:22px}.appointment-heading{justify-content:space-between;align-items:center;display:flex}.appointment-heading h2{margin:5px 0 20px;font:30px Georgia,serif}.appointment-list>article{border-top:1px solid var(--line);grid-template-columns:1fr auto auto auto;align-items:center;gap:15px;padding:16px 0;display:grid}.appointment-list article strong,.appointment-list article span{display:block}.appointment-list article span{color:var(--muted);margin-top:4px;font-size:11px}.appointment-list article em{color:var(--wine);background:#f3e9ec;border-radius:99px;padding:7px 9px;font-size:9px;font-style:normal;font-weight:900}.appointment-list article em.cancelled{color:#777;background:#eee}.appointment-list article button{color:#9b3044;cursor:pointer;background:0 0;border:0;font-weight:800}@media (max-width:900px){.booking-intro{grid-template-columns:1fr}.service-selector{grid-template-columns:1fr 1fr}.staff-selector,.booking-confirm{grid-template-columns:1fr}.booking-confirm label,.booking-confirm>p{grid-column:1}.account-grid{grid-template-columns:1fr}}@media (max-width:600px){.form-pair,.service-selector{grid-template-columns:1fr}.booking-step{padding:20px}.step-heading h2{font-size:29px}.booking-login{grid-template-columns:1fr}.booking-login p,.booking-login a{grid-column:1}.booking-success h2{font-size:36px}.booking-success>div{flex-direction:column}.profile-card{grid-template-columns:auto 1fr}.profile-card button{grid-column:1/3}.appointment-list>article{grid-template-columns:1fr auto}.appointment-list article em,.appointment-list article button{grid-row:2}.appointment-heading{align-items:flex-start;gap:12px}}.shop-intro{margin:45px 0}.shop-layout{grid-template-columns:1fr 330px;align-items:start;gap:24px;display:grid}.product-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.retail-card{border:1px solid var(--line);background:#fff;border-radius:21px;padding:14px}.retail-visual{aspect-ratio:4/5;color:#fff;border-radius:15px;flex-direction:column;justify-content:space-between;padding:18px;display:flex;box-shadow:inset 0 0 0 1px #fff4}.retail-visual>span{font:55px Georgia,serif}.retail-visual small{letter-spacing:.12em;font-weight:800}.retail-card>p{letter-spacing:.14em;color:var(--rose);margin-top:17px;font-size:9px;font-weight:900}.retail-card h2{margin:8px 0;font:22px Georgia,serif}.retail-card>span{color:var(--muted);font-size:11px}.retail-card footer{justify-content:space-between;align-items:center;margin-top:18px;display:flex}.retail-card footer button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:99px;padding:10px 13px;font-weight:800}.retail-card footer button:disabled{background:#ccc}.cart-panel{color:#fff;background:#21151d;border-radius:22px;padding:22px;position:sticky;top:25px}.cart-panel h2{margin:8px 0 22px;font:31px Georgia,serif}.cart-line{border-top:1px solid #ffffff1c;justify-content:space-between;gap:12px;padding:13px 0;font-size:12px;display:flex}.cart-line small{color:#cbbac1;margin-top:4px;display:block}.cart-total{border-top:1px solid #ffffff35;justify-content:space-between;margin-top:12px;padding:20px 0;display:flex}.cart-panel .button{border:0;width:100%}.cart-panel>small{color:#bdaab2;margin-top:13px;line-height:1.5;display:block}@media (max-width:1000px){.shop-layout{grid-template-columns:1fr}.cart-panel{position:static}.product-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.product-grid{grid-template-columns:1fr}}
