*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f5ef;color:#20211e;font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:3px solid #b38a29;outline-offset:5px}img{max-width:100%;display:block}header{background:#fff;border-bottom:1px solid #ddd9ce}.nav{max-width:1280px;margin:auto;padding:14px 40px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:14px}.brand img{width:128px;height:128px;object-fit:contain}.brand span{font-size:19px;font-weight:800;letter-spacing:1px}.brand small{display:block;font-size:9px;color:#80631f;letter-spacing:3px}.links{display:flex;gap:30px;align-items:center;font-size:14px}.links a[aria-current]{border-bottom:2px solid #b38a29}.btn{display:inline-flex;justify-content:center;align-items:center;background:#c49a36;color:#151713;padding:14px 25px;font-size:13px;font-weight:700;letter-spacing:.5px;border:1px solid #c49a36;gap:15px}.btn:hover{background:#ddbb6a;text-decoration:none}.btn.outline{background:transparent;border-color:#aaa899;color:inherit}.nav .btn{padding:10px 18px}.wrap{max-width:1200px;margin:auto;padding:0 40px}.hero{background:#171b18;color:#fff;position:relative;min-height:620px;display:grid;grid-template-columns:1.04fr 1fr}.hero-copy{padding:75px max(40px,calc((100vw - 1200px)/2 + 40px));padding-right:55px;position:relative;z-index:1}.eyebrow{color:#99701f;font-size:11px;letter-spacing:2.6px;text-transform:uppercase;font-weight:700;margin:0 0 20px}.hero .eyebrow{color:#d5b766}.hero h1{font-family:Georgia,serif;font-size:clamp(48px,5.7vw,80px);font-weight:400;line-height:1.04;letter-spacing:-3px;margin:0 0 25px}.hero h1 em{color:#d5b766;font-weight:400}.hero p{color:#cfcec7;max-width:450px;font-size:16px}.hero-photo{position:relative;min-height:500px;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:60% center;position:absolute;filter:brightness(.78)}.photo-note{position:absolute;bottom:30px;left:30px;right:30px;border-top:1px solid #ffffff60;padding-top:16px;font-size:10px;letter-spacing:2px;color:#fff}.actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0}.trust{display:flex;align-items:center;gap:15px;margin-top:35px;font-size:12px;color:#d9d7cd}.stars{color:#d4ae50;letter-spacing:3px}.strip{border-bottom:1px solid #d6d2c6}.strip .wrap{display:flex;justify-content:space-between;padding-top:22px;padding-bottom:22px;gap:24px;font-size:12px}.strip strong{font-weight:600}.section{padding-top:85px;padding-bottom:85px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}h2{font:400 clamp(33px,4vw,48px)/1.15 Georgia,serif;letter-spacing:-1.5px;margin:0 0 18px}h3{font:400 25px/1.3 Georgia,serif;margin:0 0 12px}p{margin:0 0 20px}.muted{color:#66685f}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #d1cec3;border-bottom:1px solid #d1cec3}.service{padding:30px 30px 30px 0}.service+.service{border-left:1px solid #d1cec3;padding-left:30px}.number{display:block;color:#9a7524;font-size:12px;letter-spacing:1px;margin-bottom:30px}.service p{font-size:14px;color:#62645c}.text-link{font-size:13px;font-weight:700;border-bottom:1px solid #a78536;padding-bottom:5px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.dark{background:#20261f;color:#f7f5ef}.dark .eyebrow{color:#d4b565}.dark .muted{color:#c5c8bd}.rating{font:400 100px/1 Georgia,serif}.rating-panel{border-left:1px solid #ffffff40;padding-left:60px}.quote{font:400 27px/1.5 Georgia,serif;margin:25px 0}.byline{font-size:12px;color:#c6c9bf}.visit{display:flex;justify-content:space-between;align-items:center;gap:30px}.visit h2{max-width:600px}.footer{background:#121712;color:#e2e2d8;padding:50px 0 24px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer h3{font-size:26px}.footer p,.footer a{font-size:13px;color:#c2c5ba}.footer nav{display:flex;flex-direction:column;gap:8px}.fine{font-size:11px;color:#a0a697;border-top:1px solid #ffffff25;margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;gap:15px}.page-intro{padding:65px 0 50px;border-bottom:1px solid #d6d2c6}.page-intro h1{font:400 clamp(44px,6vw,70px)/1.1 Georgia,serif;letter-spacing:-2px;max-width:850px;margin:0 0 20px}.page-intro p{max-width:660px;color:#67695e}.breadcrumbs{font-size:11px;letter-spacing:1px;color:#777b6f;margin-bottom:35px}.service-list{display:grid;grid-template-columns:1fr 1fr;gap:0 60px}.service-row{padding:30px 0;border-bottom:1px solid #d1cec3;display:flex;gap:25px}.service-row .number{padding-top:5px}.service-row p{color:#65685d;font-size:15px}.note{padding:25px 30px;border-left:3px solid #b58c32;background:#eae7dd;margin-top:35px}.faq{max-width:850px}.faq details{border-bottom:1px solid #d1cec3;padding:20px 0}.faq summary{cursor:pointer;font-weight:600}.faq details p{padding-top:18px;color:#66685f}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.review{border-top:1px solid #aaa694;padding-top:28px}.review blockquote{margin:20px 0;font:26px/1.5 Georgia,serif}.review cite{font-style:normal;font-size:13px}.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:65px}.contact-block{padding:25px 0;border-bottom:1px solid #d1cec3}.contact-block h2{font:22px Georgia,serif;letter-spacing:0}.location-panel{background:#e7e7dc;padding:45px;display:flex;flex-direction:column;justify-content:center;min-height:430px;border:1px solid #d4d5c7}.pin{font-size:60px;color:#917124;line-height:1;margin-bottom:30px}.location-panel h2{font-size:45px}.pill{display:inline-block;font-size:10px;letter-spacing:1px;border:1px solid #b8bba9;padding:7px 12px;margin-bottom:25px}.mobile-call{display:none}.skip{position:absolute;left:-10000px}.skip:focus{left:10px;top:10px;background:white;padding:10px;z-index:10}@media(max-width:800px){.nav{padding:12px 20px;flex-wrap:wrap;gap:10px}.brand img{width:52px;height:52px}.brand span{font-size:15px}.links{gap:18px;font-size:12px;flex:1;justify-content:flex-end}.nav .btn{display:none}.wrap{padding-left:24px;padding-right:24px}.hero{grid-template-columns:1fr}.hero-copy{padding:50px 24px}.hero h1{font-size:61px}.hero-photo{min-height:300px}.strip .wrap{flex-wrap:wrap;gap:12px}.section{padding-top:55px;padding-bottom:55px}.section-head{display:block}.section-head>a{display:inline-block;margin-top:10px}.service-grid{grid-template-columns:1fr}.service+.service{border-left:0;border-top:1px solid #d1cec3;padding-left:0}.service{padding:25px 0}.number{margin-bottom:15px}.split,.contact-layout,.review-grid{grid-template-columns:1fr;gap:35px}.rating-panel{padding-left:0;border-left:0;border-top:1px solid #ffffff40;padding-top:30px}.visit{display:block}.visit .btn{margin-top:20px}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.fine{flex-direction:column}.service-list{grid-template-columns:1fr}.page-intro{padding-top:40px}.location-panel{padding:28px;min-height:330px}.mobile-call{display:block;position:fixed;bottom:0;background:#c49a36;color:#171a15;width:100%;text-align:center;padding:13px;z-index:5;font-size:13px;font-weight:700}.footer{padding-bottom:75px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.gallery{display:grid;grid-template-columns:minmax(0,300px) minmax(0,600px);gap:32px;align-items:center;justify-content:start}.gallery figure{margin:0;min-width:0}.gallery img{display:block;width:100%;height:auto;object-fit:contain}.hours{width:100%;border-collapse:collapse;font-size:14px}.hours th,.hours td{text-align:left;padding:9px 0;border-bottom:1px solid #d1cec3}.hours td{text-align:right}@media(max-width:650px){.gallery{grid-template-columns:1fr;justify-items:center}.gallery figure{width:100%;max-width:400px}}.about-home{background:#eeece3}.home-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px}.home-services .service{padding:28px 0;border:0;border-top:1px solid #d1cec3}.map-block{min-width:0}.map-block iframe{width:100%;height:380px;display:block;border:1px solid #d1cec3;background:#e7e7dc}.map-block p{margin-top:16px;font-size:13px}.second-review{margin-top:28px;padding-top:25px;border-top:1px solid #ffffff30}.second-review .quote{font-size:23px;margin:15px 0}@media(max-width:800px){.home-services{grid-template-columns:1fr}.map-block iframe{height:300px}}