
:root{
  --ironbark:#16191D; --graphite:#20242B; --steel:#2F4A54; --steel-hi:#3C5C68;
  --steel-lt:#7FA6B3; --pewter:#8E8A80; --pewter-lo:#5E5952; --cedar:#ED6A1E;
  --cedar-hi:#F4813D; --bone:#EDE8DE; --chalk:#FBF9F4; --stone:#F4F1EC;
  --concrete:#6B6660; --hair:#E5E0D8; --hair-dk:#2A2F36;
  --disp:"Archivo Expanded", system-ui, sans-serif;
  --sans:"Archivo", system-ui, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, monospace;
  --edge:64px; --maxw:1240px;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:var(--sans);background:var(--ironbark);color:var(--bone);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
::selection{background:var(--cedar);color:var(--ironbark)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--cedar);outline-offset:3px;border-radius:2px}
:focus:not(:focus-visible){outline:none}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--edge);width:100%}
.spec{font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--pewter)}
.spec .dot{color:var(--steel-hi)}


.strip{border-bottom:1px solid var(--hair-dk);font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pewter)}
.strip .wrap{display:flex;justify-content:space-between;align-items:center;height:38px;gap:24px;white-space:nowrap;overflow:hidden}
.strip b{color:var(--bone);font-weight:500}
.strip a:hover b{color:var(--cedar)}
.strip .live{color:var(--cedar)}


header.nav{position:sticky;top:0;z-index:60;background:rgba(22,25,29,.88);backdrop-filter:blur(10px);border-bottom:1px solid var(--hair-dk)}
header.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:76px}
.brand{display:flex;align-items:center;gap:12px;font-family:var(--disp);font-weight:800;letter-spacing:.02em;font-size:1.12rem;text-transform:uppercase}
.brand .seal{width:34px;height:34px;flex:0 0 auto;object-fit:contain}
nav.links{display:flex;gap:8px;font-size:.9rem;font-weight:500}
nav.links a{color:var(--pewter);transition:color .2s;padding:10px 14px;display:inline-flex;align-items:center}
nav.links a:hover,nav.links a.current{color:var(--bone)}
nav.links a.current{color:var(--cedar)}
.btn{font-family:var(--sans);font-weight:600;font-size:.9rem;min-height:46px;padding:12px 24px;border-radius:2px;border:1px solid transparent;cursor:pointer;transition:transform .15s,background .2s,color .2s;display:inline-flex;align-items:center;justify-content:center;gap:9px}
.btn-cedar{background:var(--cedar);color:var(--ironbark)}
.btn-cedar:hover{background:var(--cedar-hi)}
.btn-ghost{background:transparent;color:var(--bone);border-color:var(--pewter-lo)}
.btn-ghost:hover{border-color:var(--bone)}
.btn:active{transform:translateY(1px)}
.btn .arw{font-family:var(--mono);font-size:.85em}
.nav-right{display:flex;align-items:center;gap:10px}
.menu-btn{display:none;background:none;border:1px solid var(--hair-dk);color:var(--bone);width:46px;height:46px;border-radius:2px;cursor:pointer;align-items:center;justify-content:center}
.menu-btn:hover{border-color:var(--pewter)}


main.page{flex:1 0 auto;position:relative;overflow:hidden}
main.page::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 100% at 85% -10%,rgba(47,74,84,.25),transparent 55%);z-index:0}
.page-inner{position:relative;z-index:1;padding:96px 0 120px}
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--pewter);margin-bottom:34px}
.crumbs a{color:var(--pewter);transition:color .2s}
.crumbs a:hover{color:var(--cedar)}
.crumbs .sep{color:var(--pewter-lo)}
.crumbs .here{color:var(--bone)}
.page-eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.page-eyebrow .rule{height:1px;width:44px;background:var(--steel-hi)}
h1.page-title{font-family:var(--disp);font-weight:800;font-size:clamp(2.2rem,5vw,4rem);line-height:1;letter-spacing:-.01em;text-transform:uppercase;color:var(--chalk);max-width:20ch}
h1.page-title em{font-style:normal;color:var(--cedar)}
.coming{margin-top:26px;display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pewter);border:1px solid var(--hair-dk);border-radius:2px;padding:12px 18px;background:var(--graphite)}
.coming .pulse{width:8px;height:8px;border-radius:50%;background:var(--cedar);box-shadow:0 0 0 0 rgba(237,106,30,.5);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(237,106,30,.45)}70%{box-shadow:0 0 0 10px rgba(237,106,30,0)}100%{box-shadow:0 0 0 0 rgba(237,106,30,0)}}
.backlink{margin-top:40px}
.backlink a{font-family:var(--mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel-lt);display:inline-flex;align-items:center;gap:8px}
.backlink a:hover{color:var(--cedar)}


