
:root{--paper:#fffaf8;--white:#fffefd;--blush:#f8e4e9;--pink:#edcbd7;--berry:#a72f59;--berry-dark:#85213f;--ink:#30262b;--muted:#71616a;--line:#e6d8de;--serif:'Cormorant Garamond',Georgia,serif;--sans:Manrope,Arial,sans-serif;--radius:22px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:106px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;display:block}figure,p,h1,h2,h3{margin:0}svg.icon{width:22px;height:22px;flex:0 0 22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--berry);outline-offset:5px}::selection{background:var(--pink)}.container{max-width:1200px;width:calc(100% - 96px);margin-inline:auto}.skip-link{position:fixed;left:16px;top:12px;z-index:20;transform:translateY(-200%);background:var(--berry);color:white;padding:12px 20px;border-radius:8px}.skip-link:focus{transform:translateY(0)}.site-header{background:rgba(255,250,248,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(14px)}.header-inner{height:90px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:14px;flex-shrink:0}.brand-mark{height:64px;width:64px;mix-blend-mode:multiply;filter:sepia(1) saturate(4) hue-rotate(284deg)}.brand strong{font-size:20px;letter-spacing:-.05em;display:block;line-height:1.4}.brand small{display:block;font-size:12px;color:var(--muted)}.desktop-nav{display:flex;gap:26px;font-size:14px}.desktop-nav a{padding:12px 0}.desktop-nav a:hover,.text-link:hover{color:var(--berry)}.header-instagram{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600}.hero{display:grid;grid-template-columns:1fr 1fr;column-gap:72px;padding-top:66px;padding-bottom:70px}.hero-intro{align-self:end}.eyebrow{font-size:12px;letter-spacing:.2em;color:var(--berry);font-weight:600;margin-bottom:22px}h1{font-family:var(--serif);font-weight:500;font-size:clamp(55px,5.5vw,78px);line-height:.99;letter-spacing:-.036em}h1 em{color:var(--berry);font-weight:500}.hero-description{color:var(--muted);font-size:16px;line-height:1.8;margin-top:24px}.hero-media{grid-column:2;grid-row:1 / span 2;align-self:center;background:var(--blush);padding:10px 10px 0;border-radius:160px 160px 18px 18px}.hero-media>img{width:100%;height:510px;object-fit:cover;border-radius:152px 152px 10px 10px;object-position:50% 46%}.hero-media figcaption{display:flex;justify-content:space-between;padding:14px 10px;font-size:12px;letter-spacing:.01em;color:var(--muted)}.hero-media figcaption span:last-child{font-family:var(--serif);font-size:19px;font-style:italic;color:var(--berry)}.hero-actions{padding-top:30px}.hero-price{font-size:16px;margin-bottom:15px}.hero-price strong{font-weight:700}.hero-price span{font-size:13px;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid transparent;border-radius:10px;min-height:56px;padding:14px 24px;font-size:14px;font-weight:600;line-height:1.45;transition:background .16s,color .16s,transform .16s;cursor:pointer;text-align:center}.primary{background:var(--berry);color:white;box-shadow:0 5px 16px #a72f5910}.primary:hover{background:var(--berry-dark)}.button:active{transform:translateY(1px)}.primary>img{background:white;border:3px solid white;border-radius:8px;box-sizing:content-box}.button-hint{font-size:12px;color:var(--muted);margin-top:9px}.hero-more{display:inline-flex;margin-top:23px;gap:15px}.text-link{font-size:14px;text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px;color:var(--berry)}.hero-address{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--muted);margin-top:27px}.hero-address .icon{color:var(--berry);width:18px}.mobile-dock{display:none}
@media(min-width:761px) and (max-width:1090px){.desktop-nav{gap:16px}.desktop-nav a:last-child{display:none}.hero{gap:38px}.hero-media>img{height:450px}.container{width:calc(100% - 56px)}}
@media(max-width:760px){html{scroll-padding-top:90px}.container{width:calc(100% - 36px)}.header-inner{height:75px;gap:10px}.brand{gap:8px}.brand-mark{width:47px;height:47px}.brand strong{font-size:19px}.brand small{font-size:11px}.desktop-nav{display:none}.header-instagram{padding:10px}.header-instagram span{display:none}.hero{display:flex;flex-direction:column;gap:0;padding-top:27px;padding-bottom:35px}.hero-intro{align-self:stretch}.eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:14px}h1{font-size:clamp(39px,11vw,54px);line-height:1.01;letter-spacing:-.035em}h1 br{display:none}h1 em{display:block}.hero-description{font-size:14px;line-height:1.65;margin-top:13px}.desktop-break{display:none}.hero-media{padding:0;margin-top:23px;border-radius:16px;background:transparent}.hero-media>img{height:auto;aspect-ratio:1.38;object-fit:cover;border-radius:16px;object-position:50% 48%}.hero-media figcaption{display:none}.hero-actions{padding-top:13px}.hero-price{font-size:14px;text-align:center;margin-bottom:13px}.hero-price span{font-size:12px}.hero-actions>.button{width:100%;font-size:14px;min-height:55px;padding:12px 14px}.button-hint{text-align:center;margin-top:7px}.hero-more{display:flex;justify-content:center;margin-top:18px}.hero-address{justify-content:center;line-height:1.5;font-size:12px;margin-top:23px}.mobile-dock{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:15;background:rgba(255,253,252,.97);border-top:1px solid var(--line);box-shadow:0 -4px 24px #41263806;padding:10px 18px calc(10px + env(safe-area-inset-bottom));gap:17px;align-items:center;backdrop-filter:blur(12px)}.mobile-dock>a:first-child{text-decoration:underline;text-underline-offset:4px;font-size:14px;padding:12px 3px}.mobile-dock .button{flex:1;min-height:48px;padding:9px 10px;font-size:13px;gap:8px}.mobile-dock .button img{width:22px;height:22px}body{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* The sections share the same type, spacing and colour system as the hero. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.service-card .previous-price{display:flex;align-items:center;gap:14px;margin-top:24px;font-size:14px}.previous-price s{text-decoration-thickness:1px}.saving{display:inline-block;background:var(--berry);color:white;font-size:11px;font-weight:600;padding:4px 9px;border-radius:6px}.previous-price+.service-price{margin-top:8px}
.section{padding-top:94px;padding-bottom:94px}h2{font:500 clamp(44px,4.9vw,66px)/1.04 var(--serif);letter-spacing:-.03em}h2 em{color:var(--berry);font-weight:500}h3{font:500 37px/1.08 var(--serif);letter-spacing:-.025em}.section-copy{color:var(--muted);font-size:15px;line-height:1.8;margin-top:22px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:42px}.section-heading>.section-copy{max-width:360px}.outline{border-color:var(--berry);color:var(--berry);background:transparent}.outline:hover{background:var(--berry);color:white}.trust-strip{display:flex;justify-content:space-evenly;gap:20px;align-items:center;padding:24px 25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:30px}.trust-strip>div{display:flex;gap:12px;align-items:center;font-size:13px}.trust-strip .icon{color:var(--berry);width:26px;height:26px;flex-basis:26px}.trust-divider{height:27px;border-right:1px solid var(--line)}.results{background:linear-gradient(160deg,#f9edf0,#fffaf8 78%);margin-top:10px}.results-layout{display:grid;grid-template-columns:.8fr 1.2fr;column-gap:72px;position:relative}.results-intro{align-self:end}.results-intro .eyebrow{font-size:11px}.section-index{display:block;margin-top:26px;font:400 84px/1 var(--serif);color:#d9b6c4}.comparison{grid-row:1 / span 2;grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:13px}.comparison-photo{padding:0;border:0;background:var(--blush);border-radius:18px;position:relative;overflow:hidden;aspect-ratio:.61}.comparison-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 42%;transition:transform .4s}.comparison-photo.after-photo>img{object-position:50% 38%}.photo-label{position:absolute;top:17px;left:16px;font-size:12px;line-height:1;background:#fff6f5f2;color:var(--ink);border-radius:6px;padding:10px 20px;font-weight:700;letter-spacing:.08em}.image-expand{position:absolute;bottom:12px;right:12px;width:33px;height:33px;border-radius:50%;display:grid;place-items:center;background:#fff9f5dc;color:var(--ink);transition:background .2s}.image-expand .icon{width:17px;height:17px}.comparison-caption{grid-column:1/-1;font-size:12px;color:var(--muted);text-align:center}.results-action{margin-top:24px;align-self:start}.results-action>p{font-size:13px;color:var(--muted);margin-top:16px}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 22px}.gallery button{display:block;position:relative;border:0;padding:0;overflow:hidden;border-radius:16px;width:100%;aspect-ratio:1;background:var(--blush)}.gallery button img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery button:hover img,.comparison-photo:hover img{transform:scale(1.03)}.gallery button:hover .image-expand{background:white}.gallery figcaption{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:13px}.gallery figcaption>span:last-child{font-size:11px;color:var(--muted)}.gallery-instagram{display:flex;justify-content:center;align-items:center;gap:15px;margin:39px auto 0;width:fit-content;padding:10px 17px;border-radius:12px}.gallery-instagram:hover{background:var(--blush)}.gallery-instagram strong{font-size:14px;font-weight:600}.gallery-instagram small{display:block;font-size:12px;color:var(--muted)}.gallery-instagram .icon{color:var(--berry)}.prices{background:#f6ebef;border-block:1px solid var(--line)}.featured-services{display:grid;grid-template-columns:1fr 1fr;gap:22px}.service-card{position:relative;border:1px solid #edcbd7;background:var(--white);border-radius:var(--radius);padding:32px 34px;overflow:hidden}.service-card:nth-child(2){background:#fce8ee}.service-number{display:block;font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--berry);margin-bottom:18px}.service-card h3{font-size:36px}.service-card>p{font-size:14px;color:var(--muted);margin-top:15px}.service-price{display:flex;gap:10px;align-items:baseline;margin-top:21px;line-height:1.2}.service-price strong{font:600 60px/1.1 var(--serif);letter-spacing:-.025em}.service-price span{font-size:19px}.service-price small{font-size:17px;color:var(--muted)}.service-card .service-note{font-size:12px;margin:8px 0 26px}.service-card .button{min-width:220px}.price-details{display:grid;grid-template-columns:1fr 1fr;gap:52px;margin-top:40px}.price-rows>div{display:flex;justify-content:space-between;gap:15px;padding:19px 0;border-bottom:1px solid #d9c8d0;font-size:15px}.price-rows>div:first-child{border-top:1px solid #d9c8d0}.price-rows strong{font-weight:600;white-space:nowrap}.price-extras details{border-bottom:1px solid #d9c8d0}.price-extras details:first-child{border-top:1px solid #d9c8d0}.price-extras summary{display:flex;justify-content:space-between;gap:15px;cursor:pointer;list-style:none;font-size:14px;font-weight:600;padding:19px 0}.price-extras summary::-webkit-details-marker{display:none}.price-extras summary span{color:var(--berry);font-weight:400;font-size:23px;line-height:1}.price-extras details[open] summary span{transform:rotate(45deg)}.detail-content{color:var(--muted);font-size:14px;line-height:1.8;padding:0 0 20px}.detail-content p+p{margin-top:13px}.price-question{font-size:13px;color:var(--muted);margin-top:25px}.price-question a{display:inline-block;margin-top:4px}.booking{display:grid;grid-template-columns:1fr 1fr;column-gap:90px}.location-card{display:grid;grid-template-columns:34px 1fr;column-gap:15px;padding:26px;border:1px solid var(--line);border-radius:18px;background:var(--white);margin-top:30px}.location-card>img{margin-top:3px}.location-card strong{font-size:17px}.location-card address{font-style:normal;font-size:15px}.location-card span{display:block;font-size:12px;color:var(--muted);margin-top:8px}.location-card .button{grid-column:1/-1;margin-top:21px;min-height:49px;font-size:13px;padding:11px}.location-trust{display:grid;grid-template-columns:23px 1fr;gap:13px 10px;margin-top:23px;align-items:center;font-size:13px;color:var(--muted)}.location-trust .icon{color:var(--berry)}.booking-panel{padding:35px 32px;background:var(--blush);border-radius:var(--radius);align-self:center}.booking-panel h3{font-size:39px;margin-bottom:27px}.booking-steps{list-style:none;padding:0;margin:0}.booking-steps li{display:flex;align-items:flex-start;gap:16px;margin-bottom:22px}.booking-steps li>span{flex:0 0 36px;display:grid;place-items:center;width:36px;height:36px;border:1px solid #dcaebe;border-radius:50%;font-size:12px;color:var(--berry)}.booking-steps strong{display:block;font-size:14px;font-weight:600}.booking-steps p{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.7}.message-example{background:#fffbfa;border-radius:14px;padding:18px;margin-top:28px}.message-example>p{font-family:var(--serif);font-size:22px;line-height:1.35;font-style:italic}.copy-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;background:transparent;color:var(--berry);font-size:12px;padding:12px 0;min-height:42px;text-align:left}.copy-button:hover{text-decoration:underline;text-underline-offset:4px}.copy-button .icon{width:17px;height:17px}.message-example .copy-button{padding-bottom:0}.booking-main{width:100%;margin-top:20px}.booking-profile{font-size:12px;text-align:center;color:var(--muted);margin-top:11px}.booking-profile a{text-decoration:underline;text-underline-offset:3px}.site-footer{border-top:1px solid var(--line);padding:28px 0;background:#f9f1f3}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:26px}.footer-brand{display:flex;align-items:center;gap:16px}.footer-brand img{mix-blend-mode:multiply;filter:sepia(1) saturate(4) hue-rotate(284deg)}.footer-brand span{font-family:var(--serif);font-size:20px;font-style:italic;max-width:170px;line-height:1.35}.footer-inner>p{font-size:12px;color:var(--muted);line-height:1.9}.footer-social{display:flex;align-items:center;gap:10px;font-size:14px}.footer-social .icon{width:16px;height:16px}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,16px);max-width:min(90vw,470px);background:var(--ink);color:white;padding:12px 20px;border-radius:10px;box-shadow:0 4px 24px #30262b22;z-index:100;font-size:13px;text-align:center;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{color:var(--ink);border:0;border-radius:22px;max-height:90dvh;margin:auto;padding:0;box-shadow:0 24px 100px #30262b30}dialog::backdrop{background:#21171fcc;backdrop-filter:blur(5px)}dialog[open]{display:block}.close-button{border:1px solid var(--line);position:absolute;right:14px;top:14px;width:42px;height:42px;border-radius:50%;background:var(--white);color:var(--ink);display:grid;place-items:center;z-index:2}.close-button:hover{background:var(--blush)}.photo-dialog{background:var(--paper);width:fit-content;max-width:min(92vw,1050px);overflow:hidden}.photo-dialog-inner>img{max-width:100%;max-height:calc(90dvh - 72px);width:auto;object-fit:contain;margin:auto}.photo-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:68px;padding:10px 18px}.photo-dialog-bottom p{font-size:13px;max-width:430px;text-align:center}.photo-dialog-bottom button{min-width:42px;height:42px;background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--berry);font-size:20px}.photo-dialog-bottom button:hover{background:var(--blush)}.booking-dialog{width:min(510px,calc(100vw - 30px));padding:40px 30px 28px;background:var(--paper)}.booking-dialog>.eyebrow{margin:0 30px 18px 0;font-size:10px}.booking-dialog h2{font-size:43px;margin-right:20px}.dialog-intro{font-size:14px;color:var(--muted);line-height:1.75;margin-top:16px}.booking-dialog textarea{display:block;width:100%;border:1px solid var(--line);background:white;color:var(--ink);padding:16px;font:14px/1.6 var(--sans);resize:vertical;min-height:118px;border-radius:10px;margin-top:22px}.booking-dialog>.button{width:100%;margin-top:10px}.dialog-hint{font-size:12px;color:var(--muted);text-align:center;line-height:1.7;margin-top:12px}.modal-open{overflow:hidden}
@media(max-width:1090px) and (min-width:761px){.booking{gap:38px}.results-layout{gap:34px}.service-card{padding:28px}.booking-panel{padding:30px 24px}.footer-brand span{display:none}}
@media(max-width:760px){.section{padding-block:54px}h2{font-size:43px;line-height:1.04}h3{font-size:33px}.section-copy{font-size:14px;line-height:1.8;margin-top:15px}.section-heading{display:block;margin-bottom:26px}.section-heading>.section-copy{margin-top:14px}.trust-strip{justify-content:center;gap:18px;padding:19px 0;margin-bottom:0}.trust-strip>div{font-size:11px;gap:8px;max-width:160px;line-height:1.6}.trust-strip .icon{width:24px;height:24px;flex-basis:24px}.trust-strip>div:last-child,.trust-strip>.trust-divider:last-of-type{display:none}.results{margin-top:18px}.results-layout{display:flex;flex-direction:column;gap:0}.results-intro{align-self:stretch}.results-intro .eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:14px}.section-index{display:none}.comparison{margin-top:25px;gap:10px}.comparison-photo{aspect-ratio:.60;border-radius:12px}.photo-label{top:12px;left:12px;font-size:11px;letter-spacing:.04em;padding:8px 16px}.comparison-caption{font-size:12px}.results-action{align-self:stretch;margin-top:20px}.results-action .button{width:100%;min-height:50px}.results-action>p{font-size:12px;text-align:center;margin-top:12px}.results-action>p br{display:none}.gallery{grid-template-columns:1fr 1fr;gap:23px 12px}.gallery button{border-radius:12px}.gallery figcaption{font-size:12px;margin-top:9px}.gallery figcaption>span:last-child{display:none}.image-expand{width:28px;height:28px;right:9px;bottom:9px}.image-expand .icon{width:15px;height:15px}.gallery-instagram{margin-top:27px;gap:11px;padding:9px}.gallery-instagram strong{font-size:13px}.gallery-instagram small{font-size:12px}.featured-services{grid-template-columns:1fr;gap:16px}.service-card{padding:26px;border-radius:18px}.service-card h3{font-size:33px}.service-card>p{font-size:14px}.service-number{font-size:10px;margin-bottom:14px}.service-price{margin-top:17px}.service-price strong{font-size:58px}.service-card .button{width:100%;min-height:50px}.service-card .service-note{margin-bottom:20px}.price-details{display:block;margin-top:25px}.price-rows>div{font-size:14px;padding:17px 0}.price-extras{margin-top:26px}.price-extras summary{font-size:13px;padding:17px 0}.price-question{text-align:center}.booking{display:flex;flex-direction:column;gap:32px}.location-card{margin-top:23px;padding:22px;border-radius:16px;gap:13px}.location-card strong{font-size:17px}.location-card address{font-size:14px}.location-card .button{margin-top:8px;gap:9px}.location-trust{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;font-size:11px;line-height:1.5;margin-top:20px}.location-trust .icon{width:19px;height:19px;flex-basis:19px}.location-trust span{max-width:110px}.booking-panel{width:100%;padding:28px 22px;border-radius:18px}.booking-panel h3{font-size:35px;margin-bottom:26px}.booking-steps li{gap:13px;margin-bottom:20px}.booking-steps strong{font-size:14px}.booking-steps p{font-size:12px}.message-example{padding:16px}.message-example>p{font-size:22px}.booking-main{font-size:14px;padding:12px;gap:9px}.footer-inner{flex-direction:column;gap:18px;text-align:center}.footer-brand{flex-direction:column;gap:5px}.footer-brand img{width:90px;height:90px}.footer-brand span{display:block;max-width:none;font-size:21px}.footer-inner>p{font-size:12px}.site-footer{padding:25px 0 30px}.toast{bottom:calc(88px + env(safe-area-inset-bottom));font-size:12px}.booking-dialog{padding:36px 23px 23px}.booking-dialog h2{font-size:39px}.photo-dialog-bottom{padding:9px 12px;gap:8px}.photo-dialog-bottom p{font-size:12px;line-height:1.5}.photo-dialog-bottom button{min-width:38px;height:38px}.photo-dialog-inner>img{max-height:calc(88dvh - 70px)}.photo-dialog{max-height:88dvh}.booking-dialog .button{font-size:14px}}
@media(max-width:359px){.container{width:calc(100% - 28px)}.brand small{font-size:10px}.brand-mark{width:42px;height:42px}.header-inner{gap:4px}.hero-actions>.button{font-size:13px;gap:8px}.hero-address{font-size:11px}.mobile-dock{padding-inline:14px;gap:12px}.mobile-dock .button{font-size:12px;gap:6px}.location-trust{font-size:10px}.service-card{padding:22px}.service-card h3{font-size:30px}}

/* Keep useful copy comfortable to read on a phone, including in dialogs. */
.hero-description,.section-copy,.service-card>p:not(.service-note):not(.previous-price){font-size:16px}.eyebrow,.results-intro .eyebrow,.booking-dialog>.eyebrow,.service-number{font-size:12px;letter-spacing:.11em}.booking-steps strong{font-size:16px}.booking-steps p,.copy-button,.dialog-intro,.dialog-hint,.price-extras summary,.gallery figcaption,.hero-address{font-size:14px}.dialog-status{font-size:13px;line-height:1.6;color:var(--berry);margin:3px 0 10px}.brand small,.trust-strip>div,.location-trust,.saving{font-size:12px}.gallery figcaption>span:last-child{font-size:12px}.button-hint{font-size:12px}.dialog-copy{min-height:46px}.price-rows>div{font-size:16px}.hero-price{font-size:16px}.button{font-size:15px}.mobile-dock .button{font-size:14px}.hero-actions>.button{font-size:15px}.booking-dialog textarea{font-size:16px}.hero-price span{font-size:12px}
@media(max-width:760px){.header-inner{height:75px}.hero-description{line-height:1.65}.hero-address{font-size:12px}.trust-strip>div{font-size:12px}.service-number{font-size:12px}.location-trust{font-size:12px}.gallery figcaption{font-size:14px}.hero-intro .eyebrow{font-size:11px;letter-spacing:.07em}.service-card .service-note,.booking-profile{font-size:13px}.photo-dialog-bottom p{font-size:13px}.gallery-instagram strong,.price-extras summary{font-size:14px}}
@media(max-width:359px){.brand small{font-size:11px}.hero-actions>.button,.mobile-dock .button{font-size:13px}.hero-price{font-size:14px}.hero-address{font-size:12px}.location-trust{display:grid;grid-template-columns:20px 1fr;justify-content:start}.location-trust span{max-width:none}}

/* Round brand seal, clearer mobile navigation and browsable original work. */
[hidden]{display:none!important}
.brand-mark,.footer-brand img{border-radius:50%;filter:none;mix-blend-mode:multiply;object-fit:cover}
.footer-brand img{width:78px;height:78px}
.brand small{font-size:12px}
.hero-shortcuts{display:flex;gap:22px;margin-top:17px;flex-wrap:wrap}
.hero-shortcuts a{display:inline-flex;align-items:center;min-height:44px;color:var(--berry);font-size:14px;text-decoration:underline;text-underline-offset:5px}
.hero-address{margin-top:15px}
.comparison-guide{font-size:14px;color:var(--muted);line-height:1.8;max-width:340px;margin-top:24px}
.comparison-viewer{grid-column:2;grid-row:1/span 2;min-width:0;align-self:start}
.comparison-modes{display:flex;padding:5px;background:#f3e1e8;border-radius:100px;gap:4px;width:min(100%,360px);margin:0 auto 18px}
.comparison-modes button{flex:1;min-height:44px;border:0;border-radius:100px;background:transparent;color:var(--muted);font-size:14px;font-weight:600;padding:8px 14px}
.comparison-modes button[aria-pressed=true]{background:var(--berry);color:white;box-shadow:0 3px 10px #a72f591a}
.comparison{grid-row:auto;grid-column:auto;margin-top:0;align-items:start}
.comparison-photo{aspect-ratio:619/1100}
.comparison-photo>img,.comparison-photo.after-photo>img{object-fit:contain;object-position:center}
.comparison[data-view=before],.comparison[data-view=after]{grid-template-columns:1fr}
.comparison:not([data-view=together]) .comparison-photo{width:100%;height:500px;aspect-ratio:auto;background:#efdee4}
.comparison-caption{font-size:13px}
.gallery figure{min-width:0}
.gallery button{aspect-ratio:4/5}
.gallery-more-wrap{text-align:center;margin-top:28px}
.gallery-progress{font-size:13px;color:var(--muted);margin-bottom:12px}
.gallery-more-wrap .button{min-width:240px}
.gallery-instagram{margin-top:23px}
.photo-dialog{width:min(740px,94vw);max-width:94vw;max-height:94dvh;overflow-y:auto}
.photo-stage{height:min(58dvh,580px);background:#efe7ea;touch-action:pan-y pinch-zoom;user-select:none}
.photo-stage>img{display:block;width:100%;height:100%;object-fit:contain}
.photo-dialog-bottom{min-height:78px;padding:12px 22px;gap:16px}
.photo-description{min-width:0;text-align:center}
.photo-description p{font-size:14px;line-height:1.5}
#photo-counter{display:block;font-size:12px;color:var(--muted);margin-top:3px;font-variant-numeric:tabular-nums}
.photo-dialog-bottom button{flex:0 0 46px;height:46px}
.photo-dialog-actions{padding:0 22px 22px;text-align:center}
.photo-dialog-actions>p{font-size:12px;color:var(--muted);margin-bottom:10px}
.photo-dialog-actions .button{width:100%;min-height:50px}
@media(max-width:760px){
  .hero-shortcuts{justify-content:center;gap:30px;margin-top:10px}
  .hero-shortcuts a{font-size:14px}
  .hero-media{margin-top:19px}
  .hero-media>img{aspect-ratio:1.55}
  .hero-address{margin-top:12px}
  .comparison-guide{margin-top:15px;max-width:none;font-size:14px}
  .comparison-viewer{margin-top:21px;width:100%}
  .comparison-modes{margin-bottom:14px}
  .comparison:not([data-view=together]) .comparison-photo{height:min(120vw,500px)}
  .comparison-photo{border-radius:14px}
  .gallery{gap:24px 13px}
  .gallery figcaption{font-size:13px;align-items:flex-start;line-height:1.6}
  .gallery figcaption>span:last-child{display:block;font-size:11px;padding-left:5px}
  .gallery-more-wrap{margin-top:25px}
  .gallery-more-wrap .button{width:100%}
  .photo-stage{height:min(56dvh,520px)}
  .photo-dialog-bottom{padding:10px 14px;gap:10px;min-height:78px}
  .photo-description p{font-size:13px}
  .photo-dialog-bottom button{flex-basis:44px;height:44px}
  .photo-dialog-actions{padding:0 15px 17px}
  .photo-dialog-actions .button{font-size:14px;padding:12px}
  .photo-dialog .close-button{width:44px;height:44px;right:12px;top:12px}
  .footer-brand{gap:13px}
  .footer-brand img{width:80px;height:80px}
}
@media(max-height:550px){.photo-stage{height:48dvh}.photo-dialog-actions>p{display:none}.photo-dialog-bottom{min-height:62px;padding-block:5px}.photo-dialog-actions{padding-bottom:12px}.photo-dialog-actions .button{min-height:44px;padding-block:8px}}

/* Headings stay together; the photo frame retains its size while images change. */
.hero-intro,.booking-location{container-type:inline-size;min-width:0}
#hero-title{white-space:nowrap;font-size:clamp(24px,8.7cqi,52px);line-height:1.15;letter-spacing:-.035em}
#hero-title em{display:inline}
#booking-title{white-space:nowrap;font-size:clamp(25px,9.3cqi,52px);line-height:1.15;letter-spacing:-.035em}
.hero-slide-frame{height:510px;position:relative;border-radius:152px 152px 10px 10px;overflow:hidden;touch-action:pan-y pinch-zoom;background:var(--blush)}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:0;pointer-events:none;user-select:none;transition:opacity 200ms cubic-bezier(.23,1,.32,1)}
.hero-slide.is-current{opacity:1}
.hero-media .hero-carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 3px;color:var(--berry)}
.hero-carousel-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;border:1px solid #d7afbe;background:var(--paper);color:var(--berry);border-radius:50%;padding:8px;font-size:20px}
.hero-carousel-controls #hero-pause{font-size:13px;min-width:96px;border-radius:99px;padding-inline:12px}
#hero-counter{font:500 14px/1.5 var(--sans);font-variant-numeric:tabular-nums;min-width:50px;text-align:center}
.pair-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px}
.pair-navigation button{min-height:48px;min-width:112px;border:1px solid var(--berry);border-radius:10px;color:var(--berry);background:var(--paper);padding:11px 18px;font-size:14px;font-weight:600}
.pair-navigation button:disabled{opacity:.35;cursor:default;border-color:var(--muted);color:var(--muted)}
#pair-counter{font-size:14px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.comparison-photo{aspect-ratio:3/4}
.comparison-photo>img,.comparison-photo.after-photo>img{object-fit:cover;object-position:center}
@media(hover:hover) and (pointer:fine){.hero-carousel-controls button:hover,.pair-navigation button:not(:disabled):hover{background:var(--berry);color:white}}
@media(min-width:761px) and (max-width:1090px){.hero-slide-frame{height:450px}}
@media(max-width:760px){.hero-slide-frame{height:auto;aspect-ratio:1.35;border-radius:16px}.hero-media .hero-carousel-controls{padding:9px 0 0}.hero-media{width:100%}.pair-navigation{gap:9px;margin-top:14px}.pair-navigation button{min-width:103px;padding:10px 14px}.comparison-photo{aspect-ratio:3/4}}
@media(max-width:359px){.pair-navigation button{min-width:96px;padding-inline:10px}.hero-carousel-controls #hero-pause{min-width:89px}.hero-carousel-controls{gap:5px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* Pagination remains over the image at all viewport sizes. */
.hero-media{position:relative;padding-bottom:10px}
.hero-dots{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;padding:0 9px;border-radius:24px;background:#30212c70;backdrop-filter:blur(8px);max-width:calc(100% - 24px)}
.hero-dots button{display:grid;place-items:center;flex:0 0 13px;width:13px;height:32px;padding:0;border:0;background:transparent;cursor:pointer}
.hero-dots button::after{content:'';width:5px;height:5px;background:#ffffff8c;border-radius:50%}
.hero-dots button[aria-current="true"]::after{width:8px;height:8px;background:white;box-shadow:0 0 0 2px #ffffff20}
.hero-dots button:focus-visible{outline:2px solid white;outline-offset:1px;border-radius:8px}
.photo-stage>video{width:100%;height:100%;object-fit:contain;background:#171217}
[hidden]{display:none!important}
@media(max-width:760px){.hero-media{padding-bottom:0}.hero-dots{bottom:12px}}

/* Public information and local search content. */
.legal-links{display:flex;flex-wrap:wrap;gap:8px 24px;padding:24px 0 8px;border-top:1px solid var(--line);margin-top:24px;font-size:13px}
.legal-links a{padding:8px 0;text-decoration:underline;text-underline-offset:4px}
.legal-page{padding-bottom:0}.legal-page .header-inner{justify-content:space-between}.legal-content{max-width:820px;padding-top:60px;padding-bottom:64px}
.legal-content h1{font-size:clamp(32px,5vw,52px);line-height:1.12;white-space:normal;overflow-wrap:anywhere;letter-spacing:-.025em}
.legal-content h2{font-size:clamp(24px,4vw,32px);line-height:1.2;margin:32px 0 14px;letter-spacing:-.02em}.legal-content p,.legal-content address{font-size:16px;line-height:1.8;margin:14px 0;font-style:normal}.legal-content a:not(.button),.local-faq a,.booking-privacy a{color:var(--berry);text-decoration:underline;text-underline-offset:3px}.legal-content .legal-lead{font-size:19px}.legal-content .legal-date{font-size:13px;color:var(--muted);margin:16px 0 28px}
.local-faq{max-width:900px}.local-faq>.section-copy{margin:20px 0 28px}.local-faq details{border-bottom:1px solid var(--line);padding:18px 0}.local-faq summary{font-size:16px;line-height:1.5;cursor:pointer;font-weight:600}.local-faq details p{font-size:15px;line-height:1.8;color:var(--muted);padding-top:14px}.booking-privacy{font-size:12px;line-height:1.6;margin-top:14px}
@media(max-width:760px){.legal-content{padding-top:32px;padding-bottom:40px}.legal-content h1{font-size:34px}.legal-page .brand small{font-size:10px}.legal-page .header-inner>.text-link{font-size:12px;white-space:nowrap}.legal-links{gap:4px 18px}.local-faq summary{font-size:15px}}

/* Stable vector controls and no accidental double-tap zoom. */
html{touch-action:manipulation;-webkit-text-size-adjust:100%;text-size-adjust:100%}
a,button,summary,input,textarea{touch-action:manipulation}
input,textarea,select{font-size:16px}
.image-expand{display:flex;align-items:center;justify-content:center;gap:5px;line-height:1;box-sizing:border-box;flex-wrap:nowrap}
.image-expand .icon{width:17px;height:17px;flex:0 0 17px;display:block}
.image-expand.is-video{width:auto;min-width:76px;height:33px;border-radius:18px;padding:0 10px;font-size:12px;font-weight:600;white-space:nowrap}
.pair-navigation button,.photo-dialog-bottom button{display:inline-flex;align-items:center;justify-content:center;gap:7px;white-space:nowrap}
.pair-navigation button .icon{width:17px;height:17px;flex-basis:17px}.text-link>.icon{display:inline-block;width:16px;height:16px;vertical-align:middle}.arrow-down{transform:rotate(90deg)}
@media(max-width:359px){.pair-navigation button{min-width:88px;padding-inline:8px}.image-expand{right:8px;bottom:8px}}
