:root{--ink:#252625;--gold:#d8ad4c;--paper:#f5f2eb;--muted:#68695f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,Manrope,Arial,sans-serif;font-size:16px;line-height:1.65;font-variant-emoji:text}a{color:inherit}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b0801d;outline-offset:5px}img{display:block;width:100%;height:auto}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(44px,5.2vw,78px);line-height:1.03;letter-spacing:-.04em;margin-bottom:20px}h2{font-family:"Libre Baskerville",Georgia,serif;font-size:clamp(32px,3.2vw,48px);font-weight:400;line-height:1.15;letter-spacing:-.025em;margin-bottom:24px}h3{font-family:"Libre Baskerville",Georgia,serif;font-size:28px;font-weight:400;line-height:1.2;margin:14px 0}p{margin-bottom:22px}.header{height:106px;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 4.4%;gap:30px}.brand{display:block;flex-shrink:0}.logo-crop{position:relative;width:300px;height:83px;display:block;overflow:hidden}.logo-crop img{position:absolute;width:416px;max-width:none;left:-58px;top:-20px;height:auto}.header nav{display:flex;gap:36px;margin-left:auto}.header nav a{text-decoration:none;font:21px "Libre Baskerville",Georgia,serif}.header nav a:hover{color:var(--gold)}.header-phone{font:26px "Libre Baskerville",Georgia,serif;white-space:nowrap;padding-left:30px;border-left:1px solid #777;text-decoration:none}.menu-toggle{display:none}.skip{position:absolute;top:-100px;z-index:20;padding:10px;background:white}.skip:focus{top:0}.hero{min-height:635px;position:relative;background:#222;color:#fff;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%;animation:hero-drift 1.8s ease-out both}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(12,19,19,.86),rgba(12,19,19,.5) 35%,rgba(12,19,19,0) 68%),linear-gradient(0deg,rgba(12,19,19,.65),transparent 40%)}.hero-copy{position:relative;z-index:1;padding:62px 4.4% 35px;animation:entrance .9s ease-out both}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:600;color:#8e671b;margin-bottom:23px}.hero .eyebrow,.inner-hero .eyebrow,.story .eyebrow,.cta .eyebrow{color:var(--gold)}.hero h1{max-width:640px}.hero-copy>p:not(.eyebrow){font:26px/1.4 "Libre Baskerville",Georgia,serif}.actions{display:flex;gap:18px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;min-height:58px;padding:12px 26px;background:var(--gold);color:#171917;border:1px solid var(--gold);text-decoration:none;font:20px "Libre Baskerville",Georgia,serif;transition:background .2s,transform .2s}.button span,.text-link span{font-family:Manrope,Arial,sans-serif}.button.outline{background:transparent;border-color:currentColor;color:inherit}.button.dark{background:var(--ink);border-color:var(--ink);color:var(--gold)}.hero-services{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:36px;padding:18px 4.4% 30px}.hero-services p{font:17px "Libre Baskerville",Georgia,serif;letter-spacing:.15em;margin:0}.hero-services i{font-style:normal;margin:0 20px}.hero-services>span{height:1px;width:140px;background:var(--gold)}.inquiry{padding:35px 4.4%;display:flex;align-items:center;gap:40px;border-bottom:1px solid #d9d4c9;background:#faf8f3}.inquiry h2{font-size:30px;flex-shrink:0;margin:0}.quick-form{display:grid;grid-template-columns:1fr 1fr 1.15fr auto;align-items:end;gap:18px;width:100%}label{display:block;font:16px "Libre Baskerville",Georgia,serif}input,select,textarea{display:block;width:100%;border:1px solid #c5c3bc;background:#fffdf9;border-radius:0;padding:14px 13px;margin-top:8px;min-width:0;color:#252625;font:16px/1.5 Manrope,Arial,sans-serif}input,select{height:53px}textarea{resize:vertical}.quick-form .button{min-height:53px;white-space:nowrap}.section{padding:90px 6%;max-width:1600px;margin:auto}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:38px}.section-heading h2{margin:0}.section-heading>p{max-width:400px;margin:0;color:var(--muted)}.text-link{text-decoration:none;border-bottom:1px solid #a5915b;padding-bottom:7px;white-space:nowrap;font-size:15px}.text-link span{margin-left:20px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.service-card{display:block;text-decoration:none}.service-card img{height:310px;object-fit:cover;transition:filter .35s}.service-card>div{padding:25px 0 0}.service-card .eyebrow{font-size:10px;margin:0}.service-card h3{display:flex;justify-content:space-between;gap:10px}.service-card h3 span{font:24px Arial}.service-card p{color:var(--muted);font-size:15px;margin:0;max-width:350px}.story{max-width:none;background:var(--ink);color:#f9f7ef;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7%}.story-image{position:relative}.story-image img{height:530px;object-fit:cover}.since{position:absolute;right:-26px;bottom:30px;background:var(--gold);padding:24px 30px;color:var(--ink);font:16px "Libre Baskerville",Georgia;text-align:center}.since strong{font:40px "Libre Baskerville",Georgia;display:block;margin-top:5px}.story-copy{max-width:510px}.story-copy>p:not(.eyebrow){color:#d0d1c9}.gallery{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:24px}.gallery figure{margin:0;min-width:0}.gallery img{height:350px;object-fit:cover;transition:transform .6s ease}.image-open{border:0;padding:0;background:none;width:100%;position:relative;overflow:hidden;display:block}.enlarge{position:absolute;right:15px;bottom:15px;background:var(--paper);border-radius:50%;width:36px;height:36px;display:grid;place-items:center;font-size:22px}.gallery figcaption{font:18px "Libre Baskerville",Georgia;margin-top:14px}.full-gallery{grid-template-columns:repeat(2,1fr);gap:42px 26px}.full-gallery img{height:440px}.quote{padding:80px 15%;text-align:center;background:#ebe6da}.quote blockquote{font:clamp(24px,2.6vw,37px)/1.45 "Libre Baskerville",Georgia;max-width:980px;margin:20px auto 25px}.quote>p:last-child{margin:0;font-size:14px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;margin-top:50px}.steps article{border-top:1px solid #c9beaa;padding-top:20px}.steps article>span{font:32px "Libre Baskerville",Georgia;color:#967326}.steps p{color:var(--muted);max-width:330px;margin:0}.areas{text-align:center;border-top:1px solid #d9d4c9}.areas>p:not(.eyebrow){font:22px/1.6 Georgia}.areas .small{font:14px/1.7 Arial!important;color:var(--muted)}.cta{padding:62px 6%;background:var(--ink);color:white;display:flex;align-items:center;justify-content:space-between;gap:35px;border-bottom:1px solid #595b52}.cta h2{margin:0}.cta .eyebrow{margin-bottom:14px}footer{background:#202220;color:#d4d5cc;padding:65px 6% 22px}.footer-top{display:grid;grid-template-columns:1.1fr 1.2fr .7fr;gap:55px}.footer-top h2{font-size:26px;margin-bottom:20px;color:#fff}.footer-top>div>a:not(.brand){display:block}.footer-top>div>p{font-size:13px;margin-top:20px}.footer-phone{font:30px "Libre Baskerville",Georgia;margin-bottom:16px;color:var(--gold);text-decoration:none}.footer-top nav{display:flex;flex-direction:column;gap:7px;font-size:14px}.footer-top nav a{text-decoration:none}.footer-bottom{border-top:1px solid #484a43;padding-top:22px;margin-top:35px;display:flex;justify-content:space-between;gap:25px;font-size:11px}.inner-hero{height:440px;position:relative;background:#232724;overflow:hidden;color:white;display:flex;align-items:end}.inner-hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 50%}.inner-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#15201cdf,#15201c3f),linear-gradient(0deg,#15201ca8,transparent)}.inner-hero>div{position:relative;z-index:1;padding:55px 6%;max-width:930px}.inner-hero h1{font-size:clamp(42px,4.8vw,66px)}.inner-hero p:last-child{font:23px/1.5 "Libre Baskerville",Georgia;margin:0;max-width:640px}.split{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:center}.split>img{height:520px;object-fit:cover}.split p:not(.eyebrow){color:var(--muted)}.window-section{background:#e8e2d6;text-align:center;max-width:none}.window-section>p:not(.eyebrow){max-width:650px;margin:0 auto 25px}.remodel-gallery{grid-template-columns:repeat(3,1fr)}.remodel-gallery img{height:440px}.faq{max-width:1000px}.faq details{border-bottom:1px solid #c8bfac;padding:25px 0}.faq summary{font:25px/1.35 "Libre Baskerville",Georgia;cursor:pointer}.faq details p{margin:20px 0 0;max-width:780px}.contact{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:start}.contact h1{font-family:"Libre Baskerville",Georgia;font-weight:400;font-size:clamp(42px,4.4vw,64px);line-height:1.13}.contact>div>p:not(.eyebrow){max-width:430px;color:var(--muted)}.contact>div>a{display:block}.contact-phone{font:30px "Libre Baskerville",Georgia;text-decoration:none;margin:27px 0 12px}.contact .address{margin:28px 0;font-size:14px}.contact img{max-height:260px;object-fit:cover}.project-form{background:#eae5db;padding:36px;position:relative}.project-form h2{font-size:31px;margin-bottom:12px}.project-form label{margin-bottom:20px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.small{font-size:13px}.project-form .button{width:100%}.form-status{margin:18px 0 0;font-size:15px}.form-status:empty{display:none}.honey{position:absolute;left:-9999px;opacity:0}.prose{max-width:950px;min-height:60vh}.prose h1{font-family:Georgia}.lightbox{background:#1f211f;color:white;border:0;padding:55px 20px 15px;width:min(95vw,1200px);max-height:95vh}.lightbox::backdrop{background:#000c}.lightbox img{width:100%;height:75vh;object-fit:contain}.lightbox p{text-align:center;margin:10px 0 0}.close-lightbox{position:absolute;right:20px;top:12px;background:none;color:white;border:1px solid #999;padding:4px 12px}.reveal{animation:soft-reveal .75s ease-out both}@keyframes entrance{from{transform:translateY(8px)}to{transform:translateY(0)}}@keyframes soft-reveal{from{opacity:.8}to{opacity:1}}@keyframes hero-drift{from{transform:scale(1.035)}to{transform:scale(1)}}
@media(max-width:1150px){.header{gap:20px;height:96px}.logo-crop{width:245px;height:72px}.logo-crop img{width:345px;left:-49px;top:-15px}.header nav{gap:22px}.header nav a{font-size:18px}.header-phone{font-size:20px;padding-left:20px}.inquiry{gap:25px}.inquiry h2{font-size:26px}.quick-form{gap:12px;grid-template-columns:1fr 1fr}.quick-form .button{height:53px}.hero h1{font-size:66px}.section{padding:70px 5%}.footer-top{gap:25px}.footer-phone{font-size:25px}}
@media(max-width:850px){.header{height:88px;padding:0 5%;position:relative;z-index:5}.header-phone{margin-left:auto;border:0;padding:0;font-size:19px}.menu-toggle{display:flex;align-items:center;gap:10px;border:1px solid #777;background:none;color:white;padding:7px 10px;font-size:14px;order:3}.header nav{display:none;position:absolute;left:0;right:0;top:88px;background:var(--ink);padding:20px 5% 30px;border-top:1px solid #777;gap:20px}.header nav.open{display:flex;flex-wrap:wrap}.hero{min-height:650px}.hero-copy{padding:60px 5% 35px}.hero h1{font-size:60px}.hero-image{object-position:62% center}.hero:after{background:linear-gradient(90deg,#111c19cf,#111c1940),linear-gradient(0deg,#111c1970,transparent)}.hero-services p{font-size:14px;letter-spacing:.06em}.hero-services i{margin:0 12px}.hero-services>span{width:50px}.inquiry{padding:30px 5%;align-items:start}.service-grid{gap:18px}.service-card img{height:230px}.service-card h3{font-size:23px}.story{gap:7%}.story-image img{height:450px}.story h2{font-size:33px}.gallery img{height:280px}.footer-top{grid-template-columns:1fr 1fr}.footer-top nav{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;gap:20px}.contact{gap:5%;grid-template-columns:1fr 1.1fr}.project-form{padding:24px}.form-grid{grid-template-columns:1fr}.split{gap:5%}.split>img{height:450px}.section-heading{align-items:start}.section-heading>p{max-width:300px}.steps{gap:25px}.full-gallery img{height:350px}}
@media(max-width:600px){.header{height:84px;gap:12px}.logo-crop{width:210px;height:65px}.logo-crop img{width:294px;left:-42px;top:-12px}.header-phone{display:none}.header nav{top:84px;flex-direction:column}.menu-toggle{margin-left:auto}.hero{min-height:740px;justify-content:end}.hero-image{height:345px;object-fit:cover;object-position:center top;animation:hero-drift 1.8s ease-out both}.hero:after{background:linear-gradient(0deg,#202724 48%,transparent 78%)}.hero-copy{padding:270px 6% 20px}.hero h1{font-size:47px;line-height:1.06;margin-bottom:17px}.hero .eyebrow{font-size:10px;margin-bottom:17px}.hero-copy>p:not(.eyebrow){font-size:21px}.hero-copy>p br{display:none}.actions{gap:12px;flex-wrap:wrap;margin-top:25px}.button{font-size:17px;padding:12px 18px;min-height:52px;gap:18px}.hero-services{padding:16px 6% 25px;justify-content:start}.hero-services p{font-size:11px;letter-spacing:.01em}.hero-services i{margin:0 7px}.hero-services>span{display:none}.inquiry{display:block;padding:30px 6%}.inquiry h2{font-size:29px;margin-bottom:25px}.inquiry h2 br{display:none}.quick-form{grid-template-columns:1fr;gap:18px}.section{padding:58px 6%}.section-heading{display:block;margin-bottom:30px}.section-heading .text-link{display:inline-block;margin-top:23px}.section-heading>p{max-width:none;margin-top:20px}h2{font-size:34px}.eyebrow{font-size:10px;margin-bottom:17px}.service-grid{grid-template-columns:1fr;gap:36px}.service-card img{height:300px}.service-card h3{font-size:29px}.service-card>div{padding-top:20px}.service-card p{max-width:none}.story{grid-template-columns:1fr;gap:38px}.story-image img{height:360px}.since{right:-10px;bottom:20px;padding:18px 22px}.story-copy{max-width:none}.story h2{font-size:36px}.gallery{grid-template-columns:1fr;gap:28px}.gallery img{height:320px}.gallery figure:nth-child(2) img{object-position:center 40%}.quote{padding:55px 7%}.quote blockquote{font-size:26px}.steps{grid-template-columns:1fr;gap:30px;margin-top:35px}.steps p{max-width:none}.steps h3{font-size:28px}.areas>p:not(.eyebrow){font-size:21px}.areas br{display:none}.cta{padding:45px 6%;display:block}.cta .button{margin-top:26px}.cta h2{font-size:36px}footer{padding:45px 6% 25px}.footer-top{grid-template-columns:1fr;gap:30px}.footer-top nav{grid-column:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px}.footer-bottom{display:block}.footer-bottom>*{display:block;margin-top:10px}.inner-hero{height:390px}.inner-hero>div{padding:35px 6%}.inner-hero h1{font-size:46px}.inner-hero p:last-child{font-size:21px}.split{grid-template-columns:1fr;gap:30px}.split>img{height:370px}.contact{grid-template-columns:1fr;gap:38px}.contact h1{font-size:45px}.contact img{height:210px}.project-form{padding:25px 20px}.project-form h2{font-size:29px}.faq summary{font-size:23px}.lightbox img{height:60vh}.full-gallery img{height:320px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Architectural polish: tonal depth, stable content, one-time accents. */
.header{background:linear-gradient(115deg,#292a27 0%,#252625 58%,#202321 100%)}
.hero{background:#202724}
.hero-copy{animation:entrance 1.1s cubic-bezier(.2,.65,.3,1) both}
.hero-image{animation-duration:2.2s}
.hero:after{background:linear-gradient(90deg,rgba(12,19,19,.86),rgba(12,19,19,.5) 35%,rgba(12,19,19,0) 72%),linear-gradient(0deg,#202724 0%,rgba(20,28,23,.48) 13%,transparent 48%)}
.hero-services>span{background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.inquiry{background:linear-gradient(110deg,#fcfaf5,#f3eee3)}
.story{background:radial-gradient(ellipse at 100% 0%,rgba(189,151,67,.12),transparent 60%),linear-gradient(130deg,#272b26,#202421)}
.story-image img{box-shadow:0 18px 48px #0003}
.since{background:linear-gradient(135deg,#e5c16a,#cfa044);box-shadow:0 9px 28px #0002}
.quote{background:radial-gradient(ellipse at 50% 0%,#f4eddc,transparent 85%),#e9e4d8}
.areas{background:radial-gradient(ellipse at 50% 100%,#eae3d2,transparent 72%)}
.cta{position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(120deg,#272d27,#202421)}
.cta:before{content:'';position:absolute;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(ellipse at 85% 100%,rgba(214,172,77,.18),transparent 62%)}
.cta.reveal:before{animation:gold-light 1.6s ease-out both}
footer{background:linear-gradient(145deg,#222620,#1c201d)}
.button{background:linear-gradient(120deg,#e0b957,#d2a33f);transition:background .25s,box-shadow .25s,color .25s}
.button span,.text-link span{display:inline-block;transition:transform .25s ease}
.button.dark{background:linear-gradient(130deg,#30332d,#202420)}
.button.outline{background:transparent}
.button:active{box-shadow:inset 0 0 0 2px #8f691e}
.section-heading .eyebrow:before{content:'';display:inline-block;vertical-align:middle;width:26px;height:1px;background:#a57c2c;margin-right:12px;transform-origin:left}
.section-heading.reveal .eyebrow:before{animation:gold-line .9s cubic-bezier(.2,.65,.3,1) both}
.reveal{animation-duration:.85s}
@keyframes gold-line{from{transform:scaleX(.15)}to{transform:scaleX(1)}}
@keyframes gold-light{from{opacity:.2}to{opacity:1}}
@media(hover:hover) and (pointer:fine){
.button:hover{box-shadow:0 6px 20px #0002}
.button:hover span,.text-link:hover span{transform:translate(3px,-3px)}
.button.outline:hover{background:#ffffff12}
.service-card:hover img{filter:brightness(1.055)}
.image-open:hover img{transform:scale(1.025)}
}
@media(max-width:850px){.hero:after{background:linear-gradient(90deg,#111c19cf,#111c1925),linear-gradient(0deg,#202724,transparent 50%)}}
@media(max-width:600px){
.hero-image{height:365px;-webkit-mask-image:linear-gradient(#000 0%,#000 55%,transparent 100%);mask-image:linear-gradient(#000 0%,#000 55%,transparent 100%)}
.hero:after{background:none}
.inquiry{background:linear-gradient(155deg,#fcfaf5,#f2ede2)}
}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.button:hover span,.text-link:hover span,.image-open:hover img{transform:none}}
/* Consistent select text box in WebKit; the native picker remains available. */
select{-webkit-appearance:none;appearance:none;line-height:normal;padding-right:40px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='m1 1 6 6 6-6' fill='none' stroke='%23252625' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 15px center;background-size:14px 8px}
/* Services disclosure retains ordinary links and native button keyboard behavior. */
.header{position:relative;z-index:10}.header nav{align-items:center}.services-disclosure{position:relative}.services-toggle{display:flex;align-items:center;gap:8px;padding:0;border:0;background:none;color:inherit;font:21px "Libre Baskerville",Georgia,serif;line-height:1.2}.services-toggle>span{font:18px Manrope,Arial,sans-serif;transition:transform .2s}.services-toggle[aria-expanded=true]>span{transform:rotate(180deg)}.services-toggle:hover,.services-toggle[aria-expanded=true]{color:var(--gold)}.services-links{position:absolute;top:calc(100% + 20px);left:-20px;width:256px;padding:12px 0;background:linear-gradient(135deg,#2d302a,#222621);border:1px solid #6d634b;box-shadow:0 12px 28px #0004}.services-links[hidden]{display:none}.header .services-links a{display:block;font-size:18px;line-height:1.35;padding:12px 20px;white-space:nowrap}.header .services-links a:hover,.header .services-links a:focus-visible{background:#ffffff0a;color:var(--gold)}
@media(max-width:1150px){.services-toggle{font-size:18px}.header nav{gap:20px}}
@media(max-width:850px){.header nav{align-items:stretch;flex-direction:column;flex-wrap:nowrap;max-height:calc(100dvh - 100px);overflow-y:auto}.services-toggle{width:100%;justify-content:space-between;min-height:28px}.services-links{position:static;width:100%;margin-top:15px;box-shadow:none;border:0;border-left:1px solid #8e763f;padding:0 0 0 6px}.header .services-links a{white-space:normal;min-height:44px;padding:11px 15px;font-size:17px}}
.service-detail{border-top:1px solid #d9d4c9}.service-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:38px 7%}.service-detail h2{font-size:30px;line-height:1.2;margin-bottom:18px}.service-detail p{color:var(--muted);margin-bottom:0;max-width:62ch}.service-detail article:last-child{grid-column:1/-1}.service-detail article:last-child p{max-width:95ch}@media(max-width:600px){.service-detail-grid{grid-template-columns:1fr;gap:32px}.service-detail h2{font-size:28px}}
@media(max-width:360px){.header .logo-crop{width:185px;height:60px}.header .logo-crop img{width:259px;left:-37px;top:-10px}}
/* Approved transparent artwork: full image, intrinsic proportions, no cropping. */
.logo-art{display:block;width:300px;max-width:100%;aspect-ratio:3/1}.logo-art img{display:block;width:100%;height:auto;position:static;object-fit:contain}
@media(max-width:1150px){.logo-art{width:245px}}
@media(max-width:600px){.logo-art{width:210px}}
@media(max-width:360px){.header .logo-art{width:185px}}
/* Slightly stronger left-side contrast on desktop; phone/tablet blend retained. */
@media(min-width:851px){.hero:after{background:linear-gradient(90deg,rgba(12,19,19,.91),rgba(12,19,19,.59) 35%,rgba(12,19,19,0) 72%),linear-gradient(0deg,#202724 0%,rgba(20,28,23,.48) 13%,transparent 48%)}}
/* Gentle leveling of the original kitchen4 photograph; no perspective warping. */
.gallery img[src$="/kitchen4.webp"]{transform:rotate(-1deg) scale(1.025)}
.remodel-gallery figure:has(img[src$="/kitchen4.webp"]){overflow:hidden}
.lightbox img[src$="/kitchen4.webp"]{transform:rotate(-1deg) scale(.98)}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.image-open:hover img[src$="/kitchen4.webp"]{transform:rotate(-1deg) scale(1.05)}}

/* Legal pages and policy links */
.quick-privacy{grid-column:1/-1;margin:-6px 0 0;font:13px/1.55 Manrope,Arial,sans-serif;color:var(--muted)}
.quick-privacy a,.project-form .small a{color:#755712;text-underline-offset:3px}
.footer-legal{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}
.footer-legal a{display:inline-flex;align-items:center;min-height:36px;text-underline-offset:3px}
.contact-area{margin:26px 0;font:15px/1.65 Manrope,Arial,sans-serif;color:var(--muted)}
.legal-page{max-width:1220px;display:grid;grid-template-columns:minmax(245px,.78fr) minmax(0,1.55fr);gap:clamp(42px,6vw,100px);align-items:start}
.legal-intro{position:sticky;top:35px}
.legal-intro h1{font:normal clamp(43px,4.3vw,62px)/1.07 "Libre Baskerville",Georgia,serif;margin:0 0 16px}
.legal-intro>p:last-child{font:17px/1.72 Manrope,Arial,sans-serif;color:var(--muted);margin:24px 0 0}
.legal-date{font:12px/1.5 Manrope,Arial,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#725a29;margin:0}
.legal-sections section{padding:26px 0 30px;border-top:1px solid #cbc2b0}
.legal-sections section:first-child{padding-top:0;border-top:0}
.legal-sections h2{font:normal 31px/1.2 "Libre Baskerville",Georgia,serif;margin:0 0 16px}
.legal-sections h3{font:normal 22px/1.3 "Libre Baskerville",Georgia,serif;margin:21px 0 10px}
.legal-sections p,.legal-sections li{font:16px/1.7 Manrope,Arial,sans-serif;color:#3e443e}
.legal-sections p{margin:0 0 13px}
.legal-sections ul{padding-left:21px;margin:0 0 18px}
.legal-sections li{margin:0 0 10px;padding-left:3px}
.legal-page a{color:#76581a;text-underline-offset:3px;overflow-wrap:anywhere}
@media(max-width:850px){.legal-page{grid-template-columns:1fr;gap:35px}.legal-intro{position:static;max-width:700px}.legal-sections{max-width:760px}}
@media(max-width:600px){.legal-page{padding-top:55px}.legal-intro h1{font-size:45px}.legal-sections h2{font-size:27px}.legal-sections h3{font-size:21px}.legal-sections section{padding:24px 0}.quick-privacy{margin:-4px 0 0}.footer-legal{margin-top:10px}}
/* Editorial service guide: short lead, project imagery, practical preparation. */
.service-detail{padding:0;max-width:none;margin:0}.service-detail .planning-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;padding-bottom:45px}.service-detail .planning-intro h2{font-size:clamp(32px,3vw,44px);max-width:16ch}.service-detail p{margin:0 0 18px;max-width:64ch}.service-detail p:last-child{margin-bottom:0}.planning-feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;padding-top:25px;align-items:start}.planning-feature figure{margin:0;position:sticky;top:28px}.planning-feature figure img{height:600px;object-fit:cover}.planning-feature figcaption{font:17px "Libre Baskerville",Georgia,serif;margin-top:14px;color:var(--muted)}.planning-topics article+article{margin-top:38px;padding-top:30px;border-top:1px solid #d7cbb4}.service-detail ul{padding-left:21px;margin:18px 0 0;color:var(--muted);max-width:64ch}.service-detail li{padding-left:5px;margin:0 0 12px}.service-detail li::marker{color:#967326}.planning-notes{background:linear-gradient(125deg,#eee8db,#f3efe5)}.planning-notes>.section{padding-top:55px;padding-bottom:55px}.planning-notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:8%}.service-detail .planning-notes h2{font-size:29px}.service-detail article:last-child{grid-column:auto}.service-detail article:last-child p{max-width:64ch}
@media(max-width:850px){.planning-feature{gap:5%}.planning-feature figure img{height:500px}.service-detail .planning-intro{gap:5%}.service-detail h2{font-size:28px}.planning-notes-grid{gap:5%}}
@media(max-width:600px){.service-detail .planning-intro{grid-template-columns:1fr;gap:12px;padding-bottom:28px}.service-detail .planning-intro h2{max-width:none;font-size:34px}.planning-feature{grid-template-columns:1fr;gap:32px;padding-top:0}.planning-feature figure{position:static}.planning-feature figure img{height:300px}.planning-topics article+article{margin-top:32px;padding-top:26px}.planning-notes-grid{grid-template-columns:1fr;gap:36px}.planning-notes>.section{padding-top:42px;padding-bottom:42px}.service-detail p,.service-detail li{line-height:1.7}}
.planning-questions{max-width:1000px}.planning-questions details{border-top:1px solid #cbbfa7;padding:20px 0}.planning-questions details:last-child{border-bottom:1px solid #cbbfa7}.planning-questions summary{font:24px/1.4 "Libre Baskerville",Georgia,serif;cursor:pointer;padding-right:15px}.planning-answer{padding:18px 0 0 23px}.planning-answer p{max-width:76ch!important}@media(max-width:600px){.planning-questions summary{font-size:22px}.planning-answer{padding-left:0}}
/* Service pages use their own image; the home page presents the full service choice. */
.company-year{display:flex;flex-direction:column;align-items:start;gap:16px}.company-year>span{font:18px Georgia}.company-year strong{font:clamp(90px,11vw,180px)/1 "Libre Baskerville",Georgia;color:var(--gold)}.company-year .text-link{margin-top:20px}.text-hero{height:auto;min-height:340px;background:radial-gradient(ellipse at 95% 15%,#65543755,transparent 65%),linear-gradient(120deg,#222b25,#222622)}.text-hero:after{display:none}.text-hero>div{width:100%;max-width:1100px}.text-hero h1{max-width:900px}.about-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.about-intro p{max-width:60ch}.service-index{max-width:1250px}.service-index article{display:grid;grid-template-columns:90px 1fr;gap:30px;border-top:1px solid #c8bda7;padding:40px 0}.service-index article>span{font:42px "Libre Baskerville",Georgia;color:#987326}.service-index h2{font-size:36px}.service-index p{max-width:68ch}.service-notes{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:0}.service-notes article{border-top:1px solid #c8bda7;padding-top:28px}.service-notes h2{font-size:32px}.company-story{padding-top:70px;padding-bottom:70px}.lightbox{overflow:hidden}.lightbox img[src$='/kitchen4.webp']{transform:none}.gallery .image-open img[src$='/kitchen4.webp']{transform:rotate(-1deg) scale(1.035)}.home-service-links .service-card{border-top:1px solid #b9a67a;padding-top:20px}.home-service-links .service-card h3{font-size:34px}.home-service-links .service-card>div{padding:0}.home-service-links .service-card p{max-width:36ch}
@media(max-width:850px){body.menu-open{overflow:hidden}.header:has(nav.open){position:fixed;inset:0 0 auto;z-index:40}body.menu-open main{margin-top:88px}.header nav.open{position:fixed;top:88px;bottom:0;max-height:none;padding:30px 6% 60px;gap:24px;overflow-y:auto;border-top:1px solid #565746;background:linear-gradient(140deg,#252a25,#1c211e)}.header nav.open>a,.header nav.open .services-toggle{font-size:27px;min-height:44px}.header .services-links a{padding:12px 20px}.header nav.open .services-links{margin-top:12px}.menu-toggle{min-height:44px;min-width:88px;justify-content:center}.about-intro{gap:5%}}
@media(max-width:600px){.header nav.open{top:84px}body.menu-open main{margin-top:84px}.text-hero{min-height:320px}.text-hero h1{font-size:41px}.text-hero>div{padding:45px 6%}.about-intro,.service-notes{grid-template-columns:1fr;gap:24px}.service-notes{padding-top:0}.service-index article{grid-template-columns:36px 1fr;gap:15px;padding:30px 0}.service-index article>span{font-size:28px}.service-index h2{font-size:29px}.company-year strong{font-size:106px}.hero h1{font-size:44px}.hero h1 br{display:none}.hero h1{max-width:390px}.reverse-split>img{order:-1}.home-service-links .service-card h3{font-size:30px}}
.service-index article[id=additions]>div{display:grid;grid-template-columns:1fr 1fr;gap:22px 32px;align-items:start}.service-index article[id=additions] img:first-child{grid-column:1;grid-row:1/4}.service-index article[id=additions] h2,.service-index article[id=additions] p,.service-index article[id=additions] .button{grid-column:2;margin:0}.service-index article[id=additions] img{height:320px;object-fit:cover}.service-index article[id=additions] img:nth-of-type(2){grid-column:1;grid-row:4}.service-index article[id=additions] .button{justify-self:start}.service-index article[id=additions] h2{padding-top:4px}.service-index article[id=additions] p{grid-row:2}.service-index article[id=additions] .button{grid-row:3}
@media(max-width:600px){.service-index article[id=additions]>div{display:block}.service-index article[id=additions] img{height:230px;margin-bottom:24px}.service-index article[id=additions] h2,.service-index article[id=additions] p{margin-bottom:20px}.service-index article[id=additions] img:nth-of-type(2){display:block}}

.remodel-more{padding-top:0}.remodel-more>div{display:grid;grid-template-columns:1fr 1fr;gap:0 8%}.remodel-more .eyebrow,.remodel-more h2{grid-column:1}.remodel-more h2{grid-row:2/4}.remodel-more p:not(.eyebrow){grid-column:2}.remodel-more p:nth-last-child(2){grid-row:2}.remodel-more p:last-child{grid-row:3}@media(max-width:600px){.remodel-more>div{display:block}}
/* September 29 editorial repair: compact page openings and purposeful compositions. */
.menu-phone{display:none!important}.text-link{display:inline-flex;align-items:center;min-height:44px;white-space:normal}.footer-top nav a,.footer-legal a{min-height:44px;display:inline-flex;align-items:center}.hero-services a{text-decoration:none;display:inline-flex;align-items:center;min-height:44px}.text-hero{min-height:0;background:var(--paper);color:var(--ink);border-bottom:1px solid #cbbfa7}.text-hero>div{max-width:1600px;padding:55px 6% 45px}.text-hero .eyebrow{color:#8e671b;margin-bottom:18px}.inner-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:end}.inner-heading h1{font-size:clamp(38px,4vw,58px);margin:0;max-width:760px;text-wrap:balance}.inner-heading>p{font:20px/1.5 "Libre Baskerville",Georgia,serif!important;max-width:36ch;margin:0;color:#585d52}.about-story{display:grid;grid-template-columns:.6fr 1fr;gap:12%;align-items:center;padding-top:65px;padding-bottom:65px}.company-year{border-left:1px solid #c1a466;padding-left:35px}.company-year strong{font-size:120px}.company-year>span{font-size:16px}.about-story h2{max-width:18ch}.about-story p{max-width:62ch}.about-quote{padding-top:55px;padding-bottom:55px}.build-details{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:40px;padding-bottom:50px;border-top:1px solid #d5cbb7}.build-details h2{font-size:36px}.build-details p{max-width:58ch}.remodel-options{display:grid;grid-template-columns:1fr 1fr;gap:8%;padding-top:0}.remodel-options article{border-top:1px solid #bca16a;padding-top:25px}.remodel-options article>span{font:25px "Libre Baskerville",Georgia;color:#8e671b}.remodel-options h2{font-size:34px;margin:15px 0}.faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:start;padding-top:55px;padding-bottom:65px}.faq-layout aside h2{font-size:34px}.faq-layout aside .contact-phone{display:block;font:26px "Libre Baskerville",Georgia;margin:24px 0}.faq-layout aside .button{font-size:18px}.faq-layout .faq{padding:0;max-width:none}.faq details{padding:0;border-top:1px solid #c7bda7}.faq details:last-child{border-bottom:1px solid #c7bda7}.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:23px 0;font:25px/1.3 "Libre Baskerville",Georgia;cursor:pointer}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:'+';font:28px Arial;color:#866623;flex-shrink:0}.faq details[open] summary:after{content:'−'}.faq details p{padding:0 38px 24px 0;margin:0;max-width:65ch}.work-section{padding-top:45px}.full-gallery{gap:26px}.full-gallery figure:first-child{grid-column:1/-1}.full-gallery figure:first-child img{height:500px}.full-gallery figure:last-child:nth-child(even){grid-column:1/-1}.full-gallery figure:last-child:nth-child(even) img{height:420px}.contact h1{font-family:Manrope,Manrope,Arial,sans-serif;font-weight:bold}.section h2{text-wrap:balance}.gallery .image-open .enlarge{height:44px;width:44px}.service-index{padding-top:40px;padding-bottom:45px}
@media(max-width:850px){.header nav .menu-phone{display:flex!important;font-size:22px!important;color:var(--gold);border-top:1px solid #615c4b;padding-top:20px;margin-top:8px}.inner-heading{gap:5%}.faq-layout{gap:6%}}
@media(max-width:600px){h2 br,.text-hero h1 br,.contact h1 br{display:none}.inner-heading{display:block}.text-hero>div{padding:35px 6% 30px}.inner-heading h1{font-size:36px;line-height:1.12;max-width:none}.inner-heading>p{font-size:18px!important;line-height:1.5;margin-top:20px;max-width:none}.about-story,.build-details,.remodel-options,.faq-layout{grid-template-columns:1fr;gap:32px}.company-year{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;padding-left:20px}.company-year .eyebrow{grid-column:1/-1;margin:0}.company-year strong{font-size:80px}.company-year>span{align-self:center;max-width:17ch}.about-story{padding-top:38px;padding-bottom:42px}.about-story h2{max-width:none}.build-details{padding-top:35px}.build-details h2{margin:0;font-size:32px}.remodel-options{padding-top:0}.faq-layout{padding-top:35px;padding-bottom:45px}.faq-layout aside{border-bottom:1px solid #c7bda7;padding-bottom:28px}.faq-layout aside h2{font-size:30px}.faq summary{font-size:22px;padding:21px 0}.faq details p{padding-right:0}.full-gallery figure:first-child,.full-gallery figure:last-child:nth-child(even){grid-column:auto}.full-gallery figure:first-child img,.full-gallery figure:last-child:nth-child(even) img{height:300px}.full-gallery img{height:300px}.hero-services{padding-top:3px;padding-bottom:15px}.hero-services p{display:flex;flex-wrap:wrap;align-items:center}.hero-services a{min-height:44px}.contact h1{font-size:40px;line-height:1.1}.footer-top nav{gap:2px 14px}}
.build-outline{padding:35px;background:linear-gradient(125deg,#2a3028,#202621);color:var(--paper)}.build-outline .eyebrow{color:var(--gold)}.build-outline ol{list-style:none;margin:0;padding:0}.build-outline li{padding:22px 0;border-top:1px solid #746b53}.build-outline li:last-child{padding-bottom:0}.build-outline li>span{font:18px "Libre Baskerville",Georgia;color:var(--gold)}.build-outline h2{font-size:28px;margin:9px 0}.build-outline p{font-size:15px;color:#d5d5cc;margin:0}.remodel-options article:has(img){display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.remodel-options article>img{grid-column:2;grid-row:1/4;height:270px;object-fit:cover}.remodel-options article>span,.remodel-options article>h2,.remodel-options article>p{grid-column:1}.remodel-options article>p{margin:0}@media(max-width:600px){.build-outline{padding:25px}.home-build-feature{padding-top:35px;padding-bottom:40px}.remodel-options article:has(img){display:block}.remodel-options article>img{height:260px;margin-bottom:25px}}
.full-gallery figure:first-child,.full-gallery figure:last-child:nth-child(even){grid-column:auto}.full-gallery figure:first-child img,.full-gallery figure:last-child:nth-child(even) img{height:440px}@media(max-width:600px){.full-gallery figure:first-child img,.full-gallery figure:last-child:nth-child(even) img{height:300px}}
.build-outline li{display:flex;align-items:center;gap:25px;padding:20px 0}.build-outline h2{margin:0;font-size:32px}.build-outline .eyebrow{color:var(--gold)}.build-outline p{color:#e2e1d8}.service-index{display:grid;grid-template-columns:1fr 1fr;column-gap:7%}.service-index article{grid-template-columns:55px 1fr;gap:15px}.service-index article:nth-child(n+3){grid-column:1/-1}.service-index article:first-child,.service-index article:nth-child(2){border-top:0;padding-top:15px}.service-index article>span{font-size:30px}.service-index h2{font-size:32px}.service-index #windows>div{display:grid;grid-template-columns:1fr 1fr;gap:0 45px}.service-index #windows h2{grid-column:1;grid-row:1/3}.service-index #windows p,.service-index #windows .button{grid-column:2}.service-index #windows .button{justify-self:start}@media(min-width:601px){.footer-top nav a,.footer-legal a{min-height:28px}.footer-top nav{gap:7px}}
@media(max-width:600px){.service-index{display:block}.service-index article{grid-template-columns:30px 1fr}.service-index article:nth-child(2){border-top:1px solid #c8bda7;padding-top:30px}.service-index #windows>div{display:block}.build-outline h2{font-size:29px}.service-index h2{font-size:29px}}
@media(max-width:600px){.inner-hero .inner-heading>p:last-child{margin-top:18px}.footer-top a[href^="mailto:"],.contact a[href^="mailto:"]{min-height:44px;display:inline-flex;align-items:center}}
/* Source-photo composition and small-screen reading refinements. */
a[href^="tel:"]{white-space:nowrap;overflow-wrap:normal}
.inquiry h2{max-width:250px;text-wrap:balance}
.gallery .enlarge{background:#252625;color:#f5f2eb;border:1px solid #d8ad4c;box-shadow:0 2px 8px #0003}
.about-story h2{max-width:none}
.service-index article[id=additions]>div{align-content:start;grid-template-rows:auto auto 1fr}
.about-story{grid-template-columns:1fr 1fr;gap:7%}
.about-story>img{height:470px;object-fit:cover}
.faq-layout aside>img{height:270px;object-fit:cover;margin:0 0 28px}
.contact .contact-project-image{height:280px;max-height:none;margin-top:32px;object-fit:cover}
@media(max-width:600px){.inquiry h2{max-width:18ch}.about-story{grid-template-columns:1fr}.about-story>img{height:320px}.faq-layout aside{border-bottom:0;padding-bottom:0}.faq-layout aside>img{height:240px}.contact .contact-project-image{height:240px}.home-build-feature>img{height:300px}}
.company-story-text{grid-template-columns:.85fr 1.15fr;padding-top:70px;padding-bottom:70px;gap:10%}.company-intro{border-right:1px solid #71684f;padding-right:12%}.company-intro h2{max-width:15ch}.company-intro .text-link{color:var(--gold)}
.faq-layout aside>.faq-project-image{object-position:center 18%;aspect-ratio:1.5;height:auto}
.full-gallery figure:first-child{grid-column:1/-1}.full-gallery figure:first-child img{height:480px;object-position:center 48%}
.remodel-options article:has(img){grid-template-columns:1fr 1.25fr}.remodel-options article>img{object-position:center}
@media(max-width:600px){.company-story-text{grid-template-columns:1fr;gap:30px;padding-top:45px;padding-bottom:45px}.company-intro{border-right:0;border-bottom:1px solid #71684f;padding:0 0 25px}.company-intro h2{max-width:19ch}.full-gallery figure:first-child{grid-column:auto}.full-gallery figure:first-child img{height:300px}.about-story>img{object-position:center 48%}}
.company-founded{font:clamp(100px,10vw,150px)/1 "Libre Baskerville",Georgia,serif;color:var(--gold);margin:0 0 20px}.company-intro>p:not(.eyebrow):not(.company-founded){max-width:25ch;color:#d0d1c9}.portfolio-home-link{margin-top:28px}.full-gallery figure:not(:first-child) img{height:auto;aspect-ratio:4/5;object-fit:cover}.faq-layout aside>.faq-project-image{object-position:center 30%}
@media(max-width:600px){.company-founded{font-size:100px}.full-gallery figure:not(:first-child) img{height:auto;aspect-ratio:4/5}}
@media(max-width:600px){.about-story{gap:32px}}
/* October 4: architectural typography, photographs and composed page entrances. */
@font-face{font-family:'Libre Baskerville';src:url('/fonts/libre-baskerville-latin.woff2') format('woff2');font-weight:400;font-display:optional}
@font-face{font-family:Manrope;src:url('/fonts/manrope-latin.woff2') format('woff2');font-weight:400 800;font-display:optional}
h1,h2,h3,.contact h1{font-family:'Libre Baskerville',Georgia,serif;font-weight:400;letter-spacing:-.015em}h1{letter-spacing:0}body{font-family:Manrope,Arial,sans-serif}.hero h1{font-size:clamp(44px,4.45vw,66px);line-height:1.12;max-width:720px}.hero-copy{padding-top:58px}.hero-copy>p:not(.eyebrow){font-size:24px}.eyebrow{font-family:Manrope,Arial,sans-serif}.header nav a,.services-toggle{font-size:18px}.header nav{gap:28px}.header-phone{font-size:24px}.hero-services p{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:center;align-items:center;letter-spacing:.06em}.hero-services i{margin:0}.hero-services a{white-space:nowrap}.home-services-composition{display:grid;grid-template-columns:1.05fr 1fr;gap:7%;align-items:stretch}.home-service-photo{overflow:hidden;min-height:600px}.home-service-photo img{height:100%;object-fit:cover;object-position:center}.home-service-links{display:flex;flex-direction:column;gap:0;justify-content:space-between}.home-service-links .service-card{padding:25px 0;border-top:1px solid #b9a67a}.home-service-links .service-card:first-child{padding-top:0;border-top:0}.home-service-links .service-card h3{font-size:31px;margin-top:10px}.home-service-links .service-card p{max-width:42ch}.company-story-text{grid-template-columns:1fr 1fr;gap:8%}.company-story .story-image img{height:520px;object-position:center}.company-story .story-copy{max-width:610px}.story,.cta{position:relative;background:radial-gradient(ellipse at 0 10%,#6b5d3538,transparent 70%),linear-gradient(125deg,#292e28,#1d231f);overflow:hidden}.story:after,.cta:after{content:'';pointer-events:none;position:absolute;inset:0;background:linear-gradient(110deg,transparent 20%,#d8ad4c08 45%,transparent 70%);background-size:250% 100%;animation:gold-atmosphere 16s ease-in-out infinite;z-index:0}.story>* ,.cta>*{position:relative;z-index:1}.photo-hero{height:540px;align-items:center}.photo-hero>div{max-width:1000px;padding:65px 6%}.photo-hero h1{font-size:clamp(40px,4.1vw,60px);line-height:1.17;max-width:18ch;text-wrap:balance}.photo-hero>div>p:last-child{max-width:42ch;font:19px/1.7 Manrope,Arial,sans-serif;margin:26px 0 0;color:#eeeee5}.photo-hero:after{background:linear-gradient(90deg,#121e19eb 0%,#13231bc9 40%,#13231b10 80%),linear-gradient(0deg,#18221d70,transparent 70%)}.photo-hero>img{object-position:center 50%;animation:photo-settle 1.5s cubic-bezier(.16,1,.3,1) both}.photo-hero>div{animation:page-enter 1s ease-out both}.services-hero>img{object-position:center 44%}.custom-home-hero>img{object-position:center 45%}.about-hero>img{width:58%;left:auto;right:0;object-position:center}.about-hero:after{background:linear-gradient(90deg,#232924 38%,#232924db 48%,#23292422 75%)}.about-hero h1{max-width:19ch}.remodeling-hero>img{object-position:center 57%}.faq-hero{height:450px}.faq-hero>img{object-position:center 35%}.faq-hero h1{max-width:21ch}.text-hero{background:linear-gradient(120deg,#273029,#202621);color:var(--paper);border-bottom:1px solid #76613b;position:relative}.text-hero:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 74px,#bba46a14 75px 76px);pointer-events:none}.text-hero>div{padding-top:65px;padding-bottom:65px;animation:page-enter 1s ease-out both}.text-hero .eyebrow{color:var(--gold)}.text-hero .inner-heading>p{color:#d5d8cd}.inner-heading h1{font-size:clamp(36px,3.7vw,54px);line-height:1.2}.service-index{padding-top:65px;padding-bottom:65px;row-gap:18px}.service-index article[id=additions]>div{grid-template-columns:1fr 1fr;gap:20px 7%;grid-template-rows:auto auto auto}.service-index article[id=additions] h2,.service-index article[id=additions] p,.service-index article[id=additions] .button{grid-column:1;grid-row:auto}.service-index article[id=additions] .client-review{grid-column:2;grid-row:1/4}.client-review{border-left:2px solid var(--gold);padding:5px 0 5px 30px}.client-review blockquote{font:21px/1.65 'Libre Baskerville',Georgia,serif;margin:0 0 22px}.client-review>p:last-child{font-size:14px;margin-bottom:0}.service-index article[id=additions] .client-review p{display:block;grid-column:auto;margin-bottom:16px}.client-review .eyebrow{font-size:10px}.review-section{padding-top:0;max-width:1100px}.about-story{grid-template-columns:.55fr 1fr;gap:12%;padding-top:85px;padding-bottom:85px}.about-monogram{font:clamp(68px,8vw,115px)/1.1 'Libre Baskerville',Georgia,serif;color:#947338;border-bottom:1px solid #bda674;padding-bottom:30px}.about-monogram span{display:block;margin-top:25px;font:11px/1.5 Manrope,sans-serif;letter-spacing:.15em;text-transform:uppercase}.about-story h2{font-size:38px;max-width:23ch}.build-chapters{display:flex;flex-direction:column;border-top:1px solid #b9a67a}.build-chapters>span{padding:29px 0;border-bottom:1px solid #b9a67a;color:#96732d;font:20px 'Libre Baskerville',serif}.build-chapters b{display:inline-block;margin-left:30px;font-weight:400;color:var(--ink);font-size:28px}.home-build-feature,.remodel-feature{align-items:start;gap:9%}.home-build-feature h2,.remodel-feature h2{font-size:35px}.remodel-intro{padding:35px;border:1px solid #c4b287;background:linear-gradient(140deg,#eee7d9,#f6f2e9)}.remodel-options article{display:block!important}.remodel-options article>img{height:340px;margin-bottom:28px;object-position:center}.remodel-options h3{font-size:26px;margin-top:36px}.full-gallery figure:first-child img{height:520px}.full-gallery figure:not(:first-child) img{height:480px;aspect-ratio:auto}.work-services{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap;padding-top:25px;border-top:1px solid #c4b287;margin-top:35px}.faq-layout{padding-top:70px;padding-bottom:75px}.faq-layout aside{background:#eae3d5;padding:35px;border-top:3px solid #ae8a43}.faq-layout aside h2{font-size:30px}.contact{max-width:none;padding:70px 6%;background:radial-gradient(ellipse at 0 30%,#53604330,transparent 70%),#222923;color:#f5f2eb;gap:8%}.contact>div:first-child{animation:page-enter 1s ease-out both}.contact h1{font-size:clamp(36px,3.6vw,54px);line-height:1.17;text-wrap:balance}.contact .eyebrow{color:var(--gold)}.contact-area{color:#ccd0c4}.contact .contact-phone{color:var(--gold)}.contact .contact-project-image{height:300px;object-position:center 40%}.project-form{background:var(--paper);color:var(--ink);padding:38px;box-shadow:0 14px 50px #0002}.project-form h2{font-size:30px}.legal-intro{padding:32px;background:linear-gradient(140deg,#293129,#202720);color:var(--paper);border-top:3px solid var(--gold)}.legal-intro h1{font-size:39px}.legal-intro .eyebrow,.legal-intro .legal-date{color:var(--gold)}.legal-intro>p:last-child{color:#e1e2d7}.legal-intro a{color:#e6bf67}.legal-page{grid-template-columns:minmax(300px,.9fr) minmax(0,1.4fr);column-gap:6%;row-gap:45px;padding-top:65px}.legal-sections{animation:page-enter 1s ease-out both}.reveal{animation:section-arrive .8s cubic-bezier(.16,1,.3,1) both}.image-open img,.home-service-photo img{transition:transform .8s cubic-bezier(.16,1,.3,1),filter .3s}.image-open:active img{filter:brightness(.9)}.service-card:active{background:#d8ad4c12}.button:active{filter:brightness(.93)}
@keyframes page-enter{from{opacity:.82;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes section-arrive{from{opacity:.7;clip-path:inset(0 0 4% 0)}to{opacity:1;clip-path:inset(0)}}@keyframes photo-settle{from{transform:scale(1.035)}to{transform:scale(1)}}@keyframes gold-atmosphere{0%,100%{background-position:100% 0}50%{background-position:0 0}}
@media(hover:hover) and (pointer:fine){.image-open:hover img,.home-service-photo:hover img{transform:scale(1.025)}.service-card:hover h3{color:#8f691d}.button:hover{filter:brightness(1.07)}}
@media(max-width:1150px){.header{gap:22px}.header nav{gap:20px}.header nav a,.services-toggle{font-size:17px}.header-phone{font-size:21px;padding-left:20px}.hero-services i{display:none}.hero-services>span{width:70px}.hero-services p{column-gap:28px}.inquiry{gap:25px}.inquiry h2{font-size:26px;max-width:220px}.quick-form{gap:12px}.quick-form .button{padding:12px 18px}.home-service-links .service-card h3{font-size:27px}.home-service-photo{min-height:550px}.photo-hero h1{max-width:19ch}.contact{gap:5%}.project-form{padding:26px}}
@media(max-width:850px){.header nav a,.services-toggle{font-size:19px}.photo-hero{height:470px}.photo-hero>div{padding:45px 6%}.photo-hero h1{font-size:43px;max-width:19ch}.about-hero>img{width:100%}.about-hero:after{background:linear-gradient(90deg,#15201ce8,#15201c91 65%,#15201c30)}.home-services-composition{gap:5%}.home-service-photo{min-height:540px}.home-service-links .service-card h3{font-size:25px}.home-service-links .service-card p{font-size:14px}.company-story .story-image img{height:490px}.story-copy h2{font-size:34px}.legal-page{grid-template-columns:1fr}.legal-intro{position:static}.about-story{gap:7%}.about-story h2{font-size:32px}.service-index article[id=additions]>div{gap:20px 5%}.client-review blockquote{font-size:19px}.contact{grid-template-columns:1fr 1fr}.contact h1{font-size:38px}.form-grid{grid-template-columns:1fr}.project-form{padding:24px}.project-form h2{font-size:26px}.contact .contact-project-image{height:320px}}
@media(max-width:600px){.hero h1{font-size:39px;line-height:1.17;max-width:12.5ch}.hero-copy>p:not(.eyebrow){font-size:21px}.hero-copy{padding-top:38px}.hero-services p{font-size:13px;letter-spacing:.03em;gap:0 20px;justify-content:flex-start}.hero-services>span{display:none}.hero-services{justify-content:start}.inquiry h2{font-size:28px;max-width:19ch}.home-services-composition{display:flex;flex-direction:column;gap:32px}.home-service-photo{min-height:0;height:340px}.home-service-links .service-card{padding:25px 0}.home-service-links .service-card h3{font-size:28px}.home-service-links .service-card p{font-size:15px}.company-story-text{grid-template-columns:1fr;gap:35px}.company-story .story-image img{height:320px}.photo-hero{height:540px;align-items:end}.photo-hero:after,.about-hero:after{background:linear-gradient(0deg,#14221df5 0%,#14221dcc 39%,#14221d20 90%)}.photo-hero>div{padding:35px 6%;width:100%}.photo-hero h1{font-size:35px;line-height:1.2;max-width:19ch}.photo-hero>div>p:last-child{font-size:16px;line-height:1.6;margin-top:18px;max-width:35ch}.photo-hero .eyebrow{font-size:10px;margin-bottom:18px}.photo-hero>img{object-position:60% center}.custom-home-hero>img{object-position:62% center}.faq-hero>img{object-position:center 22%}.services-hero>img{object-position:60% center}.about-hero{height:540px}.inner-heading h1{font-size:35px}.text-hero>div{padding:40px 6%}.text-hero .inner-heading>p{font-size:17px!important}.about-story{grid-template-columns:1fr;padding-top:45px;padding-bottom:45px;gap:30px}.about-monogram{font-size:66px;padding-bottom:20px}.about-monogram span{margin-top:15px}.about-story h2{font-size:32px}.home-build-feature,.remodel-feature{gap:35px}.home-build-feature h2,.remodel-feature h2{font-size:31px}.build-chapters>span{padding:20px 0;font-size:16px}.build-chapters b{font-size:24px;margin-left:22px}.service-index{padding-top:40px;padding-bottom:40px}.service-index article[id=additions]>div{display:block}.service-index article[id=additions] .client-review{margin-top:32px}.client-review{padding-left:22px}.client-review blockquote{font-size:18px}.remodel-intro{padding:26px}.remodel-options article>img{height:320px}.full-gallery figure:first-child img,.full-gallery figure:not(:first-child) img{height:330px;aspect-ratio:auto}.work-services{display:block;margin-top:25px}.work-services a{margin:0 0 16px}.faq-layout{padding-top:40px;padding-bottom:45px}.faq-layout aside{padding:28px}.contact{grid-template-columns:1fr;padding-top:45px;gap:38px}.contact h1{font-size:37px}.contact .contact-project-image{height:250px}.project-form{padding:26px 20px}.project-form h2{font-size:27px}.legal-page{padding-top:40px}.legal-intro{padding:28px 24px}.legal-intro h1{font-size:36px}.legal-intro>p:last-child{font-size:16px}}
@media(max-width:360px){.hero h1{font-size:35px}.photo-hero h1{font-size:32px}.photo-hero{height:570px}.contact h1{font-size:33px}.button{font-size:17px}.legal-intro h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{clip-path:none!important}}
/* Edited originals retain their native 1086-pixel width; use as inset details. */
.home-service-photo{max-width:540px;width:100%;justify-self:center}.company-story .story-image{max-width:540px;width:100%;justify-self:center}
@media(max-width:600px){.home-service-photo,.company-story .story-image{max-width:350px;align-self:center}.company-story .story-image{justify-self:center}}
.contact>div>p:not(.eyebrow){color:#e1e3d9}.contact>div>p.contact-area{color:#ced3c6}
.remodeling-hero>img{object-position:center 30%}
.home-service-photo img{transform:rotate(-1deg) scale(1.025)}
@media(hover:hover) and (pointer:fine){.home-service-photo:hover img{transform:rotate(-1deg) scale(1.045)}}
@media(prefers-reduced-motion:reduce){.home-service-photo:hover img{transform:rotate(-1deg) scale(1.025)}}
@media(min-width:361px) and (max-width:600px){.photo-hero h1{font-size:32px}.areas h2{font-size:32px;max-width:22ch;margin-left:auto;margin-right:auto}}
@media(min-width:1500px){.remodeling-hero>img,.faq-hero>img{width:70%;left:auto;right:0}.remodeling-hero:after,.faq-hero:after{background:linear-gradient(90deg,#232924 28%,#232924d9 43%,#23292422 78%)}}
.garage-picture{display:contents}.services-hero>.garage-picture>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%;animation:photo-settle 1.5s cubic-bezier(.16,1,.3,1) both}
@media(max-width:600px){.services-hero>.garage-picture>img{object-position:60% center}}
