:root{
  --boiler-house:#1C1E20;
  --dial-plate:#EAECE7;
  --burner-umber:#7A4632;
  --flue-grey:#82878B;
  --pressure-plate:#24262A;
  --limewash:#EFECE2;
  --flange-dark:#2A2D31;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-size:16px;
  font-family:Georgia,"Times New Roman",serif;
  background-color:var(--boiler-house);
  color:var(--dial-plate);
  line-height:1.65;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
ul{list-style:none}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}

/* FLANGE NAV */
.flangenav{
  position:sticky;top:0;z-index:60;
  background-color:var(--boiler-house);
  border-bottom:2px solid var(--flue-grey);
}
.flangenav-inner{
  max-width:1180px;margin:0 auto;padding:0 24px;
  display:flex;align-items:center;gap:18px;
  min-height:72px;position:relative;
}
.flange-glyph{
  width:20px;height:52px;position:relative;flex:none;
}
.flange-glyph::before{
  content:"";position:absolute;left:7px;top:0;bottom:0;width:6px;background-color:var(--burner-umber);
}
.flange-glyph::after{
  content:"";position:absolute;left:1px;top:12px;width:18px;height:5px;border-radius:3px;background-color:var(--burner-umber);
  box-shadow:0 23px 0 var(--burner-umber);
}
.brand{
  display:flex;align-items:center;gap:10px;
  background-color:var(--burner-umber);
  color:var(--limewash);font-weight:700;font-size:20px;
  letter-spacing:2px;padding:12px 18px;flex:none;
}
.brand-code{font-size:10px;letter-spacing:1px;opacity:1}
.brand-nav{display:flex;align-items:center;gap:6px;margin-left:auto}
.valve-tag{
  display:flex;align-items:center;gap:7px;
  font-size:14px;letter-spacing:1px;color:var(--dial-plate);padding:8px 12px;
  border:1px solid var(--flange-dark);border-radius:5px;
}
.chip{
  display:inline-block;background-color:var(--limewash);color:var(--boiler-house);
  font-size:9px;letter-spacing:1px;padding:1px 5px;border-radius:3px;
}
.brand-btn{
  background-color:var(--burner-umber);color:var(--limewash);
  font-weight:700;letter-spacing:1px;padding:11px 16px;border-radius:5px;flex:none;
}
.nav-toggle{
  display:none;background:none;border:1px solid var(--flue-grey);color:var(--dial-plate);
  font-size:16px;padding:8px 12px;border-radius:5px;cursor:pointer;
}
.flange-bottom{
  height:4px;position:relative;background-color:var(--flue-grey);
}
.flange-bottom::before{
  content:"";position:absolute;left:0;top:-2px;width:52px;height:8px;
  background-color:var(--burner-umber);
}
.flange-bottom::after{
  content:"";position:absolute;right:0;top:-2px;width:52px;height:8px;
  background-color:var(--burner-umber);
}
@media(max-width:860px){
  .valve-tag,.brand-btn{display:none}
  .nav-toggle{display:block;margin-left:auto}
  .brand-nav{position:absolute;top:72px;left:0;right:0;display:none;flex-direction:column;
    background-color:var(--boiler-house);border-bottom:2px solid var(--flue-grey);padding:12px}
  .brand-nav.open{display:flex}
}

