*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:#172c2b;background:#faf9f5;font-family:Arial,Helvetica,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,summary{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #ad6535;outline-offset:5px}.skip{position:absolute;top:-100px;background:white;padding:15px;z-index:10}.skip:focus{top:0}.top{background:#163e3b;color:white;padding:9px 6%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.04em}header{background:#faf9f5;display:flex;align-items:center;justify-content:space-between;padding:22px 6%;position:sticky;top:0;z-index:5;border-bottom:1px solid #ddd}.brand{display:flex;align-items:center;gap:12px;font-weight:bold;font-size:17px;letter-spacing:.06em;line-height:1.3}.brand small{display:block;font-size:9px;letter-spacing:.15em;margin-top:4px}.mark{font-size:32px;letter-spacing:-3px;border-right:1px solid #aaa;padding-right:15px;color:#1b4b45}.mark span{font-size:22px;color:#ad6535;margin-left:5px}nav{display:flex;gap:30px;align-items:center;font-size:13px}#menu{display:none}.button{display:inline-flex;justify-content:center;align-items:center;background:#ac5e31;color:white;padding:15px 24px;font-size:13px;font-weight:bold;letter-spacing:.02em;transition:background .2s}.button:hover{background:#83421e}.small{padding:11px 20px}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:650px}.hero-copy{padding:70px 10% 45px 12%}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:.19em;color:#996039;margin:0 0 22px}h1,h2{font-family:Georgia,serif;font-weight:normal;line-height:1.08;letter-spacing:-.04em;margin:0 0 24px}h1{font-size:clamp(48px,5.5vw,82px)}h1 em{color:#a75d32;font-weight:normal}h2{font-size:clamp(36px,4vw,54px)}h3{line-height:1.2;font-size:22px;letter-spacing:-.02em;margin:15px 0}.intro{max-width:470px;color:#556460;font-size:16px}.actions{display:flex;gap:22px;align-items:center;margin-top:30px;flex-wrap:wrap}.text-link{font-size:13px;font-weight:bold;border-bottom:1px solid #ac5e31;padding-bottom:6px}.hero-foot{display:flex;align-items:center;gap:18px;margin-top:44px}.hero-foot strong{font-family:Georgia,serif;font-size:42px;line-height:1}.hero-foot span{font-size:11px;color:#62716a;border-left:1px solid #ccc;padding-left:18px}.hero-image{position:relative;min-height:500px;background:#364840}.hero-image img{width:100%;height:100%;position:absolute;object-fit:cover}.hero-image:after{content:'';position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#122e2bd4)}.image-tag{position:absolute;bottom:35px;left:35px;color:white;z-index:1;font-size:10px;letter-spacing:.15em}.image-tag span{display:block;font-family:Georgia,serif;font-size:24px;letter-spacing:0;margin-top:8px}.trust{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #d9ddd4;padding:25px 6%;gap:25px}.trust div{border-right:1px solid #d9ddd4}.trust div:last-child{border:0}.trust strong,.trust span{display:block}.trust strong{font-size:15px}.trust span{font-size:12px;color:#64736d}.section{padding:90px 6%}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:35px}.section-head>p{max-width:360px;color:#64736d;font-size:15px}.services{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #ccc}.service{padding:28px 22px 20px 0;margin-right:22px;border-right:1px solid #ccc}.service:last-child{border-right:0}.num{color:#a76038;font-size:12px}.service h3{font-family:Georgia,serif;font-size:28px;min-height:68px;font-weight:normal}.service p{font-size:14px;color:#64736d}.service summary{font-size:12px;font-weight:bold;list-style:none;border-top:1px solid #ddd;padding-top:22px}.service summary span{float:right;color:#a76038;font-size:20px;line-height:1}.service details a{font-size:12px;text-decoration:underline}.about{background:#eaece4;padding:80px 6%;display:grid;grid-template-columns:.9fr 1.1fr;gap:10%}.since{background:#183f3b;color:#fff;padding:42px;display:flex;flex-direction:column;justify-content:space-between;min-height:460px}.since>span{font-size:10px;letter-spacing:.19em}.since strong{font-family:Georgia,serif;font-weight:normal;font-size:100px;line-height:1;margin:30px 0}.since strong span{color:#c3895e}.since p{font-size:14px;color:#d4dfd5}.about>div>p{font-size:15px}.about .eyebrow{font-size:11px}blockquote{font-family:Georgia,serif;font-size:28px;margin:30px 0;padding-left:22px;border-left:3px solid #ac5e31}cite{display:block;font-family:Arial,sans-serif;font-style:normal;font-size:10px;letter-spacing:.03em;margin-top:7px;color:#64736d}.values{display:grid;grid-template-columns:1fr 1fr;gap:25px}.values h3{font-size:15px}.values p{font-size:13px;color:#64736d}.clients .lead{color:#64736d}.clients ul{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);margin:35px 0}.clients li{border-top:1px solid #d5d8cf;padding:18px 20px 18px 0;font-size:14px}.note{font-size:11px;color:#64736d}.process{padding-top:20px;display:grid;grid-template-columns:1fr 1fr;gap:10%}.process ol{list-style:none;padding:0;margin:0}.process li{display:flex;gap:26px;border-top:1px solid #ccc;padding:24px 0}.process li>span{color:#a76038;font-size:13px}.process h3{margin:0;font-size:18px}.process p{font-size:14px;color:#64736d}.contact{padding:80px 6%;background:#173d39;color:white;display:grid;grid-template-columns:1fr 1fr;gap:10%}.contact .eyebrow{color:#d9a37a}.contact p{color:#d2dfd7;font-size:14px}.phone{font-family:Georgia,serif;font-size:clamp(28px,3.7vw,50px)}.contact-card{background:#244d47;padding:35px}.contact-card h3{font-family:Georgia,serif;font-weight:normal;font-size:28px}.contact-card ul{padding-left:20px;color:#d2dfd7;font-size:14px;line-height:2}.contact-card small{display:block;font-size:11px;margin-top:18px;color:#d2dfd7}footer{padding:40px 6%}footer>p{font-size:12px;color:#64736d}footer>div{display:flex;justify-content:space-between;border-top:1px solid #ddd;padding-top:20px;font-size:10px;color:#64736d}@media(max-width:1000px){.hero-copy{padding:50px 8%}.services{grid-template-columns:repeat(2,1fr)}.service{margin-bottom:30px}.service h3{min-height:0}.about{gap:6%}.since strong{font-size:80px}nav{gap:16px}}@media(max-width:700px){.top{justify-content:center;text-align:center}.top>a{display:none}header{padding:17px 6%}.brand{font-size:13px}.mark{font-size:27px}.brand small{font-size:8px}#menu{display:block;border:1px solid #ccc;background:transparent;padding:8px;color:#173d39}nav{display:none;position:absolute;top:100%;left:0;right:0;background:#faf9f5;padding:20px 6%;border-bottom:1px solid #ccc}nav.open{display:flex;flex-direction:column;align-items:stretch}.hero{grid-template-columns:1fr}.hero-copy{padding:48px 6% 35px}.hero-image{min-height:320px}.trust{grid-template-columns:1fr;gap:15px}.trust div{border:0;display:flex;justify-content:space-between;gap:10px}.trust strong{font-size:12px}.trust span{font-size:11px}.section{padding:55px 6%}.section-head{display:block}.services{grid-template-columns:1fr}.service{border-right:0;margin-right:0;padding-right:0;border-bottom:1px solid #ddd}.about{grid-template-columns:1fr;padding:50px 6%;gap:40px}.since{min-height:350px}.since strong{font-size:85px}.clients ul{grid-template-columns:1fr 1fr}.clients li{font-size:12px}.process,.contact{grid-template-columns:1fr;gap:30px}.contact{padding:55px 6%}.contact-card{padding:25px}footer>div{flex-direction:column;gap:10px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.company-logo{display:block;width:260px;max-width:100%;height:auto}header .brand,footer .brand{letter-spacing:normal}footer .brand{width:300px}@media(max-width:700px){header .company-logo{width:205px}footer .company-logo{width:260px}}

