:root{--ink:#183b33;--cream:#f8f6ef;--gold:#b59356;--line:#d6d9cf;--muted:#64736a}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.65 Arial,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--gold);outline-offset:5px}header{display:flex;align-items:center;justify-content:space-between;padding:24px 5%;border-bottom:1px solid var(--line);gap:25px}.brand{display:flex;align-items:center;gap:12px;font-size:17px;letter-spacing:2px;font-weight:700;line-height:1.2}.brand small{display:block;font-size:8px;letter-spacing:2.4px;margin-top:8px}.brandmark{border:1px solid var(--gold);padding:9px;font-family:Georgia,serif;font-size:26px;font-weight:400;color:var(--gold)}nav{display:flex;gap:28px;font-size:13px}.nav-cta{border-bottom:1px solid var(--ink);padding:8px 0;font-weight:700;font-size:14px}.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:690px}.hero-copy{padding:90px 8% 65px 10%}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 24px;color:var(--muted)}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-2px;line-height:1.07;margin:0 0 28px}h1{font-size:clamp(42px,4.5vw,76px)}h1 em{font-weight:400;color:#7a865f}h2{font-size:clamp(38px,4vw,60px)}h3{font-size:21px;line-height:1.3;font-weight:500;margin:0 0 12px}.intro{max-width:450px;font-size:17px}.muted{color:var(--muted);font-size:14px}.actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;padding:17px 23px;background:var(--ink);color:white;border:1px solid var(--ink);font-size:13px;font-weight:600;transition:background .2s,transform .2s}.button:hover{background:#31574c;transform:translateY(-2px)}.textlink{font-size:13px;border-bottom:1px solid var(--ink)}.hero-proof{display:flex;align-items:center;gap:12px;margin-top:46px;font-size:12px;flex-wrap:wrap}.stars{letter-spacing:2px;color:var(--gold)}.hero-image{position:relative;min-height:650px;overflow:hidden;background:#bac5b1}.hero-image>img{height:100%;width:100%;position:absolute;object-fit:cover;object-position:top;filter:brightness(.88)}.photo-label{position:absolute;bottom:30px;left:30px;right:30px;background:#f8f6efed;display:flex;flex-direction:column;padding:22px 25px}.photo-label span{font-size:9px;letter-spacing:2px;color:var(--muted)}.photo-label strong{font-family:Georgia,serif;font-size:24px;font-weight:400;margin:3px 0}.photo-label a{font-size:11px}.ribbon{display:flex;justify-content:space-around;align-items:center;padding:26px 5%;gap:16px;background:var(--ink);color:#eee9da;font-family:Georgia,serif;font-size:21px}.ribbon i{color:var(--gold);font-size:16px}.section{padding:100px 7%}.expertise{display:grid;grid-template-columns:1fr 1.3fr;gap:10%}.section-title>p:last-child{color:var(--muted);max-width:330px;font-size:14px}.services article{display:flex;gap:25px;border-top:1px solid var(--line);padding:26px 0}.services article>span{font-size:11px;color:var(--gold)}.services article p{margin:0;color:var(--muted);font-size:14px}.services article b{margin-left:auto;font-weight:400}.portfolio{background:#efefe6}.section-head{display:flex;justify-content:space-between;gap:40px;align-items:flex-end;margin-bottom:36px}.section-head h2{margin-bottom:0}.section-head>p{font-size:14px;color:var(--muted)}.filters{display:flex;gap:9px;flex-wrap:wrap;margin:35px 0}.filters button{background:transparent;border:1px solid #b9c2b4;border-radius:30px;padding:9px 18px;color:var(--ink);font-size:12px}.filters button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.work{margin:0}.work button{width:100%;border:0;padding:0;background:#dadfd3;display:block;overflow:hidden;position:relative}.work img{display:block;width:100%;height:350px;object-fit:cover;object-position:top;transition:transform .4s}.work button:hover img{transform:scale(1.035)}.work button:after{content:'↗';position:absolute;right:14px;bottom:14px;background:var(--cream);width:34px;height:34px;display:grid;place-items:center}.work figcaption{padding:15px 0}.work figcaption small{display:block;font-size:9px;letter-spacing:1.7px;text-transform:uppercase;color:var(--muted)}.work figcaption strong{font-size:15px;font-weight:500;line-height:1.4;display:block;margin-top:4px}.more{display:flex;margin:40px auto 0}.testimonials .rating{text-align:right}.rating strong{font:64px Georgia,serif}.rating strong span{font-size:24px;color:var(--muted)}.rating p{font-size:12px;margin:6px 0}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.review{border-top:1px solid var(--gold);padding:30px 0;display:flex;flex-direction:column}.review blockquote{font:22px/1.5 Georgia,serif;margin:20px 0;flex:1}.review p{font-size:12px;margin:10px 0}.review small{color:var(--muted)}.review-source{border-top:1px solid var(--line);padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:var(--muted)}.review-source a{text-decoration:underline}.process{border-top:1px solid var(--line)}.process ol{display:grid;grid-template-columns:repeat(3,1fr);padding:0;list-style:none;gap:55px;margin-top:40px}.process li b{display:block;font:40px Georgia,serif;color:var(--gold);margin-bottom:20px}.process li p{font-size:14px;color:var(--muted)}.contact{background:var(--ink);color:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:12%}.contact .eyebrow{color:#bec6af}.contact h2{font-size:64px}.contact>div>p{font-size:14px}.phone{display:block;font:30px Georgia,serif;margin:35px 0 12px}.email{font-size:13px;overflow-wrap:anywhere}.light{background:var(--cream);color:var(--ink);border-color:var(--cream)}.light:hover{background:#e4e7d9}.contact form{background:#ffffff0a;padding:30px;border:1px solid #ffffff25}.contact form>p{font-size:12px;color:#c6cfc3}.contact label{display:block;font-size:11px;margin:15px 0}.contact input,.contact textarea,.contact select{width:100%;border:0;border-bottom:1px solid #ffffff55;border-radius:0;background:transparent;color:var(--cream);padding:10px 0;font-size:13px;resize:vertical}.contact select option{color:var(--ink)}.contact input::placeholder,.contact textarea::placeholder{color:#b5c0b5}.formrow{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact form small{display:block;font-size:10px;color:#c6cfc3;line-height:1.5;margin-top:15px}footer{display:flex;padding:40px 5%;gap:35px;justify-content:space-between;align-items:center;font-size:10px}footer .brand{font-size:13px}footer button{background:transparent;border:0;text-decoration:underline;color:var(--ink);font-size:10px}dialog{border:0;padding:35px;background:var(--cream);color:var(--ink);max-height:90vh;max-width:800px;width:90%;box-shadow:0 10px 80px #0004}dialog::backdrop{background:#0b221ee8}.close{position:absolute;top:8px;right:12px;border:0;background:var(--cream);color:var(--ink);font-size:27px;width:36px;height:36px;z-index:2}#lightbox{text-align:center;width:auto;max-width:95vw;padding:14px}#lightbox img{max-width:85vw;max-height:76vh;display:block;margin:auto}#lightbox p{font-size:12px;margin:8px}#legal p{font-size:14px}#legal h2{font-size:36px;margin-top:20px}@media(min-width:1600px){body{max-width:1800px;margin:auto}}@media(max-width:1000px){header{padding:20px 4%}nav{gap:16px}.hero-copy{padding:65px 8%}.hero{min-height:620px}.hero-image{min-height:620px}.section{padding:75px 5%}.gallery{gap:20px}.work img{height:280px}.expertise{gap:7%}.contact{gap:7%}.contact h2{font-size:52px}.ribbon{font-size:17px}}@media(max-width:700px){header{flex-wrap:wrap;padding:18px 5%;gap:18px}header nav{order:3;width:100%;justify-content:center;padding-top:10px;border-top:1px solid var(--line)}.brand{font-size:13px}.brand small{font-size:7px}.brandmark{font-size:20px}.nav-cta{font-size:11px}.hero{grid-template-columns:1fr}.hero-copy{padding:48px 6%}.hero h1{font-size:48px}.hero-image{min-height:470px}.hero-image>img{object-position:top}.hero-proof{margin-top:30px}.ribbon{font-size:14px;flex-wrap:wrap;gap:14px;padding:22px}.ribbon i{display:none}.section{padding:60px 6%}.expertise{grid-template-columns:1fr;gap:30px}.section-head{align-items:flex-start;gap:25px;flex-direction:column}.section-head h2{font-size:44px}.section-head>p{margin:0}.gallery{grid-template-columns:repeat(2,1fr);gap:14px}.work img{height:240px}.work figcaption strong{font-size:12px}.work figcaption small{font-size:8px}.filters{gap:7px}.filters button{padding:7px 13px;font-size:11px}.reviews{grid-template-columns:1fr;gap:5px}.review blockquote{font-size:23px}.testimonials .section-head{flex-direction:row}.testimonials .section-head h2{font-size:36px}.rating strong{font-size:44px}.rating p{font-size:10px}.rating .stars{font-size:10px}.review-source{flex-direction:column}.process ol{grid-template-columns:1fr;gap:20px}.process li{position:relative;padding-left:65px}.process li b{position:absolute;left:0;top:0;font-size:32px}.contact{grid-template-columns:1fr;gap:40px}.contact h2{font-size:52px}.contact form{padding:22px}.formrow{grid-template-columns:1fr;gap:0}footer{flex-wrap:wrap;padding:30px 6%;gap:18px}footer p{margin:0}.photo-label{bottom:18px;left:18px;right:18px}.eyebrow{font-size:9px;letter-spacing:1.5px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
[hidden]{display:none!important}

.service-links{margin-top:12px!important}.service-links a{text-decoration:underline;text-underline-offset:4px}.local-area{border-top:1px solid var(--line)}.local-area>p:not(.eyebrow){max-width:800px;color:var(--muted)}.breadcrumbs{padding:14px 5%;font-size:11px;border-bottom:1px solid var(--line)}.breadcrumbs a{text-decoration:underline}.faq{max-width:1000px;margin:auto}.faq details{border-top:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-size:18px}.faq details p{color:var(--muted);font-size:15px}.service-gallery{margin-top:35px}.work>a{display:block;overflow:hidden}.work>a:hover img{transform:scale(1.035)}.work img{max-width:100%}
