
/* Layout: industrial and buttoned up, single committed look. Full bleed job photos, hard edges, steel and concrete blocks, logo blue for chemicals, logo green for equipment. */
:root{
  --steel:#0D1218; --steel2:#18212B; --concrete:#E9EAE5; --white:#FFFFFF; --ink:#0D1218; --grey:#5E6670; --rule:#0D1218;
  --blue:#1F4389; --blue-hi:#3E6BC4; --green:#277151; --green-hi:#3C9A6E; --tape:#E9EAE5;
  --hold:#FFE36B; --hold-ink:#3A2E00;
  --display:"Big Shoulders Display","Barlow Condensed","Arial Narrow",Impact,sans-serif;
  --cond:"Barlow Condensed","Arial Narrow",sans-serif;
  --body:"Barlow",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --gl:max(16px, env(safe-area-inset-left, 0px)); --gr:max(16px, env(safe-area-inset-right, 0px));
  color-scheme:light;
}
*{box-sizing:border-box;border-radius:0}
html{scroll-behavior:smooth}
body{background:var(--concrete);color:var(--ink);font-family:var(--body);font-size:17px;line-height:1.5;padding-bottom:calc(64px + env(safe-area-inset-bottom, 0px))}
@media (min-width:960px){body{padding-bottom:0}}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top, 0px);z-index:40;background:var(--steel)}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0;font-family:var(--display);text-transform:uppercase;line-height:.88;letter-spacing:.005em;text-wrap:balance}
h2{font-size:clamp(2.6rem,10vw,4.8rem);font-weight:900}
h3{font-size:clamp(1.7rem,6vw,2.4rem);font-weight:800;line-height:.95}
.wrap{max-width:1240px;margin:0 auto;padding-left:var(--gl);padding-right:var(--gr)}
.label{font-family:var(--cond);font-weight:700;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase}
:focus-visible{outline:3px solid var(--hold);outline-offset:2px}
.hold{background:var(--hold);color:var(--hold-ink);font-family:var(--mono);font-size:.82em;padding:0 .35em;white-space:nowrap;text-transform:none;letter-spacing:0;font-weight:500}

/* preview strip */
.pv{background:var(--hold);color:var(--hold-ink);font-family:var(--mono);font-size:.78rem}
.pv .wrap{padding-block:6px}

