@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@500;600;700;800&display=swap');
:root{--ink:#50121b;--navy:#360e17;--muted:#634950;--red:#a71930;--line:#e7d4cf;--paper:#faf4ed}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:16px/1.65 'DM Sans',system-ui,sans-serif;background:#fffaf5}h1,h2,h3,.brand{font-family:Manrope,system-ui,sans-serif;line-height:1.13;margin:0;letter-spacing:-.045em}h1{font-size:clamp(3rem,7.2vw,6.2rem);font-weight:800;max-width:780px}h2{font-size:clamp(2rem,4vw,3.5rem)}h3{font-size:1.44rem}p{margin:0 0 1rem}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:3px solid #a71930;outline-offset:4px}img{display:block;width:100%}.wrap{width:min(1360px,calc(100% - 96px));margin:auto}.bar{background:var(--paper);color:var(--ink);position:relative;z-index:2;border-bottom:1px solid var(--line)}.nav{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:inline-flex;gap:10px;align-items:center;font-size:1.25rem;white-space:nowrap;font-weight:800;letter-spacing:-.02em}.links{display:flex;align-items:center;gap:clamp(13px,2.5vw,34px);font-size:.91rem;color:var(--ink)}.links a:hover{color:var(--red)}.footer a:hover{color:#ffadb8}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;background:var(--red);border:1px solid var(--red);border-radius:7px;color:white;font:800 .91rem/1.3 'DM Sans',system-ui,sans-serif;padding:14px 19px;cursor:pointer}.button:hover{background:#821226}.button.light:hover{background:#f7e3e3}.button.light{background:white;border-color:var(--line);color:var(--ink)}.brand img{width:42px;height:42px;flex:none}
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--paper)}
.hero-photo{position:absolute;inset:0 0 0 auto;width:61%;height:100%;object-fit:cover;object-position:65% center;z-index:-2}
.hero::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--paper) 37%,#faf4ed 40%,#faf4ed00 58%);pointer-events:none}
.hero-layout{min-height:650px;display:flex;align-items:center;padding-block:76px}
.hero-copy{width:52%;max-width:640px}
.hero-copy h1{font-size:clamp(3.3rem,5.35vw,5.1rem);line-height:1.06}
.hero-kicker{font-weight:800;font-size:1.03rem;margin-bottom:27px}
.hero-kicker::after{content:'';display:block;background:var(--red);width:62px;height:3px;margin-top:17px}
.hero-lead{font-size:clamp(1.15rem,2vw,1.48rem);line-height:1.4;max-width:460px;margin-top:26px}
.hero .button{font-size:1.07rem;padding:17px 26px}
.intro p{font-size:1.16rem;max-width:540px;margin-top:22px;color:#f1dfe1}
.eyebrow{display:block;color:var(--red);text-transform:uppercase;font-size:.73rem;font-weight:800;letter-spacing:.15em;margin-bottom:14px}
.dark .eyebrow{color:#ffadb8}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:29px}
.service-links{background:var(--paper);border-top:1px solid var(--line)}
.service-links .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding-block:32px}
.service-links a{display:grid;gap:5px;padding-inline:25px;border-left:1px solid var(--line);line-height:1.4}
.service-links a:first-child{padding-left:0;border-left:0}
.service-links strong{font:800 1.32rem/1.2 Manrope,system-ui,sans-serif}
.service-links a:hover strong{color:var(--red);text-decoration:underline;text-underline-offset:4px}
.service-links a>span{color:var(--muted)}
.section{padding-block:clamp(51px,7vw,92px)}.section-head{max-width:700px;margin-bottom:30px}.section-head p,.card p,.muted,.steps p{color:var(--muted)}.section-head p{margin-top:13px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.card{border:1px solid var(--line);border-radius:13px;padding:26px;background:#fff;display:flex;flex-direction:column;align-items:flex-start}.card p{margin:12px 0 19px}.card .more{margin-top:auto;color:var(--red);font-weight:800}.card:hover{border-color:var(--red)}.icon{border-radius:9px;background:#f7e3e3;color:var(--red);padding:5px 10px;margin-bottom:17px;font-weight:800}.paper{background:var(--paper)}.dark{background:var(--navy);color:white}.dark p{color:#c5d3e1}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(26px,6vw,85px);align-items:start}.steps{margin:0;padding-left:24px}.steps li{padding-left:8px;margin-bottom:17px}.steps li::marker{color:var(--red);font-weight:800}.steps p{margin:4px 0}.footer{padding:46px 0 24px;background:#2e0d15;color:#f0dde0}.footer .wrap{display:grid;gap:20px}.footer-links{display:flex;gap:17px;flex-wrap:wrap}.footnote{border-top:1px solid #293746;padding-top:16px;font-size:.83rem;color:#aebdcb}.intro{padding-block:64px 72px;background:var(--navy);color:#fff}.intro h1{font-size:clamp(2.5rem,6vw,4.7rem)}.crumb{font-size:.86rem;color:#c7d4e0;margin-bottom:22px}.crumb a{text-decoration:underline;text-underline-offset:3px}.prose{max-width:760px}.prose h2{margin-top:33px;font-size:2rem}.prose p{margin-top:14px;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:15px 0}summary{cursor:pointer;font-weight:800}form{display:grid;gap:14px}label{display:grid;gap:4px;font-weight:700}input,select,textarea{border:1px solid #aab8c6;border-radius:7px;background:#fff;padding:10px;font:inherit;color:inherit;width:100%}textarea{min-height:110px;resize:vertical}pre{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid var(--line);padding:18px;border-radius:8px;min-height:80px}.skip{position:absolute;left:8px;top:-100px;background:white;color:#000;padding:8px;z-index:3}.skip:focus{top:8px}[hidden]{display:none!important}
@media(max-width:760px){.nav{flex-wrap:wrap;padding:12px 0}.links{order:3;width:100%;justify-content:space-between;gap:8px;font-size:.82rem}.nav>.button{padding:9px 11px}.brand{font-size:1rem}.brand img{width:32px;height:32px}.grid,.split{grid-template-columns:1fr}.wrap{width:calc(100% - 32px)}.hero{display:flex;flex-direction:column}.hero::before{display:none}.hero-photo{height:auto;aspect-ratio:1.35;position:static;order:2;width:100%;object-position:64% center;z-index:auto}.hero-layout{min-height:auto;padding-block:43px}.hero-copy{width:100%}.hero-copy h1{font-size:clamp(2.55rem,8vw,4rem)}.hero-kicker{margin-bottom:22px}.service-links .wrap{grid-template-columns:1fr;padding-block:10px}.service-links a,.service-links a:first-child{padding:14px 0;border-left:0}.service-links a+a{border-top:1px solid var(--line)}}

/* Homepage sections */
.installation-process,.equipment-feature{background:var(--paper)}
.installation-process .section-head::before,.equipment-feature .section-head::before,.monitoring-copy::before{content:"";display:block;width:70px;height:3px;margin-bottom:24px;background:var(--red)}
.process-list{list-style:none;counter-reset:installation;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px;margin:0 0 28px;padding:0}
.process-list li{counter-increment:installation;border-top:1px solid #d0b0aa;padding-top:18px}
.process-list li::before{content:counter(installation);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#f1ded7;color:var(--ink);font-weight:800;margin-bottom:14px}
.process-list p,.equipment-category p{color:var(--muted);margin-top:8px}
.monitoring-feature{display:grid;grid-template-columns:1.06fr 1fr;background:#460f1b;color:#fffaf5}
.monitoring-copy{padding:clamp(44px,6vw,100px) clamp(28px,5vw,76px) clamp(44px,6vw,100px) max(48px,calc((100vw - 1360px)/2))}
.monitoring-copy::before{background:#f3d7d7}
.monitoring-copy h2{max-width:610px}
.monitoring-copy p{max-width:480px;margin:19px 0 24px;color:#fae8e8}
.monitoring-feature img{height:100%;min-height:360px;object-fit:cover;object-position:center}
.equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.equipment-category{display:flex;flex-direction:column;align-items:flex-start}
.equipment-category img{aspect-ratio:1.55;object-fit:cover;border-radius:12px;margin-bottom:16px;background:#edddd3}
.equipment-category span{margin-top:auto;color:var(--red);font-weight:800;text-decoration:underline;text-underline-offset:5px}
.equipment-category:hover h3{color:var(--red)}
.quote-band{background:var(--red);color:#fffaf5;padding:34px 0}
.quote-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px}
.quote-band h2{font-size:clamp(1.9rem,4vw,3rem)}
.quote-band p{margin:8px 0 0}
.quote-band .button{flex-shrink:0}
@media(max-width:760px){
  .process-list,.equipment-grid,.monitoring-feature{grid-template-columns:1fr}
  .process-list,.equipment-grid{gap:24px}
  .monitoring-copy{padding:44px 16px}
  .monitoring-feature img{min-height:0;aspect-ratio:1.5}
  .quote-band .wrap{align-items:flex-start;flex-direction:column}
}
