:root{--teal:#0e6f73;--teal-d:#0a4a4d;--cream:#f7f0e3;--sand:#ece1cc;--brick:#b4472c;--ink:#14302f;--mute:#4d6463}
html{scroll-behavior:smooth;scroll-padding-top:90px}
body{font-family:'Source Sans 3',system-ui,sans-serif;color:var(--ink);background:var(--cream);font-size:1.1rem;line-height:1.65}
h1,h2,h3,.display{font-family:'Anton',Impact,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.01em;line-height:1.02;color:var(--teal-d)}
.mono{font-family:'DM Mono',monospace;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--brick);font-weight:500}
a{color:var(--teal)}
.utility{background:var(--teal-d);color:#fff;font-size:.92rem;padding:.45rem 0}
.utility a{color:#fff;font-weight:600;text-decoration:none}
.navbar{background:var(--cream);border-bottom:2px solid var(--teal-d)}
.navbar-brand{display:flex;align-items:center;gap:.65rem;font-family:'Anton',sans-serif;text-transform:uppercase;font-size:1.3rem;color:var(--teal-d)!important;letter-spacing:.02em;line-height:1}
.navbar-brand img{width:44px;height:44px}
.navbar-brand small{display:block;font-family:'DM Mono',monospace;font-size:.62rem;letter-spacing:.16em;color:var(--brick);margin-top:.2rem}
.nav-link{font-weight:600;color:var(--teal-d)!important}
.nav-link:hover{color:var(--brick)!important}
.btn-brick{background:var(--brick);color:#fff;font-weight:700;border-radius:0;padding:.75rem 1.7rem;border:2px solid var(--brick);letter-spacing:.03em}
.btn-brick:hover{background:var(--teal-d);border-color:var(--teal-d);color:#fff}
.btn-out{border:2px solid var(--teal-d);color:var(--teal-d);font-weight:700;border-radius:0;padding:.75rem 1.7rem}
.btn-out:hover{background:var(--teal-d);color:#fff}
/* street sign signature */
.sign{display:inline-block;background:var(--teal);color:#fff;font-family:'Anton',sans-serif;text-transform:uppercase;letter-spacing:.06em;padding:.45rem 1.4rem;border-radius:.45rem;box-shadow:inset 0 0 0 3px var(--teal),inset 0 0 0 5px #fff;border:2px solid #fff;outline:2px solid var(--teal)}
.sign small{font-family:'DM Mono',monospace;font-size:.6rem;letter-spacing:.2em;display:block;opacity:.85}
/* hero */
.hero{padding:4.5rem 0 5rem;position:relative;overflow:hidden}
.hero h1{font-size:clamp(3.2rem,8.5vw,7rem);margin:.6rem 0 1.2rem}
.hero h1 em{font-style:normal;color:var(--brick)}
.hero .lead{max-width:34rem;color:var(--mute)}
.arch{background:var(--teal);border-radius:999px 999px 0 0;padding:1.2rem 1.2rem 0;max-width:300px;margin:0 auto;box-shadow:14px 14px 0 var(--sand);position:relative}
.arch img{width:100%;height:auto;display:block;border-radius:999px 999px 0 0}
.arch figcaption{background:var(--teal);color:#fff;text-align:center;font-family:'DM Mono',monospace;font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;padding:.7rem 0}
.bay{position:absolute;right:-30px;bottom:-40px;width:320px;opacity:.08;pointer-events:none}
.ticker{background:var(--teal-d);color:#fff;overflow:hidden;white-space:nowrap;padding:.8rem 0;font-family:'Anton',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-size:1.15rem}
.ticker span{display:inline-block;padding-left:100%;animation:tick 38s linear infinite}
.ticker i{color:#e9a48f;font-style:normal;padding:0 1.2rem}
@keyframes tick{to{transform:translateX(-100%)}}
@media (prefers-reduced-motion:reduce){.ticker span{animation:none;padding-left:1rem}}
section{padding:5rem 0}
h2{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:1.2rem}
.band{background:var(--sand)}
.pull{background:var(--teal);color:#fff;padding:4rem 0;text-align:center}
.pull p{font-family:'Anton',sans-serif;text-transform:uppercase;font-size:clamp(1.7rem,4.2vw,3rem);line-height:1.15;max-width:56rem;margin:0 auto;letter-spacing:.01em}
.pull small{display:block;margin-top:1rem;font-family:'DM Mono',monospace;letter-spacing:.16em;text-transform:uppercase;font-size:.75rem;color:#cfe8e4}
.stat{border-top:4px solid var(--brick);padding-top:.8rem}
.stat b{font-family:'Anton',sans-serif;font-size:3rem;color:var(--teal-d);display:block;line-height:1}
.protocol li{padding:.7rem 0;border-bottom:1px dashed #b9aa8c}
.protocol{list-style:none;padding:0;margin:0}
.team-photo{width:100%;height:auto;display:block;border:6px solid #fff;box-shadow:8px 8px 0 var(--teal)}
.roster{background:#fff;border-left:6px solid var(--brick);padding:1.2rem 1.5rem}
.roster h3{font-size:1.2rem;margin:0 0 .3rem}
.contact-card{background:var(--teal-d);color:#fff;padding:2.2rem}
.contact-card a{color:#fff}
.contact-card h3{color:#fff}
.map{border:0;width:100%;height:100%;min-height:340px}
footer{background:var(--teal-d);color:#cfe8e4;padding:3rem 0 2rem}
footer a{color:#fff}
.chip{background:var(--cream);border-radius:.8rem;padding:.4rem;display:inline-block}
.chip img{width:56px;height:56px;display:block}
.powered a{text-decoration:none;border-bottom:1px solid #e9a48f}
@media(max-width:991px){.bay{display:none}.hero{padding:3rem 0}section{padding:3.5rem 0}}