/* HERO MANIFOLD WALL */
.manifoldwall{
  position:relative;border-bottom:6px solid var(--flange-dark);
}
.hero-plant{
  position:relative;min-height:420px;padding:40px 24px;width:100%;
}
.hero-plant-inner{
  max-width:1180px;margin:0 auto;position:relative;height:340px;
}
.gauge-pair{
  position:absolute;left:24px;bottom:80px;
  display:flex;gap:14px;
}
.gauge{
  width:72px;height:72px;border-radius:50%;
  border:6px solid var(--flue-grey);
  background-color:var(--pressure-plate);
  position:relative;
}
.gauge::before{
  content:"";position:absolute;inset:9px;border-radius:50%;
  border:1px solid var(--flue-grey);
}
.gauge::after{
  content:"";position:absolute;left:50%;bottom:16px;width:24px;height:2px;
  background-color:var(--burner-umber);transform-origin:left center;transform:rotate(-35deg);
}
.gauge-label{
  position:absolute;bottom:0;left:0;font-size:10px;letter-spacing:1px;color:var(--flue-grey);
}
.jobbook-hook{
  position:absolute;top:30px;left:8px;width:220px;
}
.jobbook-hook .arm{
  width:3px;height:60px;background-color:var(--flue-grey);
  border-bottom:7px solid var(--burner-umber);border-radius:3px;
}
.jobbook-hook .book{
  margin:26px 0 0 14px;width:150px;background-color:var(--flange-dark);
  border:1px solid var(--flue-grey);color:var(--dial-plate);
  font-size:11px;letter-spacing:1px;padding:8px 10px;
}
.boiler-left-vents{
  position:absolute;right:34%;top:120px;width:120px;height:160px;
  background-color:var(--flange-dark);border:1px solid var(--flue-grey);
}
.flue-cowl{
  position:absolute;right:34%;top:60px;height:60px;width:52px;
  background-color:var(--flue-grey);
  clip-path:polygon(0 100%,20% 0,80% 0,100% 100%);
}
.manifold-running{
  position:absolute;left:0;right:0;top:150px;height:3px;
}
.manifold-pipes{
  position:absolute;left:0;right:34%;top:0;height:140px;
}
.pipe-run{
  position:absolute;left:0;right:0;height:4px;
  background-color:var(--burner-umber);
}
.pipe-run:after{
  content:"";position:absolute;bottom:-12px;height:24px;width:4px;background-color:var(--flue-grey);
}
.pipe-run.r1{top:10px}
.pipe-run.r2{top:46px}
.pipe-run.r3{top:82px}
.pipe-run.r4{top:118px}
.pipe-run:nth-child(odd):after{left:auto;right:22px}
.home-benches{
  margin-top:14px;display:flex;align-items:end;justify-content:flex-end;padding-right:30px;gap:20px;
}
.toolbox{
  width:150px;height:54px;background-color:var(--burner-umber);
  border:1px solid var(--limewash);position:relative;
}
.toolbox:before{
  content:"";position:absolute;top:-8px;left:-6px;right:-6px;height:8px;background-color:var(--burner-umber);
  border-top:1px solid var(--limewash);
}
.hero-desktop-text{
  text-align:center;font-size:12px;letter-spacing:2px;color:var(--flue-grey);max-width:560px;
  margin:90px auto 0;display:none;
}
.hero-workbench{
  background-color:var(--pressure-plate);
  border-top:6px solid var(--flange-dark);width:100%;
}
.hero-workbench-inner{
  max-width:1180px;margin:0 auto;padding:44px 24px;text-align:center;
}
.eyebrow{
  display:inline-block;color:var(--burner-umber);letter-spacing:4px;font-size:13px;
  border-bottom:1px solid var(--flue-grey);padding-bottom:6px;margin-bottom:14px;
}
.hero-title{
  font-size:48px;line-height:1.1;color:var(--dial-plate);max-width:820px;margin:0 auto;
}
.job-stamp{
  display:inline-block;color:var(--limewash);font-size:11px;letter-spacing:2px;
  border:1px dashed var(--burner-umber);padding:4px 10px;
}
.job-stamp{display:block;width:fit-content;margin:18px auto 0}
.hero-lede{max-width:760px;margin:22px auto 26px;font-size:18px;color:var(--limewash);border-left:3px solid var(--burner-umber);padding-left:18px;text-align:left}
.hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn-solid{
  background-color:var(--burner-umber);color:var(--limewash);font-weight:700;
  padding:14px 22px;border-radius:6px;letter-spacing:1px;display:inline-block;
}
.btn-outline{
  border:1px solid var(--burner-umber);color:var(--dial-plate);padding:14px 22px;
  border-radius:6px;letter-spacing:1px;display:inline-block;
}
.hero-stats{
  background-color:var(--flange-dark);border-top:3px solid var(--burner-umber);width:100%;
}
.hero-stats-inner{
  max-width:1180px;margin:0 auto;padding:20px 24px;
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;text-align:center;
}
.stat .num{
  font-size:30px;color:var(--dial-plate);display:block;
  border-top:3px solid var(--burner-umber);padding-top:10px;
}
.stat .lab{font-size:12px;letter-spacing:2px;color:var(--flue-grey);margin-top:4px}
@media(max-width:760px){
  .hero-title{font-size:32px}
  .manifold-wall-part{min-height:300px}
  .hero-stats-inner{flex-direction:column}
}