.construction{background:#f0f1ea}.construction-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 24px}.construction-gallery figure{margin:0}.gallery-link{display:block;position:relative;background:#dce1d7;overflow:hidden}.gallery-link img{display:block;width:100%;height:265px;object-fit:contain;transition:transform .2s}.gallery-link:hover img{transform:scale(1.025)}.photo-number{position:absolute;top:12px;left:12px;background:#173d39;color:white;font-size:12px;padding:5px 10px}.construction-gallery figcaption{font-size:14px;padding-top:12px}.construction-gallery figcaption span{display:block;font-size:10px;letter-spacing:.13em;color:#996039;margin-bottom:4px}#photo-viewer{width:min(1100px,96vw);max-height:95vh;padding:18px;border:0;background:#faf9f5;color:#172c2b}#photo-viewer::backdrop{background:#071d19dc}.viewer-bar,.viewer-controls{display:flex;justify-content:space-between;align-items:center;gap:15px}.viewer-bar{margin-bottom:12px;font-size:12px}.viewer-controls p{text-align:center;font-size:14px}.viewer-bar button,.viewer-controls button{background:#173d39;color:white;border:0;padding:10px 15px;font-size:12px}#viewer-image{display:block;width:100%;height:70vh;object-fit:contain;background:#eaece4}.viewer-controls button:disabled{opacity:.4;cursor:default}@media(max-width:900px){.construction-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.construction-gallery{grid-template-columns:1fr}.gallery-link img{height:280px}.viewer-controls{gap:6px}.viewer-controls button{padding:10px 7px}#viewer-image{height:65vh}.viewer-controls p{font-size:12px}}

/* Compact homepage banner and company branding */
header{padding-top:12px;padding-bottom:12px}.company-logo{width:185px}footer .brand{width:205px}footer .company-logo{width:205px}.hero{min-height:450px}.hero-copy{padding:40px 10% 30px 12%}h1{font-size:clamp(42px,4.5vw,64px)}.hero-image{min-height:420px}.hero-foot{margin-top:24px}.hero-copy .eyebrow{margin-bottom:16px}.hero-copy .intro{font-size:15px}.hero-copy .actions{margin-top:22px}.project-promo{padding:45px 6%;background:#eaece4;display:flex;justify-content:space-between;align-items:center;gap:30px}.project-promo h2{font-size:34px;margin-bottom:12px}.project-promo p{margin-bottom:0}.project-promo .eyebrow{margin-bottom:12px}.project-back{padding:30px 6% 0}.project-back+.construction{padding-top:40px}@media(max-width:700px){header .company-logo{width:155px}footer .company-logo{width:185px}.hero-copy{padding:30px 6%}.hero-image{min-height:240px}.project-promo{flex-direction:column;align-items:flex-start;padding:35px 6%}.project-promo h2{font-size:30px}}

@media(min-width:701px){nav{gap:18px}}
