:root{--cream:#f7f3ec;--paper:#fffdf9;--light:#f0e9df;--blush:#e9c9bf;--rose:#c98d83;--deep:#242620;--olive:#555a47;--muted:#77796f;--line:#ded8d0;--gold:#af8d5c;--serif:'Playfair Display',Georgia,serif;--body:'DM Sans',Arial,sans-serif;--heading:'Manrope',Arial,sans-serif;--max:1240px;--radius:4px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--deep);font-family:var(--body);background:var(--paper);-webkit-font-smoothing:antialiased}body.no-scroll{overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid #ae695d;outline-offset:4px}button,select{touch-action:manipulation}.container{width:min(calc(100% - 88px),var(--max));margin-inline:auto}.skip-link{position:fixed;top:-120px;left:20px;background:#fff;color:#222;padding:14px 20px;z-index:3000}.skip-link:focus{top:15px}.announcement{background:var(--deep);color:#fff;font-size:9px;letter-spacing:.19em;text-align:center;padding:10px 28px;position:relative;font-weight:700;line-height:1.5}.announcement-flower{color:#dac4ac;margin:0 15px;font-size:12px}.announcement-right{position:absolute;right:4%;top:10px;letter-spacing:.05em;font-weight:400;font-size:11px;color:#d6cdc3}.site-header{position:sticky;top:0;z-index:60;background:rgba(247,243,236,.95);border-bottom:1px solid rgba(53,51,45,.08);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transition:box-shadow .3s}.site-header.scrolled{box-shadow:0 5px 30px rgba(43,39,32,.07)}.header-inner{height:86px;display:flex;justify-content:space-between;align-items:center;gap:25px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-emblem{font-size:39px;font-family:serif;color:var(--rose);line-height:1;animation:slow-spin 30s linear infinite}.brand-words{display:flex;flex-direction:column;align-items:center;line-height:1.12}.brand-words strong{font-family:var(--serif);font-size:26px;letter-spacing:.14em;font-weight:500}.brand-words small{font-size:8px;letter-spacing:.38em;font-weight:700;margin-top:6px}.primary-nav{display:flex;gap:29px;align-items:center;margin-left:auto}.nav-link{font-size:12px;font-weight:700;white-space:nowrap;color:#64675f;transition:color .2s;position:relative;padding:10px 0}.nav-link::after{position:absolute;content:'';height:1px;width:0;left:0;bottom:5px;background:var(--rose);transition:width .25s}.nav-link:hover,.nav-link.active{color:var(--deep)}.nav-link:hover:after,.nav-link.active:after{width:100%}.header-actions{display:flex;align-items:center;gap:18px}.icon-button{width:34px;height:34px;border:0;background:transparent;display:grid;place-items:center;color:var(--olive)}.icon-button svg{width:22px;height:22px}.button{display:inline-flex;align-items:center;justify-content:center;gap:38px;border:1px solid transparent;padding:15px 25px;min-height:52px;border-radius:2px;font-weight:700;font-size:12px;letter-spacing:.015em;transition:transform .3s,background .3s,color .3s,box-shadow .3s}.button:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(44,42,35,.13)}.button:active{transform:translateY(0)}.button-dark{background:var(--deep);color:#fff}.button-dark:hover{background:#4d5443}.button-light{background:var(--paper);color:var(--deep)}.button-outline{border-color:#8d8a80;background:transparent;color:var(--deep)}.button-outline:hover{border-color:var(--deep);background:#efe9de}.button-ghost{background:transparent;color:#666;border:1px solid var(--line)}.button-large{padding:18px 29px;min-height:59px}.button-header{padding:13px 18px;gap:26px;min-height:46px}.menu-toggle{border:0;background:transparent;display:none;width:40px;height:40px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{height:2px;width:23px;background:var(--deep);transition:transform .2s}.menu-toggle[aria-expanded=true] span:nth-child(1){transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-nav-cta{display:none}
.hero{background:var(--cream);position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:49% 51%;align-items:center;min-height:660px;padding:30px 0 38px;position:relative;z-index:1}.hero-content{position:relative;z-index:2;padding:26px 10px 26px 24px}.eyebrow,.section-eyebrow{font-size:10px;letter-spacing:.22em;font-weight:800;color:var(--olive);display:flex;align-items:center;gap:13px}.eyebrow-line{width:28px;height:1px;background:var(--rose)}h1,h2,h3,p{margin-top:0}.hero h1{font:500 clamp(64px,6.2vw,104px)/1.12 var(--serif);letter-spacing:-.055em;margin:26px 0 22px}.hero h1 em,.section h2 em,.contact-heading h2 em,.modal h2 em{font-weight:400;color:var(--rose)}.headline-period{color:var(--rose)}.hero-lead{font-size:15px;line-height:1.85;max-width:400px;color:#6d6e63}.hero-buttons{display:flex;align-items:center;gap:29px;flex-wrap:wrap;margin:31px 0 37px}.button-link,.text-link{font-size:12px;font-weight:800;display:inline-flex;gap:22px;align-items:center;border-bottom:1px solid var(--deep);padding:0 0 8px}.button-link:hover,.text-link:hover{color:var(--rose);border-color:var(--rose)}.hero-trust{display:flex;gap:16px;align-items:center}.avatar-stack{display:flex;padding-left:3px}.avatar-stack span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;margin-left:-4px;border:2px solid var(--cream);background:#dfb9af;color:#fff;font-size:15px}.avatar-stack span:nth-child(2){background:#b4a389}.avatar-stack span:nth-child(3){background:#949782}.trust-words{display:flex;flex-direction:column;gap:4px}.trust-words strong{font-size:11px}.trust-words small{font-size:11px;color:#87867b}.hero-visual{height:595px;position:relative;display:flex;align-items:center;justify-content:center}.hero-frame{width:77%;height:94%;position:relative;border-radius:45% 45% 0 0;overflow:hidden;background:#dfc3b5;box-shadow:0 20px 65px rgba(60,50,38,.12)}.hero-image{height:100%;width:100%;object-fit:cover;object-position:center 23%;filter:saturate(.83) sepia(.08)}.hero-frame:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 65%,rgba(48,30,28,.2))}.hero-frame:before{content:'';position:absolute;inset:7px;border:1px solid rgba(255,255,255,.54);border-radius:45% 45% 0 0;pointer-events:none;z-index:1}.frame-flower{position:absolute;color:rgba(255,255,255,.78);font-size:45px;z-index:2;animation:floaty 7s ease-in-out infinite}.frame-flower-one{left:18px;bottom:36px}.frame-flower-two{right:18px;top:110px;font-size:22px;animation-delay:-3s}.floating-note{position:absolute;left:-17px;bottom:66px;padding:22px 25px;background:#fffdf9;box-shadow:0 15px 50px rgba(71,55,46,.13);min-width:245px;display:flex;gap:14px;align-items:flex-start;animation:floaty 8s ease-in-out infinite;z-index:3}.floating-note .note-icon{font-size:31px;color:var(--rose)}.floating-note strong{font:italic 500 21px/1.2 var(--serif);display:block}.floating-note small{font-size:10px;color:#858078;display:block;margin-top:9px}.hero-side-label{position:absolute;right:-13px;top:45%;transform:rotate(90deg) translateX(50%);font-size:9px;font-weight:800;letter-spacing:.28em;color:#919087;transform-origin:right center}.hero-orbit{position:absolute;width:430px;height:430px;border-radius:50%;border:1px solid #e6d9ca;pointer-events:none}.orbit-one{top:-315px;left:-180px}.orbit-two{bottom:-300px;right:-115px;width:550px;height:550px}.hero-bottom{display:flex;gap:18px;align-items:center;justify-content:space-between;padding-bottom:22px;color:#777c70;font-size:10px;font-weight:700;letter-spacing:.18em}.scroll-line{height:1px;flex:1;background:#c9c6bd;max-width:280px;margin-right:auto}.hero-bottom .sep{color:#c98d83;margin:0 12px}.marquee-bar{height:54px;background:var(--deep);color:#e9e0d5;overflow:hidden;display:flex;align-items:center}.marquee-track{display:flex;align-items:center;gap:40px;white-space:nowrap;animation:marquee 35s linear infinite;min-width:max-content;font-size:10px;font-weight:700;letter-spacing:.25em}.marquee-track i{font-style:normal;font-size:18px;color:var(--rose)}
.section{padding:110px 0}.section-topline{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:17px;margin-bottom:50px}.kicker{font-size:10px;font-weight:800;letter-spacing:.19em;color:#8a8b82}.small-ornament{font-size:22px;color:var(--rose)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:45px}.section-eyebrow{color:var(--rose);margin-bottom:18px}.section h2,.contact-heading h2,.modal h2{font:500 clamp(41px,4.6vw,72px)/1.18 var(--serif);letter-spacing:-.045em;margin-bottom:0}.section-head>p{max-width:310px;color:var(--muted);line-height:1.85;font-size:14px;margin-bottom:8px}.section-services{background:var(--paper)}.service-filters{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:30px}.filter-pill{font-size:11px;font-weight:700;letter-spacing:.01em;background:transparent;color:#6c6d63;border:1px solid #dfdcd5;border-radius:100px;padding:10px 18px;transition:background .2s,color .2s,border-color .2s}.filter-pill:hover{border-color:var(--olive)}.filter-pill.active{background:var(--deep);color:#fff;border-color:var(--deep)}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.service-card{background:#f7f4ee;border:1px solid #ece6de;padding:28px 25px;display:flex;flex-direction:column;min-height:240px;position:relative;overflow:hidden;transition:transform .35s,box-shadow .35s,border-color .35s;animation:fade-up .45s both}.service-card:hover{transform:translateY(-5px);box-shadow:0 16px 40px rgba(53,48,36,.06);border-color:#d8c8bc}.service-card:after{content:'✳';font:54px/1 var(--serif);position:absolute;right:-2px;top:-7px;color:#efe6de;pointer-events:none}.service-card-top{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.service-category{color:var(--rose);text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.19em}.service-icon{font-size:25px;color:#bd998b}.service-card h3{font:500 25px/1.3 var(--serif);margin:25px 0 10px;letter-spacing:-.025em}.service-card p{font-size:12px;line-height:1.7;color:#79786f;margin:0 0 18px;max-width:285px}.service-card-bottom{margin-top:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e5ddd5;padding-top:15px;gap:12px}.service-card-bottom span{font-size:11px;font-weight:700;color:#696b61}.service-card-bottom button{font-size:11px;font-weight:800;display:flex;gap:10px;align-items:center;border:0;background:transparent;padding:7px 0;color:var(--deep)}.service-card-bottom button:hover{color:var(--rose)}.services-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:32px}.services-bottom p{font-size:12px;color:#7b7b72;margin:0}.tiny-sparkle{color:var(--rose);font-size:18px;margin-right:8px}.illustrative-pricing{display:block;margin-top:5px;color:#99988f;font-size:10px}.feature-strip{background:#e8e8dc;padding:32px 0}.feature-inner{display:flex;align-items:center;justify-content:center;gap:50px}.feature-inner p{margin:0;font:500 clamp(18px,3vw,35px)/1.3 var(--serif);letter-spacing:.025em;text-align:center}.feature-inner em{color:var(--rose)}.decorative-star{font-size:30px;color:var(--olive)}
.section-about{background:var(--cream)}.about-grid{display:grid;grid-template-columns:minmax(0,53fr) minmax(0,47fr);gap:55px;align-items:center}.about-images{min-height:630px;position:relative}.about-image-primary{position:absolute;left:6%;top:1%;width:70%;height:81%;overflow:hidden;border-radius:48% 48% 0 0;background:#e0d0c0}.about-image-primary img,.about-image-small img{width:100%;height:100%;object-fit:cover}.about-image-small{position:absolute;bottom:1%;right:3%;height:49%;width:39%;border:9px solid var(--cream);background:#cebaaf;overflow:hidden;border-radius:48% 48% 0 0}.about-round-stamp{position:absolute;left:1%;bottom:10%;width:125px;height:125px;background:#e1bdb0;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;color:#fff;font-size:50px;transform:rotate(-11deg)}.about-round-stamp span{font-size:8px;font-weight:800;letter-spacing:.16em}.about-copy{max-width:485px}.about-copy h2{margin-bottom:23px}.about-copy>.large-copy{font:500 23px/1.45 var(--serif);color:#504f48;margin-bottom:12px}.about-copy>p:not(.section-eyebrow):not(.large-copy){font-size:14px;line-height:1.95;color:#7c7b72;max-width:430px;margin-bottom:25px}.about-highlights{margin:27px 0 32px;border-top:1px solid #ddd6cc;border-bottom:1px solid #ddd6cc;padding:22px 0;display:grid;grid-template-columns:1fr 1fr;gap:17px}.about-highlights>div{display:grid;grid-template-columns:28px 1fr;column-gap:10px}.highlight-icon{font-size:25px;grid-row:span 2;color:var(--rose)}.about-highlights strong{font-size:12px}.about-highlights small{font-size:11px;line-height:1.65;color:var(--muted);margin-top:6px}
.appointment-section{background:#e9e8dc;position:relative;overflow:hidden}.booking-decor{position:absolute;left:-130px;bottom:-205px;font-size:460px;line-height:1;color:rgba(184,187,170,.24);pointer-events:none}.booking-layout{display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:70px;align-items:start;position:relative}.booking-intro{padding-top:28px}.booking-intro h2{margin-bottom:25px}.booking-intro>p:not(.section-eyebrow){font-size:14px;color:#71756a;line-height:1.95;max-width:390px}.booking-promise{display:flex;gap:15px;padding:23px 0;margin-top:20px;border-top:1px solid #cfcdc1;max-width:390px}.booking-promise>span{font-size:23px;color:var(--rose)}.booking-promise strong{display:block;font-size:12px;margin:3px 0 8px}.booking-promise small{display:block;color:#777b70;line-height:1.65;font-size:11px}.appointment-art{width:235px;height:235px;border:1px solid rgba(89,94,78,.32);border-radius:50%;margin:23px 0 0 40px;padding:12px;animation:floaty 9s ease-in-out infinite}.appointment-art-inner{border-radius:50%;border:1px dashed #89907a;width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;font:500 30px/1.25 var(--serif);text-align:center;color:#656c57}.appointment-art-inner i{font-weight:400;color:var(--rose)}.appointment-art-inner span{font-size:30px;margin-top:10px}.booking-card{background:var(--paper);padding:40px 42px 44px;box-shadow:0 20px 65px rgba(60,67,49,.08);border:1px solid rgba(109,111,89,.1)}.form-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.small-label{font-weight:800;letter-spacing:.18em;font-size:9px;color:var(--rose)}.form-heading h3{font:500 31px/1.2 var(--serif);margin:10px 0 0}.booking-mark{color:#eac8bc;font-size:46px}.steps{display:flex;gap:8px;align-items:center;padding:0 0 25px;margin-bottom:30px;border-bottom:1px solid #ece8e0}.step{display:flex;gap:7px;align-items:center;font-size:11px;color:#a4a49c;white-space:nowrap}.step b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:1px solid #dedbd3;font-size:9px;font-weight:800;color:#8f9087}.step.active,.step.complete{color:var(--deep);font-weight:800}.step.active b,.step.complete b{background:var(--deep);color:#fff;border-color:var(--deep)}.step-connector{height:1px;min-width:10px;background:#dbd9d2;flex:1}.form-panel{display:none}.form-panel.active{display:block;animation:fade-up .25s}.field-label{display:block;font-size:11px;font-weight:800;margin:18px 0 10px;color:#484c41}.field-label span:not(.optional){color:var(--rose)}.optional{font-size:10px;color:#acaaa0;font-weight:500;margin-left:6px}.booking-card input,.booking-card select,.booking-card textarea,.modal textarea{width:100%;background:#faf9f5;border:1px solid #deddd5;border-radius:2px;min-height:50px;padding:13px 14px;color:var(--deep);font-size:12px;outline:0;transition:border-color .2s,box-shadow .2s}.booking-card textarea,.modal textarea{resize:vertical;min-height:95px}.booking-card input:focus,.booking-card select:focus,.booking-card textarea:focus,.modal textarea:focus{border-color:#ad8c80;box-shadow:0 0 0 3px rgba(188,145,132,.15)}.field-hint{font-size:10px;color:#888b80;line-height:1.6;margin:10px 0 20px}.form-error{font-size:11px;color:#a52f2f;min-height:12px;line-height:1.4}.button-full{width:100%;justify-content:space-between}.next-button{margin-top:12px;gap:35px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.time-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;min-height:72px}.time-slot{padding:11px 4px;border:1px solid #dcdad2;background:#faf9f5;font-size:11px;color:#555d50;border-radius:2px;transition:all .2s}.time-slot:hover{border-color:#a5a58e}.time-slot.selected{background:var(--deep);color:#fff;border-color:var(--deep)}.slot-placeholder{grid-column:1/-1;font-size:12px;color:#929388;padding:5px}.form-actions{display:flex;justify-content:space-between;gap:12px;align-items:center}.booking-summary{background:#f6f4ee;border:1px solid #e8e4db;padding:16px 18px;margin-bottom:20px}.booking-summary p{font-size:11px;margin:0 0 5px;color:#898b80}.booking-summary strong{font-size:13px}.privacy-message{background:#f6f4ed;padding:13px 14px;display:flex;gap:10px;color:#818278;font-size:10px;line-height:1.7;margin:20px 0 5px}.privacy-message>span:first-child{font-size:20px;color:var(--rose)}
.section-gallery{background:var(--paper)}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr .9fr;grid-template-rows:225px 225px;gap:17px}.gallery-tile{position:relative;border:0;padding:0;overflow:hidden;background:#e4d9cd;min-width:0;min-height:0;cursor:zoom-in}.gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .4s;filter:saturate(.8)}.gallery-tile:hover img,.gallery-tile:focus-visible img{transform:scale(1.055);filter:saturate(1)}.gallery-tile:after{position:absolute;inset:50% 0 0;content:'';pointer-events:none;background:linear-gradient(transparent,rgba(23,25,20,.48))}.gallery-tile span{display:flex;align-items:center;justify-content:space-between;position:absolute;bottom:20px;left:22px;right:22px;z-index:1;color:#fff;font-size:11px;font-weight:800;letter-spacing:.15em;text-align:left}.gallery-tile b{font-size:20px;font-weight:400}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:span 2}.gallery-footnote{font-size:10px;color:#92928a;margin:16px 0 0}.section-reviews{background:#efdfd5}.reviews-layout{display:grid;grid-template-columns:minmax(0,42fr) minmax(0,58fr);gap:60px;align-items:center}.reviews-intro>p:not(.section-eyebrow):not(.sample-caption){font-size:14px;color:#77706d;max-width:310px;line-height:1.9;margin:25px 0 10px}.sample-caption{font-size:10px;color:#8b827e;margin-bottom:23px}.reviews-controls{display:flex;gap:9px}.reviews-controls button{width:42px;height:42px;border:1px solid #c7a99d;background:transparent;color:#4b4f45;font-size:20px;transition:background .2s}.reviews-controls button:hover{background:#f7ece4}.review-display{background:#fffaf5;min-height:340px;padding:35px 50px 30px;position:relative;box-shadow:15px 15px 0 rgba(217,188,170,.4);display:flex;flex-direction:column}.big-quote{font:100px/.8 var(--serif);color:#e2b8a7}.review-quote{font:italic 500 clamp(22px,2.6vw,33px)/1.55 var(--serif);letter-spacing:-.02em;min-height:117px;margin:0 0 18px}.review-author{font-size:11px;font-weight:800;letter-spacing:.1em}.review-author small{display:block;font-size:10px;color:#96918a;letter-spacing:0;font-weight:400;margin-top:5px}.review-dots{display:flex;gap:8px;margin-top:auto;padding-top:25px}.review-dots button{width:7px;height:7px;border:0;border-radius:50%;background:#d8d0c9;padding:0}.review-dots button.active{background:#9b7569;width:22px;border-radius:10px}.section-faq{background:#f8f6f0}.faq-layout{display:grid;grid-template-columns:minmax(0,39fr) minmax(0,61fr);gap:85px}.faq-intro>p:not(.section-eyebrow){font-size:14px;color:#7e8077;line-height:1.8;margin:24px 0}.faq-list{border-top:1px solid #d9d7cf}.faq-list details{border-bottom:1px solid #d9d7cf}.faq-list summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:24px 0;font-size:14px;font-weight:700}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary span{width:25px;height:25px;display:grid;place-items:center;font-size:23px;color:var(--rose);font-weight:400;transition:transform .2s}.faq-list details[open] summary span{transform:rotate(45deg)}.faq-list details p{font-size:12px;color:#7c7f74;line-height:1.85;padding:0 35px 23px 0;margin:0}
.contact-section{background:var(--deep);color:#fff;padding:100px 0 58px;position:relative;overflow:hidden}.contact-section:before{content:'✳';position:absolute;font-size:480px;color:rgba(243,232,218,.035);top:-280px;right:-100px;line-height:1;pointer-events:none}.contact-heading{text-align:center;position:relative;z-index:1}.contact-heading .section-eyebrow{justify-content:center;color:#cfa195}.contact-heading h2{font-size:clamp(50px,6.2vw,90px);margin-bottom:20px}.contact-heading>p:not(.section-eyebrow){font-size:14px;color:#c9c9bb;margin-bottom:30px}.contact-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #66675b;margin-top:95px}.contact-cell{padding:40px 30px 8px;border-right:1px solid #66675b;min-height:210px}.contact-cell:first-child{padding-left:0}.contact-cell:last-child{border-right:0}.contact-cell>span{font-size:10px;color:#cfaba0;font-weight:700;letter-spacing:.15em}.contact-cell h3{font:500 26px/1.2 var(--serif);margin:24px 0 13px}.contact-cell p{font-size:12px;line-height:1.75;color:#c0c1b5;min-height:36px;margin-bottom:18px}.contact-anchor{border:0;background:transparent;color:#f0d1c5;border-bottom:1px solid #cfaba0;padding:0 0 6px;font-size:12px;font-weight:700}.contact-anchor:hover{color:#fff}.contact-anchor[aria-disabled=true]{color:#898b81;border-color:#898b81;cursor:not-allowed}.site-footer{background:#f4f0e8;padding:55px 0 25px}.footer-main{display:flex;justify-content:space-between;gap:40px;padding-bottom:55px}.footer-brand{width:max-content}.footer-main>div:first-child>p{font-size:13px;line-height:1.9;color:#7f8077;margin:25px 0 0}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:90px;margin-right:90px}.footer-links>div{display:flex;flex-direction:column;align-items:flex-start;gap:13px}.footer-links strong{font-size:10px;letter-spacing:.17em;margin-bottom:9px}.footer-links a,.footer-links button{font-size:12px;color:#74776d;cursor:pointer;background:transparent;border:0;padding:0}.footer-links a:hover,.footer-links button:hover{color:var(--rose)}.footer-bottom{border-top:1px solid #d7d5cc;padding-top:23px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#8c8b83;font-size:10px}.footer-demo{color:#a39789}.floating-whatsapp{position:fixed;bottom:24px;right:25px;border:0;border-radius:40px;color:#fff;background:#286c4c;z-index:48;box-shadow:0 10px 25px rgba(26,75,45,.3);display:flex;align-items:center;gap:8px;padding:13px 16px;transition:transform .3s,box-shadow .3s}.floating-whatsapp:hover{transform:translateY(-4px);box-shadow:0 13px 30px rgba(26,75,45,.4)}.floating-whatsapp svg{width:24px;height:24px}.floating-whatsapp span{font-size:12px;font-weight:800}.back-to-top{position:fixed;bottom:28px;left:23px;border:1px solid #d3c4b9;background:var(--paper);color:var(--deep);border-radius:50%;width:45px;height:45px;opacity:0;pointer-events:none;transform:translateY(20px);transition:opacity .2s,transform .2s;z-index:47}.back-to-top.visible{opacity:1;pointer-events:auto;transform:translateY(0)}
.modal[hidden],.lightbox[hidden]{display:none!important}.modal,.lightbox{position:fixed;z-index:1000;inset:0;display:flex;align-items:center;justify-content:center;padding:20px}.modal-backdrop,.lightbox-overlay{position:absolute;inset:0;background:rgba(25,24,22,.68);backdrop-filter:blur(5px)}.modal-panel{position:relative;background:var(--paper);padding:38px 43px;max-width:560px;width:100%;max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 30px 100px #1e1e1e38;animation:modal-in .25s both}.modal-close,.lightbox-close{position:absolute;border:0;background:transparent;color:#555;font-size:31px;right:16px;top:8px;width:35px;height:40px}.modal-emblem{font-size:40px;color:var(--rose);margin-bottom:10px}.modal h2{font-size:44px;margin-bottom:15px}.modal-panel>p:not(.section-eyebrow):not(.modal-disclaimer):not(.copy-status){font-size:13px;color:#72756a;line-height:1.75}.request-details{background:#f3f0e9;padding:17px 20px;margin:20px 0;border-left:2px solid var(--rose)}.request-details div{display:flex;justify-content:space-between;gap:18px;font-size:12px;padding:9px 0;border-bottom:1px solid #e1ddd4}.request-details div:last-child{border:0}.request-details span{color:#797c71}.request-details strong{font-weight:700;text-align:right;overflow-wrap:anywhere}.modal-disclaimer{font-size:10px;color:#88897e;line-height:1.7;margin:14px 0 20px}.modal-actions{display:flex;gap:10px;flex-wrap:wrap}.modal-actions .button{gap:10px;flex:1;min-width:170px}.copy-status{font-size:11px;color:#276b47;min-height:12px;margin:12px 0 0}.modal-contact h2{font-size:48px}.whatsapp-emblem{color:#4b9470}.modal-contact .field-label{margin-top:20px}.modal-contact textarea{font-size:12px;line-height:1.8}.lightbox{z-index:1200}.lightbox-overlay{background:rgba(16,16,14,.92)}.lightbox figure{position:relative;margin:0;max-width:min(940px,80vw);max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:10px}.lightbox figure img{max-height:80vh;max-width:100%;object-fit:contain;background:#ded5c9}.lightbox figcaption{color:#ddd;font-size:12px}.lightbox-close{z-index:1;right:25px;top:15px;color:#fff}.lightbox-prev,.lightbox-next{z-index:1;position:absolute;top:50%;border:1px solid #fff8;width:44px;height:44px;border-radius:50%;font-size:25px;background:#fff2;color:white;transform:translateY(-50%)}.lightbox-prev{left:3%}.lightbox-next{right:3%}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,30px);opacity:0;pointer-events:none;z-index:3000;background:var(--deep);color:#fff;border-radius:3px;box-shadow:0 12px 35px #0003;padding:14px 24px;font-size:12px;transition:all .25s;min-width:160px;text-align:center}.toast.show{transform:translate(-50%,0);opacity:1}
[data-reveal]{opacity:0;transform:translateY(25px);transition:opacity .75s ease,transform .75s ease}[data-reveal].revealed{opacity:1;transform:translateY(0)}@keyframes fade-up{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes slow-spin{to{transform:rotate(360deg)}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes modal-in{from{opacity:0;transform:translateY(15px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (max-width:1150px){.container{width:min(calc(100% - 55px),var(--max))}.primary-nav{gap:17px}.nav-link{font-size:11px}.button-header{padding:11px 13px;gap:12px;font-size:11px}.header-actions{gap:9px}.hero h1{font-size:clamp(58px,6.7vw,85px)}.hero-frame{width:84%}.booking-layout{gap:35px}.footer-links{margin-right:30px}}
@media (max-width:920px){.header-inner{height:74px}.menu-toggle{display:flex}.primary-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#f7f3ec;box-shadow:0 15px 25px #2222;padding:18px 28px 30px;flex-direction:column;align-items:stretch;gap:5px;max-height:calc(100vh - 74px);overflow:auto}.primary-nav.open{display:flex}.primary-nav a{font-size:14px;padding:12px 3px}.primary-nav a:after{display:none}.mobile-nav-cta{display:block!important;margin-top:10px;background:var(--deep);color:#fff;padding:15px!important;text-align:center}.header-actions .header-whatsapp{display:none}.hero-grid{grid-template-columns:53% 47%;min-height:580px}.hero-content{padding-left:0}.hero-visual{height:510px}.floating-note{left:-20px;min-width:190px;padding:16px}.floating-note strong{font-size:18px}.hero h1{font-size:clamp(49px,7.4vw,70px)}.hero-side-label{display:none}.section{padding:85px 0}.about-grid{gap:25px}.about-images{min-height:540px}.booking-layout{grid-template-columns:1fr;gap:30px}.booking-intro{display:grid;grid-template-columns:1fr 190px;column-gap:30px;align-items:center;padding-top:0}.booking-intro>.section-eyebrow,.booking-intro>h2,.booking-intro>p,.booking-promise{grid-column:1}.booking-intro h2{max-width:460px}.appointment-art{grid-column:2;grid-row:1/5;width:175px;height:175px;margin:0}.appointment-art-inner{font-size:23px}.booking-card{max-width:740px}.reviews-layout{gap:35px}.faq-layout{gap:35px}.footer-links{margin-right:0}}
@media(max-width:680px){.container{width:calc(100% - 36px)}.announcement{font-size:8px;padding:8px 12px}.announcement-right{display:none}.announcement-flower{margin:0 7px}.header-inner{height:68px}.brand{gap:8px}.brand-emblem{font-size:32px}.brand-words strong{font-size:22px}.brand-words small{font-size:7px}.button-header{display:none}.hero-grid{display:flex;flex-direction:column-reverse;gap:0;min-height:initial;padding:25px 0 45px}.hero-visual{width:100%;height:350px;margin-top:0}.hero-frame{height:100%;width:76%;margin-left:auto;margin-right:auto}.hero-content{width:100%;padding:37px 4px 0;text-align:left}.hero h1{font-size:clamp(54px,13.5vw,80px);line-height:1.08;margin:18px 0 20px}.hero-lead{font-size:14px}.hero-buttons{margin:25px 0 27px;gap:23px}.hero-bottom{display:none}.floating-note{left:0;bottom:24px;padding:12px 14px;min-width:175px}.floating-note strong{font-size:16px}.floating-note small{font-size:9px}.floating-note .note-icon{font-size:22px}.hero-trust{margin-top:8px}.marquee-bar{height:46px}.section{padding:67px 0}.section-topline{margin-bottom:32px}.section-head{display:block;margin-bottom:29px}.section-head>p{margin-top:19px}.section h2{font-size:clamp(40px,10.3vw,57px)}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.service-card{padding:18px 15px;min-height:245px}.service-card h3{font-size:22px;margin:15px 0 8px}.service-card p{font-size:11px}.service-card-bottom{display:block}.service-card-bottom button{margin-top:8px}.services-bottom{display:block}.services-bottom .text-link{margin-top:24px}.filter-pill{padding:9px 13px;font-size:10px}.feature-strip{padding:21px 0}.feature-inner{gap:12px}.feature-inner p{font-size:22px}.decorative-star{font-size:22px}.about-grid{display:flex;flex-direction:column;gap:35px}.about-images{width:100%;min-height:450px}.about-image-primary{left:0;width:72%;height:86%}.about-image-small{right:0;width:45%;height:53%;bottom:0}.about-round-stamp{width:90px;height:90px;font-size:35px;bottom:5%;left:5%}.about-round-stamp span{font-size:6px}.about-copy{max-width:none}.about-copy>.large-copy{font-size:22px}.appointment-section{padding:65px 0}.booking-intro{display:block}.appointment-art{display:none}.booking-intro h2{font-size:55px}.booking-promise{margin-top:10px}.booking-card{padding:25px 18px 30px}.form-heading h3{font-size:27px}.booking-mark{font-size:36px}.steps{gap:5px}.step{font-size:10px;gap:5px}.step b{width:24px;height:24px}.field-row{grid-template-columns:1fr;gap:0}.time-slots{grid-template-columns:repeat(3,1fr)}.form-actions .button{padding:14px 13px;min-height:48px;gap:10px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,180px);gap:9px}.gallery-tall{grid-row:span 2}.gallery-wide{grid-column:span 2}.gallery-tile span{font-size:9px;left:12px;right:12px;bottom:12px}.reviews-layout{display:block}.review-display{padding:29px 25px;margin-top:30px;min-height:315px;box-shadow:8px 8px 0 #d6b7a7}.review-quote{font-size:23px}.faq-layout{display:block}.faq-list{margin-top:30px}.faq-list summary{font-size:13px}.contact-section{padding:70px 0 35px}.contact-heading h2{font-size:54px}.contact-grid{grid-template-columns:1fr;margin-top:55px}.contact-cell,.contact-cell:first-child{border:0;border-bottom:1px solid #5f6156;padding:25px 0;min-height:unset}.contact-cell:last-child{border:0}.contact-cell h3{margin:15px 0 9px}.contact-cell p{margin-bottom:11px}.site-footer{padding:48px 0 24px}.footer-main{display:block;padding-bottom:35px}.footer-links{margin-top:35px;gap:30px}.footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}.floating-whatsapp{right:15px;bottom:17px;padding:12px}.floating-whatsapp span{display:none}.back-to-top{left:15px;bottom:18px;width:40px;height:40px}.modal-panel{padding:28px 22px}.modal h2{font-size:39px}.modal-actions{flex-direction:column}.modal-actions .button{min-width:0;flex:auto}.lightbox figure{max-width:calc(100vw - 90px)}.lightbox-prev{left:0}.lightbox-next{right:0}}
@media(max-width:390px){.hero h1{font-size:53px}.services-grid{grid-template-columns:1fr}.service-card{min-height:205px}.service-card-bottom{display:flex}.service-card-bottom button{margin-top:0}.service-filters{gap:6px}.filter-pill{padding:8px 11px}.form-heading h3{font-size:24px}.button-large{padding:15px 19px}.hero-visual{height:315px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}

.call-anchor{margin-left:18px;display:inline-block}


/* --- Professional V2 upgrades --- */
.service-card{padding:0;overflow:hidden;border:1px solid #e7dfd5;box-shadow:none;transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;background:#fbf8f2}
.service-card:hover{transform:translateY(-6px);box-shadow:0 20px 45px rgba(46,43,37,.08);border-color:#dccabb}
.service-card-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:#ece6de}
.service-card-media img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.02);transition:transform .8s ease, filter .45s ease}
.service-card:hover .service-card-media img{transform:scale(1.08)}
.service-card-media::after{content:'';position:absolute;inset:0;background:linear-gradient(to top, rgba(20,18,16,.45), rgba(20,18,16,.03) 48%);opacity:.78;transition:opacity .35s ease}
.service-card:hover .service-card-media::after{opacity:.92}
.service-card-top{position:absolute;left:18px;right:18px;top:16px;display:flex;justify-content:space-between;align-items:center;z-index:1}
.service-card-top .service-category,.service-card-top .service-icon{color:#fff;border-color:#ffffff66}
.service-card-top .service-category{background:rgba(255,255,255,.14);backdrop-filter:blur(10px)}
.service-quick-book{position:absolute;left:18px;bottom:16px;z-index:1;background:rgba(255,255,255,.92);border:0;padding:10px 14px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--deep);display:flex;gap:10px;align-items:center;transition:transform .3s ease, background .3s ease}
.service-quick-book:hover{transform:translateY(-2px);background:#fff}
.service-card-body{padding:22px 18px 20px}
.service-card h3{margin-top:0}
.service-card-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px}
.service-card-bottom button{display:inline-flex;align-items:center;gap:6px}
.services-grid{align-items:stretch}
.service-card button,.bridal-card .button,.bridal-mini-card a{cursor:pointer}
.bridal-showcase{background:linear-gradient(180deg,#fffaf7 0%,#f7f1ea 100%)}
.bridal-head{margin-bottom:34px}
.bridal-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:18px}
.bridal-card,.bridal-mini-card{background:#fff;border:1px solid #eadfd4;overflow:hidden}
.bridal-card-featured{display:grid;grid-template-columns:1fr 1fr;min-height:520px}
.bridal-card-image{position:relative;min-height:100%}
.bridal-card-image img,.bridal-mini-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.bridal-card:hover .bridal-card-image img,.bridal-mini-card:hover .bridal-mini-media img{transform:scale(1.05)}
.bridal-badge{position:absolute;left:18px;top:18px;background:rgba(255,255,255,.92);padding:9px 13px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--deep)}
.bridal-card-copy{padding:34px 30px;display:flex;flex-direction:column;justify-content:center}
.bridal-label{margin:0 0 10px;color:var(--rose);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.bridal-card-copy h3,.bridal-mini-copy h3{font-family:'Playfair Display',serif;font-weight:500;font-size:40px;line-height:1.05;margin:0 0 14px}
.bridal-card-copy>p:not(.bridal-label),.bridal-mini-copy p:not(.bridal-label){color:var(--muted);line-height:1.75}
.bridal-list{margin:18px 0 26px;padding:0;list-style:none;display:grid;gap:10px}
.bridal-list li{padding-left:22px;position:relative;color:#4c4f44}
.bridal-list li::before{content:'✦';position:absolute;left:0;top:0;color:var(--rose)}
.bridal-cta{width:max-content}
.bridal-mini-card{display:flex;flex-direction:column}
.bridal-mini-media{aspect-ratio:4/3;overflow:hidden}
.bridal-mini-copy{padding:24px 22px 26px}
.gallery-tile img,.about-images img,.hero-image{transition:transform .9s ease, filter .55s ease}
.gallery-tile:hover img{transform:scale(1.07)}
.gallery-tile{overflow:hidden}
.hero-frame:hover .hero-image,.about-images:hover img{transform:scale(1.04)}
.hero-frame{overflow:hidden}
.hero-frame::after{content:'';position:absolute;inset:0;background:linear-gradient(to top, rgba(20,18,16,.15), rgba(20,18,16,0));pointer-events:none}
.gallery-grid .gallery-tile,.about-image-primary,.about-image-small,.bridal-card,.bridal-mini-card,.service-card{will-change:transform}
.wa-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 20px}
.wa-benefits div{background:#f5efe8;border:1px solid #e6d8c8;padding:14px 14px 12px}
.wa-benefits strong{display:block;font-size:12px;margin-bottom:4px}
.wa-benefits small{color:#78796e;line-height:1.55;display:block}
.modal-actions .button{justify-content:center}
.request-details{margin-bottom:12px}
.request-details::before{content:'What happens next';display:block;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--rose);margin-bottom:8px}
.modal-panel{border:1px solid #eadfd4}
.modal-disclaimer strong{font-weight:800}
@media (max-width:920px){.bridal-grid{grid-template-columns:1fr 1fr}.bridal-card-featured{grid-column:1/-1}.wa-benefits{grid-template-columns:1fr}.service-card-body{padding:19px 16px 18px}}
@media (max-width:680px){.bridal-grid{grid-template-columns:1fr}.bridal-card-featured{grid-template-columns:1fr}.bridal-card-copy h3,.bridal-mini-copy h3{font-size:31px}.service-card-media{aspect-ratio:5/4}.service-card-bottom{flex-direction:column;align-items:flex-start}.service-card-bottom button{display:none}}
@media (max-width:390px){.service-card-media{aspect-ratio:4/3}}
