:root{--pink:#cf4e7d;--deep:#8e294f;--rose:#e77c9d;--blush:#fce6ed;--shell:#fff6f9;--cream:#fffafc;--text:#34252c;--muted:#76636c;--line:#efd2de;--white:#fff;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--display:'Manrope',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--text);font-family:var(--sans);background:var(--cream);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}img{display:block;width:100%;height:100%;object-fit:cover}.container{max-width:1180px;margin:auto;padding:0 28px}.announcement{background:#9b365b;color:#fff;padding:10px 16px;text-align:center;font-size:12px;letter-spacing:.045em}.announcement span{color:#ffbdd1}.announcement a{font-weight:700;text-decoration:underline;text-underline-offset:3px;margin-left:14px}.site-header{background:#fffafce8;backdrop-filter:blur(15px);border-bottom:1px solid #f0e0e6;position:sticky;top:0;z-index:10}.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;height:82px}.brand{display:flex;align-items:center;white-space:nowrap;gap:10px}.brand-word{font-family:var(--serif);font-size:25px;font-style:italic;letter-spacing:-.055em}.brand-bow{color:var(--pink);font-size:40px;line-height:1}.site-nav{display:flex;align-items:center;gap:27px;font-size:12px;font-weight:700;color:#55434b}.site-nav>a:hover{color:var(--pink)}.site-nav .nav-cta{border:1px solid var(--pink);border-radius:5px;padding:13px 17px;color:var(--deep)}.site-nav .nav-cta span{margin-left:8px}.menu-toggle{display:none;background:none;border:0;font-size:28px;color:var(--deep)}.hero{background:linear-gradient(118deg,#fffafa 5%,#fdecf2 68%,#f9dce6 100%);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;gap:6%;min-height:635px;align-items:center}.hero-copy{padding:72px 0 65px;position:relative;z-index:1}.eyebrow,.kicker{font-family:var(--display);font-size:11px;font-weight:800;letter-spacing:.19em;color:var(--pink)}.little-star{font-size:16px;margin-right:6px}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(50px,5.5vw,76px);line-height:1.13;letter-spacing:-.048em;margin:25px 0 24px;max-width:650px}.hero h1 em,.section h2 em,.banner h2 em,.modal h2 em{font-weight:400;color:var(--pink)}.hero p{font-size:16px;line-height:1.85;color:var(--muted);max-width:515px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:32px 0 39px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:13px;border-radius:5px;padding:17px 22px;font-size:12px;letter-spacing:.01em;font-weight:800;border:1px solid transparent;transition:.18s ease}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--pink);color:#fff}.btn-primary:hover{background:var(--deep)}.btn-outline{border-color:#ce93a8;color:var(--deep);background:#fff8fb}.btn-light{background:#fff;color:var(--deep)}.btn-full{width:100%}.hero-footer{display:flex;flex-wrap:wrap;gap:19px;color:var(--muted);font-size:11px;font-weight:600}.hero-footer b{color:var(--pink);font-size:20px;font-weight:400;vertical-align:-2px;margin-right:4px}.hero-visual{height:635px;position:relative;padding:35px 0 0}.hero-visual>img{height:565px;max-width:450px;border-radius:220px 220px 12px 12px;position:relative;z-index:1;object-position:50% 24%;box-shadow:0 20px 55px #b86a8650}.hero-petal{position:absolute;width:570px;height:570px;background:#f3b3c9;border-radius:50%;bottom:-120px;right:-160px;opacity:.45}.hero-sticker{position:absolute;z-index:2;bottom:125px;right:-18px;background:#fffaf5;color:var(--deep);border:1px solid #f4b7cd;border-radius:50%;width:132px;height:132px;display:grid;align-content:center;justify-content:center;text-align:center;font-family:var(--display);font-size:10px;font-weight:800;line-height:1.6;letter-spacing:.09em;transform:rotate(10deg);box-shadow:0 10px 25px #9f537536}.hero-sticker span{color:#db7394;font-size:23px}.hero-caption{position:absolute;z-index:2;bottom:33px;left:30px;font-family:var(--serif);font-size:17px;font-style:italic;color:var(--deep);padding:16px 23px;background:#fff9f7eb;box-shadow:0 4px 25px #9d516426;border-radius:3px}.hero-caption span{color:var(--pink)}.intro-ribbon{background:#f7d6e2;border-block:1px solid #f0c7d7}.ribbon-grid{display:grid;grid-template-columns:1fr 1fr;padding-top:21px;padding-bottom:21px}.ribbon-grid>div{display:flex;gap:19px;align-items:center;justify-content:center}.ribbon-grid>div+div{border-left:1px solid #e4acc3}.ribbon-grid p{margin:0}.ribbon-grid strong,.ribbon-grid small{display:block}.ribbon-grid strong{font-size:13px}.ribbon-grid small{margin-top:6px;font-size:11px;color:var(--muted)}.ribbon-icon{font-size:29px;color:var(--pink);line-height:1}.section{padding:105px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:39px}.section-heading>div{max-width:650px}.section-heading>p{max-width:300px;font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 7px}.section h2,.banner h2,.modal h2{font:400 clamp(36px,4vw,52px)/1.23 var(--serif);letter-spacing:-.04em;margin:15px 0 0}.kicker span{font-size:15px;margin-left:3px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.service-card{position:relative;min-height:295px;border-radius:7px;background:#fff;border:1px solid #f4dce5;padding:29px 24px;display:flex;flex-direction:column;box-shadow:0 7px 35px #9e577414}.service-card:hover{background:#fff7fa;transform:translateY(-2px);transition:.2s}.service-icon{font-size:32px;color:var(--pink);line-height:1;margin-bottom:21px}.service-num{position:absolute;top:32px;right:22px;font-size:11px;letter-spacing:.08em;color:#d9a5b7}.service-card h3{font-family:var(--serif);font-size:22px;font-weight:500;margin:0 0 12px;line-height:1.3}.service-card p{font-size:12px;line-height:1.85;color:var(--muted);margin:0 0 22px}.service-card a{font-size:11px;font-weight:800;color:var(--pink);margin-top:auto}.about-section{background:#fdf0f4}.about-grid{display:grid;grid-template-columns:.9fr 1fr;gap:10%;align-items:center}.about-photo{height:540px;position:relative}.about-photo img{height:100%;border-radius:8px 200px 8px 8px;object-position:50% 21%}.floating-note{position:absolute;bottom:35px;right:-32px;padding:20px 27px;background:#fff;color:var(--deep);font:italic 18px var(--serif);box-shadow:0 12px 36px #bc758c45}.floating-note span{color:var(--pink)}.about-copy h2{max-width:430px}.about-copy>p{font-size:14px;line-height:1.95;color:var(--muted);max-width:500px}.about-copy>p:first-of-type{margin-top:25px}.about-note{display:flex;gap:15px;align-items:center;background:#fff;border-left:3px solid var(--pink);padding:19px 21px;margin:26px 0 29px;color:var(--deep);font-size:13px;line-height:1.7}.about-note span{font-size:30px;color:var(--pink)}.gallery-section{background:#fffafc}.gallery-grid{display:grid;grid-template-columns:1.15fr .92fr .92fr;gap:15px}.gallery-grid figure{position:relative;overflow:hidden;margin:0;height:365px;background:#f4c8d9;border-radius:6px}.gallery-grid img{transition:transform .4s ease;object-position:50% 25%}.gallery-grid figure:hover img{transform:scale(1.04)}.gallery-grid figcaption{position:absolute;bottom:15px;left:15px;background:#fff9f4f0;padding:12px 18px;font-family:var(--serif);font-size:17px;color:var(--deep)}.gallery-footer{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:27px;font-size:13px;color:var(--muted)}.text-link{color:var(--pink);font-weight:800}.prices-section{background:#f9e3eb}.pricing-grid{display:grid;grid-template-columns:1fr .83fr;gap:11%;align-items:center}.pricing-intro{max-width:475px}.pricing-intro>p{font-size:14px;line-height:1.9;color:var(--muted);margin-top:20px}.pricing-blurb{display:grid;gap:8px;margin-top:32px;border-top:1px solid #e8b8ca;padding-top:24px;font-size:13px}.pricing-blurb b{color:var(--deep)}.pricing-blurb span{color:var(--muted);font-size:12px;line-height:1.75}.price-card{padding:35px 38px;background:#fff;box-shadow:0 20px 45px #b779952c;border:1px solid #efcedb;border-radius:7px}.price-header{display:flex;justify-content:space-between;color:var(--deep);font-size:11px;font-weight:800;letter-spacing:.13em;margin-bottom:18px}.price-header span:last-child{font-size:24px;color:var(--pink)}.price-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid #f2e1e8;font-size:14px}.price-row small{display:block;margin-top:4px;color:#9c8791;font-size:10px}.price-row b{font:500 22px var(--serif);color:var(--deep)}.price-divider{height:12px}.price-row.secondary{font-size:12px;padding:11px 0}.price-row.secondary b{font-size:17px}.price-note{font-size:11px;line-height:1.75;color:var(--muted);margin:20px 0 18px}.banner{background:linear-gradient(100deg,#a03960,#ca507d 55%,#df7ea2);color:white;text-align:center}.banner-inner{padding-top:63px;padding-bottom:69px}.banner-inner>span{font-size:30px}.banner h2{margin:9px 0 10px}.banner p{font-size:14px;margin-bottom:25px}.booking-section{background:#fffafc}.booking-grid{display:grid;grid-template-columns:.78fr 1fr;gap:9%;align-items:start}.booking-intro>p{font-size:14px;line-height:1.85;color:var(--muted);margin:24px 0 35px}.steps{display:grid;gap:29px}.steps>div{display:flex;gap:18px}.steps>div>span{font:400 22px var(--serif);color:var(--pink);line-height:1}.steps p{margin:0}.steps strong,.steps small{display:block}.steps strong{font-size:13px}.steps small{font-size:12px;color:var(--muted);line-height:1.75;margin-top:7px}.booking-contact{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);display:grid;gap:7px;font-size:12px}.booking-contact span{color:var(--muted)}.booking-contact a{color:var(--pink);font-weight:800}.booking-form{background:#fff;border:1px solid #f2d6e1;padding:34px;box-shadow:0 18px 47px #ba779429;border-radius:8px}.form-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;font-family:var(--display);font-weight:800;letter-spacing:.13em;color:var(--deep);margin-bottom:25px}.form-label span{font-size:25px;color:var(--pink)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid label{display:flex;flex-direction:column;gap:9px;font-size:11px;font-weight:700;color:#4e3a44}.form-grid label>span{color:var(--pink)}.form-grid label>.optional{color:#ab8e9b;font-weight:400}.form-grid .full{grid-column:1 / -1}.form-grid input,.form-grid select,.form-grid textarea{width:100%;min-width:0;padding:13px 12px;border:1px solid #ebd8e0;border-radius:4px;background:#fffafb;color:var(--text);outline:none;font-size:12px}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{border-color:var(--pink);box-shadow:0 0 0 3px #d95d8b20}.form-grid textarea{resize:vertical}.booking-disclaimer{font-size:11px;color:var(--muted);line-height:1.7;padding:17px 0}.privacy-note{font-size:10px;line-height:1.5;color:#a18b95;text-align:center}.form-error{padding:10px;background:#fff0f0;color:#952d43;margin-top:10px;font-size:12px}.faq-section{background:#fdf0f4}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%}.faq-list details{border-bottom:1px solid #e6cad6;padding:19px 0}.faq-list summary{list-style:none;cursor:pointer;font-size:14px;font-weight:700;display:flex;justify-content:space-between;gap:18px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-size:22px;font-weight:400;color:var(--pink);line-height:.7}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:12px;line-height:1.85;color:var(--muted);padding-right:22px}footer{background:#442936;color:#f8dfe8}.footer-main{padding-top:60px;padding-bottom:50px;display:flex;justify-content:space-between;gap:30px}.footer-brand{font:italic 28px var(--serif);color:#fff}.footer-brand span{color:#f2a4bf}.footer-main p{font-size:12px;color:#d9b8c4}.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:23px;font-size:12px}.footer-links a:hover{color:#fff}.footer-bottom{padding-top:18px;padding-bottom:20px;border-top:1px solid #684655;display:flex;justify-content:space-between;gap:15px;font-size:10px;color:#d7adbf}.modal{max-width:620px;width:calc(100% - 26px);border:0;border-radius:10px;padding:0;box-shadow:0 30px 100px #45253785}.modal::backdrop{background:#3d243a9c}.modal-card{padding:40px;position:relative;background:#fffafc}.modal h2{font-size:37px;margin:10px 0}.modal-card>p{font-size:13px;line-height:1.8;color:var(--muted)}.modal-card textarea{width:100%;height:230px;resize:vertical;border:1px solid var(--line);border-radius:4px;padding:15px;color:var(--text);background:#fff;font-size:12px;line-height:1.6}.modal-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.modal-close{position:absolute;top:15px;right:20px;border:0;background:none;font-size:30px;color:var(--deep)}.modal-hint{font-size:11px!important}@media(max-width:960px){.site-nav{gap:13px}.hero-grid{gap:3%}.hero h1{font-size:58px}.service-grid{grid-template-columns:repeat(2,1fr)}.about-grid{gap:7%}.booking-grid{gap:5%}.pricing-grid{gap:6%}.hero-sticker{right:0}}@media(max-width:740px){.container{padding:0 20px}.nav-wrap{height:70px}.brand-word{font-size:22px}.menu-toggle{display:block}.site-nav{display:none;position:absolute;top:70px;left:0;right:0;background:#fffafd;border-top:1px solid var(--line);padding:24px;flex-direction:column;align-items:stretch;gap:19px;box-shadow:0 15px 20px #47283619}.site-nav.open{display:flex}.site-nav a{padding:4px}.site-nav .nav-cta{text-align:center}.hero-grid,.about-grid,.pricing-grid,.booking-grid,.faq-grid{grid-template-columns:1fr}.hero-grid{gap:0}.hero-copy{padding:56px 0 25px}.hero h1{font-size:clamp(43px,11vw,62px)}.hero-visual{height:470px;padding-top:0;max-width:480px;margin:auto;width:100%}.hero-visual>img{height:425px;max-width:none;width:90%;margin-left:5%}.hero-sticker{right:0;bottom:90px;width:112px;height:112px}.hero-caption{bottom:17px;left:0}.ribbon-grid{grid-template-columns:1fr;gap:17px}.ribbon-grid>div{justify-content:start}.ribbon-grid>div+div{border-left:0;border-top:1px solid #e4acc3;padding-top:17px}.section{padding:70px 0}.section-heading{display:block}.section-heading>p{max-width:550px;margin-top:16px}.about-photo{height:440px;max-width:460px;width:100%;margin-bottom:32px}.floating-note{right:0}.gallery-grid{grid-template-columns:1fr 1fr}.gallery-1{grid-column:1 / -1}.gallery-grid figure{height:280px}.gallery-1{height:330px!important}.pricing-grid{gap:30px}.pricing-intro{max-width:100%}.booking-grid{gap:35px}.faq-grid{gap:25px}.footer-main{flex-direction:column}.footer-links{gap:18px}}@media(max-width:440px){.announcement{font-size:10px}.announcement a{display:block;margin:4px auto 0}.hero-footer{gap:10px}.hero-footer span{font-size:10px}.hero-visual{height:400px}.hero-visual>img{height:362px}.hero-sticker{width:94px;height:94px;font-size:8px}.service-grid{grid-template-columns:1fr}.service-card{min-height:auto}.form-grid{grid-template-columns:1fr}.booking-form{padding:23px 18px}.gallery-grid figure{height:225px}.gallery-1{height:275px!important}.gallery-footer{flex-direction:column;gap:6px}.section h2{font-size:37px}.footer-bottom{flex-direction:column}.modal-card{padding:31px 19px}.modal-actions .btn{width:100%}}

.form-success{margin-top:14px;border:1px solid #b5d7bf;background:#eefaf0;color:#275336;border-radius:9px;padding:15px;line-height:1.5}.spam-trap{position:absolute;left:-9999px;height:1px;width:1px;overflow:hidden}.booking-form button:disabled{opacity:.65;cursor:wait}

.instagram-section{background:linear-gradient(120deg,#fce6ed,#fff6f9);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.instagram-layout{display:grid;grid-template-columns:1fr 1fr;gap:9%;align-items:center}.instagram-icon{width:20px;height:20px;flex:none}.instagram-copy .kicker{display:flex;align-items:center;gap:10px}.instagram-copy h2{margin:20px 0}.instagram-copy>p{font-size:15px;line-height:1.85;color:var(--muted);max-width:430px}.instagram-handle{display:block;color:var(--deep);font-size:20px;font-weight:700;margin:22px 0}.instagram-copy .instagram-note{font-size:12px;max-width:360px;margin-top:20px}.instagram-feed{min-width:0;padding:14px;background:#fffafc;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 45px #8e294f0c}.instagram-feed .instagram-media{background:#fff;border:0;border-radius:10px;margin:0!important;min-width:0!important;max-width:100%!important;width:100%!important;overflow:hidden}.instagram-media>a{min-height:380px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;gap:16px;padding:30px;color:var(--deep)}.instagram-placeholder-icon{width:48px;height:48px}.instagram-media>a strong{font-family:var(--serif);font-size:28px;font-weight:400}.instagram-media>a span{font-size:14px;color:var(--muted)}.instagram-media>a b{font-size:14px}.instagram-feed iframe{max-width:100%!important;min-width:0!important}@media(max-width:740px){.instagram-layout{grid-template-columns:1fr;gap:28px}.instagram-copy h2 br{display:none}.instagram-feed{max-width:540px;width:100%;margin:auto}}

.client-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.client-gallery figure{height:auto;aspect-ratio:4/5}.client-gallery img{object-position:50% 35%}.client-gallery figure:nth-child(1) img{object-position:50% 30%}.client-gallery figure:nth-child(4) img{object-position:64% 35%}.client-gallery figure:nth-child(5) img{object-position:65% 40%}.about-photo img{object-position:65% 38%}.hero-visual>img{object-position:50% 35%}@media(max-width:740px){.client-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.client-gallery figure{height:auto;aspect-ratio:4/5}.client-gallery figcaption{font-size:14px;left:10px;bottom:10px;padding:9px 12px}}@media(max-width:440px){.client-gallery figure{height:auto}.client-gallery figcaption{font-size:12px;padding:7px 9px}}

.hero-slider{height:565px;max-width:450px;width:100%;position:relative;z-index:1;overflow:hidden;border-radius:220px 220px 12px 12px;box-shadow:0 20px 55px #b86a8650;background:var(--blush)}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;pointer-events:none}.hero-slide.is-active{opacity:1;z-index:1}.hero-slide img{width:100%;height:100%;object-fit:cover}.slider-arrow,.slider-play,.slider-dots{position:absolute;z-index:3}.slider-arrow{top:55%;transform:translateY(-50%);border:1px solid #ffffff99;background:#fffafce8;color:var(--deep);width:35px;height:40px;border-radius:30px;font-size:29px;line-height:1}.slider-prev{left:12px}.slider-next{right:12px}.slider-play{right:16px;bottom:17px;border:1px solid #ffffff99;background:#fffafce8;color:var(--deep);border-radius:20px;padding:7px 12px;font-size:10px;font-weight:700}.slider-dots{left:50%;bottom:73px;transform:translateX(-50%);display:flex;gap:9px;padding:10px 13px;border-radius:25px;background:#34252c60}.slider-dots button{width:9px;height:9px;border:1px solid white;border-radius:50%;padding:0;background:transparent}.slider-dots button[aria-pressed="true"]{background:white}.hero-slider button:focus-visible{outline:3px solid var(--pink);outline-offset:3px}@media(max-width:740px){.hero-slider{height:425px;width:90%;max-width:none;margin-left:5%}}@media(max-width:440px){.hero-slider{height:362px}}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* Readability and original brand identity */
:root{--muted:#66525c}
.brand{flex-shrink:0}.brand-logo{width:285px;height:auto;max-height:94px;object-fit:contain}.nav-wrap{height:112px;gap:25px}.site-nav{font-size:14px;gap:20px}.site-nav .nav-cta{padding:14px 16px}
html{scroll-padding-top:125px}.announcement{font-size:14px;padding:12px 16px}
.hero-locations{display:flex;flex-wrap:wrap;gap:12px;font-family:var(--sans);font-size:16px;letter-spacing:.015em;color:var(--deep)}.location-pill{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid #e8bbcc;border-radius:24px;background:#fff8fb}.location-pill svg{width:22px;height:22px;flex-shrink:0}
.hero p{font-size:18px;line-height:1.8}.hero-copy{padding-top:54px;padding-bottom:48px}.hero-footer{font-size:15px;gap:15px 22px;line-height:1.7;color:var(--text)}.hero-footer span{font-size:15px}.hero-footer b{font-size:24px}
.btn{font-size:15px;padding:17px 21px}.kicker{font-size:13px;letter-spacing:.13em;color:var(--deep)}
.ribbon-grid{gap:18px}.ribbon-grid strong{font-size:16px}.ribbon-grid small{font-size:15px;line-height:1.65}.ribbon-grid>div{padding:0 15px}
.section-heading>p{font-size:16px;line-height:1.8;max-width:340px}.section-heading>div{max-width:620px}
.service-card{padding:28px 22px;min-width:0}.service-card h3{font-size:25px}.service-card p{font-size:16px;line-height:1.75}.service-num{font-size:13px}.service-card a{font-size:15px;line-height:1.5;display:flex;align-items:center;justify-content:center;background:var(--pink);border:1px solid var(--pink);color:white;border-radius:5px;padding:12px 13px;text-align:center;min-height:48px}.service-card a:hover{background:var(--deep);border-color:var(--deep)}.service-card a:focus-visible{outline:3px solid var(--deep);outline-offset:4px}
.about-copy>p,.pricing-intro>p,.booking-intro>p,.instagram-copy>p{font-size:17px;line-height:1.85}.about-note{font-size:16px}.gallery-footer{font-size:16px}
.pricing-blurb{font-size:18px}.pricing-blurb span{font-size:17px;line-height:1.8}.price-header{font-size:13px}.price-row{font-size:18px}.price-row small{font-size:14px;color:var(--muted)}.price-row b{font-size:26px}.price-row.secondary{font-size:16px}.price-row.secondary b{font-size:22px}.price-note{font-size:15px}
.steps strong{font-size:17px}.steps small{font-size:16px;line-height:1.75}.booking-contact{font-size:17px;gap:13px}.booking-contact a{font-size:18px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--pink);border-radius:5px;min-height:52px;padding:14px 17px;background:var(--shell);text-align:center;color:var(--deep)}.booking-contact a:hover{background:var(--blush)}
.form-label{font-size:14px;letter-spacing:.09em}.form-grid label{font-size:15px;line-height:1.4}.form-grid input,.form-grid select,.form-grid textarea{font-size:16px;min-height:48px}.form-grid label>.optional{color:var(--muted)}.booking-disclaimer{font-size:14px}.privacy-note{font-size:13px;color:var(--muted);line-height:1.7}.form-error,.form-success{font-size:15px}
.faq-list summary{font-size:18px;line-height:1.55}.faq-list p{font-size:16px;line-height:1.8}
.footer-main p,.footer-links{font-size:16px;line-height:1.7}.footer-bottom{font-size:14px;line-height:1.65}.footer-brand{display:inline-block;background:#fff6f9;border-radius:6px;padding:8px 13px}.footer-brand img{width:290px;max-width:100%;height:auto;object-fit:contain}.slider-play{font-size:13px;padding:8px 13px}.slider-arrow{width:42px;height:46px}.slider-dots button{width:12px;height:12px}
@media(max-width:1100px){.brand-logo{width:240px}.site-nav{gap:13px;font-size:13px}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-wrap{gap:16px}}
@media(max-width:900px){.menu-toggle{display:block}.nav-wrap{height:96px}.site-nav{display:none;position:absolute;top:96px;left:0;right:0;background:#fffafd;border-top:1px solid var(--line);padding:24px;flex-direction:column;align-items:stretch;gap:14px;box-shadow:0 15px 20px #47283619;font-size:16px}.site-nav.open{display:flex}.site-nav a{padding:8px}.site-nav .nav-cta{text-align:center}html{scroll-padding-top:110px}}
@media(max-width:740px){.brand-logo{width:245px;max-height:80px}.hero-locations{font-size:15px;gap:10px}.location-pill{padding:9px 12px}.hero p{font-size:17px}.hero-footer,.hero-footer span{font-size:15px}.ribbon-grid>div{padding-left:0;padding-right:0}.ribbon-grid strong{font-size:16px}.ribbon-grid small{font-size:15px}.hero-actions{gap:12px}.section-heading>p{max-width:none}.footer-brand img{width:265px}.hero h1{margin-top:25px}}
@media(max-width:440px){.brand-logo{width:225px}.announcement{font-size:12px}.hero-footer span{font-size:15px}.hero-footer{gap:10px 16px}.service-grid{grid-template-columns:1fr}.hero-actions .btn{font-size:14px}.hero-locations{font-size:14px}.location-pill svg{width:20px;height:20px}.form-label{font-size:13px}.gallery-footer{font-size:15px}.slider-arrow{width:38px;height:42px}}

.benefit-ribbon{grid-template-columns:repeat(3,minmax(0,1fr));padding-top:27px;padding-bottom:27px;gap:0}.benefit-ribbon>div{padding:4px 18px;gap:12px;justify-content:center}.benefit-ribbon strong{font-size:17px;line-height:1.5}.benefit-ribbon .ribbon-icon{font-size:30px;flex-shrink:0}.benefit-ribbon .ribbon-icon svg{width:27px;height:27px;display:block}.footer-bottom{justify-content:center;text-align:center}.about-copy>.btn{margin-top:12px}@media(max-width:740px){.benefit-ribbon{grid-template-columns:1fr;padding-top:15px;padding-bottom:15px;gap:0}.benefit-ribbon>div{padding:16px 4px;justify-content:center}.benefit-ribbon>div+div{border-left:0;border-top:1px solid #e4acc3;padding-top:16px}.benefit-ribbon strong{font-size:17px}.footer-bottom{align-items:center}}

/* Mobile spacing corrections */
@media(max-width:740px){
 .booking-contact{display:none}
 .benefit-ribbon{padding:0 20px;grid-template-columns:1fr;grid-auto-rows:minmax(88px,auto);gap:0}
 .benefit-ribbon>div,.benefit-ribbon>div+div{min-height:88px;margin:0;padding:20px 0;display:flex;align-items:center;justify-content:center;gap:12px;border-left:0}
 .benefit-ribbon>div+div{border-top:1px solid #e4acc3}
 .benefit-ribbon .ribbon-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1;font-size:30px}
 .benefit-ribbon .ribbon-icon svg{width:27px;height:27px}
 .benefit-ribbon strong{font-size:17px;line-height:1.5;text-align:center}
 footer .footer-main{padding:40px 20px 30px;display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center}
 .footer-main>div:first-child{width:100%;max-width:360px}
 .footer-brand{max-width:100%;padding:10px 14px}
 .footer-brand img{width:265px;max-width:100%;height:auto}
 .footer-main p{margin:18px 0 0;line-height:1.75}
 .footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;max-width:360px;gap:8px 18px;align-items:center;justify-items:center}
 .footer-links a{padding:8px 0;line-height:1.5}
 .footer-links a:last-child{grid-column:1 / -1}
 footer .footer-bottom{padding:20px 24px 24px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.7}
}

#mobileLocation[hidden]{display:none}

.form-grid label>.field-label{display:block;color:inherit;line-height:1.5}.field-label .required-marker{display:inline;color:var(--pink);white-space:nowrap}.field-label .optional{display:inline;color:var(--muted);font-weight:400}
