:root{
  --ink:#0E1D20; --band:#12292D; --teal:#245257; --ochre:#B8813A; --ochre-dark:#A5722F;
  --lichen:#9FB0A8; --stone:#E4E8E1; --paper:#F3F5F1; --card:#FCFDFB; --line:#C9D1C8;
  --body:#3C4F50; --muted:#5A6B6C; --on-band:#C6D2CD; --band-line:#2E4B4E;
  --display:'Bricolage Grotesque',Helvetica,Arial,sans-serif;
  --text:'Libre Franklin',Helvetica,Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--text);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--teal)}
a:hover{color:var(--ochre)}
h1,h2,h3{font-family:var(--display);letter-spacing:-.02em;margin:0;text-wrap:balance}
p{margin:0;text-wrap:pretty}
ul{margin:0;padding:0;list-style:none}
.wrap{max-width:1280px;margin:0 auto;padding:0 5%}
.sec{padding:clamp(56px,7vw,100px) 0}
.sec-tight{padding:0 0 clamp(56px,7vw,100px)}
.band{background:var(--band);color:var(--paper)}
.band p{color:var(--on-band)}
.stone{background:var(--stone)}
.eyebrow{font-weight:600;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal);margin-bottom:14px}
.band .eyebrow{color:var(--ochre)}
.rule{width:28px;height:2px;background:var(--ochre);margin:0 auto 22px}
h1{font-size:clamp(34px,6vw,68px);line-height:1.05}
h2{font-size:clamp(29px,5vw,56px);line-height:1.06}
h3{font-size:clamp(20px,2.4vw,26px);line-height:1.25}
.lead{font-size:clamp(16px,2vw,17px);color:var(--body)}
.band .lead{color:var(--on-band)}
.center{text-align:center}
.narrow{max-width:720px;margin-left:auto;margin-right:auto}
.head{max-width:640px;margin-bottom:clamp(36px,5vw,60px)}
.head.center{margin-left:auto;margin-right:auto}
.btns{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.center .btns{justify-content:center}
.btn{display:inline-flex;align-items:center;gap:8px;font-size:16px;font-weight:600;padding:13px 26px;border:1px solid var(--ochre);background:var(--ochre);color:var(--ink);text-decoration:none;min-height:48px}
.btn:hover{background:var(--ochre-dark);color:var(--ink)}
.btn-out{font-weight:500;border-color:var(--teal);background:transparent;color:var(--teal)}
.btn-out:hover{background:var(--stone);color:var(--teal)}
.band .btn-out{border-color:#6C807F;color:var(--paper)}
.band .btn-out:hover{background:transparent;border-color:var(--paper);color:var(--paper)}
.grid{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.grid-2{display:grid;gap:clamp(32px,4vw,64px);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:center}
.card{border:1px solid var(--line);background:var(--card);padding:32px;display:flex;flex-direction:column;gap:20px}
.card p{color:var(--body);font-size:15px}
.card-img{border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column;padding:0}
.card-img .card-body{padding:28px;display:flex;flex-direction:column;gap:18px;flex:1}
.icon{color:var(--teal);margin-bottom:6px}
.link{display:inline-flex;align-items:center;gap:8px;font-weight:500;font-size:15px;color:var(--teal);text-decoration:none;margin-top:auto}
.band .link{color:var(--paper)}
.band .link:hover{color:var(--ochre)}
.ph{margin:0;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;padding:16px;background:var(--stone);border:1px dashed var(--line);color:var(--muted);font-size:13px;line-height:1.4}
.band .ph,.dark-ph{background:#3B514E;border-color:#4E635F;color:#CBD6D2}
.facts{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr))}
.facts strong{display:block;font-family:var(--display);font-weight:700;font-size:clamp(26px,3.4vw,40px);line-height:1.05;margin-bottom:10px}
.facts p{font-size:15px;color:var(--body)}
.masonry{columns:3 300px;column-gap:24px}
.masonry article{break-inside:avoid;margin-bottom:24px;border:1px solid var(--band-line);background:var(--ink)}
.masonry .ph{border:0}
.masonry .body{padding:22px}
.masonry h3{color:var(--paper);margin-bottom:10px}
.masonry p{color:var(--on-band);font-size:15px;margin-bottom:18px}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tags span{background:#1B3A3E;color:var(--on-band);padding:4px 10px;font-size:13px;font-weight:600}
.contact-grid{display:grid;gap:48px clamp(32px,5vw,80px);grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.contact-list{display:flex;flex-direction:column;gap:36px}
.contact-list h3{font-size:19px;margin-bottom:8px}
.contact-list p{font-size:15px;color:var(--body);margin-bottom:6px}
.contact-list a{display:block;font-size:15px;color:var(--teal);text-decoration:underline;text-decoration-color:var(--ochre);text-underline-offset:4px;padding:3px 0}
.scope{display:grid;gap:24px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.scope > div{border-top:2px solid var(--teal);padding-top:20px}
.scope h3{font-size:19px;margin-bottom:16px}
.scope li{font-size:15px;color:var(--body);padding:4px 0}
.review{border:1px solid var(--line);background:var(--card);padding:32px;display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.stars{display:flex;gap:5px;margin-bottom:20px;color:var(--ochre)}
.review blockquote{margin:0;font-size:16px}
.who{display:flex;align-items:center;gap:14px}
.avatar{flex:0 0 auto;width:46px;height:46px;border-radius:50%;background:var(--stone);border:1px solid var(--line)}
.who strong{display:block;font-size:15px}
.who span{font-size:14px;color:var(--muted)}
/* nav */
.nav-outer{padding:20px 5% 0}
.nav{max-width:1280px;margin:0 auto;background:var(--ink);padding:14px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 24px}
.brand{display:flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--paper)}
.brand b{font-family:var(--display);font-weight:700;font-size:18px;line-height:1}
.brand span{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--lichen);line-height:1}
.nav-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 4px}
.nav-links > a{padding:10px 14px;font-size:15px;font-weight:500;color:var(--paper);text-decoration:none;min-height:44px;display:flex;align-items:center}
.nav-links > a:hover,.nav-links a[aria-current=page]{color:var(--ochre)}
.nav-cta{display:flex;flex-wrap:wrap;gap:12px;margin-left:12px}
.nav-cta a{font-size:14px;font-weight:600;padding:11px 18px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.nav-cta .ghost{border:1px solid #6C807F;color:var(--paper);font-weight:500}
.nav-cta .ghost:hover{border-color:var(--paper);color:var(--paper)}
.nav-cta .solid{border:1px solid var(--ochre);background:var(--ochre);color:var(--ink)}
.nav-cta .solid:hover{background:var(--ochre-dark);color:var(--ink)}
/* footer */
footer{background:var(--ink);color:var(--paper);padding:48px 0}
footer a{color:var(--paper);text-decoration:none}
footer a:hover{color:var(--ochre)}
.foot{display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr))}
.foot h4{font-family:var(--display);font-size:16px;margin:0 0 12px}
.foot p,.foot li{color:var(--lichen);font-size:15px}
.foot li{padding:3px 0}
.foot li a{display:inline-block;padding:4px 0}
.legal{border-top:1px solid #2A3D40;margin-top:36px;padding-top:20px;font-size:13px;color:var(--lichen)}
@media (max-width:720px){
  .nav{padding:14px 18px}
  .nav-links{width:100%;gap:4px}
  .nav-cta{margin-left:0;width:100%}
  .nav-cta a{flex:1;justify-content:center}
  .masonry{columns:1}
}
