﻿@font-face{font-family:Lora;src:url('assets/lora.ttf') format('truetype');font-weight:400 600;font-display:swap}
@font-face{font-family:Outfit;src:url('assets/outfit.ttf') format('truetype');font-weight:400 600;font-display:swap}
:root{--ivory:#f5f1e6;--sand:#e6dece;--olive:#38402d;--olive-deep:#272f21;--charcoal:#292d27;--muted:#5d6254;--gold:#7c602d;--gold-soft:#c8b887;--light-text:#dce1ce;--line:#bcc3ae;--display:Lora,Georgia,serif;--body:Outfit,Arial,sans-serif;--gutter:max(clamp(20px,5vw,76px),env(safe-area-inset-left),env(safe-area-inset-right));--section:clamp(72px,9vw,132px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;color-scheme:light;scrollbar-color:var(--olive) var(--ivory)}body{margin:0;background:var(--ivory);color:var(--charcoal);font:16px/1.8 var(--body);-webkit-font-smoothing:antialiased}::selection{background:var(--olive);color:var(--ivory)}a{color:inherit;text-decoration:none;text-underline-offset:.3em}a,button{touch-action:manipulation;-webkit-tap-highlight-color:#7c602d33}button{font:inherit}a:focus-visible,button:focus-visible,[tabindex='-1']:focus-visible{outline:3px solid var(--gold);outline-offset:6px}.about a:focus-visible,.footer a:focus-visible{outline-color:var(--gold-soft)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--display);font-weight:400;letter-spacing:-.025em;text-wrap:balance;line-height:1.17}h1{font-size:clamp(44px,5.1vw,70px)}h2{font-size:clamp(34px,4.3vw,58px)}h3{font-size:clamp(27px,3.1vw,40px)}h1 em,h2 em{font-style:normal;color:var(--gold)}p{text-wrap:pretty}img{max-width:100%;height:auto;display:block;background:var(--sand)}.wrap{width:min(1240px,calc(100% - var(--gutter)*2));margin-inline:auto}.section{padding-block:var(--section)}section[id],main[id]{scroll-margin-top:24px}.icon{width:21px;height:21px;flex:0 0 21px;vertical-align:middle;stroke-linecap:round;stroke-linejoin:round}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;top:12px;left:12px;z-index:10;background:var(--olive);color:var(--ivory);padding:14px 20px;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.demo-note{padding:8px var(--gutter);background:var(--sand);font-size:10px;line-height:1.7;text-align:center;color:var(--olive)}.demo-note span{display:inline-block;margin-left:6px}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:40px;min-height:110px;border-bottom:1px solid var(--line)}.brand{font:500 24px/1.2 var(--display);letter-spacing:-.025em;color:var(--olive);flex-shrink:0}.brand>span{display:block;font:400 9px/1.6 var(--body);letter-spacing:.25em;margin-top:5px}.brand>small{display:block;font:10px/1.5 var(--body);margin-top:5px;letter-spacing:0;color:var(--muted)}#main-nav{display:flex;gap:28px;align-items:center;font-size:13px}#main-nav a{display:flex;gap:14px;align-items:center;min-height:44px}#main-nav a:hover{color:var(--gold)}.nav-call{border-bottom:1px solid var(--olive)}.menu-toggle{display:none}
.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:8%;align-items:center;padding-block:52px 64px}.hero-copy{grid-column:2;grid-row:1;padding-block:30px}.hero h1{color:var(--olive)}.hero-copy>p{font-size:16px;color:var(--muted);margin-top:28px;line-height:1.85}.hero>.photo{grid-column:1;grid-row:1}.hero>.photo img{height:570px;object-fit:cover;object-position:59% center;width:100%}.photo{min-width:0}.photo figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 20px;font-size:12px;margin-top:16px;line-height:1.6}.photo small{font-size:10px;color:var(--muted)}.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button{min-height:56px;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 22px;border:1px solid transparent;border-radius:3px;font-size:13px;font-weight:500;line-height:1.6}.primary{background:var(--olive);color:var(--ivory)}.primary:hover{background:var(--olive-deep)}.secondary{border-color:#74806a;color:var(--olive)}.secondary:hover{background:var(--sand)}.text-link{display:inline-flex;gap:16px;align-items:center;min-height:44px;border-bottom:1px solid currentColor;padding-block:10px;font-size:13px;width:fit-content;margin-top:22px}.text-link:hover{color:var(--gold)}.hero-copy>.text-link{margin-top:28px}.location-strip{background:var(--sand);padding-block:16px;color:var(--olive)}.location-strip>.wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:12px}.location-strip a{display:flex;gap:20px;align-items:center;min-height:44px}.location-strip a:hover{color:var(--gold)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:64px;margin-bottom:48px}.section-head>*{min-width:0}.section-head>p{max-width:34ch;font-size:15px;color:var(--muted)}.section-head h2,.visit h2{color:var(--olive)}.service-list{border-top:1px solid var(--line)}.service-list article{display:grid;grid-template-columns:1fr 1.1fr;align-items:start;gap:12%;padding-block:36px;border-bottom:1px solid var(--line)}.service-list h3{color:var(--olive)}.service-list p{max-width:46ch;color:var(--muted);font-size:15px}.service-list .text-link{margin-top:16px}.fine-print{font-size:12px;color:var(--muted);line-height:1.8;margin-top:24px;max-width:78ch}.about{background:var(--olive);color:var(--ivory);padding-block:var(--section);color-scheme:dark}.about-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:10%}.about h2 em{color:var(--gold-soft)}.about-lead{font-size:18px;color:var(--light-text);margin-top:26px}.about-copy{padding-top:8px}.about-copy>p{color:var(--light-text);max-width:47ch}.about-copy>p+p{margin-top:20px}.about-copy .text-link{margin-top:28px}.about .text-link:hover{color:var(--gold-soft)}
.gallery{display:grid;grid-template-columns:1.35fr 1fr;align-items:start;gap:7%}.gallery .photo-style img{width:100%;aspect-ratio:5/4;object-fit:cover;object-position:65% center}.gallery .photo-detail{margin-top:80px}.gallery .photo-detail img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 40%}.gallery .photo figcaption{font-size:15px}.reviews{background:var(--sand);padding-block:clamp(64px,8vw,106px)}.review-layout{display:flex;justify-content:space-between;align-items:center;gap:64px}.review-layout>div{min-width:0}.reviews h2{font-size:clamp(34px,4vw,54px);color:var(--olive)}.review-layout>div>p{margin-top:24px;font-size:15px;color:var(--muted)}.review-action{flex-shrink:0}.review-action p{font-size:12px!important;line-height:1.8;margin-top:18px!important}.visit{display:grid;grid-template-columns:1fr 1.15fr;gap:8%;align-items:start}.visit>div{min-width:0}.visit h2{font-size:clamp(34px,4vw,54px)}address{font-style:normal;font-size:16px;line-height:1.9;margin-top:28px}address strong{font-weight:500}.phone-number{display:inline-flex;align-items:center;min-height:44px;font-size:25px;margin-top:22px;text-decoration:underline;color:var(--olive);letter-spacing:-.025em}.phone-number:hover{color:var(--gold)}.visit .fine-print{max-width:44ch}.map-panel iframe{display:block;width:100%;max-width:100%;height:450px;border:0;background:var(--sand)}.map-link{display:flex;align-items:center;justify-content:space-between;min-height:56px;gap:20px;border-bottom:1px solid var(--line);font-size:13px;padding-block:14px}.map-link:hover{color:var(--gold)}.map-panel>.fine-print{font-size:11px;max-width:100%;margin-top:16px}
.footer{padding:64px 0 max(24px,env(safe-area-inset-bottom));background:var(--olive-deep);color:var(--ivory);color-scheme:dark}.footer-layout{display:grid;grid-template-columns:1.4fr .7fr 1fr;gap:48px;padding-bottom:40px}.footer-brand{font:400 clamp(27px,3vw,40px)/1.2 var(--display);letter-spacing:-.025em}.footer-layout p{font-size:13px;line-height:1.8;color:var(--light-text);margin-top:16px}.footer-layout small{font-size:10px;color:var(--light-text)}.footer nav{display:flex;flex-direction:column;align-items:start}.footer nav a,.footer-phone,.back-top{display:inline-flex;align-items:center;min-height:44px;font-size:13px;gap:16px}.back-top{margin-top:18px}.footer a:hover{color:var(--gold-soft)}.footer-disclosure{font-size:11px;line-height:1.8;color:var(--light-text);border-top:1px solid #7c8870;padding-top:24px;max-width:110ch}
@media(prefers-reduced-motion:no-preference){.hero-copy{animation:settle 650ms cubic-bezier(.16,1,.3,1) both}@keyframes settle{from{opacity:.85;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}}
@media(max-width:1100px){#main-nav{gap:20px}.nav-call{display:none!important}.hero{gap:6%}.hero>.photo img{height:540px}.hero-copy .actions{flex-direction:column;align-items:start}.hero-copy .button{min-width:205px}.about-layout{gap:7%}.gallery{gap:6%}.footer-layout{gap:28px}.visit{gap:6%}}
@media(max-width:800px){.header-inner{flex-wrap:wrap;padding-block:20px;min-height:90px;gap:20px}.menu-toggle:not([hidden]){display:flex;align-items:center;gap:16px;min-height:48px;padding:10px 14px;border:1px solid #74806a;border-radius:3px;color:var(--olive);background:transparent;font-size:13px;cursor:pointer;margin-left:auto}.menu-toggle>span{height:10px;width:18px;border-top:1px solid currentColor;border-bottom:1px solid currentColor}.menu-toggle[aria-expanded='true']>span{height:1px;border-bottom:0;transform:rotate(-45deg)}.menu-toggle:hover{background:var(--sand)}#main-nav{flex:1 1 100%;flex-wrap:wrap;gap:4px 24px;border-top:1px solid var(--line);padding-top:12px}.nav-call{display:flex!important}.hero{gap:5%;padding-top:36px}.hero h1{font-size:clamp(38px,5.7vw,48px)}.hero-copy>p{font-size:15px}.hero>.photo img{height:500px}.section-head{align-items:start;flex-direction:column;gap:24px}.section-head>p{max-width:55ch}.service-list article{gap:8%}.about-layout{grid-template-columns:1fr;gap:32px}.about-copy{max-width:65ch}.about-copy>p{max-width:65ch}.gallery .photo-detail{margin-top:55px}.review-layout{flex-direction:column;align-items:start;gap:28px}.visit{grid-template-columns:1fr;gap:40px}.visit .fine-print{max-width:65ch}.map-panel iframe{height:400px}.footer-layout{grid-template-columns:1fr 1fr}.footer-layout>div:first-child{grid-column:1/-1}}
#main-nav[hidden]{display:none}
@media(max-width:700px){.demo-note{font-size:9px}.demo-note span{margin:0}.brand{font-size:21px}.hero{grid-template-columns:1fr;gap:32px;padding-block:36px 44px}.hero-copy{grid-column:1;grid-row:1;padding-block:8px 0}.hero h1{font-size:clamp(40px,8.8vw,58px)}.hero-copy>p{font-size:16px;margin-top:24px}.hero-copy .actions{flex-direction:row;align-items:stretch;gap:10px;margin-top:24px}.hero-copy .button{min-width:0;flex:1 1 145px;padding-inline:16px;font-size:12px;gap:14px}.hero-copy>.text-link{margin-top:18px}.hero>.photo{grid-column:1;grid-row:2}.hero>.photo img{height:350px;object-position:center center}.photo figcaption{font-size:11px}.location-strip>.wrap{align-items:start;font-size:11px;gap:20px}.location-strip>.wrap>span{padding-top:11px;max-width:55%}.location-strip a{font-size:11px;gap:10px}.section-head{margin-bottom:32px}.service-list article{grid-template-columns:1fr;gap:20px;padding-block:28px}.service-list h3{font-size:32px}.service-list p{font-size:15px}.fine-print{font-size:11px}.about h2{font-size:clamp(33px,7.8vw,45px)}.about-lead{font-size:16px}.about-copy>p{font-size:15px}.gallery{grid-template-columns:1fr 1fr;gap:18px}.gallery .photo-style img{aspect-ratio:4/5}.gallery .photo-detail{margin-top:45px}.gallery .photo figcaption{font-size:12px}.gallery .photo small{font-size:9px}.reviews h2{font-size:clamp(33px,7.8vw,44px)}.reviews .button{font-size:12px;padding-inline:18px;gap:18px}.map-panel iframe{height:340px}.footer-layout{gap:28px 20px}.footer-brand{font-size:31px}.footer-layout p{font-size:12px}#main-nav{flex-direction:column;align-items:stretch}#main-nav a{border-bottom:1px solid var(--line);padding-block:10px;min-height:46px}#main-nav .nav-call{border-bottom:0}}
@media(max-width:360px){.brand{font-size:19px}.menu-toggle:not([hidden]){padding-inline:10px}.hero h1{font-size:38px}.hero-copy .actions{flex-direction:column}.hero-copy .button{flex:auto}.location-strip>.wrap{flex-direction:column;gap:0}.location-strip>.wrap>span{max-width:100%}.gallery{grid-template-columns:1fr}.gallery .photo-detail{margin:0 0 0 12%}.footer-layout{grid-template-columns:1fr}.footer-layout>div:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

.about:focus-visible{outline-color:var(--gold-soft)}
