:root{--teal:#0F4C4A;--pine:#2F6F6B;--terra:#B5533C;--sand:#F5F1EA;--ink:#1C2321;--stone:#D8D2C6;--white:#fff;--muted:#4B5754}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Public Sans","Segoe UI",Helvetica,Arial,sans-serif;color:var(--ink);background:var(--white);line-height:1.6;font-size:17px}
h1,h2,h3{font-family:"Source Serif 4",Georgia,"Times New Roman",serif;color:var(--teal);line-height:1.2;margin:0 0 .5em}
h1{font-size:clamp(2rem,5vw,3.1rem);font-weight:600}
h2{font-size:clamp(1.5rem,3.2vw,2.1rem);font-weight:600}
h3{font-size:1.2rem;font-weight:600}
p{margin:0 0 1em}
a{color:var(--teal)}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.skip{position:absolute;left:-999px;top:0;background:var(--terra);color:#fff;padding:10px 14px;z-index:99}
.skip:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--terra);outline-offset:2px}
header.site{background:var(--teal);color:#fff;position:sticky;top:0;z-index:20}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;min-height:68px;flex-wrap:wrap;gap:8px}
.brand{color:#fff;text-decoration:none;font-family:"Source Serif 4",Georgia,serif;font-size:1.5rem;font-weight:700;letter-spacing:.02em}
.brand small{display:block;font:500 .68rem "Public Sans",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#CFE3E0;margin-top:-2px}
nav ul{list-style:none;display:flex;gap:4px;margin:0;padding:0;flex-wrap:wrap}
nav a{display:block;color:#fff;text-decoration:none;padding:10px 12px;font-size:.95rem;border-bottom:3px solid transparent}
nav a:hover,nav a[aria-current=page]{border-bottom-color:var(--terra)}
.btn{display:inline-block;background:var(--terra);color:#fff;text-decoration:none;padding:13px 24px;font-weight:600;border-radius:2px;border:2px solid var(--terra)}
.btn:hover{background:#9B4331;border-color:#9B4331}
.btn.ghost{background:transparent;color:#fff;border-color:#fff}
.btn.ghost:hover{background:rgba(255,255,255,.12)}
.btn.dark{background:transparent;color:var(--teal);border-color:var(--teal)}
.btn.dark:hover{background:var(--teal);color:#fff}
.hero{background:var(--teal);color:#fff;padding:72px 0 64px}
.hero h1{color:#fff;max-width:20ch}
.hero p.lead{font-size:1.2rem;max-width:56ch;color:#E3EEEC}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}
.eyebrow{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--terra);font-weight:700;margin-bottom:10px}
.hero .eyebrow{color:#F1B9A9}
.certs{background:var(--sand);border-bottom:1px solid var(--stone)}
.certs ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr)}
.certs li{padding:22px 18px;border-left:1px solid var(--stone);font-size:.92rem}
.certs li:first-child{border-left:0}
.certs strong{display:block;font-family:"Source Serif 4",Georgia,serif;font-size:1.1rem;color:var(--teal)}
.certs span{color:var(--muted)}
section.block{padding:64px 0}
section.alt{background:var(--sand)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:#fff;border:1px solid var(--stone);border-top:4px solid var(--teal);padding:24px}
.card.t{border-top-color:var(--terra)}
.card p{margin:0;color:var(--muted);font-size:.97rem}
table.data{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--stone)}
table.data th,table.data td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--stone);vertical-align:top;font-size:.96rem}
table.data th{width:38%;background:var(--sand);color:var(--teal);font-weight:600}
.note{font-size:.85rem;color:var(--muted)}
.checks{list-style:none;padding:0;margin:0}
.checks li{padding:6px 0 6px 26px;position:relative}
.checks li::before{content:"";position:absolute;left:0;top:14px;width:12px;height:6px;border-left:3px solid var(--terra);border-bottom:3px solid var(--terra);transform:rotate(-45deg)}
.page-head{background:var(--teal);color:#fff;padding:52px 0 44px}
.page-head h1{color:#fff;margin:0 0 .3em}
.page-head p{color:#E3EEEC;max-width:62ch;margin:0;font-size:1.1rem}
.page-head .eyebrow{color:#F1B9A9}
.cap{margin-bottom:44px}
.cap h2{border-bottom:2px solid var(--terra);padding-bottom:8px;display:inline-block}
.cap .cols{display:grid;grid-template-columns:1fr 1fr;gap:10px 40px}
.work{margin:0 0 48px;max-width:860px}
.work figure{margin:0;border:1px solid var(--stone);background:#fff;box-shadow:0 2px 10px rgba(15,76,74,.08)}
.work img{display:block;width:100%;height:auto}
.work figcaption{padding:16px 20px;background:var(--sand);border-top:1px solid var(--stone);font-size:.95rem}
.work .tag{font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--terra);font-weight:700}
.work h2{margin-top:6px}
.band{background:var(--teal);color:#fff;padding:48px 0;text-align:center}
.band h2{color:#fff}
.band p{color:#E3EEEC}
footer.site{background:#0A3533;color:#CFE3E0;padding:36px 0 28px;font-size:.92rem}
footer.site a{color:#fff}
footer.site .cols{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}
footer.site h4{color:#fff;margin:0 0 8px;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}
footer.site ul{list-style:none;margin:0;padding:0}
footer.site li{margin-bottom:4px}
footer.site .fine{border-top:1px solid #1F5A57;margin-top:24px;padding-top:16px;font-size:.82rem}
.exp li{margin-bottom:10px}
@media(max-width:860px){
 .certs ul{grid-template-columns:1fr 1fr}.certs li:nth-child(3){border-left:0}
 .certs li{border-top:1px solid var(--stone)}.certs li:nth-child(-n+2){border-top:0}
 .grid2,.grid3,.grid4,.cap .cols,footer.site .cols{grid-template-columns:1fr}
 .grid4{grid-template-columns:1fr 1fr}
 .hero{padding:48px 0}
}
@media(max-width:520px){body{font-size:16px}.grid4{grid-template-columns:1fr}nav a{padding:8px 9px;font-size:.9rem}}
