@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Outfit:wght@400;500;600;700&display=swap');:root{font-family:Outfit,Arial,sans-serif;color:#30312c;background:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}.wrap{max-width:1240px;margin:auto;padding:0 5vw}.site-header{display:block;height:auto;position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #ecece4}.site-bar{height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}.site-logo{display:block;width:160px;flex:none}.site-logo img{display:block;width:100%}.desktop-menu{display:flex;align-items:center;gap:25px;margin-left:auto;font-size:14px;font-weight:600}.desktop-menu a:hover,.mobile-menu a:hover{text-decoration:underline;text-underline-offset:5px}.social-icons{display:flex;align-items:center;gap:8px}.social-icons a{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;color:#30312c;transition:color .2s,background .2s}.social-icons a:hover{background:#f9e77d}.social-icons svg{width:19px;height:19px}.mobile-menu{display:none}.site-footer{display:block;border-top:1px solid #ecece4;padding:22px 0;color:#6c6f66;font-size:12px}.site-footer .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.site-footer .social-icons a{color:#5b5f55}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:700;color:#857d54}.title{font-size:clamp(38px,4.4vw,62px);font-weight:500;line-height:1.04;letter-spacing:-.07em;margin:16px 0 20px}.title em{font-family:'DM Serif Display',Georgia,serif;font-weight:400}.lead{font-size:clamp(16px,1.5vw,20px);line-height:1.45;color:#5f6259;max-width:620px}.button{display:inline-flex;align-items:center;justify-content:center;background:#33362e;color:#fff;border:0;border-radius:50px;padding:14px 21px;font:600 14px Outfit,Arial,sans-serif;cursor:pointer}.button:hover{background:#51564a}.page-head{padding:70px 0 34px}.page-head p{margin:0}.home{padding:75px 0 85px;display:grid;grid-template-columns:1fr .9fr;gap:7vw;align-items:center}.home p{margin:0 0 26px}.home-image{width:100%;height:390px;object-fit:cover;object-position:center 26%;border-radius:12px}.home-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.home-actions .plain{font-size:14px;text-decoration:underline;text-underline-offset:4px;font-weight:600}.service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;padding-bottom:90px}.service-card{border:1px solid #e9e9e1;border-radius:12px;padding:25px;min-height:190px;display:flex;flex-direction:column;justify-content:space-between;background:#fbfaf6}.service-card:nth-child(2),.service-card:nth-child(5){background:#fff5c7}.service-card:hover{background:#f8e77d}.service-card small{font-size:13px;color:#76786d}.service-card h2{font-size:clamp(21px,2.1vw,29px);line-height:1.1;letter-spacing:-.05em;font-weight:500;margin:0}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:start;padding-bottom:95px}.about-content p{font-size:20px;line-height:1.5;margin:0 0 18px}.about-content img{width:100%;height:410px;object-fit:cover;border-radius:12px}.faq-list{max-width:900px;border-top:1px solid #ddded6;margin-bottom:100px}.faq-list details{border-bottom:1px solid #ddded6}.faq-list summary{list-style:none;cursor:pointer;padding:22px 32px 22px 0;font-size:19px;font-weight:500;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font-size:24px;font-weight:400;color:#aa8b1a;position:absolute;right:5px;top:19px}.faq-list details[open] summary:after{content:'−'}.faq-list p{font-size:16px;line-height:1.6;color:#62655b;max-width:710px;margin:0 0 24px}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;padding-bottom:100px}.contact-layout h2{font-weight:500;font-size:25px;letter-spacing:-.03em}.contact-layout p{line-height:1.5;color:#65695e}.contact-item{margin:24px 0}.contact-item b{display:block;font-weight:600;margin-bottom:4px}.contact-item a{display:block;line-height:1.7;color:#454943}.contact-item a:hover{text-decoration:underline}.contact-layout .social-icons{margin-top:24px}.form-card{background:#fff9e0;border-radius:16px;padding:32px}.form-card h2{margin:0 0 8px}.form-card p{margin:0 0 25px;font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-card label{display:block;font-size:14px;font-weight:600;margin-bottom:13px}.form-card input,.form-card textarea,.form-card select{display:block;width:100%;margin-top:7px;padding:12px;border:1px solid #bdbfb4;border-radius:7px;background:#fff;font:16px Outfit,Arial,sans-serif;color:#30312c}.form-card textarea{min-height:125px;resize:vertical}.form-card .hint{font-size:13px;margin:15px 0 0}.form-card .button{margin-top:6px}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #c39921;outline-offset:3px}@media(max-width:850px){.site-bar{height:64px;gap:8px;position:relative}.desktop-menu{display:none}.mobile-menu{display:block;order:0}.mobile-menu summary{display:grid;place-items:center;width:38px;height:38px;list-style:none;cursor:pointer}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu svg{width:25px;height:25px}.mobile-menu nav{position:absolute;left:5vw;top:60px;min-width:220px;background:#fff;border:1px solid #e5e5dd;border-radius:11px;box-shadow:0 15px 35px #0002;padding:10px;display:grid;gap:2px}.mobile-menu nav a{padding:12px;font-size:16px;font-weight:600;border-radius:6px}.site-logo{order:1;width:135px;margin:auto}.site-bar>.social-icons{order:2}.site-bar>.social-icons{gap:1px}.site-bar>.social-icons a{width:28px;height:32px}.site-bar>.social-icons svg{width:18px;height:18px}.home{gap:30px}.service-list{grid-template-columns:repeat(2,1fr)}.contact-layout{gap:25px}}@media(max-width:600px){.wrap{padding:0 20px}.site-bar{gap:3px}.site-logo{width:120px}.mobile-menu nav{left:20px}.home{display:flex;flex-direction:column;align-items:stretch;padding-top:28px;padding-bottom:55px;gap:21px}.home-image{height:215px;object-position:center 20%;order:-1}.title{font-size:clamp(37px,10vw,49px);margin:12px 0 15px}.lead{font-size:17px;line-height:1.45}.page-head{padding:45px 0 28px}.service-list{gap:9px;padding-bottom:60px}.service-card{padding:17px;min-height:140px}.service-card h2{font-size:19px}.about-content{display:flex;flex-direction:column;padding-bottom:60px}.about-content img{order:-1;height:245px}.about-content p{font-size:17px}.faq-list{margin-bottom:65px}.faq-list summary{font-size:16px;padding:17px 27px 17px 0}.faq-list summary:after{top:13px}.faq-list p{font-size:15px}.contact-layout{display:flex;flex-direction:column;padding-bottom:65px}.form-card{padding:22px}.form-grid{grid-template-columns:1fr;gap:0}.site-footer .wrap{display:block}.site-footer .social-icons{margin-top:12px}}.service-detail .hero h1{font-size:clamp(38px,4.8vw,64px);line-height:1.08}.service-detail .hero .lead{font-size:clamp(18px,1.7vw,23px)}.service-detail .hero .body{font-size:16px}.service-detail .hero{padding-top:50px;padding-bottom:50px}.service-detail .hero img{height:360px;border-radius:12px}.service-detail .examples{padding:55px 0 80px}.service-detail .examples .title{font-size:clamp(32px,3.5vw,48px)}.project-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:38px 20px}.project-group{margin:0}.project-group>img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:10px;display:block}.project-group h3{font-size:20px;font-weight:600;letter-spacing:-.035em;margin:12px 0 2px}.project-group p{font-size:14px;color:#777970;margin:0 0 10px}.project-group details summary{font-size:13px;cursor:pointer;text-decoration:underline;text-underline-offset:4px;margin:8px 0;list-style:none}.project-group details summary::-webkit-details-marker{display:none}.project-group .detail-images{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:13px}.project-group .detail-images figure{margin:0}.project-group .detail-images img{width:100%;aspect-ratio:1.35;object-fit:cover;border-radius:7px}.project-group .detail-images figcaption{font-size:12px;color:#6a6c62;line-height:1.3}.install-list{border-top:1px solid #deded5;max-width:700px}.install-list p{padding:17px 0;margin:0;border-bottom:1px solid #deded5;font-size:18px}@media(max-width:600px){.service-detail .hero{padding-top:28px;padding-bottom:34px}.service-detail .hero h1{font-size:clamp(35px,9vw,46px)}.service-detail .hero .body{font-size:15px}.service-detail .hero img{height:220px;order:-1}.service-detail .examples{padding:40px 0 60px}.project-groups{grid-template-columns:1fr;gap:26px}.project-group>img{aspect-ratio:1.65}.project-group h3{font-size:17px}.install-list p{font-size:16px}}
/* A fuller desktop introduction, kept compact on phones. */
.home-capabilities{padding:10px 5vw 88px}.home-capabilities-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:21px}.home-capabilities h2{font-size:clamp(26px,2.8vw,38px);font-weight:500;letter-spacing:-.05em;margin:9px 0 0}.home-capabilities-head>a{font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px;white-space:nowrap}.home-capabilities-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.home-capabilities-grid a{background:#fff9df;border:1px solid #efe8c8;border-radius:12px;padding:24px;min-height:132px;display:flex;flex-direction:column;justify-content:space-between}.home-capabilities-grid a:nth-child(2){background:#fafaf6}.home-capabilities-grid a:hover{background:#f8e77d}.home-capabilities-grid strong{font-size:20px;font-weight:600;letter-spacing:-.035em}.home-capabilities-grid span{font-size:14px;color:#66695f;line-height:1.4}.service-card{justify-content:flex-end;min-height:150px}.service-scope{padding:22px 5vw 52px}.service-scope h2{font-size:clamp(28px,3vw,41px);font-weight:500;letter-spacing:-.055em;margin:10px 0 22px}.service-scope ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:0 30px;max-width:950px;border-top:1px solid #e5e2d4}.service-scope li{padding:13px 0;border-bottom:1px solid #e5e2d4;font-size:16px;line-height:1.4}.service-scope li:before{content:'•';color:#b9931e;margin-right:12px}.service-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.service-photo-grid img{width:100%;aspect-ratio:1.35;object-fit:cover;border-radius:9px;display:block}.service-detail .examples{padding-top:18px}.service-detail .examples .title{margin-bottom:25px}@media(max-width:850px){.service-photo-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.home-capabilities{padding:0 20px 45px}.home-capabilities-head{align-items:start;margin-bottom:12px}.home-capabilities h2{font-size:25px}.home-capabilities-head>a{font-size:12px;white-space:normal;max-width:65px;text-align:right}.home-capabilities-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:9px;padding-bottom:5px}.home-capabilities-grid a{min-width:72%;min-height:105px;padding:15px;scroll-snap-align:start}.home-capabilities-grid strong{font-size:17px}.home-capabilities-grid span{font-size:13px}.service-card{min-height:120px}.service-scope{padding:8px 20px 38px}.service-scope h2{font-size:28px;margin-bottom:16px}.service-scope ul{grid-template-columns:1fr}.service-scope li{font-size:15px;padding:11px 0}.service-photo-grid{grid-template-columns:1fr 1fr;gap:8px}.service-photo-grid img{aspect-ratio:1}.service-detail .examples{padding-top:15px}}

/* Keep the complete print or display visible in mixed portrait and landscape photos. */
.service-photo-grid img{object-fit:contain;background:#f6f6f2}
