:root{--paper:#fcf8f4;--cream:#f7eee8;--blush:#f2dfdc;--blush-strong:#d29a96;--rose:#b87178;--rose-dark:#98606a;--ink:#312725;--muted:#806f69;--line:#e5d9d2;--white:#fffdfa;--sage:#77806c;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--content:1180px;--shadow:0 22px 70px rgba(74,46,39,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input{font:inherit}button{color:inherit}.section-wrap{width:min(var(--content),calc(100% - 64px));margin-inline:auto}.topline{height:32px;display:flex;justify-content:center;align-items:center;gap:13px;background:#f4e7e2;color:#6f5d58;font-size:10px;letter-spacing:1.2px;text-transform:uppercase}.topline-dot{color:var(--rose);font-size:10px}.site-header{height:88px;padding:0 max(32px,calc((100vw - var(--content))/2));display:flex;align-items:center;justify-content:space-between;gap:28px;position:sticky;top:0;z-index:20;background:rgba(252,248,244,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(229,217,210,.62)}.wordmark{width:122px;display:flex;flex-direction:column;align-items:flex-start;line-height:1}.wordmark-script{font-family:var(--serif);font-style:italic;font-size:17px;color:#9c6d72;margin-left:7px;transform:rotate(-5deg)}.wordmark-name{font-family:var(--serif);font-size:30px;letter-spacing:.02em}.wordmark-heart{color:var(--rose);font-family:var(--sans);font-size:15px;vertical-align:top;margin-left:2px}.main-nav{display:flex;gap:34px;margin-left:auto;margin-right:16px}.main-nav a,.mobile-nav a{font-size:12px;color:#665550;transition:color .2s}.main-nav a:hover,.mobile-nav a:hover{color:var(--rose-dark)}.button{min-height:48px;padding:0 20px;display:inline-flex;justify-content:center;align-items:center;gap:16px;border:1px solid transparent;border-radius:2px;font-size:11px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;transition:background .2s,color .2s,transform .2s;cursor:pointer}.button:hover:not(:disabled){transform:translateY(-2px)}.button span{font-size:16px}.button-dark{background:var(--ink);color:#fffaf5}.button-dark:hover{background:#493a35}.button-rose{background:var(--rose);color:white}.button-rose:hover{background:var(--rose-dark)}.button-outline{border-color:#bc9992;color:var(--ink)}.button-outline:hover{background:var(--ink);color:#fffaf5}.header-book{min-height:42px}.menu-toggle,.mobile-nav{display:none}
.hero{min-height:635px;padding:72px 0 84px;position:relative;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:40px}.hero-copy{position:relative;z-index:2;padding-bottom:36px}.eyebrow{display:flex;align-items:center;gap:11px;color:#956a6b;font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase}.eyebrow-line{width:28px;height:1px;background:var(--rose)}h1,h2,h3,p{margin-top:0}.hero h1{margin:21px 0 18px;font:400 clamp(50px,6vw,76px)/1.04 var(--serif);letter-spacing:-2px}.hero h1 em,.section-heading h2 em,.experience h2 em,.booking-heading h2 em,.booking-aside h3 em,.visit h2 em,.social h2 em,.privacy-page h1 em{color:var(--rose);font-weight:400}.hero-intro{max-width:390px;color:var(--muted);font-size:15px;line-height:1.8}.hero-intro i{font-family:var(--serif);font-size:19px;color:var(--ink)}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:29px}.text-link{display:inline-flex;align-items:center;gap:10px;border-bottom:1px solid #c6aaa3;padding:0 0 4px;font-size:11px;font-weight:500;color:#604c47}.text-link span{font-size:14px;color:var(--rose)}.hero-proof{display:flex;align-items:center;gap:10px;margin-top:44px;color:#75635d;font-size:10px;letter-spacing:.35px}.proof-stars{color:#b98078;letter-spacing:1px;font-size:11px}.proof-divider{height:16px;width:1px;background:#d6c6bf;margin:0 3px}.hero-art{height:465px;position:relative;isolation:isolate}.hero-art-circle{position:absolute;width:390px;height:390px;border-radius:50%;right:64px;top:4px;background:#f1dcd8}.hero-eye{width:295px;height:282px;object-fit:cover;position:absolute;right:104px;top:24px;z-index:1;border-radius:50% 50% 44% 48%;mix-blend-mode:multiply;box-shadow:0 10px 40px rgba(81,47,45,.09);transform:rotate(3deg)}.hero-studio{position:absolute;right:0;bottom:0;width:335px;height:250px;border:9px solid var(--paper);box-shadow:var(--shadow);overflow:hidden;z-index:2}.hero-studio img{width:100%;height:100%;object-fit:cover;object-position:center}.studio-caption{position:absolute;inset:auto 0 0;padding:31px 18px 14px;background:linear-gradient(transparent,rgba(47,36,31,.68));color:white;display:flex;flex-direction:column}.caption-kicker{font-size:9px;letter-spacing:1.4px;text-transform:uppercase;opacity:.82}.studio-caption span+span{font:italic 18px var(--serif)}.hero-stamp{position:absolute;z-index:3;left:3px;bottom:50px;width:88px;height:88px;border-radius:50%;background:#fffaf5;box-shadow:0 7px 28px #503e3021;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#8d6c64;font:italic 12px var(--serif);line-height:1}.hero-stamp b{color:var(--rose);font:20px var(--sans);margin:3px}.scroll-note{position:absolute;bottom:29px;left:0;display:flex;align-items:center;gap:9px;color:#927e76;font-size:9px;letter-spacing:1px;text-transform:uppercase}.scroll-note-mark{font-size:16px;color:var(--rose)}.intro-band{min-height:54px;background:#f4e9e4;display:flex;align-items:center;justify-content:center;gap:35px;color:#735f58;font-size:9px;letter-spacing:1.25px;text-transform:uppercase}.intro-band i{font-style:normal;color:var(--rose);font-size:12px}
.services{padding-top:112px;padding-bottom:112px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:34px}.section-heading h2,.booking-heading h2,.visit h2{font:400 clamp(36px,4.2vw,52px)/1.14 var(--serif);letter-spacing:-1px;margin:15px 0 0}.section-heading>p{max-width:310px;color:var(--muted);font-size:13px;line-height:1.7;margin-bottom:3px}.service-list{border-top:1px solid var(--line)}.service-row{min-height:120px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:40px 80px minmax(210px,1fr) 125px 75px 40px;gap:20px;align-items:center;transition:padding .22s,background .22s}.service-row:hover{padding-inline:12px;background:rgba(242,223,220,.25)}.service-number{color:#ae9690;font:italic 13px var(--serif)}.service-mark{width:56px;height:56px;border-radius:50%;background:#f7e9e5;display:grid;place-items:center}.service-mark span{display:block;width:31px;height:16px;border-top:2px solid #835d5f;border-radius:60% 60% 0 0;position:relative}.service-mark span:before,.service-mark span:after{content:"";position:absolute;top:-8px;width:1px;height:9px;background:#835d5f;transform:rotate(-20deg);left:8px;box-shadow:8px -2px 0 #835d5f,16px 0 0 #835d5f}.mark-hybrid span:before{height:11px;top:-10px}.mark-wet span:before{height:14px;top:-13px}.mark-volume span:before{height:12px;top:-11px;box-shadow:5px -2px 0 #835d5f,11px -5px 0 #835d5f,17px -2px 0 #835d5f,22px 0 0 #835d5f}.service-copy h3{margin:0 0 3px;font:400 24px var(--serif)}.service-copy h3 small{font-size:13px;color:#8b7771}.service-copy p{margin:0;color:var(--muted);font-size:11px}.service-badge{justify-self:start;padding:6px 10px;border:1px solid #e0ccc5;border-radius:50px;color:#806a63;font-size:9px;letter-spacing:.5px}.badge-fave{background:#f4e1de;border-color:transparent;color:#8d5e62}.service-price{font:400 24px var(--serif);text-align:right}.service-choose{justify-self:end;width:35px;height:35px;border:1px solid #d9c8c1;border-radius:50%;background:transparent;font-size:16px;color:#7a625b;cursor:pointer;transition:.2s}.service-choose:hover{background:var(--ink);border-color:var(--ink);color:white}.service-footnote{display:flex;justify-content:space-between;align-items:center;padding-top:20px;color:var(--muted);font-size:11px}.experience{min-height:550px;background:#f1e8e1;display:grid;grid-template-columns:1fr 1fr}.experience-photo{position:relative;min-height:550px;overflow:hidden}.experience-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%}.photo-label{position:absolute;left:25px;bottom:24px;padding:9px 13px;background:rgba(252,248,244,.92);color:#69544e;font-size:9px;letter-spacing:1.2px;text-transform:uppercase}.experience-copy{align-self:center;max-width:560px;padding:70px clamp(42px,7vw,100px)}.experience h2{font:400 clamp(42px,5vw,62px)/1.07 var(--serif);letter-spacing:-1.5px;margin:21px 0}.experience-copy>p{max-width:420px;color:#74635d;font-size:14px;line-height:1.85}.experience-signature{display:flex;align-items:center;gap:13px;margin:30px 0}.signature-heart{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#f7deda;color:var(--rose);font-size:24px}.experience-signature span:last-child{display:flex;flex-direction:column}.experience-signature b{font:italic 15px var(--serif);font-weight:400}.experience-signature small{margin-top:2px;color:#8f7a72;font-size:9px;letter-spacing:1.2px;text-transform:uppercase}.experience-copy .button{margin-top:4px}
.booking{padding-top:115px;padding-bottom:120px}.booking-heading{text-align:center;margin-bottom:44px}.booking-heading .eyebrow{justify-content:center}.booking-heading h2{margin-top:13px}.booking-heading>p{margin:12px 0 0;color:var(--muted);font-size:13px}.booking-layout{display:grid;grid-template-columns:minmax(0,1.48fr) minmax(260px,.72fr);gap:28px;align-items:stretch}.booking-main{border:1px solid var(--line);background:var(--white);padding:30px 36px 34px}.step-row{display:flex;align-items:center;gap:12px;margin-bottom:35px}.step{display:flex;align-items:center;gap:8px;white-space:nowrap;color:#b1a29a;font-size:10px}.step b{width:25px;height:25px;border:1px solid #dfd3cc;border-radius:50%;display:grid;place-items:center;font-size:9px;font-weight:500}.step.active{color:var(--ink)}.step.active b,.step.complete b{background:var(--rose);border-color:var(--rose);color:white}.step.complete{color:#77645e}.step-rule{height:1px;background:#e5dad4;flex:1;min-width:10px}.booking-step-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.step-small{display:block;color:#a17878;font-size:9px;letter-spacing:1.4px;text-transform:uppercase}.booking-step-title h3,.confirmation-step h3{margin:3px 0 0;font:400 29px var(--serif)}.step-icon{color:var(--rose);font-size:22px}.booking-services{display:grid;gap:9px}.booking-service{width:100%;min-height:57px;display:grid;grid-template-columns:18px 1fr auto;gap:12px;align-items:center;padding:9px 13px;border:1px solid #eadfd9;background:transparent;text-align:left;cursor:pointer;transition:.18s}.booking-service:hover{border-color:#d3aaa4}.booking-service.selected{border-color:var(--rose);background:#fdf5f2;box-shadow:inset 0 0 0 1px var(--rose)}.radio-dot{width:15px;height:15px;border:1px solid #c6b4ad;border-radius:50%;display:grid;place-items:center}.selected .radio-dot:after{content:"";width:7px;height:7px;border-radius:50%;background:var(--rose)}.booking-service-name{font-size:12px}.booking-service-price{font:20px var(--serif)}.next-step{margin-top:22px;min-width:220px}.next-step:disabled,.confirm-booking:disabled{opacity:.48;cursor:not-allowed;transform:none}.back-step{background:none;border:0;border-bottom:1px solid #cdb9b1;color:#806a62;padding:3px 0;font-size:10px;cursor:pointer}.calendar-top{display:flex;align-items:center;justify-content:space-between;margin:4px 0 17px}.calendar-top h4{margin:0;font:400 20px var(--serif)}.month-arrow{width:34px;height:34px;border:1px solid #e3d7d0;border-radius:50%;background:transparent;color:#705d56;font-size:23px;line-height:1;cursor:pointer}.month-arrow:disabled{opacity:.35;cursor:default}.calendar-legend{display:flex;gap:18px;margin-bottom:12px;color:#8b7971;font-size:9px}.calendar-legend span{display:flex;align-items:center;gap:6px}.legend-dot{width:7px;height:7px;border-radius:50%;background:#b7777c}.legend-dot.busy{background:#d5cac4}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.calendar-day-name{padding:4px 0;color:#aa9790;text-align:center;font-size:9px;text-transform:uppercase}.calendar-date{position:relative;aspect-ratio:1/1;min-width:0;border:1px solid transparent;border-radius:50%;background:transparent;color:#84736c;font-size:11px;cursor:pointer}.calendar-date.available{color:#493a35;background:#f8ebe7}.calendar-date.available:after{content:"";width:4px;height:4px;background:var(--rose);border-radius:50%;position:absolute;bottom:5px;left:calc(50% - 2px)}.calendar-date.available:hover{border-color:#bb8285}.calendar-date.selected{background:var(--rose);color:white;border-color:var(--rose)}.calendar-date.selected:after{background:white}.calendar-date.busy{color:#c2b7b1;text-decoration:line-through;cursor:not-allowed}.calendar-date.other-month{visibility:hidden;pointer-events:none}.calendar-date:disabled{opacity:.92}.time-picker{margin-top:23px;padding-top:19px;border-top:1px solid #eee4de}.time-picker-label{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:11px;font-size:11px;font-weight:500}.time-picker-label small{color:#907c74;font-size:10px;font-weight:400}.time-options{display:grid;grid-template-columns:1fr 1fr;gap:9px}.time-option{min-height:53px;border:1px solid #e5d8d1;background:transparent;text-align:left;padding:8px 11px;font:18px var(--serif);cursor:pointer}.time-option span{display:block;color:#9c8981;font:8px var(--sans);letter-spacing:.6px;text-transform:uppercase}.time-option:hover{border-color:#bc8785}.time-option.selected{background:#f8e9e6;border-color:var(--rose)}.time-option:disabled{background:#f4f0ed;color:#b9ada7;text-decoration:line-through;cursor:not-allowed}.one-day-note{margin:11px 0 0;color:#987f76;font-size:9px}.one-day-note span{color:var(--rose);font-size:13px;margin-right:5px}.calendar-help{margin:15px 0 0;color:#95837a;font-size:10px}.calendar-help+.next-step{margin-top:20px}.booking-summary{margin:17px 0;padding:14px 16px;background:#f8f0ec;display:grid;gap:4px;color:#6f5e57;font-size:11px}.summary-top{display:flex;justify-content:space-between;gap:12px;color:var(--ink);font:19px var(--serif)}.summary-detail{display:flex;justify-content:space-between;gap:12px}.summary-address{padding-top:6px;margin-top:4px;border-top:1px solid #eadbd5;color:#8d7972;font-size:10px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.field{display:grid;gap:6px;color:#6d5851;font-size:10px}.field>span{font-weight:500}.field small{color:#a5968f;font-weight:400}.field input{height:45px;min-width:0;border:1px solid #e3d8d2;border-radius:0;background:#fffdfa;padding:0 11px;color:var(--ink);font-size:12px;outline-color:#c18a8a}.field input::placeholder{color:#b5a8a0}.policy-check{display:flex;align-items:flex-start;gap:9px;margin:16px 0 3px;color:#79665e;font-size:10px;cursor:pointer}.policy-check input{accent-color:var(--rose);margin:1px 0 0}.website-field{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.form-message{min-height:20px;margin:7px 0;color:#a4484d;font-size:10px}.form-message:empty{min-height:0}.confirm-booking{width:100%}.no-payment-note{text-align:center;margin:9px 0 0;color:#a08d84;font-size:9px}.booking-aside{position:relative;overflow:hidden;padding:34px 32px;background:#f1e5df}.aside-flower{position:absolute;right:16px;top:12px;color:#d3a8a0;font-size:42px;opacity:.7}.aside-kicker{color:#997172;font-size:9px;letter-spacing:1.6px;text-transform:uppercase}.booking-aside h3{margin:12px 0 25px;font:400 31px/1.14 var(--serif)}.policy-list{display:grid;gap:16px}.policy-list>div{display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:start}.policy-number{color:#a77978;font:italic 12px var(--serif)}.policy-list p{margin:0;color:#77645e;font-size:10px;line-height:1.65}.aside-contact{margin-top:27px;padding-top:16px;border-top:1px solid #dfcdc5;display:grid;gap:3px;color:#816c64;font-size:10px}.aside-contact a{font:21px var(--serif);color:#382d29}.confirmation-step{text-align:center;padding:12px 0 10px}.confirmation-flower{width:50px;height:50px;display:grid;place-items:center;margin:0 auto 17px;border-radius:50%;background:#f7e4df;color:var(--rose);font-size:27px}.confirmation-step h3{font-size:34px}.confirmation-step>p{color:var(--muted);font-size:12px}.confirmation-step .booking-summary{text-align:left;margin:20px 0}.confirmation-step .button{margin:auto}
.visit{min-height:430px;display:grid;grid-template-columns:.8fr 1.2fr;background:#eaded6}.visit-content{align-self:center;justify-self:end;width:min(470px,100%);padding:64px 58px 64px 28px}.visit h2{margin:18px 0}.visit-content>p{color:#6f5c55;font-size:13px;line-height:1.85}.visit-actions{display:flex;align-items:center;gap:20px;margin-top:23px}.visit-call{font:18px var(--serif);color:#4b3b35}.visit-photo{position:relative;min-height:430px;overflow:hidden}.visit-photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:center 59%}.visit-photo-tag{position:absolute;right:22px;bottom:20px;padding:8px 12px;background:rgba(252,248,244,.9);color:#715e57;font-size:9px;letter-spacing:1px;text-transform:uppercase}.social{min-height:220px;padding-top:56px;padding-bottom:56px;display:grid;grid-template-columns:1.3fr 1fr 1fr;align-items:center;gap:18px}.social-copy .eyebrow{font-size:9px}.social h2{margin:5px 0;font:400 30px var(--serif)}.social h2 em{font-family:var(--sans);font-size:22px}.social-copy p{margin:0;color:#88766e;font-size:10px}.social-link{min-height:70px;border-left:1px solid var(--line);padding-left:22px;display:flex;align-items:center;gap:13px}.social-icon{width:34px;height:34px;border:1px solid #d8c5bd;border-radius:50%;display:grid;place-items:center;color:#805e60;font-size:19px}.social-link>span:nth-child(2){display:flex;flex-direction:column}.social-link small{color:#a18c83;font-size:9px;letter-spacing:1px;text-transform:uppercase}.social-link b{font-size:11px;font-weight:500}.social-arrow{margin-left:auto;color:var(--rose)}.site-footer{min-height:130px;padding:22px max(32px,calc((100vw - var(--content))/2));background:#f1e6e0;display:flex;align-items:center;justify-content:space-between;gap:22px}.footer-wordmark{transform:scale(.78);transform-origin:left center}.site-footer p{margin:0;color:#927e75;font-size:10px}.footer-links{display:flex;gap:19px;color:#79675f;font-size:10px}.site-footer>small{color:#a18d84;font-size:9px}.mobile-book-bar{display:none}.success-dialog{width:min(460px,calc(100% - 32px));border:1px solid var(--line);padding:35px 32px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow);text-align:center}.success-dialog::backdrop{background:rgba(39,28,25,.46);backdrop-filter:blur(4px)}.dialog-close{position:absolute;right:12px;top:10px;border:0;background:none;font-size:22px;cursor:pointer}.success-dialog h2{font:400 32px var(--serif);margin:4px 0 9px}.success-dialog>p{color:var(--muted);font-size:12px}.success-dialog .booking-summary{text-align:left}.success-dialog .button{margin:9px auto 0}.privacy-page{min-height:65vh;padding-top:90px;padding-bottom:110px}.privacy-page h1{font:400 clamp(42px,6vw,64px) var(--serif);margin:22px 0}.privacy-page p{max-width:720px;color:#74635d;font-size:14px;line-height:1.9}.privacy-page a{color:var(--rose-dark);text-decoration:underline}
@media(min-width:1400px){.hero{min-height:685px}.hero-art{height:510px}.hero-art-circle{width:430px;height:430px;right:82px}.hero-eye{width:325px;height:300px;right:126px;top:28px}.hero-studio{width:370px;height:278px}}
@media(max-width:900px){.section-wrap{width:min(100% - 44px,var(--content))}.site-header{padding-inline:24px}.hero{grid-template-columns:.95fr 1fr;gap:12px;min-height:580px}.hero h1{font-size:58px}.hero-art{height:395px}.hero-art-circle{width:315px;height:315px;right:35px;top:8px}.hero-eye{width:250px;height:232px;right:66px;top:24px}.hero-studio{width:280px;height:210px}.hero-stamp{left:0;bottom:35px;width:75px;height:75px}.intro-band{gap:16px;font-size:8px}.service-row{grid-template-columns:28px 60px minmax(185px,1fr) 95px 65px 35px;gap:13px}.service-mark{width:48px;height:48px}.booking-layout{grid-template-columns:minmax(0,1.3fr) minmax(235px,.8fr);gap:16px}.booking-main{padding:25px 24px}.booking-aside{padding:28px 23px}.step{font-size:9px}.step-row{gap:8px}.booking-aside h3{font-size:28px}.visit-content{padding-right:30px}}
@media(max-width:680px){html{scroll-padding-top:75px}.section-wrap{width:calc(100% - 36px)}.topline{height:28px;gap:7px;font-size:8px;letter-spacing:.7px}.topline-dot{font-size:8px}.site-header{height:72px;padding-inline:18px}.wordmark{width:110px}.wordmark-name{font-size:27px}.wordmark-script{font-size:15px}.main-nav,.header-book{display:none}.menu-toggle{width:42px;height:42px;border:1px solid #e2d3cb;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.menu-toggle span{width:16px;height:1px;background:#594741}.mobile-nav{position:absolute;display:grid;gap:0;top:71px;left:0;right:0;padding:7px 18px 16px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 20px #3828220c}.mobile-nav[hidden]{display:none}.mobile-nav a{padding:12px 0;border-bottom:1px solid #eee4de}.hero{min-height:0;padding:51px 0 83px;grid-template-columns:1fr;gap:9px}.hero-copy{padding-bottom:0}.hero h1{font-size:clamp(48px,12vw,64px);letter-spacing:-1.8px;margin-top:16px}.hero-intro{max-width:350px;font-size:13px}.hero-actions{gap:16px;margin-top:22px;flex-wrap:wrap}.hero-actions .button{min-height:46px}.text-link{font-size:10px}.hero-proof{margin-top:20px;font-size:9px}.hero-art{height:342px;margin-top:22px}.hero-art-circle{width:min(78vw,315px);height:min(78vw,315px);right:calc(50% - min(39vw,157px));top:0}.hero-eye{width:min(63vw,248px);height:min(59vw,226px);right:calc(50% - min(31.5vw,124px));top:15px}.hero-studio{width:min(66vw,270px);height:180px;right:0;bottom:0;border-width:7px}.hero-stamp{width:67px;height:67px;left:5px;bottom:16px;font-size:10px}.hero-stamp b{font-size:18px}.scroll-note{bottom:22px;font-size:8px}.intro-band{min-height:50px;gap:9px;padding:0 12px;justify-content:flex-start;overflow:hidden;white-space:nowrap;font-size:7px;letter-spacing:.7px}.intro-band i{font-size:9px}.services{padding-top:76px;padding-bottom:76px}.section-heading{display:block;margin-bottom:24px}.section-heading h2,.booking-heading h2,.visit h2{font-size:39px}.section-heading>p{font-size:11px;margin-top:13px;max-width:330px}.service-row{position:relative;min-height:110px;grid-template-columns:38px 1fr 58px 30px;gap:9px;padding:12px 0}.service-number{align-self:start;padding-top:8px}.service-mark{display:none}.service-copy{grid-column:2;grid-row:1}.service-copy h3{font-size:21px}.service-copy h3 small{font-size:11px}.service-copy p{max-width:240px;font-size:10px;line-height:1.5}.service-badge{grid-column:2;grid-row:2;padding:4px 8px;font-size:8px}.service-price{grid-column:3;grid-row:1/3;font-size:22px}.service-choose{grid-column:4;grid-row:1/3;width:30px;height:30px}.service-footnote{align-items:flex-start;gap:9px;flex-direction:column;font-size:10px;padding-top:15px}.experience{grid-template-columns:1fr}.experience-photo{min-height:300px;max-height:360px}.experience-copy{padding:48px 26px 56px}.experience h2{font-size:49px}.experience-copy>p{font-size:12px}.experience-signature{margin:21px 0}.booking{padding-top:78px;padding-bottom:78px}.booking-heading{margin-bottom:25px}.booking-heading h2{font-size:41px}.booking-heading>p{max-width:300px;margin-inline:auto;font-size:11px}.booking-layout{grid-template-columns:1fr;gap:15px}.booking-main{padding:20px 17px 23px}.step-row{gap:5px;margin-bottom:27px}.step{gap:5px;font-size:8px}.step b{width:23px;height:23px;font-size:8px}.step-rule{min-width:6px}.booking-step-title h3{font-size:26px}.calendar-date{font-size:10px}.booking-aside{padding:25px 22px}.booking-aside h3{font-size:28px;margin-bottom:19px}.policy-list{gap:12px}.policy-list p{font-size:10px}.aside-contact{margin-top:20px}.form-grid{grid-template-columns:1fr}.field input{height:47px;font-size:16px}.field{font-size:11px}.policy-check{font-size:10px;line-height:1.5}.next-step{width:100%}.visit{grid-template-columns:1fr}.visit-content{justify-self:start;width:100%;padding:52px 23px 36px}.visit h2{font-size:43px}.visit-photo{min-height:290px;max-height:360px}.visit-content>p{font-size:12px}.visit-actions{gap:14px;flex-wrap:wrap}.visit-call{font-size:17px}.social{padding-top:39px;padding-bottom:41px;grid-template-columns:1fr 1fr;gap:13px}.social-copy{grid-column:1/-1;margin-bottom:4px}.social h2{font-size:29px}.social-link{min-height:60px;gap:8px;padding-left:10px}.social-icon{width:30px;height:30px;font-size:17px}.social-link b{font-size:9px}.social-arrow{font-size:13px}.site-footer{min-height:190px;padding:20px 20px 76px;display:grid;grid-template-columns:1fr auto;gap:10px 16px}.footer-wordmark{grid-column:1}.site-footer p{grid-column:1/-1;grid-row:2}.footer-links{grid-column:1/-1;grid-row:3;gap:18px}.site-footer>small{grid-column:2;grid-row:1;align-self:center;text-align:right}.mobile-book-bar{display:block;position:fixed;z-index:30;left:0;right:0;bottom:0;padding:10px 16px max(10px,env(safe-area-inset-bottom));background:rgba(252,248,244,.96);border-top:1px solid var(--line);backdrop-filter:blur(12px)}.mobile-book-bar .button{width:100%;min-height:46px}.success-dialog{padding:30px 20px}.privacy-page{padding-top:60px;padding-bottom:85px}.privacy-page h1{font-size:44px}.privacy-page p{font-size:12px}.privacy-page+.site-footer{display:flex;min-height:75px;padding:20px}}
@media(max-width:360px){.step{font-size:7px}.step-row{gap:3px}.step-rule{min-width:4px}.step b{width:21px;height:21px}.hero-actions .button{padding-inline:14px;font-size:9px}.hero-actions{gap:13px}.service-copy p{max-width:210px}.booking-main{padding-inline:14px}.calendar-grid{gap:3px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important}}
.admin-body{min-height:100vh;background:#f9f4ef}.admin-page{width:min(1080px,calc(100% - 48px));margin:0 auto;padding:54px 0 90px}.admin-intro{text-align:center;margin-bottom:34px}.admin-intro .eyebrow{justify-content:center}.admin-intro h1{font:400 clamp(42px,6vw,62px) var(--serif);margin:12px 0 6px}.admin-intro h1 em{color:var(--rose);font-weight:400}.admin-intro p{color:var(--muted);font-size:12px}.admin-login{width:min(430px,100%);margin:0 auto;padding:34px;background:var(--white);border:1px solid var(--line);text-align:center}.login-flower{width:44px;height:44px;border-radius:50%;background:#f6e3df;color:var(--rose);display:grid;place-items:center;margin:0 auto 14px;font-size:24px}.admin-login h2,.admin-tools h2{margin:0 0 7px;font:400 27px var(--serif)}.admin-login>p{color:var(--muted);font-size:11px;margin-bottom:20px}.admin-login .button:disabled{opacity:.48;cursor:not-allowed}.admin-setup-note{margin:14px 0 0!important;font-size:10px!important;color:#9b7773!important}.admin-dashboard{padding:27px;background:var(--white);border:1px solid var(--line)}.admin-tools{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:20px}.admin-tools h2{margin:4px 0 0}.admin-status{min-height:23px;margin:8px 0;color:#66775e;font-size:11px}.admin-status.is-error,.admin-empty.is-error{color:#ae4d56}.admin-columns{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:25px}.admin-bookings{display:grid;align-content:start}.admin-empty{padding:24px 0;color:#907c74;font-size:12px}.admin-booking{display:grid;grid-template-columns:minmax(150px,.8fr) 1.2fr;gap:10px;padding:18px 0;border-bottom:1px solid #ece3de}.admin-booking-date{display:grid;align-content:start;gap:4px;color:#74625b;font-size:11px}.admin-booking-date b{font:20px var(--serif);color:var(--ink)}.admin-booking-client{display:grid;gap:3px;font-size:10px}.admin-booking-client strong{font:20px var(--serif);font-weight:400}.admin-booking-client span{color:#79665f}.admin-booking-client a{color:#96686b}.admin-booking-client p{margin:4px 0 0;color:#8d7972}.admin-cancel{grid-column:2;justify-self:start;padding:5px 0;border:0;border-bottom:1px solid #cfb7ae;background:none;color:#8e6661;font-size:9px;cursor:pointer}.admin-cancel:disabled{opacity:.5}.admin-controls{padding:19px;background:#f6ede8;align-self:start}.admin-controls h3{font:400 21px var(--serif);margin:0 0 13px}.admin-form{display:grid;gap:11px}.admin-form .field{font-size:10px}.admin-form .field input,.admin-form .field select{height:40px;padding:0 8px;border:1px solid #e2d4cd;background:#fffdfa;color:var(--ink);font:11px var(--sans)}.admin-form .button{min-height:43px;width:100%;margin-top:4px}.admin-controls hr{height:1px;border:0;background:#dfcec6;margin:22px 0}.admin-controls hr+h3{margin-bottom:12px}.admin-page+[class="site-footer"]{min-height:80px}.admin-page+[class="site-footer"] p{margin:0}.admin-dashboard[hidden]{display:none}
@media(max-width:700px){.admin-page{width:calc(100% - 32px);padding:40px 0 75px}.admin-dashboard{padding:18px 14px}.admin-columns{grid-template-columns:1fr}.admin-controls{grid-row:1}.admin-booking{grid-template-columns:1fr 1fr;gap:8px}.admin-booking-client strong{font-size:18px}.admin-cancel{grid-column:1/-1}.admin-tools h2{font-size:23px}.admin-login{padding:28px 19px}.admin-page+.site-footer{display:flex;min-height:78px;padding:20px}}
.admin-closures{margin-top:26px;border-top:1px solid var(--line);padding-top:19px}.admin-closures h3{font:400 21px var(--serif);margin:0}.admin-closure{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 0;border-bottom:1px solid #ece3de;color:#76635c;font-size:10px}.admin-closure .admin-cancel{grid-column:auto}
.booking-services.needs-selection .booking-service{border-color:#d7a4a2}.service-row.chosen .service-number{color:var(--rose)}.service-row.chosen .service-copy h3{color:var(--rose-dark)}
.faq{padding-top:92px;padding-bottom:105px;display:grid;grid-template-columns:.7fr 1.3fr;gap:70px;align-items:start}.faq-heading h2{font:400 42px/1.14 var(--serif);margin:16px 0 9px}.faq-heading h2 em{color:var(--rose);font-weight:400}.faq-heading>p{max-width:260px;color:var(--muted);font-size:12px}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;cursor:pointer;color:#443632;font:19px var(--serif)}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{color:var(--rose);font:20px var(--sans);transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{max-width:620px;padding:0 35px 17px 0;margin:0;color:#806e67;font-size:11px;line-height:1.8}
@media(max-width:680px){.faq{padding-top:67px;padding-bottom:75px;grid-template-columns:1fr;gap:16px}.faq-heading h2{font-size:36px}.faq-heading>p{margin-bottom:4px}.faq-list summary{min-height:59px;font-size:17px}.faq-list details p{font-size:10px}}

/* Readability pass: strong, comfortable reading sizes; the tiny uppercase
   eyebrow/decorative labels above intentionally retain their editorial scale. */
.topline{font-size:11px}
.eyebrow,.step-small{font-size:12px}
.caption-kicker,.photo-label{font-size:11px}
body{font-size:18px}
.main-nav a,.mobile-nav a{font-size:16px}
.button{font-size:14px}
.hero-intro{font-size:20px;line-height:1.7}
.hero-proof{font-size:14px}
.text-link{font-size:14px}
.section-heading>p,.booking-heading>p,.visit-content>p{font-size:18px}
.service-copy p{font-size:18px;line-height:1.6}
.service-footnote{font-size:15px}
.experience-copy>p{font-size:18px}
.step{font-size:13px}
.step b{font-size:13px}
.booking-service-name{font-size:17px}
.back-step{font-size:14px}
.calendar-legend{font-size:13px}
.calendar-day-name{font-size:13px}
.calendar-date{font-size:16px}
.time-picker-label{font-size:16px}
.time-picker-label small,.calendar-help{font-size:15px}
.one-day-note{font-size:15px}
.booking-summary{font-size:16px}
.summary-address{font-size:15px}
.field{font-size:15px}
.field small{font-size:14px}
.field input{font-size:17px}
.policy-check{font-size:15px;line-height:1.6}
.form-message{font-size:15px}
.no-payment-note{font-size:14px}
.policy-list p,.aside-contact{font-size:16px}
.confirmation-step>p,.success-dialog>p{font-size:17px}
.faq-heading>p{font-size:16px}
.faq-list summary{font-size:22px}
.faq-list details p{font-size:17px;line-height:1.7}
.social-copy p{font-size:16px}
.social-link small{font-size:12px}
.social-link b{font-size:16px}
.site-footer p,.footer-links{font-size:15px}
.site-footer>small{font-size:13px}
.admin-intro p{font-size:17px}
.admin-closure{font-size:16px}

@media(max-width:680px){
  body{font-size:17px}
  .button{font-size:13px}
  .hero-intro{font-size:18px}
  .eyebrow{font-size:11px}
  .section-heading>p,.booking-heading>p,.visit-content>p{font-size:16px}
  .service-copy p{font-size:17px}
  .experience-copy>p{font-size:17px}
  .booking-main{padding-inline:18px}
  .step{font-size:12px}
  .calendar-date{font-size:15px}
  .field{font-size:14px}
  .field input{font-size:16px}
  .faq-list summary{font-size:20px}
  .faq-list details p{font-size:16px}
}
@media(max-width:360px){.step{font-size:11px}.booking-main{padding-inline:14px}}

/* Crawlable service and studio pages */
.editorial-page{padding-top:28px;padding-bottom:95px;min-height:55vh}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:#8b7771;font-size:14px;margin:4px 0 44px}
.breadcrumbs a:hover,.detail-related a:hover{text-decoration:underline;color:var(--rose-dark)}
.breadcrumbs [aria-current="page"]{color:#594741}
.editorial-hero{max-width:780px;padding:18px 0 48px}
.editorial-hero h1{font:400 clamp(44px,6vw,68px)/1.08 var(--serif);letter-spacing:-1.6px;margin:18px 0}
.editorial-hero h1 em{color:var(--rose);font-weight:400}
.editorial-hero>p{max-width:690px;color:var(--muted);font-size:20px;line-height:1.8}
.editorial-hero .button{margin-top:8px}
.editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.editorial-card{padding:30px;background:var(--white);border:1px solid var(--line)}
.editorial-card .service-number{display:block;margin-bottom:17px}
.editorial-card h2,.detail-copy h2,.editorial-split h2,.visit-details h2,.editorial-note h2{font:400 29px/1.2 var(--serif);margin:0 0 12px}
.editorial-card h2 a span{color:var(--rose);font:20px var(--sans)}
.editorial-card p,.detail-copy p,.editorial-split p,.visit-details p,.editorial-note p{color:var(--muted);font-size:17px;line-height:1.8}
.editorial-card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
.editorial-card-foot strong,.detail-price{font:400 25px var(--serif)}
.editorial-note{margin-top:48px;padding:34px;background:#f3e7e1}
.editorial-note>p{max-width:780px}
.detail-price{margin:18px 0}.detail-price span{font:12px var(--sans);color:var(--muted);text-transform:uppercase;letter-spacing:1px}
.detail-copy{max-width:790px;border-top:1px solid var(--line);padding-top:30px;display:grid;gap:28px}
.detail-copy h2{font-size:26px}
.detail-related ul{display:flex;flex-wrap:wrap;gap:12px 25px;padding-left:20px;color:#806a63}
.editorial-split{display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:center}
.editorial-split img,.visit-details img{width:100%;max-height:460px;object-fit:cover}
.editorial-split .button{margin-top:10px}
.visit-details{display:grid;grid-template-columns:1fr 1fr;gap:32px;padding:28px;background:#f2e7e1}
.visit-details address{font-style:normal;color:var(--muted);font-size:19px;line-height:1.8;margin-bottom:20px}
.visit-details a:not(.button),.editorial-note>a:not(.button){color:var(--rose-dark);text-decoration:underline;text-underline-offset:3px}
.visit-details img{grid-column:1/-1;max-height:400px;object-position:center 55%}
.editorial-faq{display:block;padding:0;margin:0;max-width:900px}
.editorial-faq .faq-list{width:100%}
.editorial-faq .faq-list summary{font-size:24px}
.editorial-faq .faq-list details p{font-size:17px}
.site-footer p a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:680px){.editorial-page{padding-top:17px;padding-bottom:74px}.breadcrumbs{font-size:12px;margin-bottom:30px}.editorial-hero{padding:12px 0 31px}.editorial-hero h1{font-size:44px}.editorial-hero>p{font-size:17px}.editorial-grid,.editorial-split,.visit-details{grid-template-columns:1fr;gap:15px}.editorial-card{padding:23px}.editorial-card p,.detail-copy p,.editorial-split p,.visit-details p,.editorial-note p{font-size:16px}.editorial-card h2,.detail-copy h2,.editorial-split h2,.visit-details h2,.editorial-note h2{font-size:25px}.editorial-note{padding:24px;margin-top:30px}.detail-copy{gap:20px}.visit-details{padding:22px}.visit-details img{grid-column:1;max-height:300px}.editorial-faq .faq-list summary{font-size:20px}.editorial-faq .faq-list details p{font-size:16px}}
