:root{--bone:#f6f1e7;--pine:#123b34;--pine2:#1c5248;--saf:#e8a33d;--ink:#1b2422;--mut:#5b6a66;--line:#d9d1bf}
html{scroll-behavior:smooth;scroll-padding-top:110px}
body{font-family:'Newsreader',Georgia,serif;font-size:1.15rem;color:var(--ink);background:var(--bone)}
h1,h2,h3,h4,.brand,.eyebrow,.btn,.nav-link{font-family:'Bricolage Grotesque',system-ui,sans-serif}
.topbar{background:var(--pine);color:var(--bone);font:500 .85rem 'Bricolage Grotesque',sans-serif;padding:.45rem 0}
.topbar a{color:var(--saf);text-decoration:none;font-weight:700}
.navbar{background:var(--bone);border-bottom:2px solid var(--pine)}
.brand{font-weight:800;font-size:1.25rem;color:var(--pine);text-decoration:none;letter-spacing:-.01em}
.brand span{color:var(--saf);-webkit-text-stroke:0}
.nav-link{color:var(--pine);font-weight:600}
.nav-link:hover{color:var(--pine2);text-decoration:underline;text-decoration-color:var(--saf);text-underline-offset:6px}
.btn-saf{background:var(--saf);color:var(--pine);font-weight:700;border:2px solid var(--pine);border-radius:0;box-shadow:4px 4px 0 var(--pine)}
.btn-saf:hover{background:#f1b650;color:var(--pine);transform:translate(-1px,-1px)}
.btn-line{border:2px solid var(--pine);color:var(--pine);border-radius:0;font-weight:700}
.btn-line:hover{background:var(--pine);color:var(--bone)}
.hero{padding:5rem 0 4rem;position:relative;overflow:hidden}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;font-weight:700;color:var(--pine2)}
.hero h1{font-size:clamp(3rem,10vw,7.5rem);line-height:.92;font-weight:800;color:var(--pine);letter-spacing:-.03em;margin:.6rem 0 1.2rem}
.hero h1 em{font-family:'Newsreader',serif;font-weight:400;color:var(--pine2)}
.hero p.lead{max-width:34rem;font-size:1.3rem}
.route{width:100%;height:120px;margin-top:3rem}
.route text{font:700 14px 'Bricolage Grotesque',sans-serif;fill:var(--pine)}
section{padding:5rem 0}
.band{background:var(--pine);color:var(--bone)}
.band .eyebrow{color:var(--saf)}
h2{font-weight:800;font-size:clamp(2rem,5vw,3.2rem);letter-spacing:-.02em;color:var(--pine)}
.band h2{color:var(--bone)}
.svc{list-style:none;padding:0;margin:0;border-top:2px solid var(--pine)}
.svc li{display:flex;gap:1.5rem;padding:1.1rem 0;border-bottom:1px solid var(--line);align-items:baseline}
.svc strong{font:700 1.35rem 'Bricolage Grotesque',sans-serif;color:var(--pine);min-width:15rem}
.band .svc{border-top-color:var(--saf)}
.band .svc li{border-bottom-color:rgba(246,241,231,.25)}
.band .svc strong{color:var(--saf)}
.band .svc span{color:var(--bone)}
.office{background:#fff;border:2px solid var(--pine);padding:1.6rem;height:100%;box-shadow:6px 6px 0 var(--saf)}
.office h3{font-weight:800;color:var(--pine);font-size:1.5rem}
.office a{color:var(--pine);font-weight:700}
.doc{border-left:4px solid var(--saf);padding:.4rem 0 .4rem 1rem;font:700 1.25rem 'Bricolage Grotesque',sans-serif}
.doc small{display:block;font:400 1rem 'Newsreader',serif;color:#cfd8d4}
iframe{width:100%;height:320px;border:2px solid var(--pine)}
footer{background:var(--ink);color:#cfd8d4;padding:2.5rem 0;font-size:1rem}
footer a{color:var(--saf)}
@media(max-width:767px){.svc li{flex-direction:column;gap:.2rem}.svc strong{min-width:0}section{padding:3.5rem 0}.hero{padding:3rem 0 2.5rem}}
