:root{--navy:#171c24;--ink:#202831;--muted:#596267;--slate:#4a6c76;--sand:#f2efe9;--button:#a94718;--serif:"Instrument Serif",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--light:#f7f5ef;--soft:#c7ccd1;--line:#41464d;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--navy);color:var(--light);font-family:var(--sans);font-size:16px;line-height:1.6}button,input,select,textarea{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,summary{cursor:pointer}button{border-radius:3px}img{display:block;max-width:100%;height:auto}p,h1,h2,h3,figure{margin:0}em{font-weight:400}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #edb085;outline-offset:5px}dialog :focus-visible{outline-color:#953f16}.wrap{width:min(1280px,calc(100% - 112px));margin-inline:auto}.skip-link{position:fixed;top:12px;left:12px;z-index:50;background:var(--light);color:var(--ink);padding:12px;transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{height:104px;position:relative;z-index:5;background:var(--navy)}.navigation{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:block;width:213px;flex-shrink:0}.brand img{width:100%;height:auto}.desktop-nav{display:flex;align-items:center;gap:38px;font-size:14px}.desktop-nav a{padding:12px 0}.desktop-nav a:hover,.footer-main a:hover{color:#edb085}.mobile-nav{display:none}
.home-hero{position:relative;min-height:650px;isolation:isolate;overflow:hidden}.hero-image{position:absolute;right:0;top:0;bottom:0;width:56%;z-index:-1}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 48%}.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,#171c2440 25%,#171c2400 53%),linear-gradient(0deg,var(--navy),#171c2400 22%)}.hero-grid{min-height:650px;display:flex;align-items:center}.hero-copy{width:49%;padding:45px 0 64px}.h1-intro{display:block;font-size:clamp(36px,3.05vw,50px);line-height:1.1;max-width:480px}.h1-emotion{display:block;font-size:clamp(65px,5.65vw,92px);line-height:.99;margin-top:13px;max-width:510px}.h1-emotion em{color:#f4dfce}h1{font-family:var(--serif);font-weight:400;letter-spacing:-1.15px}.hero-summary{font-size:15px;color:#e2e5e8;max-width:370px;margin-top:25px}.hero-actions{display:flex;gap:12px;margin-top:29px;align-items:stretch}.button{display:inline-flex;align-items:center;justify-content:center;min-height:53px;padding:14px 21px;border:1px solid var(--button);border-radius:3px;background:var(--button);color:white;font-size:14px;font-weight:600;line-height:1.3;text-align:center;text-decoration:none;transition:background .15s}.button:hover{background:#853b17;border-color:#853b17}.button.secondary{background:var(--navy);border-color:#88929b}.button.secondary:hover{background:#303844;border-color:var(--light)}.hero-proof{display:flex;align-items:center;gap:24px;margin-top:27px;max-width:400px}.bbb-link{display:block;flex-shrink:0;background:#fff;border-radius:2px;padding:5px}.hero-proof .bbb-link{width:190px}.google-proof{font-size:12px;line-height:1.55;display:flex;flex-direction:column;white-space:nowrap;padding:5px 0}.google-proof strong{font-weight:600;color:var(--light)}.google-proof span{color:var(--soft)}.google-proof:hover{text-decoration:underline;text-underline-offset:4px}
.section{padding-block:90px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:37px}h2{font-family:var(--serif);font-weight:400;font-size:clamp(44px,4.5vw,66px);letter-spacing:-.6px;line-height:1.02}.section-heading p{color:var(--soft);font-size:15px;padding-bottom:4px}.work-photos{display:grid;grid-template-columns:1.5fr 1fr;gap:26px}.work-photos img{width:100%;height:440px;object-fit:cover}.work-photos figure:first-child img{object-position:center}.work-photos figure:last-child img{object-position:center 54%}.work-photos figcaption{font-size:12px;color:var(--soft);margin-top:12px}.work-bottom{display:flex;justify-content:space-between;gap:28px;margin-top:29px;align-items:center;font-size:14px}.work-bottom p{color:var(--soft)}.text-link{text-decoration:underline;text-underline-offset:6px;text-decoration-color:#ad794e;white-space:nowrap}.text-link:hover{color:#edb085}.services{display:grid;grid-template-columns:1.5fr 1fr;gap:90px;border-top:1px solid var(--line);padding-block:82px 98px}.services p{color:var(--soft);font-size:15px;max-width:385px;margin-top:24px}.service-links{display:flex;flex-direction:column;justify-content:center}.service-links a{padding:17px 0;border-bottom:1px solid var(--line);font-size:19px}.service-links a:hover{color:#edb085}.service-links a:first-child{border-top:1px solid var(--line)}footer{border-top:1px solid var(--line)}.footer-main{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:43px 0}.footer-main .brand{width:185px}.footer-phone{font-size:16px;white-space:nowrap}.footer-main nav{display:flex;gap:25px;font-size:12px;flex-wrap:wrap}.footer-bottom{display:flex;justify-content:space-between;gap:25px;font-size:11px;color:var(--soft);padding:0 0 28px}.footer-bottom div{display:flex;gap:22px}
.booking-open{overflow:hidden}.booking-dialog{color-scheme:light;position:fixed;inset:0;width:min(490px,calc(100% - 28px));max-height:calc(100dvh - 28px);padding:60px 30px 32px;border:0;border-radius:3px;background:var(--light);color:var(--ink);margin:auto;overflow:auto}.booking-dialog::backdrop{background:#0d151ded}.booking-close{position:absolute;right:12px;top:10px;min-height:39px;padding:9px 12px;background:#e5e2dc;color:var(--ink);border:0;font-size:12px}.booking-dialog .eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.5px;color:var(--slate);margin-bottom:14px}.booking-dialog h2{font-size:41px;line-height:1.05}.booking-dialog h2:focus{outline:none}.booking-dialog #booking-warning{font-size:14px;line-height:1.65;margin:22px 0}.booking-confirm{width:100%}.estimate-dialog{color-scheme:light}.estimate-bbb .bbb-link{max-width:220px}.estimate-bbb img{width:100%}.estimate-submit{justify-content:center}.estimate-form summary{list-style:none;cursor:pointer}.estimate-form summary::-webkit-details-marker{display:none}.estimate-form summary:after{content:" +";font-size:16px}.estimate-form details[open] summary:after{content:" −"}
@media(min-width:1700px){.wrap{width:min(1450px,calc(100% - 150px))}.home-hero,.hero-grid{min-height:740px}.hero-copy{padding-bottom:80px}.hero-image{width:54%}.h1-intro{font-size:50px}.h1-emotion{font-size:102px;max-width:580px}.hero-summary{margin-top:30px}.hero-actions{margin-top:34px}}
@media(max-width:1100px) and (min-width:901px){.wrap{width:calc(100% - 72px)}.site-header{height:88px}.home-hero,.hero-grid{min-height:625px}.hero-copy{width:51%;padding-top:35px}.h1-intro{font-size:37px}.h1-emotion{font-size:72px}.hero-actions{gap:9px}.button{font-size:13px;padding:13px 14px}.hero-proof{gap:16px}.hero-proof .bbb-link{width:170px}.google-proof{font-size:11px}.footer-main{flex-wrap:wrap}.footer-main nav{width:100%}.work-photos img{height:350px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.site-header{height:78px}.brand{width:188px}.desktop-nav{display:none}.mobile-nav{display:block;position:relative}.mobile-nav summary{padding:10px 0 10px 20px;font-size:13px;list-style:none}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{position:absolute;right:-5px;top:49px;width:240px;padding:12px 20px;background:#222b37;border:1px solid #566270;box-shadow:0 15px 30px #0005;display:flex;flex-direction:column;z-index:10}.mobile-nav nav a{padding:12px 3px;font-size:14px}.home-hero{display:flex;flex-direction:column;min-height:0;overflow:visible}.hero-grid{min-height:0;display:block;order:0}.hero-copy{width:100%;padding:30px 0 36px;max-width:620px}.hero-image{position:relative;order:1;width:100%;height:460px;z-index:0;overflow:hidden}.hero-image img{object-position:center 43%}.hero-image:after{background:linear-gradient(0deg,var(--navy),transparent 15%)}.h1-intro{font-size:38px;max-width:500px}.h1-emotion{font-size:74px;max-width:630px;margin-top:9px}.hero-summary{margin-top:20px;max-width:100%}.hero-actions{margin-top:25px}.hero-proof{margin-top:23px}.section{padding-block:68px}.section-heading{gap:30px}.section-heading p{font-size:13px}.work-photos{gap:20px}.work-photos img{height:330px}.services{gap:50px}.footer-main{flex-wrap:wrap}.footer-main nav{width:100%}.footer-bottom{flex-wrap:wrap;gap:15px}}
@media(max-width:600px){.wrap{width:calc(100% - 40px)}.site-header{height:69px}.brand{width:169px}.hero-copy{padding:24px 0 28px}.h1-intro{font-size:32px;line-height:1.06;max-width:340px}.h1-emotion{font-size:61px;line-height:.99;max-width:340px;margin-top:10px}h1{letter-spacing:-.65px}.hero-summary{font-size:13px;margin-top:20px;max-width:300px}.hero-actions{margin-top:23px;gap:10px}.button{font-size:12px;padding:13px 10px;min-height:49px;flex:1}.hero-proof{gap:17px;margin-top:22px}.hero-proof .bbb-link{width:170px;padding:4px}.google-proof{font-size:11px}.hero-image{height:390px}.section{padding-block:58px}.section-heading{display:block;margin-bottom:27px}h2{font-size:46px}.section-heading p{font-size:13px;margin-top:22px}.work-photos{gap:25px;grid-template-columns:1fr}.work-photos img{height:auto;max-height:420px;aspect-ratio:1.22;object-fit:cover}.work-photos figure:last-child img{aspect-ratio:1.22;object-position:center 50%}.work-photos figcaption{font-size:11px;margin-top:9px}.work-bottom{display:block;margin-top:25px;font-size:13px}.work-bottom p{margin-bottom:14px}.services{grid-template-columns:1fr;gap:27px}.services p{font-size:14px;margin-top:20px}.service-links a{font-size:17px;padding:15px 0}.footer-main{padding:33px 0;gap:27px;align-items:start;flex-direction:column}.footer-main .brand{width:169px}.footer-main nav{font-size:12px;gap:21px}.footer-bottom{font-size:10px;padding-bottom:26px}.footer-bottom div{gap:20px}.estimate-panel{padding:24px 20px}.estimate-fields{gap:15px 11px}.estimate-panel h2{font-size:37px}.booking-dialog{padding-inline:23px}.booking-dialog h2{font-size:37px}}
@media(max-width:359px){.wrap{width:calc(100% - 32px)}.site-header{height:64px}.brand{width:153px}.hero-copy{padding-top:20px}.h1-intro{font-size:29px;max-width:280px}.h1-emotion{font-size:54px;max-width:270px}.hero-summary{font-size:12px;margin-top:17px}.hero-actions{gap:8px;margin-top:20px}.button{font-size:11px;padding-inline:7px;min-height:47px}.hero-proof{gap:13px;margin-top:20px}.hero-proof .bbb-link{width:155px}.google-proof{font-size:10px}.hero-image{height:340px}.section{padding-block:50px}h2{font-size:43px}.estimate-fields{grid-template-columns:1fr}.estimate-form input:not([type=hidden]),.estimate-form select{min-height:43px}.estimate-panel{padding-inline:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