.page-photo{margin-top:48px;position:relative;border:1px solid var(--hair-dk);border-radius:2px;overflow:hidden;max-width:920px}
.page-photo img{width:100%;aspect-ratio:16/7;object-fit:cover;display:block}
.page-photo .tag{position:absolute;left:14px;bottom:14px;font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--chalk);background:rgba(22,25,29,.85);padding:7px 11px;border-radius:2px}


.shero{position:relative;border-bottom:1px solid var(--hair-dk);overflow:hidden}
.shero .bgimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.36}
.shero .scrim{position:absolute;inset:0;background:linear-gradient(100deg,rgba(22,25,29,.95) 30%,rgba(22,25,29,.68) 74%,rgba(22,25,29,.88))}
.shero .wrap{position:relative;z-index:1;padding-top:64px;padding-bottom:54px}
.shero .crumbs{margin-bottom:28px}
.shero h1{font-family:var(--disp);font-weight:800;text-transform:uppercase;line-height:1.03;letter-spacing:-.01em;color:var(--chalk);font-size:clamp(1.8rem,4.2vw,3.2rem);max-width:22ch}
.shero h1 .ben{display:block;color:var(--cedar);font-size:.62em;margin-top:10px}
.shero .sub{margin:22px 0 30px;color:var(--bone);opacity:.92;font-size:1.05rem;max-width:60ch}
.shero .sub a{color:var(--cedar-hi);font-weight:600}
.shero .ctas{display:flex;gap:14px;flex-wrap:wrap}
.shero .trust{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:34px;padding-top:22px;border-top:1px solid var(--hair-dk);font-family:var(--mono);font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--pewter)}
.shero .trust b{color:var(--cedar);font-weight:500;margin-right:7px}

.article{background:var(--stone);color:var(--ironbark);padding:72px 0 60px}
.article .inner{max-width:780px}
.article p{font-size:1.02rem;line-height:1.66;color:#3A3E44;margin:0 0 20px}
.article .lead{font-size:1.14rem;color:var(--ironbark)}
.article h2{font-family:var(--disp);font-weight:700;font-size:clamp(1.2rem,2.3vw,1.6rem);text-transform:uppercase;line-height:1.12;color:var(--ironbark);margin:44px 0 16px;padding-top:28px;border-top:1px solid #DCD6C9}
.article h3{font-family:var(--disp);font-weight:700;font-size:clamp(1.02rem,1.6vw,1.18rem);line-height:1.2;color:var(--ironbark);margin:26px 0 8px}
.toc{background:var(--chalk);border:1px solid var(--hair);border-left:3px solid var(--cedar);border-radius:2px;padding:20px 24px;margin:6px 0 34px}
.toc .toc-h{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pewter-lo);margin:0 0 12px}
.toc ul{list-style:none;margin:0;padding:0;columns:200px 2;column-gap:34px}
.toc li{margin:0 0 9px;break-inside:avoid}
.toc a{color:var(--steel);font-weight:600;font-size:.95rem;text-decoration:none;border:0}
.toc a:hover{color:var(--cedar);text-decoration:underline}

.quote{position:relative;background:var(--graphite);border-top:3px solid var(--cedar);border-bottom:1px solid var(--hair-dk)}
.quote .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center;padding:76px var(--edge)}
.quote h2{font-family:var(--disp);font-weight:700;font-size:clamp(1.8rem,3.6vw,2.9rem);text-transform:uppercase;line-height:1;color:var(--chalk)}
.quote h2 em{font-style:normal;color:var(--steel-lt)}
.quote .sub{color:var(--pewter);margin:20px 0 0;max-width:36ch}
.qform{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px}
.qform .field{display:flex;flex-direction:column;gap:7px;min-width:0}
.qform .field.full{grid-column:1/-1}
.qform label{font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pewter)}
.qform input,.qform select,.qform textarea{width:100%;font-family:var(--sans);font-size:1rem;padding:13px 15px;background:var(--ironbark);border:1px solid var(--hair-dk);color:var(--bone);border-radius:2px}
.qform input::placeholder,.qform textarea::placeholder{color:var(--pewter)}
.qform input:focus,.qform select:focus,.qform textarea:focus{border-color:var(--cedar)}
.qform textarea{min-height:84px;resize:vertical}
.qform .btn-cedar{grid-column:1/-1;justify-content:center;padding:15px}
.qform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-note{grid-column:1/-1;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--pewter);text-align:center}
@media(max-width:960px){.quote .wrap{grid-template-columns:1fr;gap:34px}}
@media(max-width:560px){.qform{grid-template-columns:1fr}}
.article a{color:var(--steel);font-weight:600;text-decoration:underline;text-decoration-color:rgba(58,92,106,.35);text-underline-offset:3px}
.article a:hover{color:var(--cedar)}
.area-copy a{color:var(--steel);font-weight:600;text-decoration:underline;text-decoration-color:rgba(58,92,106,.35);text-underline-offset:3px}
.area-copy a:hover{color:var(--cedar)}

