:root{--ivory:#fff9f5;--white:#fffdfb;--plum:#392831;--rose:#c47d91;--pink:#f1d9de;--sage:#84958b;--gold:#b79458;--line:#e7d9d8}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ivory);color:var(--plum);font:400 16px/1.6 'DM Sans',sans-serif}h1,h2,h3,p{margin-top:0}h1,h2,.summary-top h3,.final-cta h2{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.08}h1 em,h2 em{font-weight:400;color:var(--rose)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}img{max-width:100%;display:block}section[id]{scroll-margin-top:90px}.announcement{background:var(--plum);color:#fbeeee;text-align:center;font-size:.73rem;letter-spacing:.12em;text-transform:uppercase;padding:9px 15px}.announcement span{color:var(--rose);padding:0 10px}.site-header{height:92px;background:var(--ivory);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,80px);position:sticky;top:0;z-index:20;border-bottom:1px solid #39283114}.brand img{width:168px;height:76px;object-fit:contain}nav{display:flex;align-items:center;gap:clamp(16px,2.5vw,40px);font-size:.85rem;font-weight:600}nav a:hover,.text-link:hover{color:var(--rose)}.nav-book{border:1px solid var(--plum);padding:11px 19px}.nav-book span,.button span{margin-left:17px}.menu-button{display:none}.hero{display:grid;grid-template-columns:53% 47%;min-height:675px}.hero-copy{padding:clamp(60px,8vw,120px) clamp(25px,6vw,96px) 25px;display:flex;flex-direction:column}.eyebrow{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#866069}.eyebrow-rule{display:inline-block;width:24px;border-top:1px solid var(--rose);vertical-align:middle;margin:0 9px}.hero h1{font-size:clamp(3.5rem,6.5vw,7.4rem);letter-spacing:-.055em;margin:25px 0 27px}.hero-lead{max-width:460px;font-size:1.04rem;color:#66555a;line-height:1.85}.hero-actions{display:flex;align-items:center;gap:32px;margin-top:22px}.button{display:inline-flex;justify-content:center;align-items:center;border:0;padding:16px 24px;min-height:54px;font-weight:700;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--plum);color:#fff}.button-primary:hover{background:#624254}.button-light{background:var(--ivory);color:var(--plum)}.text-link{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;border-bottom:1px solid var(--plum);padding-bottom:5px}.fine-print{font-size:.78rem;color:#806f74;margin:16px 0}.hero-bottom{margin-top:auto;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;color:#856f75;font-size:.65rem;letter-spacing:.16em}.hero-visual{position:relative;overflow:hidden;min-height:610px}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-stamp{position:absolute;right:6%;bottom:6%;background:var(--ivory);border-radius:50%;height:138px;width:138px;display:flex;flex-direction:column;justify-content:center;align-items:center;transform:rotate(-10deg);box-shadow:0 8px 30px #3928311f}.hero-stamp span{font-size:.5rem;letter-spacing:.13em}.hero-stamp strong{font-family:'Playfair Display',serif;font-size:1.65rem;font-weight:400}.intro-band{background:#ead2d4;display:flex;align-items:center;justify-content:space-between;padding:32px clamp(22px,6vw,100px);gap:25px}.intro-band span{font-size:.62rem;letter-spacing:.15em;white-space:nowrap}.intro-band p{font-family:'Playfair Display',serif;font-size:clamp(1.25rem,2vw,2rem);margin:0;text-align:center}.intro-band em{color:#9b596d}.section{padding:clamp(70px,9vw,130px) clamp(22px,6vw,100px)}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:50px}.section-heading h2,.inquiry-section h2,.steps-copy h2{font-size:clamp(2.6rem,5vw,5rem);letter-spacing:-.04em;margin:12px 0 0}.section-heading>p{max-width:345px;color:#786a6e;line-height:1.8}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{background:var(--white);overflow:hidden}.service-card .photo{aspect-ratio:1.22;overflow:hidden}.service-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.service-card:hover img{transform:scale(1.04)}.service-card-body{padding:21px 24px 26px}.category{font-size:.65rem;letter-spacing:.16em;color:#a17380;text-transform:uppercase;font-weight:700}.service-card h3{font:400 1.55rem 'Playfair Display',serif;margin:10px 0 8px}.service-card p{color:#75696d;font-size:.87rem;min-height:43px}.service-card-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;border-top:1px solid var(--line)}.service-card-bottom span{font-size:.82rem}.service-card-bottom button{background:none;border:0;color:#8c5265;text-transform:uppercase;font-size:.7rem;font-weight:700;letter-spacing:.08em;padding:5px}.artist-section{background:#f5e9e6}.artist-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.artist-card{background:var(--white)}.artist-card img{width:100%;aspect-ratio:3/3.7;object-fit:cover;object-position:center top}.artist-body{padding:18px 19px 22px}.artist-body h3{font:400 1.5rem 'Playfair Display',serif;margin:4px 0}.artist-body p{font-size:.79rem;color:#76696d;margin-bottom:12px}.artist-body button{border:0;border-bottom:1px solid #895469;background:none;padding:0 0 4px;color:#895469;text-transform:uppercase;font-size:.7rem;letter-spacing:.08em;font-weight:700}.steps-section{display:grid;grid-template-columns:1fr 1fr;background:var(--plum);color:#fff}.steps-image img{height:100%;width:100%;object-fit:cover}.steps-copy{padding:clamp(60px,7vw,115px) clamp(25px,7vw,105px)}.steps-copy .eyebrow{color:#d8a9b6}.steps-copy h2{margin:15px 0 45px}.steps-copy em{color:#dca5b4}.step{display:flex;gap:25px;border-top:1px solid #ffffff36;padding:21px 0}.step span{color:#d8a9b6;font:1.25rem 'Playfair Display',serif}.step h3{font:400 1.3rem 'Playfair Display',serif;margin-bottom:5px}.step p{color:#e6d6db;font-size:.85rem;margin:0}.steps-copy .button{margin-top:25px}.booking-section{background:var(--white)}.booking-shell{border:1px solid var(--line);background:var(--ivory)}.booking-tabs{display:flex;border-bottom:1px solid var(--line)}.booking-tabs button{background:transparent;border:0;padding:18px 28px;color:#8e7b80;font-size:.83rem;font-weight:700}.booking-tabs button.active{color:var(--plum);border-bottom:3px solid var(--rose)}.booking-columns{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,1fr)}.booking-main{padding:clamp(24px,4vw,55px)}.booking-main h3,.booking-form h3,.manage-panel h3{font:400 1.7rem 'Playfair Display',serif;margin:10px 0 20px}.booking-main h3:not(:first-child){margin-top:39px}.option-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.option,.staff-option{position:relative;display:flex;align-items:center;gap:10px;text-align:left;padding:14px;border:1px solid #d8c7c9;background:#fff;color:var(--plum);min-height:70px}.option:hover,.staff-option:hover,.time-button:hover{border-color:var(--rose)}.option.selected,.staff-option.selected,.time-button.selected{border:2px solid var(--rose);background:#fff3f5}.option img{width:54px;height:54px;object-fit:cover}.option strong,.staff-option strong{font-size:.88rem;display:block}.option small,.staff-option small{display:block;font-size:.74rem;color:#806e72}.addon{display:flex;align-items:center;gap:9px;font-size:.83rem;padding:16px 0}.addon strong{margin-left:auto}.addon[hidden]{display:none}.staff-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.staff-option img{width:51px;height:56px;object-fit:cover}.helper{font-size:.78rem;color:#85777b;display:block}.field-label,form label{display:block;font-weight:600;font-size:.83rem;margin:13px 0}input:not([type=checkbox]),select,textarea{width:100%;border:1px solid #d3c4c5;background:#fff;padding:12px 13px;min-height:46px;color:var(--plum);border-radius:0}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid #9b526b;outline-offset:2px}.times{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:14px}.time-button{border:1px solid #d8c7c9;background:#fff;padding:11px 6px;font-size:.79rem}.booking-summary{background:#ead7d9;padding:40px 30px;position:relative;overflow:hidden}.summary-top h3{font-size:2.5rem;margin:12px 0 45px}.summary-lines{min-height:180px;position:relative;z-index:1;font-size:.85rem}.summary-lines .line{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #c6b3b7;padding:10px 0}.summary-total{display:flex;justify-content:space-between;border-top:1px solid var(--plum);padding-top:18px;margin-top:20px;font-size:1.1rem}.booking-summary>p{font-size:.72rem}.summary-flower{font-size:15rem;line-height:1;position:absolute;right:-40px;bottom:-45px;color:#ffffff53}.booking-form,.manage-panel{padding:25px clamp(24px,4vw,55px) 45px;border-top:1px solid var(--line);max-width:790px}.booking-form[hidden],.manage-panel[hidden],.success-panel[hidden],.form-success[hidden]{display:none}.field-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.check-label{display:flex;align-items:flex-start;gap:8px!important;font-weight:400!important}.check-label input{margin-top:5px}.check-label a{text-decoration:underline}.form-error{color:#a92e4b;font-weight:600}.success-panel{padding:50px;max-width:760px}.success-panel h3{font:400 2.5rem 'Playfair Display',serif}.success-panel p,.manage-panel p{color:#6e5d62}.success-panel .receipt{background:white;padding:25px;margin:20px 0;border:1px solid var(--line)}.manage-panel{border:0}.manage-panel .button{margin-top:8px}.manage-card{border:1px solid var(--line);padding:22px;margin-top:24px;background:#fff}.manage-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.manage-actions button{border:1px solid var(--plum);background:#fff;padding:10px 15px}.manage-actions .danger{border-color:#a85064;color:#a85064}.inquiry-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(35px,8vw,120px);background:var(--pink)}.inquiry-section>div>p:not(.eyebrow){max-width:340px;line-height:1.8}.inquiry-flower{font-size:11rem;color:#e0aab8;line-height:1.2}.inquiry-section form{background:var(--white);padding:clamp(24px,4vw,50px)}.inquiry-section form label:first-child,.booking-form label:first-child{margin-top:0}.inquiry-section .button{margin-top:10px}.form-success{margin-top:15px;color:#446354;font-weight:600}.form-success a{text-decoration:underline}.faq-section{background:var(--white)}.faq-list{max-width:880px;margin:auto}.faq-list details{border-top:1px solid var(--line)}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{cursor:pointer;padding:22px 34px 22px 0;font:400 1.3rem 'Playfair Display',serif;list-style:none;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';position:absolute;right:8px;top:14px;font:300 1.7rem 'DM Sans',sans-serif;color:var(--rose)}.faq-list details[open] summary:after{content:'−'}.faq-list p{color:#70656a;max-width:650px;padding-bottom:18px}.final-cta{text-align:center;padding:90px 20px 100px;background:var(--plum);color:white}.final-cta .eyebrow{color:#e4b9c4}.final-cta h2{font-size:clamp(3.4rem,7vw,7rem);margin:14px 0 33px}.final-cta em{color:#dca5b4}.policy-note{padding-top:48px;padding-bottom:50px}.policy-note h2{font:400 1.7rem 'Playfair Display',serif}.policy-note p{max-width:1000px;color:#74666c;font-size:.86rem}.reset{border:0;border-bottom:1px solid var(--plum);background:none;padding:0 0 5px}footer{background:#eadedb;padding:45px clamp(22px,6vw,100px) 20px}.footer-top{display:grid;grid-template-columns:2fr 1fr 1.5fr;gap:35px}.footer-top img{width:190px;height:110px;object-fit:contain;object-position:left}.footer-top p{font-family:'Playfair Display',serif}.footer-top>div:not(:first-child){display:flex;flex-direction:column;gap:9px;font-size:.82rem}.footer-top strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.14em;margin-bottom:8px}.footer-bottom{border-top:1px solid #cbbabb;margin-top:35px;padding-top:17px;display:flex;justify-content:space-between;gap:20px;font-size:.69rem;color:#735f65}@media(max-width:1050px){.hero{grid-template-columns:52% 48%}.hero h1{font-size:5rem}.artist-grid{grid-template-columns:repeat(2,1fr)}.service-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.announcement{font-size:.62rem}.site-header{height:74px;padding:0 20px}.brand img{width:130px;height:68px}.menu-button{display:block;border:0;background:none;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}nav{display:none;position:absolute;top:74px;left:0;right:0;background:var(--ivory);padding:24px;box-shadow:0 15px 20px #39283118;flex-direction:column;align-items:stretch}nav.open{display:flex}.hero{grid-template-columns:1fr}.hero-copy{min-height:590px;padding:70px 23px 22px}.hero h1{font-size:clamp(3.65rem,14vw,5.7rem)}.hero-visual{height:390px;min-height:0}.intro-band span{display:none}.intro-band{justify-content:center}.section-heading{display:block}.section-heading>p{margin-top:25px}.service-grid{grid-template-columns:1fr 1fr;gap:13px}.service-card-body{padding:17px}.service-card h3{font-size:1.3rem}.service-card p{font-size:.8rem}.service-card-bottom{display:block}.service-card-bottom button{padding:7px 0}.steps-section,.inquiry-section,.booking-columns{grid-template-columns:1fr}.steps-image{height:380px}.artist-grid{gap:12px}.booking-summary{grid-row:1;padding:24px}.summary-top h3{font-size:1.9rem;margin:8px 0 18px}.summary-lines{min-height:0}.summary-flower{font-size:10rem}.footer-top{grid-template-columns:1fr 1fr}.footer-top>div:first-child{grid-column:span 2}}@media(max-width:500px){.hero-actions{gap:20px;flex-wrap:wrap}.hero-bottom{font-size:.55rem}.section{padding:75px 19px}.section-heading h2,.steps-copy h2,.inquiry-section h2{font-size:3rem}.service-grid{grid-template-columns:1fr}.artist-grid{grid-template-columns:repeat(2,1fr)}.artist-body{padding:12px}.artist-body h3{font-size:1.25rem}.artist-body p{font-size:.72rem}.artist-card img{aspect-ratio:3/4}.option-grid,.staff-options{grid-template-columns:1fr}.times{grid-template-columns:repeat(3,1fr)}.field-row{grid-template-columns:1fr;gap:0}.booking-tabs button{padding:15px;font-size:.75rem}.footer-bottom{display:block}.footer-bottom span{display:block;margin-bottom:7px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
