:root{--paper:#faf8f3;--ink:#293d32;--muted:#63665c;--green:#304b39;--rose:#efe2dc;--line:#d9d9cc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:5px}button{font:inherit;color:inherit}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #a95250;outline-offset:5px}header{height:105px;display:flex;align-items:center;justify-content:space-between;padding:16px 4.5%;gap:24px;border-bottom:1px solid var(--line);background:#faf8f3f5;position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap}.brand img{width:65px;height:65px;object-fit:contain;mix-blend-mode:multiply}.brand span{font:25px Georgia,serif}.brand small{display:block;font:9px Arial;letter-spacing:1.5px;margin-top:8px}nav{display:flex;gap:24px}nav a{font-size:13px;text-decoration:none}.btn{display:inline-flex;justify-content:center;align-items:center;padding:15px 24px;background:var(--green);color:white;text-decoration:none;font-size:13px;letter-spacing:.3px;border:1px solid var(--green);transition:background .2s}.btn:hover{background:#456148}.menu,.mobilebar{display:none}.hero{max-width:1600px;margin:auto;display:grid;grid-template-columns:1.12fr 1fr;min-height:690px}.hero-copy{padding:85px 7% 30px 9%;display:flex;flex-direction:column;align-items:flex-start}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:600;display:block}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2px;line-height:1.08}h1{font-size:clamp(45px,4.8vw,78px);margin:35px 0 25px}h2{font-size:clamp(38px,4vw,60px);margin:24px 0}em{font-weight:400;color:#7d8265}h3{font-weight:500}p{color:var(--muted)}.hero-copy>p{max-width:450px;font-size:15px;line-height:1.9;margin:0 0 30px}.actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.text-link{font-size:13px;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:5px}.hero-note{margin-top:auto;padding-top:60px;width:100%;display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:1.2px}.hero-photo{position:relative;background:#e8ddd7;padding:30px 9% 30px 3%;display:flex;align-items:center}.hero-photo picture{width:100%}.hero-photo img{width:100%;height:610px;object-fit:contain}.photo-label{position:absolute;bottom:45px;left:-35px;background:var(--paper);padding:17px 26px;font:italic 20px Georgia;box-shadow:0 6px 24px #293d3210}.ribbon{border-block:1px solid var(--line);padding:23px;text-align:center;letter-spacing:3px;font-size:11px;display:flex;justify-content:center;gap:5vw;align-items:center}.ribbon span{color:#7d8265;font-size:20px}.section{padding:95px max(6%,calc((100vw - 1240px)/2));scroll-margin-top:0}.about{display:grid;grid-template-columns:1fr 1.05fr;gap:10%;padding-block:110px}.about p{font-size:14px}.about .lead{font:26px/1.45 Georgia;color:var(--ink);margin-top:0}.prices{background:#f1eee5}.section-title{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-bottom:35px}.section-title p{font-size:14px}.popular-title{font-size:13px;letter-spacing:1px;margin-top:35px}.popular{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:55px}.popular article{padding:28px;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column}.popular article:nth-child(2){background:var(--rose)}.popular h3{font:25px/1.2 Georgia;margin:25px 0 5px;max-width:270px}.popular p{font-size:12px}.popular article>div{margin-top:auto;padding-top:30px;display:flex;justify-content:space-between;align-items:center;gap:15px}.popular strong{font:26px Georgia}.popular a{font-size:11px}.price-list{border-top:1px solid #b7bdad}details{border-bottom:1px solid #b7bdad}summary{cursor:pointer;display:flex;align-items:center;gap:24px;padding:26px 0;font:26px Georgia;list-style:none}summary::-webkit-details-marker{display:none}summary span{font:11px Arial;letter-spacing:1px;color:var(--muted)}summary b{margin-left:auto;font:26px Arial;font-weight:300}details[open] summary b{transform:rotate(45deg)}.service{padding:19px 0 19px 37px;display:flex;justify-content:space-between;align-items:center;gap:25px;border-top:1px solid #dbded1}.service h3{font:15px/1.5 Arial;margin:0}.time{font-size:12px;color:var(--muted)}.service small{display:block;font-size:12px;max-width:600px;color:var(--muted)}.price{text-align:right;font-size:17px;white-space:nowrap;min-width:90px}.price a{display:block;font-size:11px}.fine{font-size:12px;margin-top:25px}.gallery{columns:4;column-gap:20px}.photo{display:block;width:100%;padding:0;border:0;background:#eee8df;cursor:zoom-in;margin-bottom:20px;break-inside:avoid;overflow:hidden}.photo img{width:100%;height:auto;transition:transform .3s}.photo:hover img{transform:scale(1.025)}.reviews{text-align:center;background:var(--rose)}.reviews p{margin-bottom:28px}.contact{display:grid;grid-template-columns:1.1fr 1fr;gap:12%}.contact-info>div{padding:20px 0;border-bottom:1px solid var(--line)}.contact-info h3{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;margin:0}.contact-info p,.contact-info a{font-size:14px}.contact-info .phone{font:29px Georgia;display:inline-block;margin-top:16px}.hours{display:grid;grid-template-columns:1fr auto;gap:7px 15px}.hours strong{font-weight:400;color:var(--ink)}footer{padding:40px 6%;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:11px}footer strong{font:24px Georgia}footer p{margin:7px 0}dialog{max-width:95vw;width:1100px;height:94vh;border:0;background:#faf8f3;padding:55px 65px 35px;overflow:hidden}dialog::backdrop{background:#18251de8}dialog img{width:100%;height:calc(100% - 30px);object-fit:contain}dialog button{background:var(--paper);border:1px solid var(--line);cursor:pointer;padding:8px 15px;position:absolute}.close{right:15px;top:10px}.prev{left:10px;top:50%}.next{right:10px;top:50%}.counter{text-align:center;margin:0;font-size:11px}.policy{max-width:1050px;margin:auto;min-height:65vh}.policy h1{font-size:55px}.policy h2{font:28px Georgia;margin-top:35px}.skip{position:fixed;top:-100px;left:20px;background:white;padding:10px;z-index:100}.skip:focus{top:10px}@media(min-width:1600px){.hero-photo img{height:680px}.hero{min-height:760px}}@media(max-width:1100px){nav{gap:15px}header{gap:12px;padding-inline:3%}.brand span{font-size:21px}.header-cta{padding:12px}.hero-copy{padding-top:60px}.hero-photo img{height:560px}.hero{min-height:640px}.hero-note{font-size:7px}.gallery{columns:3}.section{padding-inline:6%}}@media(max-width:800px){header{height:85px}.brand img{width:52px;height:52px}.brand span{font-size:23px}.brand small{font-size:8px}.menu{display:block;border:1px solid var(--line);padding:8px 10px;background:transparent;font-size:12px}.header-cta{display:none}nav{display:none;position:absolute;top:85px;left:0;right:0;background:var(--paper);padding:25px 6%;border-bottom:1px solid var(--line);flex-direction:column}nav.open{display:flex}nav a{font-size:16px;padding:5px}.hero{grid-template-columns:1fr 1fr;min-height:530px}.hero-copy{padding:45px 7%}.hero h1{font-size:46px}.hero-copy>p{font-size:13px}.hero-note{display:none}.hero-photo{padding:15px}.hero-photo img{height:440px}.photo-label{font-size:15px;padding:12px;left:-15px;bottom:25px}.actions{gap:17px}.section{padding-block:70px}.popular{gap:12px}.popular article{padding:20px}.popular h3{font-size:22px}.popular article>div{flex-wrap:wrap}.about{gap:6%}.contact{gap:7%}footer{padding-bottom:100px}.mobilebar{display:grid;grid-template-columns:1fr 1.4fr;position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--paper);padding:10px 16px calc(10px + env(safe-area-inset-bottom));gap:10px;border-top:1px solid var(--line)}.mobilebar a{text-decoration:none;text-align:center;padding:10px;border:1px solid var(--green);font-size:13px}.mobilebar a:last-child{background:var(--green);color:white}body{padding-bottom:65px}html{scroll-padding-top:95px}}@media(max-width:600px){.hero{display:flex;flex-direction:column}.hero-copy{padding:40px 6% 36px}.hero h1{font-size:51px;margin-top:25px}.hero-copy>p{font-size:14px}.hero-photo{margin:0 6% 30px;padding:16px 25px}.hero-photo img{height:390px}.photo-label{left:-8px;bottom:10px}.ribbon{font-size:8px;letter-spacing:1px;gap:13px;padding:15px 12px;flex-wrap:wrap}.ribbon span{font-size:14px}.about,.contact{grid-template-columns:1fr;gap:25px}.about h2{margin-bottom:0}.section-title{display:block}.section-title h2{margin-bottom:25px}.section-title .text-link{display:inline-block;margin-bottom:10px}.popular{grid-template-columns:1fr}.popular article{padding:25px}.popular h3{max-width:none;margin-top:16px;font-size:27px}.popular article>div{padding-top:12px}.popular article p{margin:8px 0}.gallery{columns:2;column-gap:12px}.photo{margin-bottom:12px}summary{font-size:22px;gap:14px;padding:22px 0}summary span{font-size:10px}.service{padding-left:0;gap:12px}.service h3{font-size:14px}.price{font-size:16px;min-width:78px}.service small{font-size:11px}.reviews h2{font-size:38px}.contact-info .phone{font-size:29px}footer{align-items:flex-start;flex-direction:column;gap:20px;padding-top:30px;padding-bottom:40px}.policy h1{font-size:40px}.policy h2{font-size:27px}dialog{padding:55px 40px 30px}dialog button{padding:8px}.eyebrow{font-size:9px;letter-spacing:1.6px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Persistent phone contact in the existing sticky header. */
.header-phone{white-space:nowrap;font-size:14px;font-weight:600;text-decoration:none;flex-shrink:0;font-variant-numeric:tabular-nums}header{gap:18px}nav{gap:18px}
@media(min-width:801px) and (max-width:1200px){header{height:130px;flex-wrap:wrap;justify-content:space-between;gap:8px 18px}header nav{order:4;width:100%;justify-content:center}.header-phone{margin-left:auto}}
@media(max-width:800px){header{height:119px;display:grid;grid-template-columns:1fr auto;grid-template-rows:60px 30px;gap:5px 12px;padding:9px 4%}.brand{grid-column:1;grid-row:1}.menu{grid-column:2;grid-row:1}.header-phone{grid-column:1 / -1;grid-row:2;justify-self:center;font-size:17px;line-height:30px}nav{top:119px}html{scroll-padding-top:130px}}
