@import url('https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&family=Source+Sans+3:wght@400;500;600;700&display=swap');
:root{--cream:#f5f0e6;--paper:#fffaf0;--ink:#32261d;--muted:#6c5a48;--brass:#b79151;--green:#354c43;--line:#d7c9b4}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:18px/1.65 'Source Sans 3',Arial,sans-serif}h1,h2,h3,.brand{font-family:'Libre Baskerville',Georgia,serif;font-weight:400}h1{font-size:clamp(2.3rem,4vw,4.25rem);line-height:1.17;margin:.4em 0}h2{font-size:clamp(1.75rem,3vw,2.7rem);line-height:1.25;margin:.3em 0 .6em}h3{font-size:1.3rem;line-height:1.4}p{margin:0 0 1.1em}a{color:inherit;text-underline-offset:4px}a:hover{color:#795923}a:focus-visible,summary:focus-visible{outline:3px solid var(--brass);outline-offset:5px}img{display:block;width:100%;height:auto}figure{margin:0}figcaption{font-size:1rem;color:var(--muted);margin-top:.6rem}header{max-width:1240px;margin:auto;padding:32px 40px 25px}.masthead{display:flex;justify-content:space-between;align-items:center;gap:20px}.brand{text-decoration:none;font-size:clamp(1.55rem,3.2vw,2.5rem);line-height:1.2}.brand small{display:block;font:600 .8rem/1.4 'Source Sans 3',Arial,sans-serif;letter-spacing:.18em;margin-top:9px;color:var(--muted);text-transform:uppercase}.phone{text-align:right}.phone a{font-size:1.3rem;font-weight:600;text-decoration:none}.phone small{display:block;font-size:.88rem;color:var(--muted)}nav{display:flex;gap:14px;margin-top:28px}nav a{flex:1;text-align:center;background:linear-gradient(#21190b3a,#21190b55),url('/assets/wood.jpg') center/cover;color:#fff7e6!important;text-shadow:0 1px 3px #000;font:1.12rem/1.4 'Libre Baskerville',Georgia,serif;padding:16px 12px;text-decoration:none;border:1px solid #5c4937;box-shadow:0 3px 5px #2e241c24;position:relative}nav a:before,nav a:after{content:'';position:absolute;width:5px;height:5px;background:#362d24;border-radius:50%;top:50%}nav a:before{left:10px}nav a:after{right:10px}nav a:hover{filter:brightness(1.18)}nav a[aria-current]{box-shadow:inset 0 -4px var(--brass),0 3px 5px #2e241c24}main{max-width:1240px;margin:auto;padding:0 40px 64px}.eyebrow{text-transform:uppercase;letter-spacing:.17em;font-size:.85rem;font-weight:700;color:var(--green);margin-bottom:16px}.hero{display:grid;grid-template-columns:.85fr 1.15fr;background:var(--green);color:var(--cream);margin-top:12px}.hero-copy{padding:50px 38px;display:flex;flex-direction:column;justify-content:center}.hero .eyebrow{color:#dfc698}.hero p{color:#e7e6dc;font-size:1.15rem}.hero-photo{height:100%;min-height:470px;object-fit:cover;object-position:57% center}.button{display:inline-block;width:fit-content;text-decoration:none;padding:12px 23px;background:var(--green);border:1px solid var(--green);color:white;font-size:1rem;font-weight:600}.button:hover{background:#20392f;color:white}.hero .button{background:#dfc698;color:#302418;border-color:#dfc698}.button.outline{background:transparent;color:var(--green)}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.section{padding-top:68px}.split{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.split img{max-height:470px;object-fit:cover}.intro{max-width:710px;margin-bottom:30px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.service{border-top:2px solid var(--brass);padding-top:18px}.service .number{color:#8f6a32;font-size:.85rem;font-weight:700;letter-spacing:.12em}.service h3{margin-top:10px}.service p{font-size:1.05rem;color:var(--muted)}.note{margin-top:32px;padding:25px 30px;background:#e8e4d7;border-left:3px solid var(--green)}.note p:last-child{margin-bottom:0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery img{aspect-ratio:4/3;object-fit:cover}.visit{display:grid;grid-template-columns:1fr auto;align-items:center;gap:25px;padding:32px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:65px}.visit h2{font-size:1.8rem;margin:0 0 10px}.visit p{margin:0;color:var(--muted)}.page-title{padding:36px 0 34px;border-bottom:1px solid var(--line);margin-bottom:40px}.page-title h1{font-size:clamp(2.5rem,5vw,4rem);margin:0 0 15px}.page-title p{max-width:680px;color:var(--muted);margin:0}.quote{font:1.6rem/1.6 'Libre Baskerville',Georgia,serif;color:var(--green);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:30px 0;margin:30px 0}.contact-list{margin:25px 0}.contact-list dt{font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:22px}.contact-list dd{margin:5px 0;overflow-wrap:anywhere}.contact-photo{height:480px;object-fit:cover}details{border-bottom:1px solid var(--line);padding:18px 0}summary{cursor:pointer;font-weight:600;font-size:1.15rem}details p{padding-top:16px;max-width:760px;color:var(--muted)}footer{background:#2d241e;color:#e8deca;padding:32px 40px;font-size:1rem}.footer-inner{max-width:1160px;margin:auto;display:flex;gap:25px;justify-content:space-between;align-items:center}footer strong{font-family:Georgia,serif;font-size:1.3rem}footer p{margin:5px 0}footer a{color:#e8deca}footer .right{text-align:right}.skip{position:absolute;left:10px;top:-100px;background:white;padding:10px;z-index:10}.skip:focus{top:10px}@media(max-width:800px){header{padding:25px 22px 20px}main{padding:0 22px 45px}.masthead{align-items:flex-start}.phone a{font-size:1rem}.phone small{font-size:.78rem}.brand small{font-size:.7rem;letter-spacing:.08em}nav{gap:8px;margin-top:22px}nav a{font-size:.95rem;padding:13px 6px}nav a:before,nav a:after{display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:32px 26px}.hero h1{max-width:540px}.hero-photo{min-height:0;height:auto;aspect-ratio:4/3;object-fit:cover}.split{grid-template-columns:1fr;gap:25px}.three{grid-template-columns:1fr;gap:12px}.section{padding-top:42px}.gallery{grid-template-columns:repeat(2,1fr);gap:16px}.visit{grid-template-columns:1fr;margin-top:42px}.contact-photo{height:auto}.footer-inner{flex-direction:column;align-items:flex-start}footer{padding:30px 22px}footer .right{text-align:left}}@media(max-width:430px){.masthead{flex-direction:column;gap:12px}.phone{text-align:left}.phone small{display:none}.gallery{grid-template-columns:1fr}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}