.poly-page{color:#153e50;background:#fff}.poly-page *{box-sizing:border-box}.poly-top{background:#f4f2ed;padding:22px 0 36px}.poly-crumb{display:flex;gap:10px;font-size:.75rem;margin-bottom:24px;color:#52636a}.poly-crumb a{color:inherit}.poly-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.85fr);gap:42px;align-items:start}.poly-kicker{font-size:.68rem;font-weight:750;letter-spacing:.13em;color:#526657;margin:0 0 14px}.poly-page h1{font-size:clamp(2.6rem,4.6vw,4.7rem);line-height:1.02;letter-spacing:-.055em;margin:0 0 20px}.poly-page h1 em{font-style:normal;color:#52705f}.poly-lede{font-size:1.05rem;line-height:1.65;max-width:570px;margin:0 0 25px}.poly-media{position:relative;aspect-ratio:4/3;border-radius:18px;overflow:hidden;background:#123443}.poly-media-caption{font-size:.73rem;color:#52636a;line-height:1.5;margin:10px 0}.poly-media-caption span{display:block}.poly-inquiry{background:white;border:1px solid #dedfd6;border-radius:18px;padding:28px;box-shadow:0 14px 35px #163e4a08;scroll-margin-top:210px}.poly-inquiry h2{font-size:1.8rem;line-height:1.15;letter-spacing:-.035em;margin:8px 0 12px}.poly-inquiry>p{font-size:.88rem;line-height:1.5;color:#52636a}.poly-inquiry label{display:flex;flex-direction:column;gap:6px;font-size:.78rem;font-weight:650;margin-bottom:12px}.poly-inquiry label span{font-weight:400}.poly-inquiry input,.poly-inquiry select,.poly-inquiry textarea{width:100%;min-height:44px;border:1px solid #bdc9c9;border-radius:6px;padding:10px 12px;font:inherit;font-size:16px;color:#153e50;background:#fff}.poly-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.poly-inquiry .poly-consent{flex-direction:row;align-items:flex-start;font-size:.7rem;line-height:1.5}.poly-consent input{width:18px;min-height:18px;flex:0 0 18px;margin-top:2px}.poly-button{display:flex;justify-content:space-between;align-items:center;gap:20px;background:#103e54;color:white;border:0;border-radius:7px;padding:15px 18px;font:inherit;font-size:.88rem;font-weight:700;text-decoration:none;cursor:pointer}.poly-button:hover{background:#20566b}.poly-inquiry .poly-button{width:100%}.poly-button:disabled{opacity:.65;cursor:wait}.poly-page :focus-visible{outline:3px solid #bd8d48;outline-offset:4px}.poly-page .poly-small{font-size:.7rem;line-height:1.5;color:#52636a}.poly-page a{color:inherit}.poly-page a.poly-button{color:white}.poly-call{padding-top:16px;border-top:1px solid #e1e6e3;font-size:.8rem}.poly-call a{display:block;font-weight:700;margin-top:6px}.poly-form-error{color:#9c2626;font-size:.85rem}.poly-form-status{font-size:.85rem;line-height:1.5}.poly-inquiry [hidden]{display:none}.poly-trap{position:absolute!important;left:-10000px;top:auto}.poly-strip{background:#143f50;color:white}.poly-strip .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-block:20px;font-size:.8rem}.poly-section{padding-block:76px}.poly-section-heading{max-width:650px;margin-bottom:34px}.poly-page h2{letter-spacing:-.035em}.poly-section h2,.poly-project h2,.poly-close h2{font-size:clamp(2rem,3vw,3rem);line-height:1.1;margin:12px 0 20px}.poly-page p{line-height:1.65}.poly-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.poly-three article{padding:28px;background:#f6f5f0;border:1px solid #e4e6dc;border-radius:12px}.poly-three article>span{font-size:.65rem;letter-spacing:.08em;color:#546c5e}.poly-page h3{font-size:1.15rem;line-height:1.3;margin:16px 0 12px}.poly-three p,.poly-steps p{font-size:.9rem;color:#4c626a}.poly-project{background:#e9eeea;padding:60px 0}.poly-split{display:grid;grid-template-columns:1fr 1.15fr;gap:60px;align-items:start}.poly-project figure{margin:0}.poly-project img{width:100%;height:auto;border-radius:14px}.poly-project figcaption{font-size:.73rem;line-height:1.5;margin-top:12px;color:#4c626a}.poly-place{font-size:.8rem;font-weight:750}.poly-text-link{font-weight:650;text-underline-offset:4px;line-height:1.7}.poly-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-left:22px}.poly-steps li::marker{color:#52705f;font-weight:800}.poly-proof{background:#123e50;color:white;padding:48px 0}.poly-proof blockquote{max-width:850px;font-size:clamp(1.2rem,2vw,1.6rem);line-height:1.6;margin:0 0 20px}.poly-proof p,.poly-proof a{font-size:.8rem}.poly-faq details{border-bottom:1px solid #d9dfda;padding:17px 0}.poly-faq summary{font-size:1rem;font-weight:650;cursor:pointer;line-height:1.5}.poly-faq p{font-size:.9rem;color:#4c626a}.poly-close{text-align:center;padding:44px 0;background:#f4f2ed}.poly-close .poly-button{display:inline-flex}.poly-close p{font-size:.8rem;margin-top:24px}@media(max-width:950px){.poly-grid{gap:24px;grid-template-columns:1.1fr 1fr}.poly-inquiry{padding:22px;scroll-margin-top:115px}.poly-page h1{font-size:3rem}.poly-three{gap:12px}.poly-three article{padding:20px}.poly-split{gap:30px}.poly-steps{grid-template-columns:1fr 1fr}}@media(max-width:700px){.poly-grid,.poly-three,.poly-split{grid-template-columns:1fr}.poly-grid{gap:20px}.poly-page h1{font-size:2.8rem}.poly-media{aspect-ratio:4/3}.poly-crumb{margin-bottom:20px;font-size:.68rem}.poly-section{padding-block:42px}.poly-strip .wrap{gap:12px;font-size:.72rem}.poly-steps{grid-template-columns:1fr;gap:10px}.poly-project{padding-block:36px}.poly-inquiry{padding:22px}.poly-page .wrap{width:calc(100% - 32px)}.poly-proof{padding:32px 0}}

.poly-early-link{display:inline-block;font-weight:700;font-size:.85rem;margin:0 0 20px;text-underline-offset:4px}#how-it-works{scroll-margin-top:210px}
@media(max-width:950px){#how-it-works{scroll-margin-top:115px}}

/* Descriptive service-and-location heading, sized to keep the media prominent. */
.poly-page h1{font-size:clamp(2.1rem,3.3vw,3.45rem);line-height:1.08;letter-spacing:-.04em;max-width:690px}
@media(max-width:700px){.poly-page h1{font-size:2.1rem}.poly-why{padding-top:12px}}

/* Keep the complete project media visible beside the inquiry on desktop.
   The unchanged introduction follows the media rather than pushing it below the fold. */
.poly-top .poly-media{aspect-ratio:16/9}
.poly-top .poly-media-caption{margin-bottom:18px}
@media(min-width:701px){
 .poly-top h1{font-size:clamp(1.85rem,2.5vw,2.4rem);line-height:1.12;margin-bottom:18px}
 .poly-top .poly-media{height:clamp(220px,calc(100svh - 470px),440px);aspect-ratio:auto}
 .poly-top .poly-lede{font-size:1rem;max-width:none;margin-bottom:16px}
}
@media(min-width:701px) and (max-width:1000px){
 .poly-top .poly-media{height:clamp(210px,calc(100svh - 450px),360px)}
}

/* Compact inquiry: three paired rows, with full-width consent and submit. */
.poly-form-status:empty{display:none}
.poly-inquiry .poly-field-title{font-weight:650}
@media(min-width:1001px){
 .poly-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);gap:28px}
 .poly-inquiry{padding:20px 24px}
 .poly-inquiry h2{font-size:1.6rem;margin:6px 0 8px}
 .poly-inquiry>p{margin:0 0 14px;line-height:1.4;font-size:.82rem}
 #poly-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px 14px}
 #poly-form label{margin:0;line-height:1.3;gap:5px;min-width:0}
 #poly-form .poly-fields{gap:10px;min-width:0}
 #poly-form input,#poly-form select,#poly-form textarea{min-width:0;padding:9px 10px}
 #poly-form textarea{height:44px;min-height:44px;resize:vertical}
 #poly-form .poly-consent,#poly-form .poly-button,#poly-form .poly-small,#poly-form .poly-form-status,#poly-form .poly-form-error{grid-column:1/-1}
 #poly-form .poly-consent{margin-top:2px;line-height:1.4}
 #poly-form .poly-consent input{padding:0;min-height:18px}
 #poly-form .poly-button{min-height:44px;padding:11px 14px}
 #poly-form .poly-small{margin:0;font-size:.68rem;line-height:1.4}
 .poly-inquiry .poly-call{padding-top:10px;margin-top:10px;font-size:.75rem;line-height:1.4}
 .poly-inquiry .poly-call a{display:inline;margin:0 0 0 6px}
}
@media(min-width:1001px) and (max-height:800px){
 .poly-top{padding-top:14px}
 .poly-crumb{margin-bottom:16px}
 .poly-inquiry{padding:16px 20px}
 .poly-inquiry h2{font-size:1.45rem}
 .poly-inquiry>p{margin-bottom:10px}
 #poly-form{gap:8px 12px}
}

