@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--paper:#f4f1e9;--ink:#253b35;--muted:#67706a;--accent:#ab573e;--line:#d8d9ce}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'DM Sans',Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #ab573e;outline-offset:5px}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2{font-weight:500;letter-spacing:-.045em}h1,h2{font-family:'Playfair Display',Georgia,serif}.preview-note{background:var(--ink);color:var(--paper);font-size:11px;text-align:center;padding:7px 15px;letter-spacing:.06em}header{display:flex;align-items:center;justify-content:space-between;padding:23px 5%;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:12px;font-weight:700;font-size:18px;letter-spacing:.16em}.brand-small{display:block;font-size:9px;letter-spacing:.4em;margin-top:5px}.brand-mark{font-family:Georgia,serif;font-size:42px;letter-spacing:-.22em;position:relative;padding-right:10px}.brand-mark span{font-size:28px;color:var(--accent)}nav{display:flex;gap:33px;font-size:13px}nav a:hover,.text-link:hover{color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:17px 24px;font-size:13px;font-weight:600}.button:hover{background:#384c44}.button:disabled{opacity:.5;cursor:not-allowed}.header-cta{padding:13px 20px}.hero{display:grid;grid-template-columns:1.04fr 1fr;min-height:680px}.hero-copy{padding:90px 8% 30px 10%;display:flex;flex-direction:column}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.17em;line-height:1.6}h1{font-size:clamp(52px,5.1vw,82px);line-height:1.07;margin:30px 0}h1 em{color:var(--accent);font-weight:500}.intro{font-size:16px;line-height:1.8;max-width:425px;color:#535f57}.hero-actions{margin:32px 0 48px;display:flex;align-items:flex-start;gap:22px;flex-wrap:wrap}.text-link{border:0;background:none;padding:0;display:inline-block;font-size:13px;font-weight:600;line-height:1.7;text-align:left}.hero-actions .text-link{margin-top:16px}.hero-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:23px;display:flex;flex-wrap:wrap;gap:12px;font-size:10px;letter-spacing:.04em;justify-content:space-between}.hero-image{position:relative;overflow:hidden}.hero-image>img{height:100%;position:absolute;object-position:50% 65%}.image-caption{position:absolute;bottom:0;left:0;right:0;padding:65px 30px 25px;background:linear-gradient(transparent,rgba(0,0,0,.7));display:flex;justify-content:space-between;gap:10px;color:#fff;font-size:10px;letter-spacing:.07em}.statement{text-align:center;padding:100px 20px 95px;max-width:900px;margin:auto}.statement h2{font-size:clamp(30px,3.4vw,47px);line-height:1.2;margin:20px 0}.statement>p:last-child{font-size:14px;color:var(--muted);line-height:1.7}.section{padding:85px 5%}.work{padding-top:0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:36px}.section-heading h2,.locations h2{font-size:clamp(38px,4vw,56px);line-height:1.13;margin-top:15px}.section-heading>p{font-size:13px;line-height:1.7;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.project-image{width:100%;display:block;border:0;padding:0;position:relative;overflow:hidden;background:#deddd4;aspect-ratio:4/5}.project-image img{height:100%;transition:transform .6s;object-position:50% 57%}.project-image:hover img{transform:scale(1.025)}.photo-label{position:absolute;left:18px;bottom:22px;color:white;font-size:9px;letter-spacing:.08em;text-shadow:0 1px 5px #000}.round-arrow{position:absolute;right:17px;bottom:17px;width:35px;height:35px;border-radius:50%;background:var(--paper);display:grid;place-items:center}.project-meta{display:flex;justify-content:space-between;gap:10px;font-size:9px;letter-spacing:.07em;color:var(--muted);margin:21px 0 13px}.project-card h3{font-family:Georgia,serif;font-size:26px;font-weight:400;letter-spacing:-.03em}.project-card h3 button{padding:0;background:none;border:0;text-align:left}.project-card>p{font-size:13px;line-height:1.8;margin:15px 0 18px;color:var(--muted);max-width:330px}.services{background:#eae9df}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.service-list article{border-top:1px solid #bac1b7;padding-top:20px}.service-number{color:var(--accent);font-size:12px}.service-list h3{font-size:21px;font-weight:500;margin:25px 0 16px}.service-list p{font-size:13px;line-height:1.9;color:var(--muted);margin-bottom:22px}.detail-section{display:grid;grid-template-columns:1fr 1fr;background:var(--ink);color:var(--paper);min-height:540px}.detail-section>img{height:540px;object-position:center 60%}.detail-section>div{padding:85px 14%;display:flex;justify-content:center;flex-direction:column}.detail-section h2{font-size:60px;line-height:1.1;margin:23px 0}.detail-section p:not(.eyebrow){font-size:14px;line-height:1.9;opacity:.8}.detail-section a{margin-top:25px}.locations{text-align:center}.locations>div{display:grid;grid-template-columns:repeat(3,1fr);margin-top:45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.locations span{font-family:Georgia,serif;font-size:30px;padding:35px 15px}.locations span+span{border-left:1px solid var(--line)}.locations small{font-family:Arial,sans-serif;display:block;font-size:11px;margin-top:13px;color:var(--muted)}.contact{display:grid;grid-template-columns:1.15fr 1fr;gap:10%;padding-top:20px;padding-bottom:100px}.contact h2{font-size:60px;line-height:1.08;margin:22px 0}.contact>div>p:last-child{font-size:14px;color:var(--muted);line-height:1.9;max-width:450px}.contact-card{border:1px solid var(--line);padding:36px;align-self:center}.contact-card h3{font-size:23px;font-weight:500;margin-bottom:25px}.contact-card p{font-size:14px;line-height:1.8}.contact-card .small{font-size:12px;color:var(--muted);margin:15px 0 24px}footer{border-top:1px solid var(--line);padding:35px 5%;display:flex;justify-content:space-between;align-items:center;gap:20px}footer>span,footer>a:last-child{font-size:11px;color:var(--muted)}dialog{border:none;padding:30px;background:var(--paper);color:var(--ink);width:min(1100px,94vw);max-height:92vh}dialog::backdrop{background:#10231dd9}.dialog-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px;font-size:10px;letter-spacing:.08em}.dialog-top button{background:none;border:1px solid var(--line);padding:9px 13px}.dialog-intro{padding:32px 0}.dialog-intro h2{font-size:42px;margin:13px 0}.dialog-intro>p:not(.eyebrow){font-size:14px;line-height:1.8;max-width:650px}.direct-note{display:block;font-size:11px;color:var(--muted);margin-top:15px}.gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin-bottom:30px}.gallery figure{margin:0}.gallery img{width:100%;height:380px;object-fit:contain;background:#e5e4db}.gallery figcaption{font-size:12px;padding-top:12px}.gallery a{display:block}body.modal-open{overflow:hidden}
@media(min-width:1500px){header,main,footer{max-width:1600px;margin:auto}}@media(max-width:950px){.hero{min-height:610px}.hero-copy{padding-top:60px}h1{font-size:60px}.hero-actions{gap:12px}.section{padding-left:5%;padding-right:5%}.project-grid{gap:18px}.project-meta{flex-direction:column}.detail-section h2,.contact h2{font-size:48px}.service-list{gap:22px}.hero-foot{font-size:9px}}@media(max-width:650px){header{padding:18px 5%}.brand{font-size:15px}.brand-mark{font-size:34px}.brand-small{font-size:8px}.header-cta{display:none}nav{gap:16px;font-size:11px}.preview-note{font-size:9px}.hero{display:flex;flex-direction:column}.hero-copy{padding:50px 6% 30px}h1{font-size:57px}.eyebrow{font-size:9px}.intro{font-size:14px}.hero-actions{margin-bottom:35px}.hero-foot{padding-top:18px}.hero-image{height:440px}.hero-image>img{object-position:center 65%}.statement{padding:65px 20px}.statement h2{font-size:31px}.section{padding-top:55px;padding-bottom:55px}.work{padding-top:0}.section-heading{display:block}.section-heading>p{margin-top:20px}.project-grid,.service-list{grid-template-columns:1fr}.project-grid{gap:45px}.project-image{aspect-ratio:5/4}.project-image img{object-position:center 60%}.project-meta{flex-direction:row}.project-card>p{max-width:none}.services .service-list{gap:30px}.service-list h3{margin-top:15px}.detail-section{grid-template-columns:1fr}.detail-section>img{height:430px}.detail-section>div{padding:45px 7%}.detail-section h2{font-size:49px}.locations>div{grid-template-columns:1fr}.locations span{font-size:27px;padding:25px}.locations span+span{border-left:0;border-top:1px solid var(--line)}.contact{grid-template-columns:1fr;gap:30px}.contact h2{font-size:48px}.contact-card{padding:26px}footer{flex-wrap:wrap;justify-content:space-between}footer>span{display:none}dialog{padding:20px}.dialog-top{font-size:8px;gap:15px}.dialog-intro h2{font-size:36px}.gallery{grid-template-columns:1fr;gap:22px}.gallery img{height:auto;max-height:470px}.dialog-top button{white-space:nowrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Business identity, service scope and inquiry flow. */
:root{--accent:#916511}header,footer{background:#000;color:var(--paper)}header{padding-top:10px;padding-bottom:10px}.company-logo{width:175px;height:105px;object-fit:contain}header .button{background:#ffed00;color:#171717;border-color:#ffed00}header nav a:hover{color:#ffed00}.hero-copy>.eyebrow{max-width:460px}.more-services{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:45px;border-top:1px solid #bac1b7;padding-top:30px}.more-services h3{font-size:18px;font-weight:500;margin-bottom:12px}.more-services p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:15px}.area-intro{max-width:700px;margin:25px auto 0;font-size:15px;line-height:1.8;color:var(--muted)}.city-list{list-style:none;padding:0;margin:32px auto;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:950px}.city-list li{border:1px solid var(--line);padding:14px 23px;font-size:14px}.area-note{font-size:13px;line-height:1.8;max-width:650px;margin:auto;color:var(--muted)}.contact{gap:6%;grid-template-columns:1fr 1.15fr}.contact-direct{display:flex;align-items:flex-start;flex-direction:column;gap:22px;margin-top:28px}.email-address{font-size:14px;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:4px}.contact-card{padding:30px}form label{display:block;font-size:12px;font-weight:600;margin-bottom:16px}input,select,textarea{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #bfc6bb;border-radius:0;color:var(--ink);background:#faf9f4;font:14px Arial,sans-serif}input:focus,select:focus,textarea:focus{outline:2px solid #916511;outline-offset:1px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}textarea{resize:vertical}form .button{width:100%}#inquiry-status:empty{display:none}#inquiry-status{margin-bottom:0}footer>div{font-size:12px;line-height:2;overflow-wrap:anywhere}footer .company-logo{width:165px;height:99px}footer>a:last-child{color:#d0d4cd}@media(max-width:950px){.more-services{grid-template-columns:repeat(2,1fr)}}@media(max-width:650px){header{padding:8px 5%}.company-logo{width:128px;height:77px}nav{gap:13px}.hero-copy>.eyebrow{font-size:8px}.more-services{grid-template-columns:1fr 1fr;gap:25px 20px}.contact{grid-template-columns:1fr;gap:30px}.contact-card{padding:22px}.form-row{grid-template-columns:1fr;gap:0}.city-list li{padding:12px 16px}.locations h2{font-size:36px}footer{display:grid;grid-template-columns:1fr;gap:15px}footer .company-logo{width:155px;height:93px}}

/* Readable service cards and clear routes to a project conversation. */
.contact>div>p:not(.eyebrow){font-size:15px;line-height:1.9;color:var(--muted);max-width:450px}
.more-services>div{display:flex;flex-direction:column;align-items:flex-start}
.more-services .text-link{margin-top:auto}
.project-image:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none}
.photo-label,.round-arrow{z-index:1}
.text-link{padding-block:8px}
.hero-actions .text-link{margin-top:8px}
nav a{display:inline-flex;align-items:center;min-height:44px}
.button{min-height:48px;transition:background .2s}
header .button:hover{background:#e5d500;border-color:#e5d500}
@media(max-width:400px){.more-services{grid-template-columns:1fr;gap:28px}nav{gap:9px;font-size:10px}.hero-actions{flex-direction:column}.hero-actions .text-link{margin-top:0}}

/* Four homeowner projects, with room to show the finish details. */
.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 30px}.project-image{aspect-ratio:4/3}.project-card>p{max-width:480px}
@media(max-width:650px){.project-grid{grid-template-columns:1fr;gap:40px}.project-image{aspect-ratio:5/4}}

.gallery-summary{font-size:12px;line-height:1.7;color:var(--muted);margin:0 0 24px;padding-top:18px;border-top:1px solid var(--line)}
