/* CedarPact Facility Group: design system. Montserrat, forest green, gold. */
@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url("/fonts/montserrat-latin.woff2") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Montserrat";font-style:normal;font-weight:100 900;font-display:swap;src:url("/fonts/montserrat-latin-ext.woff2") format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --green:#1E3D2F;--green-2:#2A5240;--green-deep:#12271F;--teal:#0F2124;
  --gold:#C79A4B;--gold-2:#B3873C;--gold-soft:#F4EBDB;
  --ink:#0A0A0A;--text:#1F1F1F;--muted:#5C6460;--bg:#F2F2F2;--card:#FFFFFF;--line:#DADEDB;--line-2:#E9ECEA;
  --r:8px;--r-sm:6px;--shadow:0 1px 2px rgba(0,0,0,.06),0 8px 24px -12px rgba(18,39,31,.25);
  --wrap:1180px;--font:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;font-family:var(--font);font-size:16px;line-height:1.6;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;hyphens:manual}
img{max-width:100%;height:auto;display:block}
a{color:var(--green);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--green-2)}
h1,h2,h3,h4{margin:0 0 .5em;color:var(--ink);line-height:1.15;letter-spacing:-.01em;font-weight:800;text-wrap:balance}
h1{font-size:clamp(2rem,4.2vw,3.1rem)}
h2{font-size:clamp(1.55rem,2.8vw,2.15rem)}
h3{font-size:1.15rem;font-weight:700}
p{margin:0 0 1em}
ul,ol{margin:0 0 1em;padding-left:1.2em}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.kicker{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-2);margin-bottom:10px}
.lead{font-size:1.1rem;color:var(--muted);max-width:60ch}
.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:var(--r-sm);font-weight:700;font-size:.95rem;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s;line-height:1.2;font-family:inherit}
.btn-gold{background:var(--gold-2);color:#fff;border-color:var(--gold-2);text-shadow:0 1px 1px rgba(0,0,0,.12)}
.btn-gold:hover{background:#9C7431;border-color:#9C7431;color:#fff}
.btn-green{background:var(--green);color:#fff;border-color:var(--green)}
.btn-green:hover{background:var(--green-2);border-color:var(--green-2);color:#fff}
.btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn-ghost:hover{border-color:#fff;color:#fff}
.btn-line{background:transparent;color:var(--green);border-color:var(--green)}
.btn-line:hover{background:var(--green);color:#fff}
.btn-sm{padding:9px 14px;font-size:.85rem}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 12px;z-index:100}
.skip:focus{left:8px}

/* banner */
.draft{background:var(--gold);color:var(--ink);text-align:center;font-weight:700;padding:8px 16px;font-size:.9rem}

/* header */
.site-head{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.head-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.brand img{width:42px;height:48px;object-fit:contain}
.brand b{display:block;font-size:1.22rem;font-weight:800;letter-spacing:-.02em;line-height:1}
.brand b span{color:var(--gold)}
.brand small{display:block;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:4px;font-weight:600}
.nav{display:flex;align-items:center;gap:4px}
.nav>li{list-style:none;position:relative}
.nav{margin:0;padding:0}
.nav a.top{display:block;padding:10px 12px;font-weight:600;font-size:.93rem;color:var(--ink);text-decoration:none;border-radius:var(--r-sm)}
.nav a.top:hover,.nav a.top[aria-current]{background:var(--bg);color:var(--green)}
.nav .has-sub>a.top::after{content:"";display:inline-block;width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-3px) rotate(45deg);margin-left:7px;opacity:.7}
.sub{position:absolute;top:100%;left:0;min-width:270px;background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:8px;margin:0;list-style:none;display:none;z-index:60}
.sub.wide{min-width:560px;columns:2;column-gap:4px}
.sub li{break-inside:avoid}
.has-sub:hover .sub,.has-sub:focus-within .sub{display:block}
.sub a{display:block;padding:8px 10px;border-radius:var(--r-sm);text-decoration:none;color:var(--ink);font-size:.9rem;font-weight:500}
.sub a:hover{background:var(--bg);color:var(--green)}
.sub .all{font-weight:700;color:var(--green);border-top:1px solid var(--line-2);margin-top:4px}
.head-cta{display:flex;align-items:center;gap:10px}
.phone{font-weight:700;color:var(--ink);text-decoration:none;font-size:.95rem;white-space:nowrap}

/* hero */
.hero{position:relative;color:#fff;background:var(--green-deep);overflow:hidden;isolation:isolate}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(18,39,31,.94) 0%,rgba(18,39,31,.82) 48%,rgba(18,39,31,.55) 100%);z-index:-1}
.hero.no-photo::before{background:linear-gradient(100deg,#12271F 0%,#1E3D2F 60%,#214635 100%)}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hex{position:absolute;right:-6%;top:-20%;width:62%;height:160%;z-index:-1;opacity:.14;pointer-events:none}
.hero .wrap{position:relative}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center;padding-top:56px;padding-bottom:64px}
.hero h1{color:#fff;margin-bottom:16px}
.hero .lead{color:rgba(255,255,255,.86);font-size:1.08rem}
.hero .kicker{color:var(--gold)}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:20px 0 22px}
.proof{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;padding:0;list-style:none}
.proof li{display:flex;align-items:center;gap:8px;font-size:.9rem;color:rgba(255,255,255,.9);font-weight:500}
.proof svg{width:18px;height:18px;color:var(--gold);flex:none}
.hero.compact .hero-grid{grid-template-columns:1fr;padding-top:44px;padding-bottom:48px}
.hero.compact .lead{max-width:64ch}
.crumbs{font-size:.8rem;color:rgba(255,255,255,.7);margin-bottom:16px}
.crumbs a{color:rgba(255,255,255,.85);text-decoration:none}
.crumbs span{margin:0 6px;opacity:.5}
.page-light .crumbs{color:var(--muted)}.page-light .crumbs a{color:var(--green)}

/* form card */
.form-card{background:#fff;color:var(--text);border-radius:var(--r);padding:24px;box-shadow:var(--shadow)}
.form-card h2,.form-card h3{font-size:1.25rem;margin-bottom:4px}
.form-card .fp{color:var(--muted);font-size:.9rem;margin-bottom:14px}
.f-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.f-grid .full{grid-column:1/-1}
label{display:block;font-size:.8rem;font-weight:700;color:var(--ink);margin-bottom:5px}
.req{color:var(--gold-2)}
input,select,textarea{width:100%;font:inherit;font-size:.95rem;padding:11px 12px;border:1.5px solid var(--line);border-radius:var(--r-sm);background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
textarea{min-height:88px;resize:vertical}
.missing{border-color:#C0392B!important}
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.78rem;color:var(--muted);font-weight:400;line-height:1.45;margin-top:4px}
.consent input{width:auto;margin-top:3px}
.form-status{min-height:1.3em;font-size:.88rem;font-weight:600;color:var(--green);margin-top:8px}
.form-status.err{color:#C0392B}
.form-card .btn{width:100%;margin-top:8px}
.form-note{font-size:.78rem;color:var(--muted);text-align:center;margin:10px 0 0}
.honey{position:absolute;left:-9999px;opacity:0;height:0;width:0}

/* strips & sections */
section{padding:64px 0}
section.tight{padding:40px 0}
.section-head{max-width:720px;margin-bottom:34px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head p{color:var(--muted);font-size:1.05rem}
.alt{background:#fff}
.dark{background:var(--green);color:#fff}
.dark h2,.dark h3{color:#fff}
.dark p{color:rgba(255,255,255,.85)}
.dark .kicker{color:var(--gold)}
.dark a{color:#fff}
.gold-band{background:var(--gold-soft);border-top:1px solid #EADFC6;border-bottom:1px solid #EADFC6}


.grid{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,1fr)}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
.g5{grid-template-columns:repeat(5,1fr)}

.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;text-decoration:none;color:var(--text);display:flex;flex-direction:column;gap:8px;transition:transform .25s,box-shadow .25s,border-color .25s}
a.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:#cfd5d1}
.card h3{margin:0;font-size:1.05rem}
.card p{margin:0;color:var(--muted);font-size:.92rem}
.card .more{margin-top:auto;padding-top:8px;font-weight:700;color:var(--green);font-size:.9rem}
.ic-wrap{width:46px;height:46px;border-radius:10px;background:var(--gold-soft);display:grid;place-items:center;color:var(--green);margin-bottom:6px}
.ic-wrap svg{width:26px;height:26px}
.card.photo{padding:0;overflow:hidden}
.card.photo .img{aspect-ratio:3/2;background:var(--green-deep);display:grid;place-items:center;overflow:hidden;position:relative}
.card.photo.wide .img{aspect-ratio:2/1}.card.photo .img .ph{position:absolute;inset:0}
.card.photo .img img{width:100%;height:100%;object-fit:cover}
.card.photo .img svg.ic{width:40px;height:40px;color:var(--gold);opacity:.9}
.card.photo .body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1}

.steps{counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.steps.three{grid-template-columns:repeat(3,1fr)}
.step{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px 22px 22px}
.step::before{counter-increment:s;content:"0" counter(s);display:block;font-size:.8rem;font-weight:800;letter-spacing:.12em;color:var(--gold-2);margin-bottom:10px}
.step h3{font-size:1.02rem}
.step p{margin:0;color:var(--muted);font-size:.92rem}
.dark .step{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.dark .step h3{color:#fff}.dark .step p{color:rgba(255,255,255,.8)}

.checks{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:9px 24px}
.checks li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem}
.checks svg{width:20px;height:20px;color:var(--gold-2);flex:none;margin-top:3px}
.checks.one{grid-template-columns:1fr}

.two{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:start}
.two.rev{grid-template-columns:.9fr 1.1fr}
.sticky{position:sticky;top:92px}

.faq{max-width:820px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-bottom:10px}
.faq summary{list-style:none;cursor:pointer;padding:16px 48px 16px 20px;font-weight:700;position:relative;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:20px;top:20px;width:9px;height:9px;border-right:2px solid var(--gold-2);border-bottom:2px solid var(--gold-2);transform:rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg);top:24px}
.faq .a{padding:0 20px 18px;color:var(--text)}
.faq .a p:last-child{margin:0}

.prose{max-width:760px;font-size:1.02rem}
.prose h2{font-size:1.5rem;margin-top:1.8em}
.prose h3{margin-top:1.4em}
.prose ul{padding-left:1.25em}
.prose li{margin-bottom:.35em}
.prose img{border-radius:var(--r);margin:1.5em 0}
.prose .cta-box{background:var(--gold-soft);border:1px solid #EADFC6;border-radius:var(--r);padding:20px 22px;margin:2em 0}

.pill-list{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:0}
.pill-list a{display:inline-block;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;text-decoration:none;color:var(--ink);font-size:.88rem;font-weight:600}
.pill-list a:hover{border-color:var(--green);color:var(--green)}
.pill-list a.on{background:var(--green);border-color:var(--green);color:#fff}

.region{scroll-margin-top:90px;margin-bottom:28px}
.region h3{display:flex;align-items:baseline;gap:12px;font-size:1.05rem}
.region h3 small{font-weight:500;color:var(--muted);font-size:.82rem}
.region p{color:var(--muted);font-size:.92rem;margin-bottom:10px}

.cover{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.cover .col{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px}
.cover h3{font-size:.95rem;margin-bottom:8px}
.cover a{display:block;text-decoration:none;color:var(--text);font-size:.9rem;padding:3px 0}
.cover a:hover{color:var(--green);text-decoration:underline}

.quote-box{background:var(--green);color:#fff;border-radius:var(--r);padding:28px;text-align:center}
.quote-box h3{color:#fff;font-size:1.3rem}
.quote-box p{color:rgba(255,255,255,.85)}

.review{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px}
.stars{color:var(--gold);letter-spacing:2px;font-size:.95rem;margin-bottom:8px}
.review p{font-size:.95rem}
.review footer{font-size:.85rem;color:var(--muted)}
.review footer b{color:var(--ink)}

.g-item{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:var(--text)}
.g-item:hover{box-shadow:var(--shadow)}
.g-img{aspect-ratio:2/1;margin:0;background:var(--green-deep);display:grid;place-items:center;overflow:hidden}
.g-img img{width:100%;height:100%;object-fit:cover}
.g-img svg{width:44px;height:44px;color:var(--gold);opacity:.9}
.g-body{padding:4px 20px 20px;display:flex;flex-direction:column;gap:6px}
.g-cat{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-2)}
.g-item h3{font-size:1.05rem;margin:0}
.g-meta{font-size:.82rem;color:var(--muted);margin-top:auto}
.post-head{padding:48px 0 24px}
.post-meta{color:var(--muted);font-size:.9rem;margin-bottom:8px}
.toc{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;margin:0 0 28px}
.toc b{display:block;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-2);margin-bottom:6px}
.toc ol{margin:0;padding-left:1.2em;font-size:.92rem}
.toc a{text-decoration:none}
.post-photo{margin:0 0 24px;border-radius:var(--r);overflow:hidden;aspect-ratio:2/1}
.post-photo img{width:100%;height:100%;object-fit:cover}

.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.vcard p{margin:0 0 10px}
.vcard b{display:block;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-2)}


/* footer */
.site-foot{background:var(--teal);color:rgba(255,255,255,.8);padding:56px 0 28px;font-size:.9rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px}
.site-foot h4{color:#fff;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}
.site-foot a{color:rgba(255,255,255,.85);text-decoration:none;display:block;padding:3px 0}
.site-foot a:hover{color:var(--gold)}
.site-foot .brand b{color:#fff}
.site-foot .brand small{color:rgba(255,255,255,.6)}
.foot-legal{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:18px;display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;font-size:.8rem;color:rgba(255,255,255,.6)}
.foot-legal>span:last-child{display:flex;gap:18px}
/* phones: each link group becomes a row, links side by side in two columns */
@media (max-width:640px){
  .foot-grid{gap:0}
  .foot-grid>div:first-child{padding-bottom:22px}
  .fg{padding:16px 0;border-top:1px solid rgba(255,255,255,.1)}
  .fg h4{margin-bottom:8px}
  .fg-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 18px}
  .fg-links a{font-size:.88rem;padding:4px 0}
  .foot-legal{margin-top:14px}
}
.foot-legal a{display:inline;padding:0}

/* pages */
.ty{min-height:60vh;display:grid;place-items:center;text-align:center;padding:60px 0}
.ty .ok{width:64px;height:64px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;margin:0 auto 18px}
.ty .ok svg{width:30px;height:30px}
.legal .prose{max-width:800px}

@media (max-width:1100px){
  .g4,.g5,.steps,.steps.three,.cover{grid-template-columns:repeat(2,1fr)}
  .g3{grid-template-columns:repeat(2,1fr)}
  
  
  .foot-grid{grid-template-columns:1fr 1fr}
  .sub.wide{min-width:420px}
}
@media (max-width:900px){
  .nav,.head-cta .btn,.head-cta .phone{display:none}
  .menu-toggle{display:inline-block}
  .hero-grid,.two,.two.rev,.contact-grid{grid-template-columns:1fr;gap:28px}
  .hero-grid{padding-top:40px;padding-bottom:44px}
  .sticky{position:static}
}
@media (max-width:640px){
  body{font-size:15.5px}
  section{padding:46px 0}
  .g2,.g3,.g4,.g5,.steps,.steps.three,.cover,.checks{grid-template-columns:1fr}
  .f-grid{grid-template-columns:1fr}
  
  
  
  .foot-grid{grid-template-columns:1fr}
  .form-card{padding:18px}
  .hero-actions{flex-direction:column}.hero-actions .btn{width:100%}
  .brand small{display:none}
}

/* ---------- rework: photo tiles, split blocks, icon tiles, bands ---------- */
@media (min-width:901px){.hero-grid{grid-template-columns:1.15fr .85fr}}
.hero .tagline{font-size:clamp(1.3rem,2.3vw,1.7rem);font-weight:700;color:#D8AE5E;margin:-4px 0 18px;line-height:1.28;letter-spacing:-.005em;max-width:32ch}
.hero .lead{font-size:1.04rem}
.ph{background:linear-gradient(135deg,#12271F 0%,#1E3D2F 55%,#26503E 100%);position:relative;overflow:hidden;display:grid;place-items:center;color:var(--gold)}
.ph::before{content:"";position:absolute;inset:-20%;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='52'%3E%3Cpath d='M30 2 56 16v24L30 54 4 40V16z' fill='none' stroke='%23C79A4B' stroke-width='1'/%3E%3C/svg%3E");opacity:.16}
.ph svg{width:44px;height:44px;position:relative}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.tile{position:relative;display:block;aspect-ratio:4/3;border-radius:var(--r);overflow:hidden;text-decoration:none;color:#fff;box-shadow:var(--shadow)}
.tile .ph{position:absolute;inset:0}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.tile:hover img{transform:scale(1.05)}
.tile .lbl{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;background:linear-gradient(180deg,rgba(15,33,36,0) 0%,rgba(15,33,36,.62) 40%,rgba(15,33,36,.9) 100%);font-weight:700;font-size:.98rem;line-height:1.2;display:flex;align-items:center;justify-content:space-between;gap:8px}
.tile .lbl::after{content:"→";color:var(--gold);font-weight:700}
.tile.big{aspect-ratio:3/2}

.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split.rev>.pic{order:-1}
.split .pic{border-radius:var(--r);overflow:hidden;aspect-ratio:4/3;box-shadow:var(--shadow);position:relative}
.split .pic img{width:100%;height:100%;object-fit:cover;display:block}
.split .pic .ph{position:absolute;inset:0}
.split .pic.tall{aspect-ratio:3/4;max-height:520px}
.split .pic .badge{position:absolute;left:18px;bottom:18px;background:#fff;color:var(--ink);border-radius:var(--r-sm);padding:10px 14px;font-weight:700;font-size:.85rem;box-shadow:var(--shadow);display:flex;gap:8px;align-items:center}
.split .pic .badge svg{width:18px;height:18px;color:var(--gold-2)}
.split h2{margin-bottom:14px}
.vals{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin:22px 0 0;padding:0;list-style:none}
.vals li{display:flex;gap:12px;align-items:flex-start}
.vals svg{width:22px;height:22px;color:var(--gold-2);flex:none;margin-top:2px}
.vals b{display:block;font-size:.95rem;color:var(--ink)}
.vals span{font-size:.88rem;color:var(--muted)}

.itiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.itile{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:0 16px 0 0;overflow:hidden;min-height:72px}
.itile .ico{flex:none;width:70px;align-self:stretch;display:grid;place-items:center;background:linear-gradient(135deg,var(--green) 0%,var(--green-2) 100%);color:var(--gold);clip-path:polygon(0 0,100% 0,78% 100%,0 100%);padding-right:10px}
.itile .ico svg{width:26px;height:26px}
.itile span{font-weight:600;font-size:.93rem;line-height:1.3;padding:12px 0}
.itiles.two{grid-template-columns:repeat(2,1fr)}

.diff{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.diff .d{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px 22px 22px 0;display:flex;gap:16px;align-items:flex-start;overflow:hidden}
.diff .d .ico{flex:none;width:74px;align-self:stretch;margin:-22px 0 -22px;display:grid;place-items:center;background:linear-gradient(160deg,var(--gold) 0%,var(--gold-2) 100%);color:var(--green-deep);clip-path:polygon(0 0,100% 0,72% 100%,0 100%);padding-right:12px;padding-top:0}
.diff .d .ico svg{width:28px;height:28px;margin-top:0}
.diff h3{font-size:1rem;margin:0 0 6px}
.diff p{margin:0;font-size:.9rem;color:var(--muted)}

.band{position:relative;color:#fff;padding:72px 0;isolation:isolate;overflow:hidden;background:var(--green-deep)}
.band img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:72% center;z-index:-2}
.band::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,33,36,.88) 0%,rgba(15,33,36,.8) 30%,rgba(15,33,36,.6) 46%,rgba(15,33,36,.3) 62%,rgba(15,33,36,.1) 76%,rgba(15,33,36,0) 88%);z-index:-1}
.band{background:var(--teal)}
.band h2{color:#fff;max-width:20ch}
.band p{color:rgba(255,255,255,.88);max-width:60ch;font-size:1.05rem}
.band .kicker{color:var(--gold)}
.band .proof li{color:#fff}

.form-band{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}
.form-band .pic{border-radius:var(--r);overflow:hidden;position:relative;min-height:420px;box-shadow:var(--shadow)}
.form-band .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.form-band .pic .ph{position:absolute;inset:0}
.form-band .pic .over{position:absolute;left:0;right:0;bottom:0;padding:26px;background:linear-gradient(180deg,rgba(15,33,36,0),rgba(15,33,36,.78) 38%,rgba(15,33,36,.92));color:#fff}
.form-band .pic .over h3{color:#fff;margin:0 0 6px;font-size:1.3rem}
.form-band .pic .over p{margin:0;color:rgba(255,255,255,.85);font-size:.92rem}
.form-band .pic .over .proof{margin-top:12px}.form-band .pic .over .proof li{font-size:.82rem}

.svc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.svc-list a{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-sm);background:#fff;text-decoration:none;color:var(--ink);font-weight:600;font-size:.92rem}
.svc-list a:hover{border-color:var(--green);color:var(--green)}
.svc-list svg{width:22px;height:22px;color:var(--gold-2);flex:none}


.net-grid .card{align-items:flex-start}.net-grid .card:nth-child(n+5){grid-column:span 1}
@media (min-width:1101px){.net-grid{grid-template-columns:repeat(4,1fr)}.net-grid .card:nth-child(5){grid-column:1/span 1}}
.net-last{background:var(--green);border-color:var(--green);color:#fff}.net-last h3{color:#fff;font-size:1.35rem;margin-bottom:18px}.net-last p{color:rgba(255,255,255,.85)}.net-last .kicker{color:var(--gold);margin-bottom:4px}
.why6{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 28px}
.why6 li{list-style:none;display:flex;gap:12px}
.why6 svg{width:22px;height:22px;color:var(--gold);flex:none;margin-top:2px}
.why6 b{display:block;color:#fff}.why6 span{font-size:.9rem;color:rgba(255,255,255,.8)}
.dark .why6 b{color:#fff}

.area-tiles .tile{aspect-ratio:16/10}
.g-img.ph{aspect-ratio:2/1}

@media (max-width:1100px){.tiles{grid-template-columns:repeat(3,1fr)}.itiles,.diff{grid-template-columns:repeat(2,1fr)}.why6{grid-template-columns:1fr 1fr}}
@media (max-width:900px){.split,.split.rev,.form-band{grid-template-columns:1fr}.split.rev>.pic{order:0}.form-band .pic{min-height:260px}}
@media (max-width:640px){.hero.has-form .proof{display:none}.tiles{grid-template-columns:1fr 1fr;gap:10px}.tile .lbl{font-size:.85rem;padding:26px 10px 10px}.itiles,.itiles.two,.diff,.why6,.svc-list,.vals{grid-template-columns:1fr}.band{padding:52px 0}}

/* ---------- BC coverage map ---------- */
.map-sec{padding:56px 0 48px;background:#fff}
.bcmap{display:grid;grid-template-columns:1fr 1.15fr;gap:22px;align-items:start}
.bcmap>*,.map-card{min-width:0}
.map-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow)}
.map-card svg{display:block;width:100%;height:auto}
.map-card figcaption{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 16px;border-top:1px solid var(--line-2);font-size:.85rem}
.map-card figcaption b{color:var(--ink)}
.map-card figcaption span{color:var(--muted)}
.map-cta{text-align:center;margin-top:28px}
.bcmap a{text-decoration:none}
/* main map: same colours as the detail map, finer lines */
.bc-svg .ml2{stroke:#D6DCD8;stroke-width:.6}
.bc-svg .mbc2{stroke-width:1}
.bc-svg .mrv2{stroke-width:.9}
.bc-svg .mrd{stroke-width:1.15}
.bc-svg .mfy{stroke-width:.7;stroke-dasharray:2 2}
.mbox{fill:rgba(199,154,75,.14);stroke:var(--gold-2);stroke-width:1.2;stroke-dasharray:3 2}
.mbox-t{font:700 9px var(--font);fill:var(--gold-2)}
.mname{font:800 13px var(--font);letter-spacing:.32em;fill:var(--green);opacity:.16;text-anchor:middle}
/* Lower Mainland detail map */
.mw2,.mlk2{fill:#D2E3E9}
.ml2{fill:#ECEEEB}
.mbc2{fill:#FBFAF6;stroke:var(--green);stroke-width:.9;stroke-linejoin:round}
.murb{fill:#E3EBE1}
.mrv2{fill:none;stroke:#B3D0D9;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.mbd{fill:none;stroke:#8E9B94;stroke-width:1;stroke-dasharray:5 3}
.mfy{fill:none;stroke:#86AEBC;stroke-width:1;stroke-dasharray:3 3}
.mrd-c{fill:none;stroke:#fff;stroke-width:4.4;stroke-linecap:round;stroke-linejoin:round}
.mrd{fill:none;stroke:#DCC08A;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mhub{fill:none;stroke:var(--gold);stroke-width:1;opacity:.42}
.msh rect{fill:#fff;stroke:var(--green);stroke-width:1.1}
.msh text{font:800 8.5px var(--font);fill:var(--green);text-anchor:middle}
.msh.tc rect{fill:var(--green)}.msh.tc text{fill:#fff}
.mwt{font:italic 500 10.5px var(--font);fill:#5F8D9C;text-anchor:middle;letter-spacing:.03em}
.mwt.sm{font-size:9px}
.mrg{font:800 10px var(--font);letter-spacing:.34em;fill:var(--green);opacity:.24;text-anchor:middle}
.musa{font:700 9.5px var(--font);letter-spacing:.3em;fill:#98A39D;text-anchor:middle}
/* points */
.mp{cursor:pointer}
.mp text{font:600 9.5px var(--font);fill:var(--ink);paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;transition:fill .15s}
.lm-svg .mp text{font-size:11px}
.mp-dot{fill:var(--gold);stroke:#fff;stroke-width:1.5;transform-box:fill-box;transform-origin:center;transition:transform .15s,fill .15s}
.lm-svg .mp-dot{stroke-width:2}
.mp:hover .mp-dot,.mp:focus .mp-dot{transform:scale(1.4)}
.mp:hover text,.mp:focus text{fill:var(--gold-2)}
.mp.hq .mp-dot{fill:var(--green);stroke:var(--gold);stroke-width:2.2}
.mp-ring{fill:rgba(199,154,75,.2)}
.mp-pulse{fill:none;stroke:var(--gold);stroke-width:1.6;transform-box:fill-box;transform-origin:center;animation:mpulse 2.6s ease-out infinite}
@keyframes mpulse{0%{transform:scale(1);opacity:.9}100%{transform:scale(3.2);opacity:0}}
@media (prefers-reduced-motion:reduce){.mp-pulse{animation:none;opacity:0}}
.mp.hq text{font-weight:800;fill:var(--green)}
.lm-svg .mp.hq text{font-size:12px}
.lm-svg .mp.hq text.mp-hq{font:800 7.5px var(--font);letter-spacing:.14em;text-transform:uppercase;fill:var(--gold-2)}
.mlb{display:none}
.mtag text{font:700 11px var(--font);fill:var(--gold-2);paint-order:stroke;stroke:#FBFAF6;stroke-width:3px}
.mtag:hover text{fill:var(--green)}
@media (max-width:900px){.bcmap{grid-template-columns:1fr}}
@media (max-width:640px){.bc-svg .mp text{font-size:15px;stroke-width:4px}.bc-svg .mp.minor text,.mbox-t,.mname{display:none}.bc-svg .mp-dot{transform:scale(1.4)}
.lm-svg .dl,.lm-svg .mp-hq,.mwt,.mrg,.msh{display:none}.lm-svg .mp text.mlb{display:inline;font-size:21px;stroke-width:5px}.lm-svg .mp.hq text.mlb{font-size:22px}
.lm-svg .mp-dot{transform:scale(1.7)}.mtag text{font-size:19px;stroke-width:5px}.musa{font-size:15px}.mhub{stroke-width:1.6}.mrd-c{stroke-width:7}.mrd{stroke-width:3.2}.mbc2{stroke-width:1.4}.mbd,.mfy{stroke-width:1.6}
.map-cta .btn{display:block}}


/* ---------- trust bar (below the header on home, industry, service, city and quote pages) ---------- */
.strip{background:#fff;border-bottom:1px solid var(--line)}
.strip ul{display:flex;list-style:none;margin:0;padding:0}
.strip li{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:12px;padding:20px 18px;position:relative;min-width:0}
.strip li+li::before{content:"";position:absolute;left:0;top:22px;bottom:22px;border-left:1px solid var(--line)}
.strip .ico{width:38px;height:38px;border-radius:50%;background:rgba(199,154,75,.13);display:grid;place-items:center;flex:none}
.strip .ico svg{width:19px;height:19px;color:var(--gold-2)}
.strip b{display:block;font-size:.95rem;font-weight:700;color:var(--ink);line-height:1.25;white-space:nowrap}
.strip small{display:block;color:var(--muted);font-size:.8rem;line-height:1.35;white-space:nowrap;margin-top:2px}
.strip .short{display:none}
@media (max-width:1200px){.strip ul{display:grid;grid-template-columns:1fr 1fr}.strip li{justify-content:flex-start;padding:16px 0 16px 24px}.strip li:nth-child(odd){padding-left:0}
  .strip li+li::before{display:none}.strip li:nth-child(even)::after{content:"";position:absolute;left:0;top:16px;bottom:16px;border-left:1px solid var(--line)}
  .strip li:nth-child(n+3){border-top:1px solid var(--line-2)}}
@media (max-width:640px){.strip li{gap:9px;padding:12px 0 12px 14px}.strip li:nth-child(odd){padding-left:0}.strip li:nth-child(even)::after{top:12px;bottom:12px}
  .strip .ico{width:30px;height:30px}.strip .ico svg{width:16px;height:16px}.strip b{font-size:.86rem}.strip small{display:none}.strip .full{display:none}.strip .short{display:inline}}

/* ---------- photo headers: brand-green shade behind the text only, photo clear on the right ---------- */
.hero.has-photo{background:var(--teal)}
.hero.has-photo::before{background:linear-gradient(90deg,rgba(15,33,36,.86) 0%,rgba(15,33,36,.78) 30%,rgba(15,33,36,.6) 46%,rgba(15,33,36,.3) 62%,rgba(15,33,36,.1) 76%,rgba(15,33,36,0) 88%)}
.hero.has-photo .lead,.hero.has-photo .tagline{text-shadow:0 1px 2px rgba(0,0,0,.28)}
.hero.has-photo.compact .hero-grid>div:first-child{max-width:600px}
@media (max-width:900px){
  .hero.has-photo{padding-top:0}
  .hero.has-photo::before{display:none}
  .hero.has-photo .hero-photo{position:relative;display:block;width:100%;height:auto;aspect-ratio:2/1;z-index:0}
  .hero.has-photo .lead,.hero.has-photo .tagline{text-shadow:none}
  .hero.has-photo.compact .hero-grid>div:first-child{max-width:none}
}

/* ---------- About page ---------- */
.principles{list-style:none;margin:22px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.principles li{display:flex;gap:10px;align-items:flex-start;background:var(--bg);border-radius:var(--r-sm);padding:14px 16px;font-size:.93rem;line-height:1.45;color:var(--ink)}
.principles svg{width:18px;height:18px;color:var(--gold-2);flex:none;margin-top:2px}
.principles-close{margin:18px 0 0;color:var(--muted)}
.stats-band{background:var(--green);padding:44px 0}
.stats-band ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr)}
.stats-band li{text-align:center;padding:4px 16px;position:relative}
.stats-band li+li::before{content:"";position:absolute;left:0;top:8px;bottom:8px;border-left:1px solid rgba(255,255,255,.16)}
.stats-band b{display:block;font-size:clamp(2.2rem,4vw,3rem);font-weight:800;color:var(--gold);line-height:1.05;letter-spacing:-.02em}
.stats-band span{display:block;margin-top:6px;color:rgba(255,255,255,.82);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.values .card{padding:26px}
.values .card h3{margin:4px 0 2px}
.values .card p{margin:0;color:var(--muted)}
.hq{display:grid;grid-template-columns:1fr 1.05fr;gap:48px;align-items:center}
.hq>*{min-width:0}
.hq-tag{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--green);margin:18px 0}
.hq-tag svg{width:18px;height:18px;color:var(--gold-2)}
.bc-svg.mini .mp text{font-size:10px}.bc-svg.mini .mp.hq text{font-size:11px}.bc-svg.mini .mp.hq text.mp-hq{font:800 7px var(--font);letter-spacing:.14em;text-transform:uppercase;fill:var(--gold-2)}
.about-cta{background:var(--green);color:rgba(255,255,255,.82);border-radius:calc(var(--r) * 1.5);padding:48px 52px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center;box-shadow:var(--shadow)}
.about-cta h2{color:#fff;margin:0 0 12px}
.about-cta p{margin:0;max-width:560px}
.about-cta-act{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;align-items:center}
.about-cta-act small{flex-basis:100%;text-align:right;color:rgba(255,255,255,.6);font-size:.8rem}
@media (max-width:900px){.hq{grid-template-columns:1fr;gap:28px}.about-cta{grid-template-columns:1fr;gap:24px;padding:36px 32px}.about-cta-act{justify-content:flex-start}.about-cta-act small{text-align:left}}
@media (max-width:640px){.principles{grid-template-columns:1fr}.stats-band{padding:30px 0}.stats-band li{padding:4px 6px}.stats-band span{font-size:.68rem;letter-spacing:.06em}.about-cta{padding:30px 22px}.about-cta-act .btn{flex:1 1 100%;text-align:center}}

/* ---------- Service Partners: why cards ---------- */
.why-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.why-cards li{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}
.why-cards .ico{width:34px;height:34px;border-radius:50%;background:rgba(199,154,75,.14);display:grid;place-items:center;flex:none}
.why-cards .ico svg{width:17px;height:17px;color:var(--gold-2)}
.why-cards b{display:block;color:var(--ink);margin-bottom:4px}
.why-cards span:not(.ico){font-size:.9rem;color:var(--muted)}
@media (max-width:1000px){.why-cards{grid-template-columns:1fr 1fr}}
@media (max-width:640px){.why-cards{grid-template-columns:1fr}}

/* phone numbers inside dark areas: visible, never the default dark link colour (also covers iPhone auto-detected numbers) */
.form-band .over a,.hero .lead a,.band a:not(.btn),.dark a[href^="tel"]:not(.btn){color:#fff;font-weight:600;text-decoration:underline;text-decoration-color:rgba(199,154,75,.8);text-underline-offset:3px}
.form-band .over a:hover,.hero .lead a:hover{color:var(--gold)}
/* phones: the photo box grows to fit its text, so the heading is never cut off */
@media (max-width:900px){.form-band .pic{min-height:0;display:flex;flex-direction:column;justify-content:flex-end}.form-band .pic .over{position:relative;padding-top:150px}}

/* ---------- phone menu: tile rows and an accordion, same pattern as the quote sites ---------- */
.menu-toggle{display:none;border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:9px 18px;font:700 .9rem var(--font);color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent}
.menu-toggle[aria-expanded="true"]{background:var(--green);border-color:var(--green);color:#fff}
.mnav{display:none;border-top:1px solid var(--line);background:#fff;max-height:calc(100dvh - 70px);overflow-y:auto;overscroll-behavior:contain}
.mnav.open{display:block}
.mnav .wrap{display:flex;flex-direction:column;gap:6px;padding-top:12px;padding-bottom:22px}
.mnav .ml,.mnav summary{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;border-radius:12px;background:#F1F4F2;color:var(--ink);text-decoration:none;font-weight:700;font-size:1rem;cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent;transition:background .15s ease,color .15s ease}
.mnav summary::-webkit-details-marker{display:none}
.mnav summary .chev{flex:none;width:14px;height:14px;opacity:.7;transition:transform .2s ease}
.mnav .ml:active,.mnav summary:active{background:#E3EAE5}
.mnav details[open] summary{background:var(--green);color:#fff}
.mnav details[open] summary .chev{transform:rotate(180deg);opacity:1}
.mnav .m-sub{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;margin:8px 0 10px 12px;padding:6px 6px 10px 14px;border-left:3px solid var(--gold)}
.mnav .m-sub a{display:block;padding:9px 4px;color:var(--ink);text-decoration:none;font-size:.95rem;font-weight:500;line-height:1.3;border-radius:8px}
.mnav .m-sub a:active{background:#F1F4F2}
.mnav .m-sub .sub-all{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding:12px 14px;border-radius:10px;background:var(--gold-soft);color:var(--gold-2);font-weight:700}
.mnav .mcta{display:flex;flex-direction:column;gap:10px;margin-top:12px}
.mnav .mcta .btn{width:100%;padding-block:14px}

@media (max-width:900px){.menu-toggle{display:inline-flex;align-items:center}}
@media (max-width:640px){.band::before{background:linear-gradient(180deg,rgba(15,33,36,.86) 0%,rgba(15,33,36,.8) 60%,rgba(15,33,36,.9) 100%)}}

/* hover on photo tiles and cards: no green text; label stays white, arrow nudges; card titles turn gold */
.tile:hover,.tile:focus-visible{color:#fff}
.tile .lbl::after{transition:transform .2s ease}
.tile:hover .lbl::after,.tile:focus-visible .lbl::after{transform:translateX(4px)}
a.card:hover,a.card:focus-visible,.g-item:hover,.g-item:focus-visible{color:var(--text)}
a.card h3,.g-item h3{transition:color .2s ease}
a.card:hover h3,a.card:focus-visible h3,.g-item:hover h3,.g-item:focus-visible h3{color:var(--gold-2)}

/* ---------- home: How it starts as a timeline ---------- */
.tl-sec{padding:76px 0 80px}
.timeline{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0 28px;position:relative}
.timeline.three{grid-template-columns:repeat(3,1fr);gap:0 40px}
.timeline.three h3{font-size:1.2rem}
.timeline.three p{font-size:1rem}
.tl-cta{margin-top:40px}
.tl-cta .btn{padding:15px 28px;font-size:1rem}
.timeline::before{content:"";position:absolute;left:24px;right:24px;top:24px;border-top:2px solid rgba(199,154,75,.45)}
.timeline li{position:relative;padding-top:70px}
.tl-dot{position:absolute;left:0;top:0;width:50px;height:50px;border-radius:50%;background:var(--gold);color:var(--green-deep);font-weight:800;font-size:1.3rem;display:grid;place-items:center;box-shadow:0 0 0 8px var(--green)}
.tl-dot svg{width:22px;height:22px}
.timeline h3{color:#fff;font-size:1.12rem;margin:0 0 8px}
.timeline p{margin:0;color:rgba(255,255,255,.8);font-size:.95rem}
.timeline p a{color:#fff;font-weight:600;text-decoration:underline;text-decoration-color:rgba(199,154,75,.8);text-underline-offset:3px}
.tl-tag{display:inline-block;margin-top:14px;padding:5px 11px;border-radius:999px;border:1px solid rgba(199,154,75,.6);color:var(--gold);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
@media (max-width:900px){.timeline,.timeline.three{grid-template-columns:1fr;gap:0}.tl-cta{margin-top:30px}.tl-cta .btn{width:100%}.timeline::before{left:24px;right:auto;top:0;bottom:0;border-top:0;border-left:2px solid rgba(199,154,75,.45)}.timeline li{padding:0 0 34px 74px}.timeline li:last-child{padding-bottom:0}.tl-dot{top:-4px}}

/* ---------- home: What every account includes (photo + list) ---------- */
.incl{display:grid;grid-template-columns:.8fr 1.2fr;gap:48px;align-items:center}
.incl>*{min-width:0}
.incl-pic{margin:0;border-radius:var(--r);overflow:hidden;aspect-ratio:4/4.6;box-shadow:var(--shadow);background:var(--bg)}
.incl-pic img,.incl-pic .ph{width:100%;height:100%;object-fit:cover;display:block}
.incl-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:0 32px}
.incl-list li{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line-2)}
.incl-list li:nth-last-child(-n+2){border-bottom:0}
.incl-list .ico{flex:none;width:40px;height:40px;border-radius:50%;background:rgba(199,154,75,.14);display:grid;place-items:center}
.incl-list .ico svg{width:19px;height:19px;color:var(--gold-2)}
.incl-list b{display:block;color:var(--ink);margin-bottom:3px;line-height:1.3}
.incl-list li>div>span{font-size:.9rem;color:var(--muted)}
@media (max-width:900px){.incl{grid-template-columns:1fr;gap:28px}.incl-pic{aspect-ratio:3/2}}
@media (max-width:640px){.incl-list{grid-template-columns:1fr}.incl-list li:nth-last-child(2){border-bottom:1px solid var(--line-2)}}

/* ---------- FAQ: intro left, questions right ---------- */
.faq-wrap{display:grid;grid-template-columns:1fr 2fr;gap:48px;align-items:start}
.faq-side{position:sticky;top:90px}
.faq-side h2{margin-bottom:12px}
.faq-side p{color:var(--muted);margin-bottom:18px}
.faq-wrap .faq{max-width:none}
@media (max-width:900px){.faq-wrap{grid-template-columns:1fr;gap:24px}.faq-side{position:static}}

/* dark sections breathe a little more */
section.dark{padding:72px 0}

/* home: Service Partner teaser on the footer teal, photo toned down to match */
.teaser{background:var(--teal)}
.teaser .pic{position:relative}
.teaser .pic::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(15,33,36,.55) 0%,rgba(15,33,36,.25) 60%,rgba(15,33,36,.45) 100%);pointer-events:none}

/* ---------- landing pages: compact 3 steps ---------- */
.steps-strip{padding:44px 0 40px;background:#fff;border-bottom:1px solid var(--line)}
.steps-strip h2{font-size:1.35rem;margin:0 0 22px}
.ss{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px 36px}
.ss li{display:flex;gap:14px;align-items:flex-start}
.ss-n{flex:none;width:38px;height:38px;border-radius:50%;background:var(--gold);color:var(--green-deep);font-weight:800;font-size:1.05rem;display:grid;place-items:center}
.ss h3{font-size:1.02rem;margin:6px 0 4px}
.ss p{margin:0;color:var(--muted);font-size:.92rem}
.ss .tl-tag{margin-top:10px;border-color:rgba(179,135,60,.55);color:var(--gold-2)}
.ss p a{color:var(--green);font-weight:600}
@media (max-width:900px){.ss{grid-template-columns:1fr;gap:18px}.steps-strip{padding:34px 0 30px}.steps-strip h2{font-size:1.2rem}}

/* ---------- landing pages: short call band after the scope ---------- */
.call-band{background:var(--gold-soft);padding:34px 0}
.call-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.call-band h2{font-size:1.3rem;margin:0 0 4px}
.call-band p{margin:0;color:var(--muted)}
.call-band-act{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.call-band-act .tel{color:var(--green);font-weight:700;text-decoration:none;white-space:nowrap}
.call-band-act .tel:hover{text-decoration:underline}
@media (max-width:640px){.call-band .wrap{flex-direction:column;align-items:stretch}.call-band-act{flex-direction:column;align-items:stretch;text-align:center}.call-band-act .btn{width:100%}}

/* ---------- phones: sticky Call + quote bar once the header is gone ---------- */
.mbar{display:none}
@media (max-width:900px){
  .mbar{display:flex;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(15,33,36,.12);transform:translateY(110%);transition:transform .25s ease}
  .mbar .btn{flex:1;padding:12px 10px;font-size:.92rem;white-space:nowrap}
  body.mbar-on:not(.mbar-off):not(.nav-open) .mbar{transform:none}
  body.mbar-on:not(.mbar-off) main{padding-bottom:70px}
}

/* compact steps on green */
section.steps-strip.dark{background:var(--green);border-bottom:0;padding:46px 0 44px}
.steps-strip.dark h2{color:#fff}
.steps-strip.dark .ss h3{color:#fff}
.steps-strip.dark .ss p{color:rgba(255,255,255,.8)}
.steps-strip.dark .ss p a{color:#fff}
.steps-strip.dark .ss .tl-tag{border-color:rgba(199,154,75,.6);color:var(--gold)}
@media (max-width:900px){section.steps-strip.dark{padding:36px 0 34px}}

/* compact steps v2: heading + intro side by side, steps joined by a gold rule with arrows */
section.steps-strip.dark{padding:40px 0 40px}
.ss-head{display:grid;grid-template-columns:1fr 1.25fr;gap:16px 48px;align-items:end;padding-bottom:22px;margin-bottom:26px;border-bottom:1px solid rgba(255,255,255,.12)}
.ss-head .kicker{margin-bottom:6px}
.ss-head h2{margin:0;font-size:1.5rem;line-height:1.2}
.ss-head p{margin:0;color:rgba(255,255,255,.78);font-size:.95rem;line-height:1.55}
.steps-strip .ss{gap:0}
.steps-strip .ss li{position:relative;padding:0 30px}
.steps-strip .ss li:first-child{padding-left:0}
.steps-strip .ss li:last-child{padding-right:0}
.steps-strip .ss li+li::before{content:"";position:absolute;left:0;top:4px;bottom:4px;border-left:1px solid rgba(255,255,255,.12)}
.steps-strip .ss li+li::after{content:"";position:absolute;left:-9px;top:11px;width:18px;height:18px;border-radius:50%;background:var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4.5 3l3 3-3 3' fill='none' stroke='%23C79A4B' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/12px no-repeat;border:1px solid rgba(199,154,75,.55)}
.steps-strip .ss-n{width:40px;height:40px;box-shadow:0 0 0 6px rgba(199,154,75,.16)}
.steps-strip .ss h3{margin:8px 0 4px}
@media (max-width:900px){
  .ss-head{grid-template-columns:1fr;gap:10px;padding-bottom:18px;margin-bottom:22px}
  .ss-head h2{font-size:1.3rem}
  .steps-strip .ss li,.steps-strip .ss li:first-child,.steps-strip .ss li:last-child{padding:0 0 22px 0}
  .steps-strip .ss li:last-child{padding-bottom:0}
  .steps-strip .ss li+li::after{display:none}
  .steps-strip .ss li+li::before{display:none}
  .steps-strip .ss li:not(:last-child)::before{content:"";position:absolute;left:19px;top:46px;bottom:4px;border-left:2px solid rgba(199,154,75,.4)}
}

/* compact steps v3: tighter, number beside the title, text full column width */
section.steps-strip.dark{padding:34px 0 36px}
.ss-head{grid-template-columns:1fr 1.5fr;gap:12px 48px;padding-bottom:18px;margin-bottom:22px}
.ss-head p{font-size:.9rem;line-height:1.5}
.steps-strip .ss li{display:block;padding:0 28px}
.steps-strip .ss-t{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.steps-strip .ss-n{width:32px;height:32px;font-size:.95rem;box-shadow:0 0 0 5px rgba(199,154,75,.16)}
.steps-strip .ss h3{margin:0;font-size:1.02rem}
.steps-strip .ss p{font-size:.9rem;line-height:1.5}
.steps-strip .ss .tl-tag{margin-top:10px;padding:3px 10px;font-size:.68rem}
.steps-strip .ss li+li::after{top:7px}
@media (max-width:900px){.steps-strip .ss li:not(:last-child)::before{left:15px;top:40px}.steps-strip .ss li p,.steps-strip .ss li .tl-tag{margin-left:44px}.steps-strip .ss li .tl-tag{display:inline-block}}

/* compact steps v3b: heading on one line, slimmer spacing */
section.steps-strip.dark{padding:30px 0 32px}
.ss-head{grid-template-columns:auto 1fr;gap:12px 56px;padding-bottom:16px;margin-bottom:20px}
.ss-head h2{white-space:nowrap}
@media (max-width:900px){.ss-head{grid-template-columns:1fr}.ss-head h2{white-space:normal}}
@media (max-width:900px){
  .steps-strip .ss li,.steps-strip .ss li:first-child{padding:0 0 26px 0}
  .steps-strip .ss li:last-child{padding:0}
  .steps-strip .ss li+li::after{display:none}
  .steps-strip .ss li:not(:last-child)::before{content:"";display:block;position:absolute;left:15px;top:42px;bottom:6px;border-left:2px solid rgba(199,154,75,.4)}
}

/* Industry pricing: four short factor tiles + walkthrough quote card */
.pricing .pr-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center}
.pricing h2{margin-bottom:10px}
.pr-lead{color:var(--muted);max-width:50ch;margin:0 0 24px}
.pr-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pr-tiles li{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;min-height:76px;font-weight:700;color:var(--ink);line-height:1.3}
.pr-ico{flex:none;width:46px;height:46px;border-radius:10px;background:var(--gold-soft);color:var(--gold-2);display:grid;place-items:center}
.pr-ico svg{width:24px;height:24px}
.qcard{background:var(--green);color:#fff;border-radius:12px;padding:26px 28px 28px;border-top:4px solid var(--gold);box-shadow:0 18px 40px -22px rgba(18,39,31,.6)}
.qc-head{display:flex;gap:14px;align-items:center;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.14)}
.qc-ico{flex:none;width:44px;height:44px;border-radius:10px;background:rgba(199,154,75,.16);color:var(--gold);display:grid;place-items:center}
.qc-ico svg{width:24px;height:24px}
.qc-head h3{color:#fff;margin:0 0 2px;font-size:1.15rem}
.qc-head p{margin:0;color:rgba(255,255,255,.7);font-size:.88rem;line-height:1.4}
.qc-rows{margin:4px 0 22px;padding:0}
.qc-rows div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 0;border-bottom:1px dashed rgba(255,255,255,.2)}
.qc-rows dt{color:rgba(255,255,255,.72);font-size:.9rem}
.qc-rows dd{margin:0;font-weight:700;text-align:right;font-size:.95rem}
.qcard .btn{width:100%}
@media (max-width:960px){.pricing .pr-grid{grid-template-columns:1fr;gap:32px}.qcard{max-width:560px}}
@media (max-width:640px){
  .pr-tiles{gap:10px}
  .pr-tiles li{flex-direction:column;align-items:flex-start;gap:10px;padding:14px;min-height:0;font-size:.93rem}
  .pr-ico{width:40px;height:40px}.pr-ico svg{width:22px;height:22px}
  .qcard{padding:22px 20px 24px}
  .qc-rows dt{font-size:.86rem}.qc-rows dd{font-size:.9rem}
}

/* Quote thank-you page */
section.steps-strip.ty-next{padding:48px 0 46px}
.ty-head{display:flex;align-items:center;gap:20px;padding-bottom:24px;margin-bottom:28px;border-bottom:1px solid rgba(255,255,255,.12)}
.ty-ok{flex:none;width:58px;height:58px;border-radius:50%;background:var(--gold);color:var(--green-deep);display:grid;place-items:center;box-shadow:0 0 0 8px rgba(199,154,75,.16)}
.ty-ok svg{width:28px;height:28px;stroke-width:2.4}
.ty-head h1{color:#fff;font-size:clamp(1.6rem,3.2vw,2.3rem);margin:0 0 6px}
.ty-head p{margin:0;color:rgba(255,255,255,.82);font-size:1.02rem}
.ty-head .tel{font-weight:700}
.ty-save{margin-top:12px;color:#fff;border-color:rgba(255,255,255,.45)}
.ty-save svg,.ty-call .btn svg{width:16px;height:16px}
.ty-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:stretch}
.ty-call{background:var(--green-deep);color:#fff;border-radius:12px;padding:30px;border-top:4px solid var(--gold);display:flex;flex-direction:column;align-items:flex-start}
.ty-call h2{color:#fff;font-size:1.45rem;margin:0 0 8px}
.ty-call p{color:rgba(255,255,255,.78);margin:0 0 20px}
.ty-call .btn{margin-top:auto;font-size:1.05rem;padding:15px 24px}
.ty-prep{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px}
.ty-prep h2{font-size:1.45rem;margin:0 0 16px}
.ty-prep .checks{margin:0}
@media (max-width:900px){.ty-grid{grid-template-columns:1fr}.ty-head{align-items:flex-start}}
@media (max-width:640px){
  section.steps-strip.ty-next{padding:30px 0 32px}
  .ty-head{gap:14px;padding-bottom:18px;margin-bottom:22px}
  .ty-ok{width:46px;height:46px;box-shadow:0 0 0 6px rgba(199,154,75,.16)}.ty-ok svg{width:22px;height:22px}
  .ty-call,.ty-prep{padding:24px 20px}
  .ty-call .btn{width:100%}
}
@media (max-width:900px){.steps-strip .ss li .ty-save{margin-left:44px}}
.ty-save{background:var(--green)}
.ty-next.solo .ty-head{border-bottom:0;padding-bottom:0;margin-bottom:0}
.ty-prep p.muted{margin:0 0 20px}
.ty-prep .btn{margin-top:auto}
.ty-prep{display:flex;flex-direction:column;align-items:flex-start}
.ty-prep .checks{align-self:stretch}

/* Scope: "What we clean" short tiles (OneJan-style rows: slanted icon panel + title), add-on pills, folded full checklist */
.sc-tiles{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px 22px}
.sc-tiles li{display:flex;align-items:center;gap:22px;background:#fff;border-radius:8px;overflow:hidden;min-height:82px;padding-right:18px;box-shadow:0 2px 18px rgba(18,39,31,.09),0 0 0 1px rgba(18,39,31,.04)}
.sc-ico{flex:none;width:96px;align-self:stretch;display:grid;place-items:center;padding-right:14px;background:linear-gradient(135deg,var(--green-2) 0%,var(--green-deep) 100%);color:var(--gold);clip-path:polygon(0 0,100% 0,80% 100%,0 100%)}
.sc-ico svg{width:32px;height:32px}
.sc-t{font-weight:700;font-size:1.15rem;line-height:1.25;color:var(--green);padding:14px 0}
.sc-addons{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin-top:26px}
.sc-addons>span{font-weight:700;color:var(--muted);font-size:.92rem}
.sc-addons .pill-list a{background:var(--gold-soft);border-color:transparent;color:var(--green-deep)}
.sc-addons .pill-list a:hover{background:#EADBC0;color:var(--green-deep)}
.sc-more{margin-top:22px;border-top:1px solid var(--line);padding-top:16px}
.sc-more summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--green);font-size:.95rem}
.sc-more summary::-webkit-details-marker{display:none}
.sc-more summary::after{content:"";width:7px;height:7px;border-right:2px solid var(--gold-2);border-bottom:2px solid var(--gold-2);transform:rotate(45deg) translateY(-2px);transition:transform .2s}
.sc-more[open] summary::after{transform:rotate(-135deg) translateY(-1px)}
.sc-full{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:8px 40px;margin-top:18px}
.sc-full h3{font-size:.95rem;margin:0 0 10px}
.sc-full .checks{margin:0;font-size:.92rem;color:var(--text)}
.sc-full>div:only-child .checks{columns:2;column-gap:40px}
.sc-full>div:only-child .checks li{break-inside:avoid}
@media (max-width:640px){.sc-full>div:only-child .checks{columns:1}}
@media (max-width:760px){.sc-tiles{grid-template-columns:1fr;gap:12px}.sc-tiles li{min-height:66px;gap:16px}.sc-ico{width:76px;padding-right:12px}.sc-ico svg{width:26px;height:26px}.sc-t{font-size:1.02rem;padding:12px 0}.sc-addons{margin-top:20px}}
.sc-addons .pill-list span{display:inline-block;padding:8px 13px;border-radius:999px;background:var(--gold-soft);color:var(--green-deep);font-size:.88rem;font-weight:600}

/* Logos: horizontal colour logo in the header, white stacked logo in the footer */
.brand img{width:auto;height:54px;object-fit:contain}
.brand-foot img{width:140px;height:auto}
@media (max-width:640px){.brand img{height:42px}.brand-foot img{width:120px;height:auto}}
.h1s{display:inline-block}

/* Industry "How it starts" strip: more room (about 400px tall on desktop) */
section.steps-strip.dark:not(.ty-next){padding:64px 0}
.steps-strip.dark:not(.ty-next) .ss-head{padding-bottom:26px;margin-bottom:34px}
@media (max-width:900px){section.steps-strip.dark:not(.ty-next){padding:48px 0}}
