/* Inner pages share the site's palette and typography. */
.in-surface{background:#f6f5ef;color:#131e28}
.in-icon{width:1.12em;height:1.12em;flex:none}
.in-kicker,.in-loc-label{font:600 .72rem/1.5 "IBM Plex Mono",monospace;letter-spacing:.13em;text-transform:uppercase}
.in-kicker{display:flex;align-items:center;gap:.7rem;color:#53606a;margin:0 0 1rem}
.in-kicker:before{content:"";width:1.45rem;height:2px;background:#e5692e}
.in-cover h1,.in-area-hero h1,.in-contact h1,.in-story h2,.in-locator h2,.in-help-layout h2,.in-card-copy h2,.in-request h2{font-family:"DM Sans",Arial,sans-serif;font-weight:650;letter-spacing:-.055em;margin:0;text-wrap:balance}
.in-cover h1,.in-area-hero h1,.in-contact h1{font-size:clamp(3.25rem,6.25vw,6.4rem);line-height:.99}
.in-lead,.in-card-copy p:not(.in-kicker),.in-story p:not(.in-kicker),.in-help-layout p:not(.in-kicker),.in-request>p{font-family:"DM Sans",sans-serif;font-size:clamp(1rem,1.08vw,1.13rem);line-height:1.65;letter-spacing:-.015em}
.in-cover{position:relative;isolation:isolate;overflow:hidden;background:#101923;color:#fff}
.in-cover-image,.in-cover:after{position:absolute;inset:0;z-index:-1}
.in-cover-image{background-position:70% center;background-size:cover}
.in-cover:after{content:"";background:linear-gradient(90deg,rgba(10,19,29,.95) 0%,rgba(10,19,29,.8) 36%,rgba(10,19,29,.06) 75%)}
.in-cover-inner{padding-block:clamp(4.25rem,7vw,8rem)}
.in-cover .in-kicker{color:#bdcdd6}
.in-cover h1{max-width:925px;text-shadow:0 2px 18px #08101930}
.in-cover .in-lead{max-width:520px;margin:1.45rem 0 0;color:#d6dfe2}
.in-section{padding-block:clamp(3.25rem,6.5vw,7rem)}
.in-link,.in-button,.in-locator a{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;font-family:"DM Sans",sans-serif;font-weight:650;text-decoration:none;line-height:1.4}
.in-link,.in-locator a{padding-block:.45rem;color:inherit;font-size:.95rem;border:0;background:transparent;cursor:pointer}
.in-link .in-icon,.in-locator a .in-icon{color:#ba4e19;transition:transform .2s ease}
.in-link:hover .in-icon,.in-locator a:hover .in-icon{transform:translate(3px,0)}
.in-button{border:1px solid transparent;border-radius:3px;background:#fa8549;color:#10202a;font-size:.95rem;padding:.9rem 1.3rem;cursor:pointer}
.in-button:hover{background:#ff995f}
.in-button:focus-visible,.in-link:focus-visible,.in-section-nav a:focus-visible,.in-locator a:focus-visible,.in-details a:focus-visible{outline:3px solid #1f88b6;outline-offset:4px}
.in-section-nav{background:#f6f5ef;border-bottom:1px solid #cacdc7;color:#18232b}
.in-section-nav>.wrap{display:flex;gap:clamp(.5rem,3vw,3rem);flex-wrap:wrap}
.in-section-nav a{font:600 .8rem/1.5 "DM Sans",sans-serif;display:flex;align-items:center;gap:.7rem;color:inherit;text-decoration:none;padding:1.15rem .1rem}
.in-section-nav a:hover{text-decoration:underline;text-underline-offset:4px}
.in-section-nav a span{color:#aa481e}
.in-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(1.65rem,3.7vw,3.8rem);row-gap:clamp(2rem,4vw,4rem)}
.in-service-card{border-bottom:1px solid #c9cdc7;scroll-margin-top:7rem}
.in-service-photo{overflow:hidden;background:#d7d8d2;aspect-ratio:2.35}
.in-service-photo img,.in-work-image img{width:100%;height:100%;object-fit:cover;display:block}
#heating .in-service-photo img{object-position:50% 51%}
#maintenance .in-service-photo img{object-position:center}
.in-card-copy{padding:1.5rem 0 1.7rem}
.in-card-copy h2,.in-request h2{font-size:clamp(1.9rem,3.2vw,3rem);line-height:1.07}
.in-card-copy .in-kicker{margin-bottom:.5rem}
.in-card-copy p:not(.in-kicker){max-width:61ch;color:#49555b;margin:.75rem 0 .65rem}
.in-editorial{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1fr);gap:clamp(2.5rem,8vw,8rem);align-items:center}
.in-work-image{margin:0;min-width:0}
.in-work-image img{aspect-ratio:1.2;max-height:490px}
.in-work-image figcaption{font:500 .7rem/1.6 "IBM Plex Mono",monospace;color:#5b666b;margin-top:.7rem}
.in-work-image figcaption span{color:#a54b28;margin-inline:.2rem}
.in-story h2,.in-help-layout h2{font-size:clamp(2.4rem,4.5vw,4.1rem);line-height:1.02}
.in-story p:not(.in-kicker),.in-help-layout p:not(.in-kicker){color:#46545a;margin:1.2rem 0}
.in-story .in-button{margin-top:.4rem}
.in-area-hero,.in-contact{padding-block:clamp(3.25rem,6.6vw,7rem)}
.in-area-layout{display:grid;grid-template-columns:1fr .95fr;align-items:stretch;gap:clamp(2rem,7vw,7rem)}
.in-area-text{align-self:center;padding-block:1rem}
.in-area-text .in-lead,.in-contact-intro .in-lead{margin:1.45rem 0 1.7rem;color:#49575e;max-width:33rem}
.in-locator{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:space-between;gap:4rem;padding:clamp(1.8rem,4vw,3.6rem);min-height:340px;overflow:hidden;background:#122331;color:white;border-radius:2px}
.in-location-lines{position:absolute;inset:0;z-index:-1;background:repeating-radial-gradient(ellipse at 135% -52%,transparent 0 26px,rgba(136,186,208,.15) 27px,transparent 29px 53px),linear-gradient(135deg,#0e1e2a,#183244)}
.in-locator-mark{display:grid;place-items:center;width:62px;height:62px;border:1px solid #698391;border-radius:100%;color:#ff9352}
.in-locator-mark svg{width:30px;height:30px}
.in-loc-label{color:#b8c9d2}
.in-locator h2{font-size:clamp(2.7rem,4.8vw,4.9rem);line-height:1.1;margin:.35rem 0 .2rem}
.in-locator h2 span{color:#c3d4de}
.in-locator a{color:#edf6fa}
.in-locator a .in-icon{color:#ff9655}
.in-area-help{background:white;color:#15212b;border-top:1px solid #dde1dc;padding-block:clamp(3rem,6vw,6rem)}
.in-help-layout{display:grid;grid-template-columns:1fr .95fr;gap:clamp(2rem,7vw,7rem)}
.in-help-layout p:not(.in-kicker){margin:0 0 .5rem}
.in-contact-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.08fr);gap:clamp(2rem,6vw,6rem);align-items:start}
.in-details{margin:2rem 0 0;max-width:470px}
.in-details>div{padding:1rem 0;border-top:1px solid #cbd0c8;display:grid;grid-template-columns:5rem 1fr;align-items:baseline;gap:.5rem}
.in-details dt{font:600 .65rem/1.5 "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.1em;color:#566167}
.in-details dd{font:600 1rem/1.6 "DM Sans",sans-serif;margin:0}
.in-details dd span{font-size:.93rem;font-weight:400;color:#556268}
.in-details a{color:#192b33;overflow-wrap:anywhere;text-decoration:none}
.in-details a:hover{text-decoration:underline}
.in-request{background:white;color:#15222a;border:1px solid #d8dcd5;padding:clamp(1.45rem,3.1vw,3.4rem);scroll-margin-top:6rem}
.in-request>p{margin:.7rem 0 1.65rem;color:#536066;max-width:48ch}
.in-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem}
.in-form label,.in-recovery label{font:600 .83rem/1.5 "DM Sans",sans-serif;display:block;color:#24313a}
.in-form label span{color:#616e73;font-size:.74rem;font-weight:400}
.in-form input,.in-form textarea,.in-form select,.in-recovery textarea{display:block;width:100%;box-sizing:border-box;margin-top:.4rem;min-height:46px;background:#fbfcfa;color:#17252e;border:1px solid #b9c3c3;border-radius:2px;padding:.68rem .72rem;font:400 1rem/1.4 "DM Sans",sans-serif}
.in-form select{cursor:pointer}
.in-form textarea,.in-recovery textarea{resize:vertical;min-height:100px}
.in-form input:focus,.in-form select:focus,.in-form textarea:focus,.in-recovery textarea:focus{outline:2px solid #34758e;outline-offset:1px}
.in-full{grid-column:1/-1}
.in-form .in-button{width:auto;min-height:46px}
.in-status{font:500 .9rem/1.6 "DM Sans",sans-serif;margin:0;color:#285263}
.in-status:empty{display:none}
.in-recovery{margin-top:1rem;padding-top:1rem;border-top:1px solid #ccd4ce}
.in-recovery[hidden]{display:none}
.in-recovery .in-link{margin-top:.4rem}
@media(max-width:850px){
 .in-contact-grid{grid-template-columns:minmax(0,.7fr) minmax(0,1fr);gap:1.65rem}
 .in-form{grid-template-columns:minmax(0,1fr);gap:.9rem}
 .in-request{padding:1.4rem}
}
@media(max-width:680px){
 .in-cover:after{background:linear-gradient(90deg,rgba(9,17,26,.92),rgba(9,17,26,.77) 52%,rgba(9,17,26,.35))}
 .in-cover-image{background-position:65% center}
 .in-cover-inner{padding-block:3.9rem}
 .in-cover h1,.in-area-hero h1,.in-contact h1{font-size:clamp(2.9rem,10vw,4.4rem)}
 .in-section-nav>.wrap{display:grid;grid-template-columns:repeat(2,1fr);gap:0}
 .in-section-nav a{padding:.7rem 0}
 .in-service-grid,.in-editorial,.in-area-layout,.in-help-layout,.in-contact-grid{grid-template-columns:minmax(0,1fr);gap:2rem}
 .in-section-nav{padding-block:.35rem}
 .in-service-photo{aspect-ratio:1.85}
 .in-story{grid-row:1}
 .in-area-text{padding:0}
 .in-locator{min-height:240px;gap:2rem}
 .in-help-layout{gap:1rem}
 .in-contact-intro .in-lead{margin-bottom:1rem}
 .in-details{margin-top:1.5rem}
 .in-form{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:480px){
 .in-form{grid-template-columns:minmax(0,1fr)}
 .in-request{padding:1.2rem}
}
@media(prefers-reduced-motion:reduce){
 .in-link .in-icon,.in-locator a .in-icon{transition:none}
}