/* header */
.top{position:sticky;top:env(safe-area-inset-top, 0px);z-index:30;background:var(--steel);color:var(--white);border-bottom:4px solid var(--green)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-block:10px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{height:44px;width:auto;display:block}
.brand span{font-family:var(--display);font-weight:900;font-size:1.55rem;letter-spacing:.02em;line-height:1;display:grid}
.brand span small{font-family:var(--cond);font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#B9C1C9;margin-top:3px}
.nav{display:none;gap:26px;font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.nav a{text-decoration:none}
.nav a:hover{color:var(--green-hi)}
.menu{position:relative}
.menu summary{list-style:none;cursor:pointer;font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.1em;border:2px solid var(--white);padding:6px 12px}
.menu summary::-webkit-details-marker{display:none}
.menu .sheet{position:absolute;right:0;top:calc(100% + 14px);background:var(--steel);border:2px solid var(--white);display:grid;min-width:220px}
.menu .sheet a{padding:13px 16px;text-decoration:none;font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.08em;border-bottom:1px solid var(--steel2)}
.menu .sheet a:hover{background:var(--green)}
@media (min-width:960px){.nav{display:flex}.menu{display:none}}

.hphone{display:grid;gap:0;line-height:1.1;margin-left:auto;text-align:right}
.hphone small{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:.72rem;color:#B9C1C9}
.hphone .num{font-family:var(--mono);font-weight:600;font-size:.95rem;white-space:nowrap}
@media (max-width:440px){.brand span{display:none}}
@media (min-width:960px){.hphone{order:3;margin-left:0}}

/* hero */
.hero{position:relative;background:var(--steel);color:var(--white);overflow:hidden}
.hero .photo{position:absolute;inset:0;background-size:cover;background-position:50% 30%}
.hero .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,18,24,.15) 0%,rgba(13,18,24,.55) 45%,rgba(13,18,24,.96) 78%)}
.hero .wrap{position:relative;display:grid;gap:18px;padding-block:44vw 28px}
.hero .label{color:var(--green-hi)}
.hero h1{font-size:clamp(3.6rem,17vw,8.5rem);font-weight:900;line-height:.82}
.hero h1 span{display:block;color:var(--white);-webkit-text-stroke:0}
.hero h1 .g{color:var(--green-hi)}
.hero p.sub{font-size:1.12rem;font-weight:500;max-width:40ch;color:#D9DEE3}
.ctas{display:grid;gap:0;border:2px solid var(--white)}
.cta{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;text-decoration:none;font-family:var(--cond);font-weight:800;font-size:1.35rem;text-transform:uppercase;letter-spacing:.06em;line-height:1}
.cta + .cta{border-top:2px solid var(--white)}
.cta.go{background:var(--green);color:var(--white)}
.cta.blue{background:var(--blue);color:var(--white)}
.cta.plain{background:var(--white);color:var(--ink)}
.cta i{font-style:normal;font-family:var(--mono);font-size:1rem}
.cta:hover{filter:brightness(1.12)}
@media (min-width:960px){
  .hero .wrap{padding-block:200px 56px;grid-template-columns:1fr 1fr;align-items:end;column-gap:48px}
  .hero .copy{display:grid;gap:18px}
  .ctas{align-self:end}
}
.copy{display:grid;gap:16px;min-width:0}

.callline{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#D5DCE3;font-size:1.05rem}

/* coverage bar */
.cover{background:var(--green);color:var(--white);border-bottom:2px solid var(--steel)}
.cover .wrap{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 0;padding-block:12px}
.cover b{font-family:var(--cond);font-weight:800;letter-spacing:.14em;text-transform:uppercase;font-size:.85rem;margin-right:14px;color:#CFEBDD}
.cover span{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:1rem;white-space:nowrap}
.cover span + span::before{content:"";display:inline-block;width:1px;height:.9em;background:rgba(255,255,255,.45);margin:0 12px;vertical-align:-1px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* pick your path */
.path{background:var(--concrete);border-bottom:4px solid var(--steel)}
.path .wrap{padding-block:28px 32px;display:grid;gap:14px}
.paths{display:grid;border-top:4px solid var(--ink)}
.pth{display:grid;gap:6px;padding:16px 0;border-bottom:2px solid var(--ink);text-decoration:none}
.pth b{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(1.9rem,8vw,2.6rem);line-height:.95}
.pth span{color:#2B323A;max-width:44ch}
.pth i{font-style:normal;font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--green)}
.pth:hover b{color:var(--blue)}
@media (min-width:960px){.paths{grid-template-columns:repeat(3,1fr);column-gap:40px}}

/* facts */
.facts{background:var(--white);border-bottom:4px solid var(--steel)}
.facts .wrap{display:grid;grid-template-columns:1fr 1fr;padding-block:0}
.fact{padding:22px 0 20px;border-bottom:1px solid #C9CCC6;display:grid;gap:4px;align-content:start;min-width:0}
.fact:nth-child(odd){padding-right:14px;border-right:1px solid #C9CCC6}
.fact:nth-child(even){padding-left:14px}
.fact .v{font-family:var(--mono);font-weight:600;font-size:clamp(1.3rem,5.5vw,2rem);line-height:1.1;overflow-wrap:anywhere}
.fact .k{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.82rem;color:var(--grey)}
@media (min-width:960px){.facts .wrap{grid-template-columns:repeat(4,1fr)}.fact{padding:28px 18px!important;border-right:1px solid #C9CCC6;border-bottom:0}.fact:first-child{padding-left:0!important}.fact:last-child{border-right:0}}

/* operators */
.ops{background:var(--concrete)}
.ops .wrap{padding-block:52px;display:grid;gap:26px}
.ops .copy p.lead{font-size:1.15rem;font-weight:500;max-width:46ch;color:#2B323A}
.ops ul{list-style:none;margin:0;padding:0;display:grid;border-top:4px solid var(--ink)}
.ops li{display:grid;gap:4px;padding:16px 0;border-bottom:1px solid #BFC3BC}
.ops li b{font-family:var(--cond);font-weight:800;font-size:1.3rem;text-transform:uppercase;letter-spacing:.03em;line-height:1.1}
.ops li span{color:#2B323A}
.ops a.do{justify-self:start;background:var(--steel);color:var(--white);font-family:var(--cond);font-weight:800;font-size:1.2rem;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;padding:12px 18px}
@media (min-width:960px){.ops .wrap{grid-template-columns:1fr 1.2fr;column-gap:56px;align-items:start}.ops ul{grid-template-columns:1fr 1fr;column-gap:32px}}

/* who we are */
.who{background:var(--white);border-bottom:4px solid var(--steel)}
.who .wrap{padding-block:52px;display:grid;gap:28px}
.who p.lead{font-size:1.18rem;font-weight:500;max-width:52ch;color:#2B323A}
.pillars{display:grid;border-top:4px solid var(--ink)}
.pillars div{display:grid;gap:4px;padding:16px 0;border-bottom:2px solid var(--ink)}
.pillars b{font-family:var(--cond);font-weight:800;font-size:1.45rem;text-transform:uppercase;letter-spacing:.03em;line-height:1.05}
.pillars span{color:#2B323A}
.pillars.line div{grid-template-columns:7.5rem 1fr;column-gap:14px}
.pillars.line em{grid-row:span 2;font-style:normal;font-family:var(--mono);font-weight:600;font-size:1.25rem;color:var(--green);padding-top:2px}
.teamph{margin-top:24px;aspect-ratio:16/9;background:var(--steel2);display:grid;place-items:center}
@media (min-width:960px){.who .wrap{grid-template-columns:1.1fr 1fr;column-gap:56px;align-items:start}}

/* lanes */
.lane{display:grid;background:var(--white);border-bottom:4px solid var(--steel)}
.lane .pic{min-height:62vw;background-size:cover;background-position:center;position:relative}
.lane .tag{position:absolute;left:0;top:0;padding:8px 14px;color:var(--white);font-family:var(--cond);font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.lane .txt{padding:28px var(--gr) 32px var(--gl);display:grid;gap:16px;align-content:start;min-width:0}
.lane.chem .tag,.lane.chem .bar{background:var(--blue)}
.lane.eq .tag,.lane.eq .bar{background:var(--green)}
.lane.svc .tag,.lane.svc .bar{background:var(--steel)}
.bar{height:8px;width:72px}
.lane h2{font-size:clamp(2.4rem,10vw,4rem)}
.lane .lead{font-size:1.15rem;font-weight:600;max-width:36ch}
.makes{display:flex;flex-wrap:wrap;gap:8px 24px}
.pref{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.88rem;color:var(--grey);margin-bottom:-8px}
.makes b,.makes a{color:inherit;text-decoration:none;font-family:var(--cond);font-weight:800;font-size:1.25rem;letter-spacing:.06em;text-transform:uppercase;border:0;border-bottom:2px solid transparent;padding:0 0 2px}
.lane ul{margin:0;padding:0;list-style:none;border-top:2px solid var(--ink)}
.lane li{padding:10px 0;border-bottom:1px solid #C9CCC6;font-weight:500}
.lane a.do{justify-self:start;font-family:var(--cond);font-weight:800;font-size:1.2rem;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;color:var(--white);padding:12px 18px}
.lane.chem a.do{background:var(--blue)} .lane.eq a.do{background:var(--green)} .lane.svc a.do{background:var(--steel)}
@media (min-width:960px){
  .lane{grid-template-columns:1.15fr 1fr}
  .lane .pic{min-height:520px}
  .lane.eq .pic{order:2}
  .lane .txt{padding:56px 56px}
}

.lane.svc{grid-template-columns:1fr;background:var(--steel);color:var(--white)}
.lane.svc .bar{background:var(--green)}
.lane.svc ul{border-top-color:var(--white)}
.lane.svc li{border-bottom-color:#2E3A47}
.makes a:hover,.makes a:focus-visible{border-bottom-color:currentColor}
.makes a::after{content:" \2197";font-family:var(--mono);font-weight:500;font-size:.8em}
a.mk{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px}
.lane.svc .makes b{opacity:.85}
.lane.svc a.do{background:var(--green)}
@media (min-width:960px){.lane.svc .txt{max-width:1240px;margin:0 auto;width:100%;grid-template-columns:1fr 1fr;column-gap:56px}.lane.svc .txt > *{grid-column:1}.lane.svc .txt > ul{grid-column:2;grid-row:2 / span 5;align-self:start}}

/* calculator */
.calc{background:var(--steel);color:var(--white)}
.calc .wrap{display:grid;gap:28px;padding-block:52px}
.calc h2{font-size:clamp(2.6rem,10vw,4.8rem)}
.calc h2 em{font-style:normal;color:var(--green-hi)}
.calc .note{color:#B9C1C9;max-width:44ch;font-size:1.05rem}
.meter{display:grid;gap:0;border:2px solid var(--white)}
.f{display:grid;gap:4px;padding:14px 16px;border-bottom:2px solid var(--white)}
.f label{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.9rem;color:#B9C1C9}
.f .in{display:flex;align-items:baseline;gap:8px}
.f input{flex:1;min-width:0;background:transparent;border:0;color:var(--white);font-family:var(--mono);font-weight:600;font-size:2rem;padding:2px 0;font-variant-numeric:tabular-nums}
.f input:focus{outline:none}
.f:focus-within{background:var(--steel2)}
.f .u{font-family:var(--mono);color:#B9C1C9}
.out{padding:18px 16px;background:var(--green);display:grid;gap:4px}
.out .big{font-family:var(--mono);font-weight:600;font-size:clamp(3.4rem,17vw,6rem);line-height:1;font-variant-numeric:tabular-nums}
.out small{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.calc a.do{justify-self:start;background:var(--white);color:var(--ink);font-family:var(--cond);font-weight:800;font-size:1.2rem;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;padding:12px 18px}
@media (min-width:960px){.calc .wrap{grid-template-columns:1.4fr 1fr;align-items:end}.calc .l{display:grid;gap:20px}}
.l{display:grid;gap:16px}

/* field */
.field{padding-block:52px 0}
.field .head{display:grid;gap:12px;margin-bottom:24px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--steel);border-block:4px solid var(--steel)}
.tile{position:relative;aspect-ratio:1/1;max-width:100%;background-size:cover;background-position:center}
.tile .cap{position:absolute;left:0;right:0;bottom:0;background:var(--steel);color:var(--white);padding:8px 10px;display:grid;gap:2px}
.tile .cap b{font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:1.05rem;line-height:1.05}
.tile .cap small{font-family:var(--mono);font-size:.68rem;color:#B9C1C9}
@media (min-width:960px){.grid{grid-template-columns:repeat(4,1fr)}}

/* regions */
.areas{background:var(--white);border-top:4px solid var(--steel)}
.areas .wrap{padding-block:52px}
.areas .head{display:grid;gap:12px;margin-bottom:24px}
.reg{list-style:none;margin:0;padding:0;border-top:4px solid var(--ink)}
.reg li{display:grid;gap:2px;padding:14px 0;border-bottom:2px solid var(--ink)}
.reg b{font-family:var(--display);font-weight:900;font-size:clamp(2.1rem,9vw,3.2rem);text-transform:uppercase;line-height:.95}
.reg span{color:var(--grey);font-weight:500}
@media (min-width:960px){.reg{display:grid;grid-template-columns:1fr 1fr;column-gap:48px}.reg li:nth-child(-n+2){border-top:0}}

/* owner */
.owner{background:var(--blue);color:var(--white)}
.owner .wrap{padding-block:52px;display:grid;gap:26px}
.owner .label{color:#C9D6F2}
.ppl{display:grid;gap:14px}
.person{display:grid;grid-template-columns:1fr;gap:16px;align-items:center;border-top:2px solid var(--white);padding-top:14px}
.face{width:96px;height:96px;background:var(--hold);color:var(--hold-ink);display:grid;place-items:center;font-family:var(--mono);font-size:.7rem}
.person h3{font-size:2rem}
.person p{color:#D5DEF2}
@media (min-width:960px){.ppl{grid-template-columns:1fr 1fr;column-gap:40px}}

/* quotes */
.said{background:var(--concrete)}
.said .wrap{padding-block:52px;display:grid;gap:24px}
.qs{display:grid;gap:22px}
blockquote{margin:0;border-left:8px solid var(--green);padding:4px 0 4px 18px;display:grid;gap:10px}
blockquote p{font-size:1.3rem;font-weight:600;line-height:1.35}
blockquote cite{font-style:normal;font-family:var(--cond);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
blockquote cite small{display:block;color:var(--grey);letter-spacing:.04em}
@media (min-width:960px){.qs{grid-template-columns:1fr 1fr;column-gap:48px}}

/* faq */
.faq{background:var(--white);border-top:4px solid var(--steel)}
.faq .wrap{padding-block:52px;display:grid;gap:24px}
.faq details{border-bottom:2px solid var(--ink)}
.faq .list{border-top:4px solid var(--ink)}
.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px;padding:16px 0;font-weight:700;font-size:1.15rem;line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--mono);font-size:1.5rem;color:var(--green);line-height:1}
.faq details[open] summary::after{content:"\00D7"}
.faq details p{padding-bottom:18px;max-width:62ch;color:#2B323A}

/* quote form */
.quote{background:var(--steel);color:var(--white)}
.quote .wrap{padding-block:52px;display:grid;gap:24px}
form{display:grid;gap:0;border:2px solid var(--white)}
.q{display:grid;gap:4px;padding:12px 14px;border-bottom:2px solid var(--white)}
.q label{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:.88rem;color:#B9C1C9}
.q input,.q select,.q textarea{font:inherit;font-size:1.1rem;font-weight:600;color:var(--white);background:transparent;border:0;padding:4px 0;width:100%}
.q select option{color:var(--ink)}
.q input:focus,.q select:focus,.q textarea:focus{outline:none}
.q:focus-within{background:var(--steel2)}
.q textarea{min-height:80px;resize:vertical}
.pair{display:grid}
@media (min-width:760px){.pair{grid-template-columns:1fr 1fr}.pair .q:first-child{border-right:2px solid var(--white)}}
form button{font:inherit;cursor:pointer;border:0;background:var(--green);color:var(--white);font-family:var(--cond);font-weight:800;font-size:1.4rem;text-transform:uppercase;letter-spacing:.06em;padding:16px 18px;text-align:left;display:flex;justify-content:space-between}
.msg{background:var(--hold);color:var(--hold-ink);padding:10px 14px;font-family:var(--mono);font-size:.85rem}

footer{background:#06090C;color:#C4CBD2}
footer .wrap{padding-block:40px;display:grid;gap:16px}
footer .fl{display:flex;align-items:center;gap:14px}
footer img{height:52px;width:auto}
footer b{font-family:var(--display);font-weight:900;font-size:1.8rem;color:var(--white);text-transform:uppercase;line-height:1}
footer .addr{font-family:var(--mono);font-size:.85rem;line-height:1.7}

/* phone call bar */
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:35;display:grid;grid-template-columns:1fr 1fr;background:var(--steel);border-top:3px solid var(--steel);padding-bottom:env(safe-area-inset-bottom, 0px)}
.callbar button,.callbar a{text-align:center;text-decoration:none;font:inherit;cursor:pointer;border:0;color:var(--white);font-family:var(--cond);font-weight:800;font-size:1.25rem;text-transform:uppercase;letter-spacing:.08em;padding:16px 10px}
.callbar .c1{background:var(--green);padding-left:var(--gl)}
.callbar .c2{background:var(--blue);padding-right:var(--gr)}
.callbar .m{grid-column:1 / -1;background:var(--hold);color:var(--hold-ink);text-align:center;font-family:var(--mono);font-size:.82rem;padding:6px var(--gr) 6px var(--gl)}
@media (min-width:960px){.callbar{display:none}}

/* photos */
.ph-brushes{background-image:url(img/brushes2.jpg)} .ph-boards{background-image:url(img/boards2.jpg)} .ph-arch{background-image:url(img/arch2.jpg)}
.nav a[aria-current]{color:var(--green-hi)}
.menu .sheet a[aria-current]{background:var(--steel2)}
a.more{justify-self:start;font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.06em;text-decoration:underline;text-underline-offset:4px}

/* inner page hero */
.phero{position:relative;background:var(--steel);color:var(--white);overflow:hidden;border-bottom:4px solid var(--green)}
.phero.chem{border-bottom-color:var(--blue)}
.phero .photo{position:absolute;inset:0;background-size:cover;background-position:center}
.phero .photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,18,24,.35) 0%,rgba(13,18,24,.8) 55%,rgba(13,18,24,.97) 85%)}
.phero .wrap{position:relative;display:grid;gap:16px;padding-block:30vw 30px}
.phero.plain .wrap{padding-block:44px 34px}
.phero .label{color:var(--green-hi)}
.phero.chem .label{color:#9FB8EA}
.phero h1{font-size:clamp(3rem,13vw,6.4rem);font-weight:900;line-height:.86}
.phero p.sub{font-size:1.12rem;font-weight:500;max-width:46ch;color:#D9DEE3}
.phero .makes a,.phero .makes b{border-color:var(--white)}
.phero .makes a:hover{border-bottom-color:currentColor}
.btns{display:flex;flex-wrap:wrap;gap:10px}
.btn{font-family:var(--cond);font-weight:800;font-size:1.2rem;text-transform:uppercase;letter-spacing:.06em;text-decoration:none;color:var(--white);padding:13px 18px;background:var(--green)}
.btn.blue{background:var(--blue)} .btn.line{background:transparent;border:2px solid currentColor;padding:11px 16px} .btn.dark{background:var(--steel)}
.btn:hover{filter:brightness(1.12)}
@media (min-width:960px){.phero .wrap{padding-block:150px 52px}.phero.plain .wrap{padding-block:72px 52px}}

/* generic sections */
.sec{background:var(--white);border-bottom:4px solid var(--steel)}
.sec.c{background:var(--concrete)}
.sec.d{background:var(--steel);color:var(--white)}
.sec > .wrap{padding-block:52px;display:grid;gap:26px}
.sec .copy p.lead{font-size:1.15rem;font-weight:500;max-width:48ch;color:#2B323A}
.sec.d .copy p.lead{color:#C4CBD2}
.rows{list-style:none;margin:0;padding:0;display:grid;border-top:4px solid var(--ink)}
.rows li{display:grid;gap:4px;padding:16px 0;border-bottom:1px solid #BFC3BC}
.rows li b{font-family:var(--cond);font-weight:800;font-size:1.3rem;text-transform:uppercase;letter-spacing:.03em;line-height:1.1}
.rows li span{color:#2B323A}
.sec.d .rows{border-top-color:var(--white)} .sec.d .rows li{border-bottom-color:#2E3A47} .sec.d .rows li span{color:#C4CBD2}
.steps{list-style:none;margin:0;padding:0;counter-reset:s;display:grid;border-top:4px solid var(--ink)}
.steps li{counter-increment:s;display:grid;grid-template-columns:3.2rem 1fr;column-gap:12px;padding:16px 0;border-bottom:2px solid var(--ink)}
.steps li::before{content:counter(s,decimal-leading-zero);grid-row:span 2;font-family:var(--mono);font-weight:600;font-size:1.4rem;color:var(--green)}
.steps b{font-family:var(--cond);font-weight:800;font-size:1.35rem;text-transform:uppercase;letter-spacing:.03em;line-height:1.1}
.steps span{color:#2B323A}
.sec.d .steps{border-top-color:var(--white)} .sec.d .steps li{border-bottom-color:var(--white)} .sec.d .steps span{color:#C4CBD2} .sec.d .steps li::before{color:var(--green-hi)}
.promise{display:grid;border:2px solid var(--white)}
.promise div{padding:20px 18px;display:grid;gap:4px}
.promise div + div{border-top:2px solid var(--white)}
.promise .v{font-family:var(--mono);font-weight:600;font-size:clamp(2.6rem,12vw,4.4rem);line-height:1}
.promise .k{font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:1.2rem}
.promise small{color:#C4CBD2;font-size:1rem}
.promise .g{background:var(--green)}
.brands{display:grid;border-top:4px solid var(--ink)}
.brand-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:16px 0;border-bottom:2px solid var(--ink);text-decoration:none}
.brand-row b{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:clamp(2rem,9vw,3rem);line-height:.95}
.brand-row span{color:var(--grey);font-weight:500;grid-column:1}
.brand-row i{grid-row:1 / span 2;grid-column:2;font-style:normal;font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--green)}
.brand-row:hover b{color:var(--blue)}
.photoph{aspect-ratio:16/9;background:var(--steel2);display:grid;place-items:center}
@media (min-width:960px){
  .sec > .wrap{grid-template-columns:1fr 1.15fr;column-gap:56px;align-items:start;padding-block:72px}
  .rows.two{grid-template-columns:1fr 1fr;column-gap:32px}
  .promise{grid-template-columns:1fr 1fr}.promise div + div{border-top:0;border-left:2px solid var(--white)}
}

/* service area map */
.mapbox{background:var(--steel);border:2px solid var(--ink)}
.smap{display:block;width:100%;height:auto}
.smap .sea{fill:#1F4389}
.smap .land{fill:#E9EAE5;stroke:#0D1218;stroke-width:2}
.smap .border{stroke:#5E6670;stroke-width:1.5;stroke-dasharray:6 5}
.smap .mx,.smap .ocean{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.14em;font-size:13px}
.smap .mx{fill:#5E6670}.smap .ocean{fill:#C9D6F2}
.smap .zone{fill:rgba(39,113,81,.55);stroke:#277151;stroke-width:3;stroke-linejoin:round}
.smap .cl{font-family:var(--cond);font-weight:700;font-size:14px;fill:#0D1218;letter-spacing:.02em}
.smap .zl{font-family:var(--display);font-weight:900;text-transform:uppercase;font-size:20px;fill:#FFFFFF;letter-spacing:.03em}
.smap .dot{fill:#277151;stroke:#fff;stroke-width:3}
.smap .rl{font-family:var(--cond);font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:17px;fill:#0D1218;paint-order:stroke;stroke:#E9EAE5;stroke-width:4px}
.smap a:hover .dot,.smap a:focus .dot{fill:#1F4389}
.smap a:hover .rl{fill:#1F4389}
.smap .hq{fill:#0D1218}
.smap .hql{font-family:var(--mono);font-size:11px;fill:#0D1218;paint-order:stroke;stroke:#E9EAE5;stroke-width:3px}
.mapnote .key{display:inline-block;width:10px;height:10px;background:var(--ink);margin-right:8px}
.mapnote{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--grey);font-size:.9rem}
.reglinks{display:flex;flex-wrap:wrap;gap:6px 0}
.reglinks a + a::before{content:"";display:inline-block;width:1px;height:.9em;background:#BFC3BC;margin:0 12px;vertical-align:-1px}
.reglinks a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.reglinks a:hover{color:var(--blue)}
.reglinks a[aria-current]{text-decoration:none;color:var(--grey)}
.rows li b a{text-decoration:none}.rows li b a:hover{color:var(--blue)}