.related{background:var(--stone);padding:0 0 80px}
.related .lbl{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--concrete);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.related .lbl::before{content:"";height:1px;width:34px;background:var(--steel-hi)}
.rel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:#DCD6C9;border:1px solid #DCD6C9}
.rel{background:#FDFCF9;padding:22px;display:flex;flex-direction:column;gap:8px;transition:background .2s}
.rel:hover{background:#E7E0D3}
.rel h3{font-family:var(--disp);font-size:.92rem;font-weight:600;text-transform:uppercase;color:var(--ironbark);line-height:1.2}
.rel p{font-size:.87rem;color:var(--concrete);flex:1;line-height:1.45}
.rel .more{font-family:var(--mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--steel)}
.rel:hover .more{color:var(--cedar)}

.cta-band{background:var(--cedar);color:var(--ironbark)}
.cta-band .wrap{padding:54px var(--edge);display:flex;justify-content:space-between;align-items:center;gap:30px;flex-wrap:wrap}
.cta-band h2{font-family:var(--disp);font-weight:800;font-size:clamp(1.5rem,3vw,2.3rem);text-transform:uppercase;line-height:1.03;max-width:20ch}
.cta-band p{margin-top:12px;max-width:56ch;font-weight:500}
.cta-band .act{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.cta-band .tel{font-family:var(--disp);font-weight:800;font-size:clamp(1.4rem,2.6vw,2rem);white-space:nowrap;color:var(--ironbark)}
.btn-ink{background:var(--ironbark);color:var(--chalk)}
.btn-ink:hover{background:#23272D}

@media(max-width:960px){.rel-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.rel-grid{grid-template-columns:1fr}.cta-band .wrap{flex-direction:column;align-items:flex-start}}


.bio{display:grid;grid-template-columns:280px 1fr;gap:36px;align-items:start;border:1px solid #DCD6C9;background:#FDFCF9;border-radius:2px;padding:28px;max-width:860px}
.bio img{width:100%;aspect-ratio:1/1.1;object-fit:cover;border-radius:2px}
.bio h3{font-family:var(--disp);font-weight:700;font-size:1.25rem;text-transform:uppercase;color:var(--ironbark)}
.bio .role{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cedar);margin:6px 0 14px}
.bio ul{list-style:none;margin:14px 0 0;padding:14px 0 0;border-top:1px solid #DCD6C9}
.bio li{font-size:.92rem;color:var(--concrete);padding:4px 0;display:flex;gap:10px}
.bio li b{color:var(--steel);font-family:var(--mono);font-weight:500;font-size:.8em;letter-spacing:.08em;text-transform:uppercase;min-width:110px;padding-top:2px}
.story-imgs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:26px;max-width:780px}
.story-imgs img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px;border:1px solid #DCD6C9}
.embed-slot{border:1px dashed #C9C2B2;background:#FBFAF6;border-radius:2px;padding:40px 28px;text-align:center;max-width:780px}
.embed-slot .t{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--concrete)}
.embed-slot .d{font-size:.9rem;color:var(--concrete);opacity:.8;margin-top:8px}
.map-embed{max-width:1000px;border:1px solid #DCD6C9;border-radius:2px;overflow:hidden;line-height:0}
.map-embed iframe{width:100%;height:420px;border:0;display:block}
@media(max-width:560px){.map-embed iframe{height:320px}}
.social-row{display:flex;gap:12px;flex-wrap:wrap}
.social-row a{display:inline-flex;align-items:center;gap:10px;border:1px solid #DCD6C9;background:#FDFCF9;border-radius:2px;padding:12px 18px;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ironbark)}
.social-row a:hover{border-color:var(--cedar);color:var(--cedar)}
.cred-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:#DCD6C9;border:1px solid #DCD6C9;max-width:1000px}
.cred{background:#FDFCF9;padding:24px 20px}
.cred .ic{font-size:1.3rem;color:var(--cedar)}
.cred h3{font-family:var(--disp);font-weight:600;font-size:.95rem;text-transform:uppercase;color:var(--ironbark);margin:10px 0 6px;line-height:1.2}
.cred p{font-size:.86rem;color:var(--concrete);line-height:1.45}
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:56px;align-items:start}
.info-block{border-bottom:1px solid #DCD6C9;padding:20px 0}
.info-block:first-child{padding-top:0}
.info-block h3,.info-block h2{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--concrete);margin-bottom:8px}
.info-block .big{font-family:var(--disp);font-weight:700;font-size:1.35rem;text-transform:uppercase}
.info-block .big a{color:var(--ironbark)}
.info-block .big a:hover{color:var(--cedar)}
.info-block p{font-size:.92rem;color:var(--concrete);margin-top:4px}
.cform{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px;background:var(--graphite);border-top:3px solid var(--cedar);padding:30px 28px;border-radius:2px}
.cform .field{display:flex;flex-direction:column;gap:7px;min-width:0}
.cform .field.full{grid-column:1/-1}
.cform label{font-family:var(--mono);font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pewter)}
.cform input,.cform select,.cform textarea{width:100%;font-family:var(--sans);font-size:1rem;padding:13px 15px;background:var(--ironbark);border:1px solid var(--hair-dk);color:var(--bone);border-radius:2px}
.cform input:focus,.cform select:focus,.cform textarea:focus{border-color:var(--cedar)}
.cform textarea{min-height:90px;resize:vertical}
.cform .btn-cedar{grid-column:1/-1;justify-content:center;padding:15px}
.cform .note{grid-column:1/-1;font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--pewter);text-align:center}
.cform .err{border-color:#C0392B!important}
.form-ok{grid-column:1/-1;background:rgba(226,110,56,.12);border:1px solid var(--cedar);border-radius:2px;padding:14px 16px;color:var(--bone);font-size:.95rem;display:none}
@media(max-width:960px){.bio{grid-template-columns:1fr}.bio img{max-width:300px}.cred-grid{grid-template-columns:1fr 1fr}.contact-grid{grid-template-columns:1fr;gap:36px}}
@media(max-width:560px){.cred-grid{grid-template-columns:1fr}.cform{grid-template-columns:1fr}.story-imgs{grid-template-columns:1fr}}


.hub{background:var(--stone);color:var(--ironbark);padding:64px 0 78px}
.hub .intro{max-width:72ch;color:#3A3E44;font-size:1.04rem;line-height:1.65;margin-bottom:44px}
.hub .intro a{color:var(--steel);font-weight:600;text-decoration:underline;text-decoration-color:rgba(58,92,106,.35);text-underline-offset:3px}
.hub-group{margin-bottom:48px}
.hub-group h2{font-family:var(--disp);font-weight:700;font-size:clamp(1.2rem,2.2vw,1.55rem);text-transform:uppercase;line-height:1.1;margin-bottom:4px}
.hub-group h2 a{color:var(--ironbark)}
.hub-group h2 a:hover{color:var(--cedar)}
.hub-group h2 .arw{color:var(--cedar);font-family:var(--mono);font-size:.8em}
.hub-group .gsub{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--concrete);margin-bottom:18px}


.svc-index{position:relative;z-index:1;padding:70px 0 110px}
.svc-group{border-top:1px solid var(--hair-dk);padding:34px 0}
.svc-group:first-of-type{border-top:none}
.svc-group h2{font-family:var(--disp);font-weight:700;font-size:1.4rem;text-transform:uppercase;letter-spacing:-.005em;color:var(--chalk);margin-bottom:6px}
.svc-group .lead{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pewter);margin-bottom:22px}
.svc-list{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--hair-dk);border:1px solid var(--hair-dk)}
.svc-list a{background:var(--graphite);padding:20px 20px;display:flex;flex-direction:column;gap:6px;transition:background .2s,color .2s}
.svc-list a:hover{background:#262b33}
.svc-list a .n{font-family:var(--disp);font-weight:600;font-size:1rem;text-transform:uppercase;color:var(--bone)}
.svc-list a:hover .n{color:var(--cedar)}
.svc-list a .u{font-family:var(--mono);font-size:.62rem;letter-spacing:.06em;color:var(--pewter-lo);word-break:break-all}


footer{flex-shrink:0;padding:70px 0 30px;border-top:1px solid var(--hair-dk);background:var(--ironbark)}
.foot-top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:40px;margin-bottom:44px}
.foot-col h4,.foot-col .fh{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pewter);margin-bottom:16px;font-weight:500}
.foot-col a,.foot-col p{display:block;font-size:.9rem;color:var(--bone);opacity:.85;margin-bottom:9px}
.foot-col a:hover{color:var(--cedar);opacity:1}
.foot-brand p{color:var(--pewter);font-size:.9rem;opacity:1}
.social{display:flex;gap:10px;margin-top:14px}
.social a{width:38px;height:38px;border:1px solid var(--hair-dk);border-radius:2px;display:flex;align-items:center;justify-content:center;color:var(--pewter);margin:0;opacity:1}
.social a:hover{border-color:var(--cedar);color:var(--cedar)}
.areas{border-top:1px solid var(--hair-dk);padding-top:26px;margin-bottom:34px}
.areas h4,.areas .fh{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pewter);margin-bottom:16px;font-weight:500}
.areas .list{display:flex;flex-wrap:wrap;gap:8px 10px}
.areas .list a{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--bone);opacity:.7;padding:5px 10px;border:1px solid var(--hair-dk);border-radius:2px}
.areas .list a:hover{opacity:1;border-color:var(--pewter);color:var(--cedar)}