/* JOB BOOK ROWS */
.jobbook{padding:70px 0 10px}
.jobbook-head{text-align:center;margin-bottom:44px}
.jobbook-head .section-title{font-size:36px;color:var(--dial-plate)}
.jobbook-head .section-sub{color:var(--flue-grey);max-width:680px;margin:12px auto 0}
.jobrow{
  background-color:var(--pressure-plate);margin:0 auto 28px;max-width:1060px;
  padding:26px 26px;border-left:6px solid var(--burner-umber);
  display:flex;gap:26px;align-items:flex-start;position:relative;
}
.jobrow.alt{
  margin-left:auto;transform:translateX(0);
  border-left:0;border-right:6px solid var(--burner-umber);
}
.jobrow .stamp-num{
  flex:none;width:76px;height:76px;border-radius:50%;
  border:3px solid var(--burner-umber);color:var(--burner-umber);
  display:flex;align-items:center;justify-content:center;flex-direction:column;
  font-weight:700;font-size:11px;text-align:center;
}
.jobrow .body{flex:1}
.jobrow .jb-code{font-size:11px;letter-spacing:2px;color:var(--burner-umber);display:block;margin-bottom:6px}
.gauge-chip{
  display:inline-block;background-color:var(--limewash);color:var(--boiler-house);
  width:64px;height:64px;border-radius:50%;flex:none;text-align:center;line-height:64px;
  border:6px solid var(--burner-umber);font-size:10px;font-weight:700;
}
.jobrow .meta{flex:none;display:flex;align-items:center;gap:14px;flex-direction:column}
.jobrow h3{font-size:24px;margin-bottom:8px;color:var(--dial-plate)}
.jobrow p{color:var(--limewash);font-size:15px}
.jobrow .readmore{
  display:inline-block;margin-top:14px;color:var(--burner-umber);font-weight:700;
  border-bottom:1px solid var(--burner-umber);padding-bottom:2px;font-size:15px;
}
@media(max-width:760px){.jobrow{flex-direction:column}.jobrow.alt{transform:none}}

/* STATEMENT ROW */
.statement{
  background-color:var(--burner-umber);color:var(--limewash);margin:60px 0 0;padding:60px 0;width:100%;
}
.statement-inner{max-width:980px;margin:0 auto;padding:0 24px;text-align:center}
.statement .hugenum{font-size:110px;line-height:1;color:var(--limewash);font-weight:700;letter-spacing:2px}
.statement .full-line{font-size:15px;max-width:780px;margin:20px auto 0;color:var(--limewash)}

/* SERVICE LOOP */
.serviceloop{background-color:var(--flange-dark);padding:60px 0;width:100%}
.serviceloop-head{text-align:center;margin-bottom:30px}
.serviceloop-head .section-title{font-size:34px;color:var(--dial-plate)}
.pipe-loop{position:relative;max-width:1060px;margin:20px auto 0;padding:20px 0}
.pipe-loop .dashed-line{
  position:absolute;top:46px;left:5%;right:5%;height:3px;
  background-image:linear-gradient(90deg,var(--burner-umber) 14px,transparent 14px);
  background-size:28px 3px;
}
.loop-stations{display:flex;justify-content:space-between;position:relative;gap:10px;flex-wrap:wrap}
.loop-station{text-align:center;flex:1;min-width:150px}
.loop-station .flange-glyph-sm{width:40px;height:40px;border-radius:50%;background-color:var(--boiler-house);border:5px solid var(--burner-umber);display:block;margin:0 auto 14px}
.loop-station h4{color:var(--dial-plate);letter-spacing:1px;font-size:18px;margin-bottom:8px}
.loop-station p{color:var(--flue-grey);font-size:13px;max-width:200px;margin:0 auto}
.remote{color:var(--burner-umber);font-weight:700}
@media(max-width:860px){.pipe-loop .dashed-line{display:none}}

