/* General contracting: editorial sections, real project details and clear scope. */
body.services-page .gu-hero{min-height:80svh}
.services-page .gu-hero .cinema-shade{background:linear-gradient(90deg,#071b2be0,#071b2b8a 57%,#071b2b30)}
.services-page .gu-hero .hero-content{max-width:900px}
.services-page .gu-hero .hero-content p{max-width:610px}
.services-page .gu-hero .cinema-frame{object-position:center 65%}
.services-page .brief-section{scroll-margin-top:110px}
.gu-intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}
.services-page p{color:#41515b}
.gu-intro p,.gu-coordination-copy p{font:400 15px/1.9 Arial,sans-serif}
.services-page .gu-lead{font:400 20px/1.7 Georgia,serif;color:#173143}
.gu-text-link{display:inline-block;padding-bottom:6px;margin-top:12px;border-bottom:1px solid #a58350;color:#173143;font:600 12px/1.6 Arial,sans-serif;text-decoration:none}
.gu-text-link:hover{color:#987546}
.gu-section-heading{display:grid;grid-template-columns:1fr .65fr;align-items:end;gap:9%;margin-bottom:36px}
.gu-section-heading>p{font:400 14px/1.9 Arial,sans-serif;margin-bottom:9px;max-width:430px}
.gu-scope-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 30px}
.gu-service-card{position:relative;min-width:0;border-top:1px solid #c9b99f;padding:24px 0 0}
.gu-index{display:block;color:#a58350;font:400 12px/1.6 Arial,sans-serif;letter-spacing:.1em;margin-bottom:24px}
.gu-service-card .eyebrow{font-size:9px;letter-spacing:.09em;margin-bottom:10px}
.services-page .gu-service-card h3{font:500 clamp(24px,2.3vw,31px)/1.18 Georgia,serif;color:#173143;margin:0 0 16px;letter-spacing:-.02em}
.gu-service-card>p{font:400 13px/1.85 Arial,sans-serif;margin:0 0 20px}
.gu-service-card ul{list-style:none;padding:0;margin:0}
.gu-service-card li{position:relative;padding:9px 0 9px 15px;font:400 12px/1.6 Arial,sans-serif;border-top:1px solid #e3e7e8;color:#30454f}
.gu-service-card li:before{content:'';width:4px;height:4px;background:#b79763;position:absolute;left:0;top:17px}
.gu-scope-note{margin:32px 0 0;font:400 12px/1.8 Arial,sans-serif}
.gu-coordination{display:grid;grid-template-columns:1fr 1fr;gap:25px 8%}
.gu-trades{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-top:25px}
.gu-trades article{border-top:1px solid #d4dde2;padding-top:20px}
.services-page .gu-trades h3{font:500 23px/1.2 Georgia,serif;margin:0 0 10px;color:#173143}
.gu-trades p{font:400 12px/1.85 Arial,sans-serif;max-width:310px;margin:0}
.gu-promise{padding:65px 7%;display:grid;grid-template-columns:1fr 1fr;gap:8%;background:#eee8de;color:#173143}
.gu-promise h2{font:500 clamp(35px,4.3vw,62px)/1.1 Georgia,serif;letter-spacing:-.025em;margin:0}
.gu-promise>div:last-child{align-self:center}
.gu-promise p{font:400 15px/1.9 Arial,sans-serif;max-width:620px}
.gu-promise .button{margin-top:15px}
.gu-process{display:grid;grid-template-columns:.9fr 1.1fr;gap:9%;align-items:start}
.gu-process-list{list-style:none;margin:0;padding:0}
.gu-process-list li{display:grid;grid-template-columns:35px 1fr;gap:20px;padding:23px 0;border-top:1px solid #cdbb9e}
.gu-process-list li:first-child{padding-top:0;border-top:0}
.gu-process-list li>span{font:400 12px/1.7 Arial,sans-serif;color:#987546;padding-top:4px}
.services-page .gu-process-list h3{font:500 26px/1.2 Georgia,serif;margin:0 0 12px;color:#173143}
.gu-process-list p{font:400 13px/1.9 Arial,sans-serif;margin:0}
.gu-assurance{display:grid;grid-template-columns:1fr 1fr;gap:8%}
.gu-assurance-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.gu-assurance-grid article{border-top:1px solid #d4dde2;padding-top:18px}
.services-page .gu-assurance-grid h3{font:500 23px/1.2 Georgia,serif;margin:0 0 12px;color:#173143}
.gu-assurance-grid p{font:400 12px/1.9 Arial,sans-serif;margin:0}
body.services-page .gu-reference{background:#f5f2ec;display:grid;grid-template-columns:1fr 1fr;gap:8%}
.gu-reference-head .gu-reference-place{font:400 17px/1.5 Arial,sans-serif;color:#8b6c44;margin:0 0 24px}
.gu-reference h2{font:500 clamp(34px,4.3vw,60px)/1.1 Georgia,serif;color:#173143;margin:0;letter-spacing:-.025em}
.gu-reference>div>p:not(.gu-lead){font:400 14px/1.9 Arial,sans-serif}
.gu-project-facts{margin:26px 0 12px}
.gu-project-facts>div{display:grid;grid-template-columns:95px 1fr;gap:20px;border-top:1px solid #d5c7b5;padding:14px 0;font:400 12px/1.7 Arial,sans-serif}
.gu-project-facts dt{color:#8b6c44}.gu-project-facts dd{margin:0;color:#173143}
.gu-images-intro{max-width:690px;font:400 14px/1.9 Arial,sans-serif}
.gu-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin:32px 0 18px}
.gu-photo{margin:0;min-width:0}
.gu-photo button{position:relative;display:block;width:100%;aspect-ratio:3/4;border:0;padding:0;border-radius:0;background:#edf0ef;overflow:hidden;cursor:zoom-in;text-align:left}
body.services-page .gu-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:none;transform:none}
.gu-photo button>span{position:absolute;bottom:12px;right:12px;background:#fffffff0;padding:7px 10px;font:500 10px/1.5 Arial,sans-serif;color:#173143}
.gu-photo button:focus-visible{outline:3px solid #a58350;outline-offset:5px}
.gu-photo figcaption{font:500 10px/1.6 Arial,sans-serif;color:#8b6c44;text-transform:uppercase;letter-spacing:.09em;padding-top:12px}
.gu-faq{display:grid;grid-template-columns:.85fr 1.15fr;gap:9%}
.gu-faq-list details{border-top:1px solid #cdbb9e;padding:0}
.gu-faq-list details:last-child{border-bottom:1px solid #cdbb9e}
.gu-faq-list summary{padding:21px 24px 21px 0;color:#173143;font:500 17px/1.6 Georgia,serif;cursor:pointer;list-style-position:inside}
.gu-faq-list summary:focus-visible{outline:2px solid #a58350;outline-offset:4px}
.gu-faq-list details>p{font:400 13px/1.9 Arial,sans-serif;margin:0;padding:0 0 23px}
@media(max-width:1100px){.gu-scope-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gu-assurance{grid-template-columns:1fr;gap:20px}.gu-assurance-grid{gap:26px}.gu-section-heading{gap:5%}}
@media(max-width:850px){.gu-intro,.gu-coordination,.gu-process,.gu-reference,.gu-faq{grid-template-columns:1fr!important;gap:28px}.gu-trades{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}.gu-section-heading{grid-template-columns:1fr;gap:10px}.gu-promise{grid-template-columns:1fr;gap:24px}.gu-process-list li:first-child{padding-top:23px;border-top:1px solid #cdbb9e}.gu-project-facts>div{grid-template-columns:100px 1fr}}
@media(max-width:600px){body.services-page .gu-hero{min-height:78svh}.services-page .gu-hero h1{font-size:clamp(40px,10vw,62px)}.services-page .gu-hero .hero-content p{font-size:14px}.gu-scope-grid{grid-template-columns:1fr;gap:32px}.gu-index{margin-bottom:14px}.gu-service-card>p{font-size:14px}.gu-trades{grid-template-columns:1fr;gap:22px}.gu-trades p{max-width:none}.gu-promise{padding:45px 7%}.gu-assurance-grid{grid-template-columns:1fr;gap:24px}.gu-image-grid{gap:12px;grid-template-columns:1fr 1fr}.gu-image-grid figure:last-child{grid-column:1/-1;max-width:70%;width:100%;margin:8px auto 0}.gu-photo button>span{bottom:8px;right:8px;padding:5px 7px;font-size:9px}.gu-project-facts>div{grid-template-columns:78px 1fr;gap:12px}.gu-process-list li{gap:12px}.gu-faq-list summary{font-size:18px}.services-page .gu-lead{font-size:19px}}