@media(min-width:1001px) and (max-height:800px){.poly-crumb{margin-bottom:12px}.poly-inquiry .poly-call{padding-top:6px;margin-top:8px}}

/* Use the available desktop window height without clipping the form. */
@media(min-width:1001px){
 .poly-inquiry{min-height:calc(100svh - 280px);display:flex;flex-direction:column}
 #poly-form{flex:1;align-content:space-between}
}
@media(min-width:1001px) and (max-height:800px){
 .poly-inquiry{min-height:calc(100svh - 232px)}
}

@media(min-width:1001px){.poly-inquiry>.poly-kicker{margin-bottom:0}}

/* Shared service-page content uses the same layout with its original service copy. */
.service-intro p{margin:0 0 14px}.service-prose{max-width:1000px}.service-prose h2{margin-top:0}.service-prose .original-columns,.service-prose .original-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.service-links a{padding:24px;border:1px solid #dde3dd;border-radius:12px;font-weight:650;line-height:1.5}.service-page .poly-section+.poly-section{padding-top:20px}.service-page .poly-three h3{margin-top:0}
@media(max-width:700px){.service-links,.service-prose .original-columns,.service-prose .original-grid{grid-template-columns:1fr}}
@media(max-width:700px){
 .service-page .poly-grid>div:first-child{display:contents}
 .service-page .poly-grid{gap:12px}
 .service-page .poly-grid>div>.poly-kicker{order:0}
 .service-page .poly-grid h1{order:1}
 .service-page .poly-media{order:2}
 .service-page .poly-media-caption{order:3}
 .service-page .poly-inquiry{order:4}
 .service-page .service-intro{order:5;margin-top:18px}
 .service-page .poly-early-link{order:6}
}
