@font-face{font-family:HermaSerif;src:url('assets/cormorant-latin.woff2') format('woff2');font-weight:400 600;font-style:normal;font-display:swap}@font-face{font-family:HermaSerif;src:url('assets/cormorant-latin-ext.woff2') format('woff2');font-weight:400 600;font-style:normal;font-display:swap;unicode-range:U+0100-02FF,U+1E00-1EFF}@font-face{font-family:HermaSans;src:url('assets/manrope-latin.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap}@font-face{font-family:HermaSans;src:url('assets/manrope-latin-ext.woff2') format('woff2');font-weight:400 800;font-style:normal;font-display:swap;unicode-range:U+0100-02FF,U+1E00-1EFF}
:root{--ink:#352a31;--plum:#432738;--plum-dark:#321d2a;--accent:#996a87;--paper:#faf8f5;--muted:#766a71;--line:#ded7dc;--lilac:#ebe4ee;--serif:HermaSerif,Georgia,serif;--sans:HermaSans,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{cursor:default}button,a,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b881a1;outline-offset:5px}button{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:500}h1,h2{font-family:var(--serif);line-height:1.02;letter-spacing:-.04em}h2{font-size:clamp(2.65rem,4.6vw,4.6rem)}em{font-weight:400;color:var(--accent)}[hidden]{display:none!important}.skip{position:fixed;top:-80px;left:20px;background:white;padding:12px;z-index:200}.skip:focus{top:12px}.header{height:108px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;gap:26px;background:rgba(250,248,245,.97);position:sticky;top:0;z-index:50;border-bottom:1px solid #e9e2e7}.brand{display:flex;flex-direction:column;align-items:center;line-height:1}.brand>span{font-family:var(--serif);font-size:3.25rem;letter-spacing:-.075em}.brand-dot{color:var(--accent)}.brand small{font-size:.75rem;letter-spacing:.28em;margin:7px 0 0 8px;font-weight:650}.desktop-nav{display:flex;gap:34px;font-size:.875rem}.desktop-nav a{position:relative;padding:10px 0}.desktop-nav a::after{content:'';position:absolute;bottom:4px;left:0;width:0;height:1px;background:var(--plum);transition:width .2s}.desktop-nav a:hover::after{width:100%}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;background:var(--plum);color:white;min-height:58px;padding:16px 25px;border:1px solid var(--plum);border-radius:3px;font-size:.875rem;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:var(--plum-dark);transform:translateY(-2px)}.button span{font-size:1.4rem;font-weight:400;line-height:1}.button-small{min-height:46px;padding:12px 20px}.menu-toggle{display:none}.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:70px 8.4% 37px 9%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:.75rem;font-weight:650;letter-spacing:.17em;line-height:1.5;display:flex;align-items:center;gap:12px}.fine-line{display:inline-block;width:30px;height:1px;background:var(--accent)}h1{font-size:clamp(3.4rem,5.55vw,5.75rem);margin-top:32px}h1 em{display:inline-block;line-height:1.1;white-space:nowrap;font-size:.93em}.hero-description{font-size:.95rem;line-height:1.8;color:var(--muted);margin-top:25px}.hero-actions{display:flex;align-items:center;gap:26px;margin-top:33px;flex-wrap:wrap}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:18px;font-size:.875rem;font-weight:600;border:0;border-bottom:1px solid currentColor;padding:0 0 7px;background:none}.text-link:hover{color:var(--accent)}.text-link span{font-size:1.25rem}.hero-bottom{display:flex;gap:25px;align-items:center;margin-top:auto;padding-top:45px;width:100%}.hero-bottom>div:first-child{padding-right:25px;border-right:1px solid var(--line)}.hero-bottom strong{display:block;font-family:var(--serif);font-size:2rem;line-height:1.1}.hero-bottom span{font-size:.75rem;color:var(--muted)}.hero-note{font-size:.75rem;color:var(--muted);line-height:1.6}.hero-photo{position:relative;overflow:hidden;background:#c3b4be;min-height:650px}.hero-photo>img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:center 40%}.hero-photo::after{content:'';position:absolute;inset:65% 0 0;background:linear-gradient(transparent,rgba(31,15,24,.65));pointer-events:none}.hero-photo figcaption{position:absolute;bottom:40px;left:40px;right:35px;z-index:2;color:white;display:flex;flex-direction:column;gap:9px}.hero-photo figcaption span:first-child{font-size:.75rem;letter-spacing:.22em}.hero-photo figcaption span:last-child{font-family:var(--serif);font-size:2.1rem;line-height:1.15;letter-spacing:-.02em}.image-label{position:absolute;top:20px;right:20px;color:white;background:#43273866;padding:3px 8px;font-size:.75rem}.values-strip{background:var(--plum);color:#f3eaf0;padding:25px 5%;display:flex;align-items:center;justify-content:space-around;gap:20px;font-size:.875rem;letter-spacing:.03em}.values-strip span[aria-hidden]{color:#c8a8c0;font-size:1.25rem}.section{max-width:1400px;margin:0 auto;padding:100px 6%}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:44px}.section-heading .eyebrow{margin-bottom:25px}.section-heading>p{color:var(--muted);font-size:.875rem;padding-bottom:6px;line-height:1.85}.service{border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service summary{list-style:none;display:grid;grid-template-columns:64px 1fr 1fr 35px;align-items:center;gap:20px;cursor:pointer;padding:28px 8px}.service summary::-webkit-details-marker,.faq summary::-webkit-details-marker{display:none}.service-number{font-size:.875rem;color:var(--accent)}.service h3{font-family:var(--serif);font-size:2.4rem;letter-spacing:-.035em;line-height:1.1}.service-category{font-size:.75rem;letter-spacing:.12em;color:var(--muted)}.expand-icon{font-size:1.7rem;font-weight:400;text-align:center;transition:transform .2s}.service[open] .expand-icon{transform:rotate(45deg)}.service-body{margin:0 8px 30px 92px;display:grid;grid-template-columns:1.2fr .8fr;gap:22px 60px;max-width:900px}.service-body p{font-size:.875rem;color:var(--muted);max-width:510px}.service-body>div{display:flex;flex-wrap:wrap;align-content:center;gap:8px}.service-body>div span{padding:5px 12px;background:#f0ebee;font-size:.75rem;border-radius:20px}.service-body .text-link{width:fit-content;font-size:.875rem}.service[open]{background:linear-gradient(90deg,#f1ebef80,transparent)}.service-footnote{font-size:.75rem;color:var(--muted);margin-top:24px}.service-footnote a{text-decoration:underline;text-underline-offset:3px}.about{background:var(--plum);color:#f9f5f7;padding:85px 6%}.about-inner{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px;max-width:1232px;margin:auto}.about-side{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;border-right:1px solid #ffffff25;padding-right:50px}.about .eyebrow{color:#dfc2d4}.experience{display:flex;flex-direction:column;margin-top:30px}.experience strong{font-family:var(--serif);font-weight:400;font-size:12rem;line-height:.9;letter-spacing:-.08em}.experience span{font-size:.75rem;letter-spacing:.24em;margin-top:24px}.about-location{font-size:.75rem;letter-spacing:.2em;color:#d0b8c8;margin-top:50px}.about-copy h2{font-size:clamp(2.5rem,4vw,3.75rem)}.about em{color:#d3b0c9}.about-copy>p{color:#ddcfda;font-size:.9375rem;line-height:1.85;margin-top:24px;max-width:590px}.founder{display:flex;align-items:center;gap:17px;margin-top:35px}.monogram{width:52px;height:52px;display:grid;place-items:center;border:1px solid #ffffff40;border-radius:50%;font-family:var(--serif);font-size:1.45rem}.founder strong{display:block;font-weight:500}.founder div span{font-size:.75rem;color:#ccb9c7;display:block;margin-top:3px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0 35px}.team-member{padding:27px 0;border-top:1px solid var(--line);display:grid;grid-template-columns:46px 1fr;column-gap:16px;align-items:center}.team-member>span{grid-row:span 2;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--lilac);font-family:var(--serif);font-size:1.35rem;color:#6e4e65}.team-member h3{font-size:1rem;font-weight:500;line-height:1.5}.team-member p{font-size:.75rem;color:var(--muted)}.social-section{max-width:1232px;margin:0 auto 35px;display:grid;grid-template-columns:1fr 1fr;background:var(--lilac)}.social-section>div{padding:54px}.social-section .eyebrow{margin-bottom:25px}.social-section h2{font-size:3.2rem}.social-section p{font-size:.875rem;color:var(--muted);margin:24px 0}.review-card{border-left:1px solid #d3c7d2;position:relative;display:flex;flex-direction:column;justify-content:center}.review-mark{font-family:var(--serif);font-size:7rem;line-height:.75;color:var(--accent);position:absolute;right:40px;top:35px}.review-card h3{font-family:var(--serif);font-size:2.3rem;line-height:1.15;letter-spacing:-.03em}.review-card .text-link{width:fit-content}.booking-section{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.booking-intro .eyebrow{margin:15px 0 25px}.booking-intro>p:not(.eyebrow){font-size:.9375rem;line-height:1.9;color:var(--muted);max-width:350px;margin-top:25px}.phone-link{display:block;margin:30px 0}.phone-link span{display:block;font-size:.75rem;color:var(--muted);margin-bottom:8px}.phone-link strong{font-size:1.3rem;font-weight:500}.booking-help{border-top:1px solid var(--line);display:flex;align-items:start;gap:17px;max-width:350px;padding-top:22px}.booking-help>span{font-size:1.6rem;color:var(--accent)}.booking-help p{font-size:.875rem;color:var(--muted)}.booking-help a{color:var(--plum);text-decoration:underline}.booking-form{background:white;border:1px solid var(--line);padding:34px;box-shadow:0 12px 40px #43273805}.form-heading{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-bottom:23px;border-bottom:1px solid var(--line);margin-bottom:26px}.form-heading>span{font-family:var(--serif);font-size:1.8rem;letter-spacing:-.035em}.form-heading small{font-size:.75rem;letter-spacing:.1em;max-width:100px;text-align:right}label{font-size:.875rem;font-weight:600;display:block;margin:20px 0 9px}label span{font-weight:400;font-size:.75rem;color:var(--muted)}select,input{width:100%;min-height:51px;padding:12px;border:1px solid #d8cfd6;border-radius:2px;background:#fff;color:var(--ink);font-size:.875rem;max-width:100%}select{padding-right:30px}input{min-width:0}.form-row{display:grid;grid-template-columns:1.1fr .9fr;gap:17px}.form-row>div{min-width:0}.availability-note{font-size:.75rem;color:var(--muted);margin-top:16px;line-height:1.7}.form-submit{width:100%;margin-top:22px}.form-privacy{font-size:.75rem;color:var(--muted);text-align:center;margin:14px 8px 0}.booking-result{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.booking-result>strong{font-family:var(--serif);font-size:1.75rem;font-weight:500}.booking-result p{white-space:pre-line;font-size:.875rem;margin:12px 0 18px}.booking-result .button{width:100%}.booking-result small{display:block;font-size:.75rem;color:var(--muted);margin-top:12px}.faq{padding-top:20px;display:grid;grid-template-columns:.85fr 1.15fr;gap:60px}.faq .eyebrow{margin-bottom:20px}.faq h2{font-size:3rem}.faq details{border-bottom:1px solid var(--line)}.faq details:first-child{border-top:1px solid var(--line)}.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;padding:22px 0;font-size:.875rem}.faq summary span{font-size:1.3rem;flex-shrink:0}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{padding:0 28px 22px 0;font-size:.875rem;color:var(--muted);line-height:1.8}.contact{background:var(--plum);color:#fff;padding:75px max(6%,calc((100% - 1232px)/2));display:grid;grid-template-columns:1.1fr .9fr;gap:90px}.contact .eyebrow{color:#d8bfd0;margin-bottom:25px}.contact h2{font-size:4.3rem}.contact em{color:#d3b0c9}.contact-links a{display:grid;grid-template-columns:1fr 30px;position:relative;padding:18px 0;border-bottom:1px solid #ffffff30}.contact-links a:first-child{padding-top:0}.contact-links span{font-size:.75rem;letter-spacing:.12em;color:#d8bfd0}.contact-links strong{grid-row:2;font-size:1.125rem;font-weight:500;margin-top:6px}.contact-links b{grid-column:2;grid-row:1/3;align-self:center;font-weight:400;font-size:1.6rem}.contact-links a:hover strong{text-decoration:underline;text-underline-offset:5px}footer{padding:35px 6%;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand>span{font-size:2.8rem}.footer-brand small{font-size:.75rem}footer>p{font-family:var(--serif);font-size:1.7rem;color:var(--accent);font-style:italic}footer>div{display:flex;flex-direction:column;align-items:flex-end;gap:5px;font-size:.75rem;color:var(--muted)}footer button{background:none;border:0;padding:0;text-decoration:underline;font-size:.75rem}.mobile-dock{display:none}dialog{border:1px solid var(--line);padding:45px;max-width:min(580px,90vw);color:var(--ink);background:var(--paper);border-radius:5px}dialog::backdrop{background:#20131dcc;backdrop-filter:blur(4px)}dialog h2{font-size:2.6rem;margin:22px 0}dialog p:not(.eyebrow){font-size:.875rem;margin-top:20px;color:var(--muted)}.dialog-close{position:absolute;top:10px;right:16px;background:none;border:0;font-size:2rem;min-height:44px;min-width:44px}
@media(min-width:1500px){.hero-copy{padding-top:90px;padding-bottom:50px}.hero,.hero-photo{min-height:760px}.hero-bottom{padding-top:70px}}
@media(max-width:1100px){.header{padding:0 4%;height:92px}.desktop-nav{gap:20px}.hero-copy{padding:48px 7% 30px 8%}.hero,.hero-photo{min-height:610px}h1{font-size:4rem}.hero-actions{gap:20px;margin-top:28px}.hero-description{font-size:.875rem}.hero-bottom{padding-top:30px}.hero-note{font-size:.75rem}.hero-photo figcaption{left:28px}.hero-photo figcaption span:last-child{font-size:1.8rem}.section{padding:80px 5%}.about-inner{gap:55px}.service summary{grid-template-columns:45px 1fr .9fr 30px}.service-body{margin-left:73px;gap:22px 30px}.social-section{margin:0 5% 25px}.social-section>div{padding:40px}.social-section h2{font-size:2.8rem}.booking-section{gap:6%}.booking-form{padding:26px}.form-heading{align-items:flex-start}.form-heading>span{font-size:1.6rem}.team-grid{gap:0 22px}.contact{gap:55px}.contact h2{font-size:3.8rem}}
@media(max-width:800px){html{scroll-padding-top:85px}.header{height:82px;padding:0 5%;gap:18px}.brand>span{font-size:2.8rem}.brand small{font-size:.75rem}.desktop-nav{display:none}.header-book{margin-left:auto;font-size:.75rem;min-height:42px;padding:10px 14px;gap:18px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:6px;width:34px;height:44px;border:0;background:none;padding:4px}.menu-toggle span{height:1px;background:var(--plum);width:24px;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.mobile-nav{display:flex;position:absolute;top:81px;left:0;right:0;background:var(--paper);padding:15px 6% 25px;border-bottom:1px solid var(--line);box-shadow:0 10px 20px #43273810;flex-direction:column}.mobile-nav a{padding:13px 0;border-bottom:1px solid var(--line);font-size:.9375rem}.hero{grid-template-columns:1fr 1fr;min-height:570px}.hero-copy{padding:40px 7% 26px 10%}h1{font-size:3.3rem;margin-top:28px}h1 em{white-space:normal}.hero .eyebrow{font-size:.75rem;gap:7px}.fine-line{width:15px}.hero-description br{display:none}.hero-actions .button{padding:14px 17px;font-size:.75rem;min-height:54px;gap:14px}.hero-actions .text-link{font-size:.75rem}.hero-bottom{gap:14px}.hero-bottom>div:first-child{padding-right:14px}.hero-bottom strong{font-size:1.75rem}.hero-note{display:none}.hero-photo{min-height:570px}.hero-photo figcaption{bottom:28px;left:22px;right:20px}.hero-photo figcaption span:last-child{font-size:1.5rem}.values-strip{font-size:.75rem;gap:13px;flex-wrap:wrap;padding:22px 4%}.values-strip span:last-child,.values-strip span:nth-last-child(2){display:none}.section{padding:65px 6%}.section-heading{gap:25px;align-items:start}.section-heading>p{max-width:240px;font-size:.875rem}.service-category{display:none}.service summary{grid-template-columns:30px 1fr 30px;padding:24px 0}.service-body{margin-left:50px;grid-template-columns:1fr;gap:18px}.about{padding:60px 6%}.about-inner{grid-template-columns:.65fr 1.35fr;gap:35px}.about-side{padding-right:30px}.about-side .eyebrow{font-size:.75rem}.experience strong{font-size:9rem}.experience span{font-size:.75rem;letter-spacing:.15em}.about-location{font-size:.75rem}.about-copy h2{font-size:2.6rem}.about-copy>p{font-size:.875rem}.team-grid{grid-template-columns:repeat(2,1fr)}.social-section{margin:0 6%;grid-template-columns:1.2fr 1fr}.social-section>div{padding:30px}.social-section h2{font-size:2.4rem}.social-section p{font-size:.875rem}.review-card h3{font-size:1.9rem}.review-mark{font-size:5rem;right:20px;top:20px}.booking-section{gap:30px;grid-template-columns:1fr 1.1fr}.booking-form{padding:22px}.form-row{grid-template-columns:1fr;gap:0}.form-heading{flex-direction:column;gap:8px}.form-heading small{max-width:none}.booking-intro>p:not(.eyebrow){font-size:.875rem}.faq{grid-template-columns:1fr;gap:30px;padding-top:10px}.contact{padding:60px 6%;gap:35px}.contact h2{font-size:3rem}.contact .eyebrow{font-size:.75rem}footer{padding:30px 6%}footer>p{display:none}}
@media(max-width:560px){.hero{grid-template-columns:1fr}.hero-copy{padding:37px 6% 29px;position:relative}.hero .eyebrow{font-size:.75rem}h1{font-size:clamp(3.6rem,12.5vw,4.9rem);margin-top:25px}h1 em{white-space:nowrap;font-size:.82em}h1 br:nth-of-type(2){display:none}h1 em::before{content:'';display:block}.hero-description{font-size:.875rem;margin-top:22px;max-width:310px}.hero-actions{margin-top:26px;gap:22px}.hero-actions .button{font-size:.875rem;padding:15px 18px;gap:20px}.hero-actions .text-link{font-size:.75rem}.hero-bottom{margin-top:23px;padding-top:0;gap:18px}.hero-bottom>div:first-child{display:flex;align-items:baseline;gap:8px;border:0;padding:0}.hero-bottom strong{font-size:1.45rem}.hero-bottom span{font-size:.75rem}.hero-photo{min-height:380px;height:100vw;max-height:470px}.hero-photo>img{object-position:50% 42%}.hero-photo figcaption{bottom:28px;left:6%}.hero-photo figcaption span:first-child{font-size:.75rem}.hero-photo figcaption span:last-child{font-size:1.9rem}.image-label{font-size:.75rem;top:16px;right:16px}.values-strip{padding:20px 4%;gap:10px;font-size:.75rem;justify-content:space-between}.values-strip span[aria-hidden]{font-size:.9rem}.section{padding:57px 6%}.section-heading{display:block;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:20px}.section-heading>p{max-width:100%;margin-top:22px;padding:0;font-size:.875rem}h2{font-size:3.05rem}.eyebrow{font-size:.75rem}.service h3{font-size:2.1rem}.service summary{gap:12px;padding:23px 0;grid-template-columns:26px 1fr 25px}.service-number{font-size:.75rem}.service-body{margin:0 0 26px 38px}.service-body p{font-size:.875rem}.service-category{display:none}.service-footnote{font-size:.75rem}.about{padding:48px 6%}.about-inner{grid-template-columns:1fr;gap:34px}.about-side{border:0;border-bottom:1px solid #ffffff25;padding:0 0 25px;display:grid;grid-template-columns:1fr auto;align-items:center}.about-side .eyebrow{font-size:.75rem;max-width:150px}.experience{margin:0;grid-column:2;grid-row:1/3;align-items:center;flex-direction:row;gap:12px}.experience strong{font-size:5.5rem}.experience span{max-width:60px;line-height:1.7;margin:0;letter-spacing:.14em}.about-location{margin-top:12px;font-size:.75rem}.about-copy h2{font-size:2.65rem}.about-copy>p{font-size:.875rem}.founder div span{font-size:.75rem}.team-grid{gap:0 20px}.team-member{padding:23px 0;display:block}.team-member>span{margin-bottom:12px;width:40px;height:40px;font-size:1.2rem}.team-member h3{font-size:.875rem}.team-member p{font-size:.75rem;margin-top:3px}.social-section{grid-template-columns:1fr}.social-section>div{padding:34px 26px}.social-section h2{font-size:2.65rem}.review-card{border-left:0;border-top:1px solid #d3c7d2}.review-card h3{font-size:2.05rem}.review-card p{margin:18px 0}.review-mark{right:30px;top:30px;font-size:6rem}.booking-section{grid-template-columns:1fr;gap:32px}.booking-intro .eyebrow{margin-top:0}.booking-intro>p:not(.eyebrow){max-width:100%}.phone-link{margin:25px 0}.phone-link strong{font-size:1.25rem}.booking-help{max-width:none}.booking-form{padding:26px 22px}.form-row{grid-template-columns:1fr 1fr;gap:12px}.form-heading{flex-direction:row;align-items:center}.form-heading>span{font-size:1.7rem}.form-heading small{max-width:78px;font-size:.75rem}.form-privacy{font-size:.75rem}.availability-note{font-size:.75rem}label{font-size:.875rem}label span{font-size:.75rem}input,select{font-size:1rem;padding:12px 9px}.faq{padding-top:0;gap:24px}.faq h2{font-size:2.65rem}.faq summary{font-size:.875rem;padding:20px 0}.contact{grid-template-columns:1fr;gap:35px;padding:50px 6%}.contact h2{font-size:3.5rem}.contact .eyebrow{font-size:.75rem}.contact-links a{padding:20px 0}.contact-links strong{font-size:1.125rem}footer{padding:30px 6% 110px;align-items:start;gap:15px}.footer-brand>span{font-size:2.6rem}footer>div{max-width:190px;font-size:.75rem;padding-top:8px;text-align:right}footer button{font-size:.75rem;padding:7px 0}.mobile-dock{position:fixed;display:grid;grid-template-columns:.8fr 1.2fr;bottom:0;left:0;right:0;z-index:40;padding:10px 5% calc(10px + env(safe-area-inset-bottom));gap:10px;background:#faf8f5f5;backdrop-filter:blur(10px);border-top:1px solid var(--line)}.mobile-dock a{display:flex;align-items:center;justify-content:center;min-height:45px;font-size:.875rem;font-weight:600;border:1px solid var(--plum);border-radius:2px}.mobile-dock a:last-child{color:white;background:var(--plum)}dialog{padding:35px 25px;max-height:85vh}dialog h2{font-size:2.2rem}}
@media(max-width:370px){.header-book{font-size:.75rem;gap:10px;padding:10px}h1{font-size:3.45rem}.hero-actions{gap:18px}.hero-actions .button{font-size:.75rem;padding:14px;gap:15px}.values-strip{font-size:.75rem}.form-row{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Comfortable reading at every screen size. */
.hero-description,.section-heading>p,.service-body p,.about-copy>p,.social-section p,.booking-intro>p:not(.eyebrow),.faq details p,dialog p:not(.eyebrow){font-size:1rem}label,.desktop-nav,.text-link,.team-member p,.availability-note,.booking-help p,.form-privacy{font-size:.875rem}.brand small{font-size:.75rem;letter-spacing:.15em}.form-heading small{font-size:.75rem;max-width:105px}.hero-bottom span,.hero-note,.founder div span{font-size:.75rem}.values-strip{font-size:.875rem}.image-label{font-size:.75rem}.service-category{font-size:.75rem}.eyebrow{font-size:.75rem}.hero .eyebrow{font-size:.75rem}.experience span{font-size:.75rem}.about-location{font-size:.75rem}.about-side .eyebrow{font-size:.75rem}.contact .eyebrow{font-size:.75rem}.footer-brand small{font-size:.75rem}.header-book{font-size:.875rem}.hero-actions .button,.hero-actions .text-link{font-size:.875rem}
@media(max-width:560px){.header{gap:12px}.brand small{font-size:.75rem;letter-spacing:.06em;margin-left:3px}.header-book{font-size:.75rem}.hero-actions{gap:20px}.hero-actions .button{gap:16px;padding:14px 16px}.values-strip{font-size:.75rem}.form-heading{align-items:flex-start}.form-heading>span{font-size:1.7rem;line-height:1.1}.form-heading small{font-size:.75rem;line-height:1.5}.about-side{grid-template-columns:1fr}.about-side .eyebrow{max-width:180px}.experience span{max-width:75px}.team-member p{font-size:.875rem}.social-section .text-link{overflow-wrap:anywhere;max-width:100%}.form-row{grid-template-columns:1fr;gap:0}.hero-photo figcaption span:first-child{font-size:.75rem}.hero-bottom{padding-top:0}}

.gallery-section{padding-top:0}.gallery-grid{display:grid;grid-template-columns:1.05fr .8fr 1fr;gap:28px;align-items:center}.gallery-photo{border:0;background:transparent;padding:0;text-align:left;width:100%}.gallery-photo img{height:400px;width:100%;object-fit:cover;object-position:center 36%;transition:filter .2s}.gallery-photo:hover img{filter:brightness(.95)}.gallery-photo>span{display:flex;justify-content:space-between;font-size:.875rem;padding-top:14px;color:var(--muted)}.gallery-photo b{font-weight:400;font-size:1.25rem}.gallery-detail{padding-top:60px}.gallery-note{padding:15px 0 15px 15px}.gallery-note h3{font-family:var(--serif);font-size:2.4rem;line-height:1.2;letter-spacing:-.03em;margin:25px 0}.gallery-note>p:not(.eyebrow){font-size:1rem;color:var(--muted);line-height:1.8;margin-bottom:24px}.gallery-note .text-link{font-size:.875rem;overflow-wrap:anywhere;max-width:100%}.testimonials{max-width:1232px;margin:0 auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;padding:58px;background:var(--lilac)}.testimonials h2{font-size:3rem;margin:22px 0 30px}.quote-area{position:relative;padding-top:20px}.quote-mark{font-family:var(--serif);font-size:6rem;line-height:1;color:var(--accent);position:absolute;top:-10px;left:-25px;opacity:.45}.quote-area blockquote{font-family:var(--serif);font-size:1.8rem;line-height:1.35;margin:0;min-height:175px;position:relative}.quote-area #quote-author{font-size:.875rem;margin-top:20px}.quote-controls{display:flex;align-items:center;gap:10px;margin-top:25px}.quote-controls span{font-size:.75rem;color:var(--muted);margin-right:auto}.quote-controls button{background:none;border:1px solid #b6a5b3;border-radius:50%;width:44px;height:44px;font-size:1.2rem}.quote-controls button:hover{background:#dacddf}#gallery-dialog{padding:20px;max-width:90vw;background:var(--plum);color:white;overflow:auto}#gallery-dialog img{max-height:75vh;width:auto;margin:30px auto 0;object-fit:contain}#gallery-dialog p{font-size:.875rem;color:white;text-align:center;margin:15px 0 0}#gallery-dialog .dialog-close{color:white;top:0;right:0}
@media(max-width:1100px){.gallery-photo img{height:350px}.gallery-grid{gap:22px}.gallery-note h3{font-size:2.1rem}.testimonials{margin:0 5%;padding:45px;gap:55px}}@media(max-width:800px){.gallery-grid{grid-template-columns:1fr 1fr}.gallery-note{grid-column:1/-1;padding:15px 0;display:grid;grid-template-columns:1fr 1fr;gap:15px 30px}.gallery-note h3{grid-row:2/4;margin:0}.gallery-note>p:not(.eyebrow){grid-column:2;grid-row:2;margin:0}.gallery-note .text-link{grid-column:2;grid-row:3;width:fit-content}.testimonials{padding:40px;gap:40px;grid-template-columns:1fr 1.2fr}.testimonials h2{font-size:2.7rem}.quote-area blockquote{font-size:1.6rem;min-height:210px}}@media(max-width:560px){.gallery-section{padding-top:0}.gallery-grid{gap:17px}.gallery-photo img{height:280px}.gallery-detail{padding-top:45px}.gallery-photo>span{font-size:.75rem;gap:8px}.gallery-note{display:block;padding-top:20px}.gallery-note h3{font-size:2.4rem;margin:20px 0}.gallery-note>p:not(.eyebrow){margin-bottom:22px}.testimonials{grid-template-columns:1fr;margin:0 6%;padding:32px 25px;gap:35px}.testimonials h2{font-size:2.7rem;margin:22px 0}.quote-area{padding-top:15px;border-top:1px solid #d0c1cf}.quote-mark{left:-7px;top:8px}.quote-area blockquote{font-size:1.75rem;min-height:240px;padding-top:20px}.quote-controls{margin-top:24px}}