.chips{display:flex;flex-wrap:wrap;gap:8px 10px}
.chips span,.chips a{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ironbark);padding:6px 11px;border:1px solid #D8D2C6;
  border-radius:2px;background:#FDFCF9;display:inline-block;line-height:1.2}
.chips a{transition:border-color .2s,color .2s}
.chips a:hover{border-color:var(--cedar);color:var(--cedar)}
.bigmark{font-family:var(--disp);font-weight:800;font-size:clamp(2.4rem,11vw,8rem);text-transform:uppercase;line-height:.8;letter-spacing:-.01em;color:#232932;border-top:1px solid var(--hair-dk);padding-top:28px;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px}
.bigmark span{color:var(--pewter);-webkit-text-stroke:0;font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;align-self:flex-end}


.callfab{position:fixed;right:20px;bottom:20px;z-index:80;display:inline-flex;align-items:center;gap:10px;background:var(--cedar);color:var(--ironbark);font-family:var(--sans);font-weight:700;font-size:.92rem;padding:14px 20px;border-radius:40px;box-shadow:0 8px 24px rgba(0,0,0,.4);transition:transform .15s,background .2s}
.callfab:hover{background:var(--cedar-hi)}
.callfab:active{transform:translateY(1px)}
.callfab svg{width:20px;height:20px}


@media(max-width:960px){
  :root{--edge:28px}
  .foot-top{grid-template-columns:1fr 1fr;gap:32px}
  .svc-list{grid-template-columns:1fr 1fr}
  .menu-btn{display:inline-flex}
  .nav-cta .full{display:none}
  nav.links{position:absolute;top:100%;left:0;right:0;background:var(--ironbark);border-bottom:1px solid var(--hair-dk);flex-direction:column;gap:0;padding:6px var(--edge) 14px;display:none}
  nav.links.open{display:flex}
  nav.links a{width:100%;padding:15px 0;border-bottom:1px solid var(--hair-dk);font-size:1rem;color:var(--bone)}
  nav.links a:last-child{border-bottom:none}
}
@media(max-width:560px){
  .foot-top{grid-template-columns:1fr}
  .svc-list{grid-template-columns:1fr}
  .strip .hide-sm{display:none}
  .wordmark{display:none}
  .callfab span{display:none}
  .callfab{padding:16px;border-radius:50%}
}
@media(prefers-reduced-motion:reduce){.coming .pulse{animation:none}}


.faq-band{background:var(--stone);color:var(--ironbark);padding:0 0 78px}
.faq-band .inner{max-width:780px}
.faq-band h2{font-family:var(--disp);font-weight:700;font-size:clamp(1.2rem,2.3vw,1.6rem);text-transform:uppercase;line-height:1.12;color:var(--ironbark);margin:0 0 10px;padding-top:34px;border-top:1px solid #DCD6C9}
.faq-band details{border-bottom:1px solid #DCD6C9}
.faq-band summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:18px 2px;font-family:var(--disp);font-weight:600;font-size:.98rem;text-transform:uppercase;color:var(--ironbark);min-height:44px}
.faq-band summary::-webkit-details-marker{display:none}
.faq-band summary:hover{color:var(--steel)}
.faq-band summary .mk{font-family:var(--mono);color:var(--steel);font-size:1.1rem;flex:0 0 auto;transition:transform .2s}
.faq-band details[open] summary .mk{transform:rotate(45deg);color:var(--cedar)}
.faq-band .a{padding:0 2px 20px;color:#3A3E44;font-size:.96rem;line-height:1.62;max-width:68ch}


.loc-groups{display:grid;grid-template-columns:repeat(2,1fr);gap:34px 44px;margin-top:8px}
.loc-group h3{font-family:var(--disp);font-weight:600;font-size:1rem;text-transform:uppercase;color:var(--ironbark);margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #DCD6C9}
.loc-group .chips{display:flex;flex-wrap:wrap;gap:8px 10px}
.loc-group .chips span,.loc-group .chips a{font-family:var(--mono);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ironbark);padding:6px 11px;border:1px solid #D8D2C6;border-radius:2px;background:#FDFCF9}
.loc-group .chips a:hover{border-color:var(--cedar);color:var(--cedar)}
@media(max-width:700px){.loc-groups{grid-template-columns:1fr}}

.bigmark .credit{display:block;margin-top:6px;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pewter-lo)}
.bigmark .credit a{color:var(--pewter-lo)}
.bigmark .credit a:hover{color:var(--cedar)}


.why-suppliers{margin-top:46px;padding-top:34px;border-top:1px solid var(--hair);
  display:flex;flex-direction:column;align-items:center;gap:22px;text-align:center}
.why-suppliers .lbl{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;
  text-transform:uppercase;color:var(--concrete)}
.why-suppliers .logos{display:flex;align-items:center;justify-content:center;
  gap:72px;flex-wrap:wrap;width:100%}
.why-suppliers .logos img{height:72px;width:auto;object-fit:contain;
  filter:grayscale(1) contrast(1.2);mix-blend-mode:multiply;opacity:.82;
  transition:opacity .2s,filter .2s,transform .2s}
.why-suppliers .logos img:hover{opacity:1;filter:grayscale(0);transform:translateY(-2px)}
@media(max-width:900px){
  .why-suppliers .logos{gap:38px}
  .why-suppliers .logos img{height:42px}
}
@media(max-width:560px){
  .why-suppliers .logos{gap:28px 32px}
  .why-suppliers .logos img{height:34px}
}



input::placeholder, textarea::placeholder { color: var(--pewter); opacity: 1; }


.qform .field.invalid input, .qform .field.invalid select, .qform .field.invalid textarea,
.cform .field.invalid input, .cform .field.invalid select, .cform .field.invalid textarea,
.qform .err, .cform .err { border-color: #C0392B !important; }
.err-msg { font-family: var(--mono); font-size: .6rem; letter-spacing: .08em;
  text-transform: uppercase; color: #E8776B; margin-top: 3px; }
.hp { position: absolute !important; left: -9999px; width: 1px; height: 1px;
  overflow: hidden; opacity: 0; }
.form-ok.show { display: block; }
.form-ok.is-error { background: rgba(192,57,43,.14); border-color: #C0392B; }


.social a { width: 44px; height: 44px; }
@media (max-width: 960px) {
  
  .foot-col a[href] { display: block; padding: 8px 0; }
  
  header.nav nav.links a { min-height: 44px; }
}



.rating-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  padding:0 0 26px;margin-bottom:30px;border-bottom:1px solid var(--hair-dk)}
.rb-stars{color:var(--cedar);font-size:1.15rem;letter-spacing:.2em}
.rb-score{font-family:var(--disp);font-weight:800;font-size:1.6rem;color:var(--chalk);line-height:1}
.rb-meta{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pewter)}
.rb-link{margin-left:auto;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--steel-lt);display:inline-flex;align-items:center;gap:8px;min-height:44px}
.rb-link:hover{color:var(--cedar)}

.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--hair-dk);
  border:1px solid var(--hair-dk)}
.rev{background:var(--graphite);margin:0;padding:40px 32px 34px;display:flex;
  flex-direction:column;justify-content:space-between;gap:28px;text-align:center}
.rev p{color:var(--bone);opacity:.95;font-size:1rem;line-height:1.68;margin:0;
  text-wrap:pretty;max-width:34ch;margin-inline:auto}

.rev-meta{display:flex;flex-direction:column;align-items:center;gap:7px}
.rev-stars{color:var(--cedar);font-size:.9rem;letter-spacing:.28em;
  text-indent:.28em;line-height:1}
.rev cite{font-style:normal;font-family:var(--disp);font-weight:600;font-size:.88rem;
  letter-spacing:.02em;text-transform:uppercase;color:var(--chalk)}
.rev-when{font-family:var(--mono);font-size:.62rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--pewter-lo)}
@media(max-width:900px){.rev-grid{grid-template-columns:1fr}.rb-link{margin-left:0}}




