:root{--paper:#f8f6ef;--cream:#eeecdf;--green:#28483e;--ink:#263c34;--muted:#6d756b;--gold:#b59d58;--line:#d7d9cc}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.65}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block}button:focus-visible,a:focus-visible{outline:3px solid #b59d58;outline-offset:5px}.announcement{text-align:center;background:var(--green);color:#f7f3df;font-size:10px;letter-spacing:2px;padding:9px 16px}header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:35px;padding:0 6%;border-bottom:1px solid var(--line)}.wordmark{font-family:'Playfair Display',serif;font-size:32px;line-height:1;position:relative;display:inline-block;min-width:130px}.wordmark span{font-family:'DM Sans',sans-serif;font-size:9px;letter-spacing:6px;display:block;text-align:center;margin-top:8px}.wordmark i{font-family:serif;font-style:normal;position:absolute;right:-5px;top:-7px;font-size:25px;color:var(--gold)}nav{display:flex;gap:30px;font-size:12px}nav a:hover,.text-link:hover{color:#8c743a}.button{background:var(--green);color:white;padding:16px 24px;display:inline-flex;align-items:center;justify-content:center;gap:36px;font-size:12px;transition:background .2s}.button:hover{background:#3e6254}.button span{font-size:20px;line-height:1}.button.small{padding:12px 20px;gap:26px}.nav-toggle{display:none}.hero{padding:52px 6% 0;display:grid;grid-template-columns:1fr 1fr;gap:0 7%;position:relative}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;display:flex;align-items:center;gap:10px}.tiny-star{font-size:23px;color:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;font-weight:400;line-height:1.13}h1{font-size:clamp(64px,6.4vw,100px);letter-spacing:-4px;margin:23px 0 24px}h1 em,h2 em{font-weight:400;color:#7b895e}h2{font-size:clamp(38px,4.1vw,60px);letter-spacing:-1.8px;margin:18px 0 26px}h3{font-size:27px}p{color:var(--muted)}.hero-copy{padding:20px 0 35px}.hero-copy>p{max-width:410px;font-size:14px;line-height:1.9}.actions{display:flex;align-items:center;gap:28px;margin:30px 0}.text-link{font-size:12px;border-bottom:1px solid #9ca697;padding-bottom:5px;display:inline-flex;gap:24px}.hero-rating{display:flex;gap:14px;align-items:center;font-size:10px;margin-top:35px}.stars{color:#9c8344;letter-spacing:3px;font-size:13px}.hero-visual{position:relative;margin:0 0 24px}.hero-visual>img{height:100%;min-height:480px;width:100%;object-fit:cover;object-position:49% center;border-radius:160px 160px 0 0}.photo-label{position:absolute;bottom:18px;left:0;right:0;text-align:center;font-size:8px;letter-spacing:1.6px;background:#f8f6efd9;padding:9px 3px}.seal{position:absolute;background:#ece9d9;left:-56px;bottom:48px;width:118px;height:118px;border-radius:50%;border:1px solid #c5c6ae;outline:5px solid var(--paper);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-10deg)}.seal span{font-size:7px;letter-spacing:1px}.seal strong{font-family:'Playfair Display',serif;font-size:40px;font-weight:400;line-height:1.45}.hero-bottom{grid-column:1/-1;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:20px 0;font-size:10px;color:var(--muted)}.hero-bottom>span:nth-child(2){font-family:'Playfair Display',serif;font-size:16px;font-style:italic}.values-strip{background:var(--cream);display:flex;justify-content:space-around;align-items:center;gap:20px;padding:22px 6%;font-size:12px}.values-strip i{color:var(--gold);font-size:23px;font-style:normal}.section{padding:100px 6%;scroll-margin-top:20px}.about{display:grid;grid-template-columns:1.1fr 1fr;gap:9%;align-items:center}.photo-open{padding:0;border:0;background:none;text-align:left;color:var(--ink);width:100%;position:relative;overflow:hidden}.photo-open img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.photo-open:hover img{transform:scale(1.025)}.about-photo .photo-open{height:480px}.about-photo img{object-position:45% center}.image-caption{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.3px;padding-top:17px}.about-copy p{font-size:13px}.about-points{border-top:1px solid var(--line);margin:25px 0}.about-points>div{display:flex;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line);padding:15px 0}.about-points>div>span{font-family:'Playfair Display',serif;color:var(--gold);font-size:22px}.about-points p{margin:0;font-size:11px}.about-points b{display:block;color:var(--green);font-size:13px;margin-bottom:3px}.services{background:#eeeee4}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin-bottom:42px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:12px;max-width:340px;margin-bottom:5px}.menu-layout{display:grid;grid-template-columns:.65fr 1.5fr;gap:9%}.menu-intro{padding-top:14px}.line-art{font-size:70px;color:#9d9f7a;font-family:serif;line-height:1}.menu-intro h3{margin:30px 0 20px;font-size:30px}.menu-intro p{max-width:260px;font-size:13px}.menu-intro .text-link{font-size:10px;margin-top:20px}.tabs{display:flex;border-bottom:1px solid #c3cbbd;gap:24px}.tabs button{border:0;border-bottom:2px solid transparent;background:none;padding:15px 0;font-size:12px;color:var(--muted);white-space:nowrap}.tabs button[aria-selected=true]{border-color:var(--green);color:var(--green);font-weight:600}.menu-row{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #d2d7c9;padding:15px 0;font-size:13px}.menu-row b{font-weight:500;white-space:nowrap}.menu-group{font-family:'Playfair Display',serif;font-size:21px;margin:24px 0 4px}.price-note{font-size:10px;line-height:1.8;margin:20px 0 0;max-width:520px}.gallery{padding-bottom:85px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px}.gallery-grid .photo-open{height:330px}.gallery-grid .photo-open:first-child img{object-position:52% center}.gallery-grid .photo-open>span{position:absolute;bottom:0;left:0;right:0;background:#f8f6eff0;padding:14px 18px;font-size:11px;display:flex;justify-content:space-between}.gallery-note{font-size:9px;text-align:right;margin:15px 0 0}.reviews{background:#e7eadf}.review-heading{text-align:center}.review-heading .eyebrow{justify-content:center}.rating-link{display:inline-flex;align-items:center;gap:12px;font-size:11px}.rating-link b{font-size:17px}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px}.review-grid article{padding:5px 32px;border-right:1px solid #bdc8b8}.review-grid article:first-child{padding-left:0}.review-grid article:last-child{border:0;padding-right:0}blockquote{font-family:'Playfair Display',serif;font-size:24px;margin:21px 0 16px;line-height:1.4}.review-grid article>p{font-size:12px;min-height:60px}.review-grid article>div{display:flex;flex-direction:column;font-size:11px}.review-grid article>div span{font-size:9px;color:var(--muted)}.review-note{font-size:9px;text-align:center;margin:34px 0 0}.review-note a{text-decoration:underline}.visit{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}.visit-copy>p{font-size:13px;max-width:400px}.phone{font-family:'Playfair Display',serif;font-size:30px;display:inline-flex;gap:40px;border-bottom:1px solid var(--line);padding:12px 0}.visit-details{margin-top:35px;display:grid;grid-template-columns:1fr 1fr;gap:26px}.visit-details h3{font-family:'DM Sans',sans-serif;font-weight:500;font-size:12px;margin:0 0 13px}.visit-details p,.visit-details address{font-size:11px;line-height:1.9;font-style:normal}.visit-details p{margin:6px 0 16px}.visit-details .text-link{font-size:10px;gap:10px}dl{margin:0}dl>div{font-size:10px;margin-bottom:10px}dd{margin:0;color:var(--muted)}.visit-details small{font-size:8px;color:var(--muted);display:block;margin-top:15px}.closing{background:var(--green);padding:55px 6%;display:flex;align-items:center;justify-content:space-between;gap:35px;color:var(--paper)}.closing>span{font-size:60px;color:#c4ba83;line-height:1}.closing h2{font-size:37px;margin:0;letter-spacing:-1px}.button.light{background:#e9e6cf;color:var(--green)}.button.light:hover{background:#dcd7b6}footer{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:45px 6%}footer>span{font-size:11px;color:var(--muted)}footer>div{display:flex;gap:26px;font-size:9px;color:var(--muted)}.mobile-call{display:none}.skip{position:absolute;top:-100px;background:white;z-index:100}.skip:focus{top:0}dialog{padding:18px;border:0;background:var(--paper);max-width:min(1000px,92vw);max-height:92vh;color:var(--ink)}dialog::backdrop{background:#15291fe0}dialog img{max-height:76vh;width:auto;object-fit:contain;margin:auto}dialog p{font-size:11px;margin:12px 35px 0 0}.close-dialog{position:absolute;right:22px;top:22px;border:0;background:var(--paper);width:35px;height:35px;border-radius:50%;z-index:1}
@media(min-width:1500px){header,footer,.section,.hero,.closing{padding-left:max(6%,calc((100vw - 1340px)/2));padding-right:max(6%,calc((100vw - 1340px)/2))}}@media(max-width:1050px){nav{gap:16px}header{gap:15px}h1{font-size:70px}.hero{gap:0 6%;padding-top:35px}.hero-visual>img{min-height:450px}.actions{gap:20px;flex-wrap:wrap}.about{gap:6%}.section{padding-top:75px;padding-bottom:75px}.about-photo .photo-open{height:470px}.tabs{gap:17px}.closing h2{font-size:28px}.closing{gap:20px}.gallery-grid .photo-open{height:270px}}
@media(max-width:760px){html{scroll-padding-top:85px}.announcement{font-size:8px;letter-spacing:1.2px}header{height:80px;padding:0 6%;position:relative}.wordmark{font-size:27px;min-width:112px}.wordmark span{font-size:8px;letter-spacing:5px}.wordmark i{font-size:22px}header>.button{margin-left:auto;padding:10px 14px;gap:14px;font-size:10px}.nav-toggle{display:block;background:none;border:0;font-size:21px;padding:5px;color:var(--green)}nav{display:none;position:absolute;top:79px;left:0;right:0;background:var(--paper);z-index:10;padding:25px 6%;border-bottom:1px solid var(--line)}nav.open{display:flex;flex-direction:column;gap:20px}.hero{grid-template-columns:1fr;padding-top:28px}.hero-copy{padding:0 0 35px}.eyebrow{font-size:9px;letter-spacing:1.7px}h1{font-size:65px;letter-spacing:-2.8px;margin-top:15px}.hero-copy>p{font-size:13px;max-width:400px}.actions{margin:25px 0;gap:25px}.hero-rating{margin-top:25px}.hero-visual{margin:0 0 25px 30px;height:350px}.hero-visual>img{height:350px;min-height:0;border-radius:140px 140px 0 0}.seal{width:98px;height:98px;left:-29px;bottom:35px}.seal strong{font-size:34px}.seal span{font-size:6px}.hero-bottom{font-size:8px;padding:16px 0}.hero-bottom>span:nth-child(2){display:none}.values-strip{gap:10px;flex-wrap:wrap;justify-content:center;padding:20px 6%;font-size:10px}.values-strip span{flex-basis:42%;text-align:center}.values-strip i{display:none}.section{padding:60px 6%}.about{grid-template-columns:1fr;gap:35px}.about-photo .photo-open{height:340px}.about-copy h2{font-size:43px}.image-caption{font-size:7px}.section-heading{display:block;margin-bottom:30px}h2{font-size:41px}.section-heading>p{margin:22px 0 0}.menu-layout{grid-template-columns:1fr;gap:25px}.menu-intro{display:none}.tabs{gap:0;justify-content:space-between}.tabs button{font-size:11px}.menu-row{font-size:12px;padding:14px 0}.gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.gallery-grid .photo-open{height:235px}.gallery-grid .photo-open:first-child{grid-column:1/-1;height:290px}.gallery-grid .photo-open>span{font-size:9px;padding:12px}.gallery-note{font-size:8px}.review-heading h2{font-size:37px}.review-grid{grid-template-columns:1fr;margin-top:35px}.review-grid article,.review-grid article:first-child,.review-grid article:last-child{padding:25px 0;border:0;border-bottom:1px solid #bdc8b8}.review-grid article:last-child{border:0}.review-grid article>p{min-height:0}blockquote{font-size:24px}.review-note{font-size:8px;margin-top:15px}.visit{grid-template-columns:1fr;gap:35px}.visit-details{gap:25px}.phone{font-size:28px}.closing{padding:40px 6%;flex-wrap:wrap;gap:20px}.closing>span{font-size:45px}.closing h2{font-size:28px;flex:1}.closing>.button{margin-left:65px}footer{padding:35px 6% 90px;flex-wrap:wrap}footer>span{font-size:9px;max-width:130px}footer>div{flex-basis:100%;justify-content:space-between}.mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;background:var(--green);color:var(--paper);text-align:center;padding:15px 10px calc(15px + env(safe-area-inset-bottom));font-size:12px;z-index:20;border-top:1px solid #ffffff30}.price-note{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Readability, touch targets, and stable responsive layouts. */
img{height:auto}.hero-visual>img,.photo-open img{height:100%}.visit{align-items:start}.visit-details{margin-top:50px;grid-template-columns:1fr;gap:30px}.visit-details h3{font-size:15px}.visit-details address,.visit-details p,.visit-details .text-link{font-size:13px}.visit-details dl>div{display:flex;justify-content:space-between;gap:20px;font-size:13px}.visit-details small{font-size:11px}.section-heading>p,.about-copy p,.hero-copy>p{font-size:15px}.price-note,.review-note,.gallery-note{font-size:11px}.image-caption,.photo-label{font-size:10px}.tabs button{min-height:48px}.tabs{overflow-x:auto}.menu-main{min-width:0}.text-link{min-height:30px;align-items:center}header nav a{font-size:13px}.stars{color:#80682d}h1 em,h2 em{color:#65734b}.gallery-grid .photo-open{aspect-ratio:1/1}.close-dialog{width:44px;height:44px}.skip:focus{padding:10px 20px}.about-photo .photo-open{aspect-ratio:4/3}body:has(dialog[open]){overflow:hidden}noscript p{font-size:13px}noscript a{text-decoration:underline}
@media(max-width:760px){.hero-copy>p{font-size:14px}.hero .actions{flex-wrap:nowrap;gap:16px}.hero .actions .button{padding:15px 18px;gap:20px;flex-shrink:0}.hero .actions .text-link{font-size:11px;gap:12px}h1{font-size:clamp(52px,15vw,65px)}.section{padding-top:48px;padding-bottom:48px}.visit-details{margin-top:0;grid-template-columns:1fr 1fr;gap:24px}.visit-details dl>div{display:block;font-size:12px}.visit-details address,.visit-details p{font-size:12px}.visit-details small{font-size:10px}.review-grid article>p{font-size:14px}.about-copy p{font-size:14px}.price-note,.gallery-note,.review-note{font-size:11px}.image-caption{font-size:8px}.hero-rating{font-size:11px;flex-wrap:wrap;gap:8px}.gallery-grid .photo-open>span{font-size:11px}.photo-label{font-size:8px}.nav-toggle{min-width:44px;min-height:44px}.mobile-call{min-height:50px}.section-heading>p{font-size:14px}}
@media(max-width:360px){.hero .actions{flex-wrap:wrap}.visit-details{grid-template-columns:1fr}.announcement{font-size:7px}.hero-visual{margin-left:20px}.seal{left:-20px}header{gap:8px}.wordmark{min-width:102px;font-size:25px}header>.button{padding:10px;gap:10px}.closing>.button{margin-left:0}}
.about>* , .hero>* , .visit>* , .gallery-grid>*{min-width:0}.about{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.visit{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
@media(max-width:760px){.about,.hero,.visit{grid-template-columns:minmax(0,1fr)}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.mobile-menu-link{display:none}@media(max-width:760px){.mobile-menu-link{display:inline-flex;margin-top:20px}}

/* Footer-only Tompion Studio credit; keep shared header branding unchanged. */
footer{flex-wrap:wrap}
footer .tompion-footer-credit{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;max-width:100%;vertical-align:middle;flex-shrink:0}
footer .tompion-footer-credit img{display:block;width:124px;max-width:100%;height:auto;object-fit:contain}
footer .tompion-footer-credit:focus-visible{outline:2px solid currentColor;outline-offset:4px;border-radius:2px}
