:root{--green:#0a4d33;--green-d:#06331f;--sign:#0e6b45;--yel:#ffc928;--white:#fff;--ink:#14231b;--mute:#4b5c52;--bg:#f4f1e8}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'Barlow',system-ui,sans-serif;font-size:1.06rem;color:var(--ink);background:#fff}
h1,h2,h3,.sign-big,.sign-top,.eyebrow{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.02em}
h1{font-size:clamp(3.4rem,9vw,6.4rem);font-weight:800;line-height:.92;color:var(--green)}
h2{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:800;line-height:1;color:var(--green);margin-bottom:1rem}
h3{font-weight:700;font-size:1.5rem}
.eyebrow{font-weight:700;font-size:1.05rem;letter-spacing:.14em;color:var(--mute);margin-bottom:.7rem}
.eyebrow.on-dark{color:var(--yel)}
.pad{padding:5rem 0}
a{color:var(--green)}
.util{background:var(--green-d);color:#fff;font-size:.9rem;padding:.4rem 0}
.util a{color:var(--yel);font-weight:700;text-decoration:none}
.sep{opacity:.4;margin:0 .4rem}
.site-head{position:sticky;top:0;z-index:50;background:var(--green);border-bottom:4px solid var(--yel)}
.navbar{padding:.6rem 0}
.brand img{height:auto;max-width:200px;width:100%}
.nav-link{color:#fff!important;font-weight:600;padding:.5rem .8rem!important}
.nav-link:hover{color:var(--yel)!important}
.nav-call{background:var(--yel);color:var(--green-d)!important;border-radius:6px;font-weight:700;margin-left:.5rem}
.nav-call:hover{color:var(--green-d)!important;background:#fff}
.hero{padding:4.5rem 0}
.hero .lead{max-width:34rem;margin:1.4rem 0 1.8rem;font-size:1.25rem}
.btn-sign{background:var(--green);color:#fff;font-weight:700;padding:.9rem 1.6rem;border-radius:6px;border:3px solid var(--green)}
.btn-sign:hover{background:var(--yel);color:var(--green-d);border-color:var(--green)}
.btn-ghost{border:3px solid var(--green);color:var(--green);font-weight:700;padding:.9rem 1.6rem;border-radius:6px}
.btn-ghost:hover{background:var(--green);color:#fff}
/* Signature: Massachusetts highway exit sign */
.sign{background:var(--sign);color:#fff;border:6px solid #fff;outline:6px solid var(--sign);border-radius:14px;padding:1.4rem 1.6rem 1.6rem;text-align:center;box-shadow:0 0 0 12px #fff,0 18px 30px rgba(0,0,0,.25);max-width:420px;margin:0 auto}
.sign-top{display:inline-block;background:var(--yel);color:#111;font-weight:800;font-size:1.3rem;padding:.1rem .9rem;border-radius:4px;letter-spacing:.12em}
.sign-big{font-size:8rem;font-weight:800;line-height:.95;margin:.3rem 0 0}
.sign-mid{font-family:'Barlow Condensed',sans-serif;font-size:1.9rem;font-weight:700;text-transform:uppercase;line-height:1.05;margin:0 0 1rem}
.sign-row{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:center;margin:0;border-top:3px solid rgba(255,255,255,.6);padding-top:.9rem}
.sign-row span{font-weight:600;font-size:.95rem;background:rgba(255,255,255,.14);padding:.1rem .6rem;border-radius:4px}
.ticker{background:var(--yel);color:var(--green-d);padding:.8rem 0}
.ticker ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem 2rem;justify-content:center;font-weight:600}
.ticker li::before{content:"▸ ";}
.intro{max-width:40rem;color:var(--mute)}
.svc{background:var(--bg);border-radius:10px;padding:1.4rem;height:100%;border-top:6px solid var(--green)}
.svc i{font-size:1.9rem;color:var(--green)}
.svc h3{margin:.5rem 0 .3rem;color:var(--green)}
.svc p{margin:0;color:var(--mute);font-size:.98rem}
.more{border:3px solid var(--green);border-radius:10px;padding:1.1rem 1.3rem;height:100%}
.more h3{color:var(--green);margin:0}.more p{margin:0;color:var(--mute)}
.band{background:var(--green);color:#fff}
.band h2{color:#fff}
.tile{display:block;background:#fff;color:var(--green);font-weight:700;font-size:1.2rem;padding:1.3rem;border-radius:10px;text-decoration:none;height:100%}
.tile i{margin-right:.4rem}.tile span{display:block;font-weight:400;font-size:.9rem;color:var(--mute)}
.tile:hover{background:var(--yel)}
.checks{list-style:none;padding:0;margin:0}
.checks li{padding:.55rem 0 .55rem 2rem;border-bottom:1px solid #dde3de;position:relative}
.checks li::before{content:"✓";position:absolute;left:0;color:var(--sign);font-weight:800}
.band-light{background:var(--bg)}
.exit{background:var(--sign);color:#fff;border:4px solid #fff;outline:3px solid var(--sign);border-radius:10px;padding:1rem 1.2rem;height:100%;margin:3px}
.exit h3{color:#fff;font-size:1.8rem;margin:0 0 .3rem;border-bottom:2px solid rgba(255,255,255,.5);padding-bottom:.3rem}
.exit address{margin:0 0 .4rem;line-height:1.35}
.exit .hrs{font-size:.9rem;color:#d4f0e1;margin:0 0 .6rem}
.exit .acts{margin:0;display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-weight:700}
.exit a{color:var(--yel);text-decoration:none}.exit a:hover{text-decoration:underline}
#office-map{width:100%;height:420px;border-radius:10px;z-index:0}
.office-pin{color:var(--green);font-size:2.4rem;line-height:1;text-shadow:0 0 0 #fff,0 2px 3px rgba(0,0,0,.35);-webkit-text-stroke:1px var(--yel)}
.social{font-size:1.6rem;display:flex;gap:1rem}
footer{background:var(--green-d);color:#fff;padding:2rem 0}
footer a{color:var(--yel)}
@media(max-width:575px){.sign-big{font-size:6rem}.pad{padding:3.5rem 0}.hero{padding:3rem 0}}