.callfab{bottom:max(20px, env(safe-area-inset-bottom));
  right:max(20px, env(safe-area-inset-right))}


@media (hover: none){
  .why .box:hover{background:transparent}
  .cat:hover{background:var(--stone)}
  .svc:hover{background:transparent}
  .rel:hover{background:#FDFCF9}
  .cat:hover .ph img,.svc:hover .ph img{transform:none}
  .why-suppliers .logos img:hover{transform:none;opacity:.82;filter:grayscale(1) contrast(1.2)}
  .faq summary:hover{color:var(--ironbark)}
}


@media (pointer: coarse){
  .social a{width:44px;height:44px}
  .foot-col a[href]{display:block;padding:9px 0}
  
  .areas .list a,.locs .list a,.loc-group .chips a,.chips a{padding:9px 12px}
  .crumbs a{padding:6px 0;display:inline-block}
  .rb-link,.backlink a,.bigmark .credit a{min-height:44px;display:inline-flex;align-items:center}
  .faq summary{min-height:48px}
}


@media (max-height: 560px) and (orientation: landscape){
  .hero{min-height:auto!important;padding-top:132px!important;padding-bottom:44px!important}
  .hero-trust{margin-top:18px;padding-top:14px}
  .shero .wrap{padding-top:48px;padding-bottom:40px}
}




:root{
  --spec-ink:var(--pewter);      
  --spec-dot:var(--steel-lt);    
  --cedar-ink:#B44E0F;           
  --ease-out-quart:cubic-bezier(.25,1,.5,1);
}
.band.light,.article,.related,.hub,.faq-band,.faq,.cats,.why,.why-suppliers,
.loc-groups,.cred-grid,.bio,.contact-grid,.embed-slot,.social-row,.area-grid,
.story-imgs,.map-embed{
  --spec-ink:var(--concrete);    
  --spec-dot:var(--steel);       
}
.spec{color:var(--spec-ink)}
.spec .dot{color:var(--spec-dot)}
.suppliers .lbl,.why-suppliers .lbl{color:var(--spec-ink)}


.crumbs .sep{color:var(--steel-lt)}                       
.foot-col .fh{opacity:1}                                  
.rev-when{color:var(--pewter)}                            
.bigmark .credit,.bigmark .credit a{color:var(--pewter)}  
.bio .role{color:var(--cedar-ink)}                        
.hub-group h2 .arw{color:var(--cedar-ink)}                
.article a:hover,.hub .intro a:hover,.faq-band .a a:hover{color:var(--cedar-ink)}


.bigmark .mark{color:inherit}


h1.page-title,.shero h1,.shero h1 .ben,.cta-band h2,.hub-group h2,.article h2,
.faq-band h2,.related .lbl,h2.title,h1.headline .big,.final h2,.quote h2,
.rel h3,.cred h3,.svc h3,.cat h3,.why h3,.loc-group h3,.bio h3{
  text-wrap:balance;
}

.article p,.hub .intro,.shero .sub,.faq-band .a,.faq .a,
.area-copy,.about-grid .txt p,.hero-sub,.cta-band p,.final .sub{
  text-wrap:pretty;
}


.rel-grid{background:transparent;border:0;gap:0;
  border-top:1px solid #DCD6C9;border-left:1px solid #DCD6C9}
.rel{border-right:1px solid #DCD6C9;border-bottom:1px solid #DCD6C9}
.cred-grid{background:transparent;border:0;gap:0;
  border-top:1px solid #DCD6C9;border-left:1px solid #DCD6C9}
.cred{border-right:1px solid #DCD6C9;border-bottom:1px solid #DCD6C9}
.svc-list{background:transparent;border:0;gap:0;
  border-top:1px solid var(--hair-dk);border-left:1px solid var(--hair-dk)}
.svc-list a{border-right:1px solid var(--hair-dk);border-bottom:1px solid var(--hair-dk)}
.rev-grid{background:transparent;border:0;gap:0;
  border-top:1px solid var(--hair-dk);border-left:1px solid var(--hair-dk)}
.rev{border-right:1px solid var(--hair-dk);border-bottom:1px solid var(--hair-dk)}


.shero .bgimg{opacity:.5}
.shero .scrim{background:linear-gradient(100deg,
  rgba(22,25,29,.95) 26%,rgba(22,25,29,.62) 66%,rgba(22,25,29,.82) 100%)}
@media(max-width:820px){
  
  .shero .bgimg{opacity:.44}
  .shero .scrim{background:linear-gradient(180deg,
    rgba(22,25,29,.93) 0%,rgba(22,25,29,.86) 55%,rgba(22,25,29,.95) 100%)}
}


@media(max-width:560px){
  .shero .ctas{flex-direction:column;align-items:stretch}
  .shero .ctas .btn,.cta-band .act .btn,.final .btns .btn{width:100%}
  .cta-band .act,.final .act,.final .btns{align-self:stretch;width:100%}
}


.skip{position:absolute;left:-9999px;top:0;
  background:var(--cedar);color:var(--ironbark);
  font-family:var(--mono);font-size:.72rem;font-weight:500;
  letter-spacing:.12em;text-transform:uppercase;
  padding:14px 20px;border-radius:2px;box-shadow:0 8px 24px rgba(0,0,0,.5)}
.skip:focus{position:fixed;left:12px;top:12px;z-index:100}


.bigmark{padding-bottom:4px}
.bigmark span{padding-bottom:2px}


.btn,.rel,.cred,.svc-list a,.social a,.areas .list a,.loc-group .chips a,
.why .box,.cat,.svc,.social-row a{transition-timing-function:var(--ease-out-quart)}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;animation-iteration-count:1!important;
    transition-duration:.01ms!important;scroll-behavior:auto!important}
}


.shero.legal-head{background:var(--graphite)}
.shero.legal-head h1{font-size:clamp(1.9rem,4vw,3rem)}
.shero.legal-head h1 em{font-style:normal;color:var(--cedar)}
.shero.legal-head .sub{max-width:62ch}
.shero.legal-head .spec{margin-top:4px;padding-top:16px;border-top:1px solid var(--hair-dk);display:inline-block}
.article.legal{padding-bottom:78px}
.article.legal .inner{max-width:72ch}
.article.legal h2:first-of-type{margin-top:0;padding-top:0;border-top:0}
.article.legal p+p{margin-top:0}
.article.legal strong{color:var(--ironbark);font-weight:600}
.article.legal a{overflow-wrap:anywhere}


.shero .scrim{background:linear-gradient(100deg,
  rgba(22,25,29,.95) 0%,
  rgba(22,25,29,.88) 46%,
  rgba(22,25,29,.80) 62%,
  rgba(22,25,29,.42) 84%,
  rgba(22,25,29,.72) 100%)}
.shero .trust{color:var(--bone)}
.shero .trust b{color:var(--cedar-hi);font-weight:600}
@media(max-width:820px){
  .shero .scrim{background:linear-gradient(180deg,
    rgba(22,25,29,.93) 0%,rgba(22,25,29,.86) 55%,rgba(22,25,29,.95) 100%)}
}


@media(max-width:560px){
  .crumbs .here{flex-basis:100%}
  .crumbs .sep:has(+ .here){display:none}
}


.hero-trust{color:var(--bone)}
.hero-trust span b{color:var(--cedar-hi);font-weight:600}


.bigmark .plmsq::before{content:"\00a0\00b7\00a0"}   
@media(max-width:560px){
  .bigmark .plmsq{display:block}
  .bigmark .plmsq::before{content:""}                
}


.page-photo img,.bio img,.story-imgs img,.area-truck img{height:auto}
