/* Consistent content width, readable headings and photographs paired with text. */
main :is(h1,h2,h3,h4){hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important;text-wrap:pretty}
main h2{font-size:clamp(1.55rem,2.2vw,2.125rem);line-height:1.22;letter-spacing:-.025em}
main h3{font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.3;letter-spacing:-.02em}
main .container.narrow,main .container.narrow-wide{max-width:var(--content)}
main .content-refresh__inner{max-width:none;margin-inline:0}
main .section:not(.visual-hero):not(.after-hero-cta){padding-block:clamp(48px,6vw,88px)}
main .section-heading{align-items:flex-start;gap:28px;margin-bottom:32px}
main .section-heading>div{min-width:0;max-width:780px}
main .section-heading>p{flex:0 1 380px;max-width:380px}
main .section-heading>.text-link{flex-shrink:0;margin-top:8px}
main .after-hero-cta h2{font-size:clamp(1.4rem,2vw,1.85rem);line-height:1.25}
main :is(.contact-card,.document-grid article) h2{font-size:1.5rem;line-height:1.25;margin-bottom:18px;letter-spacing:-.015em}
main .contact-card .icon{margin-bottom:22px}
main .proof-strip strong{font-size:clamp(1.1rem,1.55vw,1.375rem);line-height:1.3;hyphens:none;word-break:normal;letter-spacing:-.025em}
main .proof-strip>.container:first-child{gap:28px}

.media-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);align-items:center;gap:clamp(28px,4vw,56px)}
.media-layout>.text-photo{float:none!important;min-width:0;width:100%;max-width:none;margin:0!important}
.media-layout__body{min-width:0}
.media-layout__body>:last-child{margin-bottom:0}
.media-layout__body>h2{margin-top:0}
.media-layout__body>h3{margin-top:24px}
.media-layout__body>h3:first-child{margin-top:0}
.media-layout__body>p{line-height:1.7}
.media-layout+.route-grid,.media-layout+.table-wrap,.media-layout+.content-refresh__table{margin-top:30px}
.media-layout--image-right>.text-photo{grid-column:2;grid-row:1}
.media-layout--image-right>.media-layout__body{grid-column:1;grid-row:1}
.media-layout--image-right{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
main .article-content .media-layout{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:28px;align-items:start}
main .article-content .media-layout--image-right{grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr)}
main .article-content h2{font-size:clamp(1.5rem,2vw,1.875rem);line-height:1.25}
main .article-content .media-layout__body h3{margin-top:24px}
main .media-card>.text-photo{float:none!important;width:100%;max-width:none;margin:24px 0 0!important}
main .document-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
main .split{gap:clamp(28px,4vw,56px)}
main .split .legacy-content-photo{width:100%;max-width:none}
main .portfolio-story>.container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:clamp(28px,4vw,56px)}
main .portfolio-story .text-photo{width:100%;max-width:none;margin:0}

main .factor-grid{grid-template-columns:minmax(0,1fr);gap:12px}
main .factor-grid>article{display:grid;grid-template-columns:44px minmax(180px,240px) minmax(0,1fr);align-items:start;column-gap:24px;row-gap:8px;padding:22px 26px;min-height:0}
main .factor-grid>article>span{font-size:1.35rem;line-height:1.3;margin:0}
main .factor-grid>article>h3{font-size:1.2rem;line-height:1.35;margin:0}
main .factor-grid>article>p{font-size:1rem;line-height:1.6;margin:0}

main .visual-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important;align-items:stretch}
main .visual-gallery>figure{display:flex;flex-direction:column;height:100%;min-width:0}
main .visual-gallery>figure>figcaption{flex:1}
main .visual-gallery img{flex-shrink:0}
main .route-grid:has(>a:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}

@media(max-width:1100px){
 main .proof-strip>.container:first-child{grid-template-columns:repeat(2,minmax(0,1fr))}
 main .article-content .media-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
 main .article-content .media-layout--image-right{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}
 main .article-layout{gap:36px}
}
@media(max-width:1000px){
 main .visual-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 main .split{grid-template-columns:repeat(2,minmax(0,1fr))}
 main .split--reverse>:first-child{order:2}
 main .portfolio-story>.container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:30px}
 main .portfolio-story .text-photo{width:100%;max-width:none;margin:0}
}
@media(max-width:760px){
 main .section-heading{flex-direction:column;align-items:stretch;gap:18px}
 main .section-heading>p{flex-basis:auto;max-width:none}
 main .section-heading>div{max-width:none}
 main .media-layout,main .article-content .media-layout{grid-template-columns:minmax(0,1fr);gap:24px}
 main .media-layout--image-right>.text-photo,main .media-layout--image-right>.media-layout__body{grid-column:auto;grid-row:auto}
 main .media-layout>.text-photo{order:2}
 main .media-layout>.media-layout__body{order:1}
 main .split{grid-template-columns:minmax(0,1fr)}
 main .split--reverse>:first-child{order:initial}
 main .document-grid{grid-template-columns:minmax(0,1fr)}
 main .factor-grid>article{grid-template-columns:32px minmax(0,1fr);gap:8px 16px;padding:20px}
 main .factor-grid>article>p{grid-column:2}
 main .portfolio-story>.container{display:flex;flex-direction:column;align-items:stretch}
}
@media(max-width:580px){
 main .visual-gallery{grid-template-columns:minmax(0,1fr)!important}
 main .proof-strip>.container:first-child{grid-template-columns:minmax(0,1fr);gap:20px}
 main .route-grid:has(>a:nth-child(2):last-child){grid-template-columns:minmax(0,1fr)}
 main .visual-hero h1,main .visual-hero :is(.hero-copy,.spec-hero-copy) h1{font-size:clamp(1.5rem,6.4vw,2.2rem);line-height:1.2}
 main .section:not(.visual-hero):not(.after-hero-cta){padding-block:48px}
 main .after-hero-cta h2{font-size:1.4rem}
 main .factor-grid>article>h3{font-size:1.1rem}
}

/* Mobile shortcuts yield to visible forms, including the material calculator. */
@media(max-width:760px){
 body.lead-form-in-view :is(.quick-contact-widget,.screed-quiz-trigger),
 body:has(main form:focus-within) :is(.quick-contact-widget,.screed-quiz-trigger){visibility:hidden;opacity:0;pointer-events:none}
}
.equipment-note{max-width:900px;margin:24px 0 0;line-height:1.7}
.quick-contact-widget__links{display:contents}
.quick-contact-widget__toggle{display:none}
@media(max-width:760px){
 .quick-contact-widget{grid-template-columns:auto;padding:6px;gap:6px}
 .quick-contact-widget__links{display:none}
 .quick-contact-widget.is-open .quick-contact-widget__links{display:grid;grid-template-columns:repeat(2,46px);justify-content:center;gap:7px}
 .quick-contact-widget__link{width:46px;height:46px}
 .quick-contact-widget__toggle{display:block;min-height:44px;padding:10px 16px;border:0;border-radius:20px;background:var(--primary);color:var(--on-primary);font-family:inherit;font-weight:700;font-size:14px;line-height:1.3;cursor:pointer}
 .quick-contact-widget__toggle:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
 .screed-quiz-trigger{min-height:48px;width:48px;padding:11px;gap:0;max-width:none;border-radius:18px}
 .screed-quiz-trigger span{display:none}
}
main .glpol-content .process-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:900px){main .glpol-content .process-grid{grid-template-columns:minmax(0,1fr)}}
main .glpol-content>.container>.text-photo{max-width:660px;margin:28px 0 0}
main .glpol-content .table-wrap{overflow-x:auto}