/* BOOKING / ACCENT STRIP */
.booking-band{background-color:var(--burner-umber);color:var(--limewash);width:100%;padding:46px 0}
.booking-inner{max-width:1000px;margin:0 auto;padding:0 24px;display:flex;gap:30px;align-items:center;flex-wrap:wrap;justify-content:space-between}
.booking-text h2{font-size:28px;color:var(--limewash);margin-bottom:6px}
.booking-text p{color:var(--limewash);font-size:15px}
.booking-inner .btn-plate{
  background-color:var(--pressure-plate);color:var(--dial-plate);border:1px solid var(--limewash);
  padding:13px 20px;border-radius:6px;font-weight:700;
}

/* FOOTER FLUE STACK */
.fluestack{background-color:var(--boiler-house);border-top:3px solid var(--flue-grey);padding:0}
.cowl-silhouettes{
  height:60px;width:100%;background-color:var(--flange-dark);
  position:relative;overflow:hidden;
}
.cowl-silhouettes:before,.cowl-silhouettes:after{
  content:"";position:absolute;bottom:0;width:46px;height:70px;background-color:var(--flue-grey);opacity:1;
  clip-path:polygon(0 100%,18% 0,50% 0,60% 38%,100% 100%);
}
.cowl-silhouettes:before{left:10%}
.cowl-silhouettes:after{right:10%}
.footer-motto{
  text-align:center;padding:26px 20px;letter-spacing:5px;color:var(--dial-plate);
  font-size:13px;
}
.footer-link-grid{
  max-width:1180px;margin:0 auto;padding:40px 24px;
  display:flex;gap:40px;flex-wrap:wrap;justify-content:space-between;
}
.footer-col{flex:1;min-width:220px;background-color:var(--pressure-plate);padding:22px;border-top:3px solid var(--burner-umber);position:relative;z-index:1}
.footer-col h3{color:var(--dial-plate);font-size:16px;letter-spacing:2px;margin-bottom:14px;border-bottom:1px solid var(--flue-grey);padding-bottom:8px}
.footer-col a,.footer-col li{color:var(--limewash);font-size:14px;margin-bottom:8px;display:block}
.footer-plate{
  background-color:var(--limewash);color:var(--boiler-house);
  padding:26px 20px;text-align:center;
  position:relative;z-index:1;
}
.footer-plate .co{font-weight:700;color:var(--boiler-house);font-size:17px}
.footer-plate p{font-size:14px;color:var(--boiler-house)}
.footer-copy{text-align:center;color:var(--burner-umber);padding:18px 20px;font-size:13px;letter-spacing:1px;position:relative;z-index:1}

/* page-head shared */
.page-deck{
  background-color:var(--pressure-plate);
  border-top:6px solid var(--burner-umber);border-bottom:3px solid var(--flange-dark);
  padding:60px 0 46px;color:var(--dial-plate);
}
.page-deck-inner{max-width:1000px;margin:0 auto;padding:0 24px;text-align:center}
.page-deck-inner h1{font-size:42px;color:var(--dial-plate)}
.page-deck-inner p{color:var(--limewash);max-width:740px;margin:14px auto 0}

/* shared section scaffolding for service/contact */
.content-pad{padding:70px 0}
.content-narrow{max-width:1000px;margin:0 auto;padding:0 24px}

/* reveal */
.reveal{opacity:1}
body.js .reveal:not(.visible){opacity:0}

/* filter to avoid overflow clip */
.no-excess{overflow-x:hidden}

/* CTA band bottom shared */

/* service rows alternate list */
.service-band{background-color:var(--flange-dark);width:100%;padding:6px 0;margin:44px 0}
.service-inline{max-width:1000px;margin:0 auto;padding:20px 24px;text-align:center}
.service-inline .btn-solid{display:inline-block}
