:root{font-family:"Plus Jakarta Sans",sans-serif;color:#223128;background:#fafcf9}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0}
a{color:inherit;text-decoration:none}
button,a{outline-offset:3px}
:focus-visible{outline:2px solid #276245}
.skip{position:absolute;top:-60px;left:12px;z-index:100;padding:9px 12px;background:#fff}
.skip:focus{top:12px}
.wrap,.header-inner{width:min(100% - 48px,1180px);margin-inline:auto}
.site-header{background:#fff;border-bottom:1px solid #e1e9df}
.header-inner{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand img{display:block;width:200px;height:60px;object-fit:contain;object-position:left center}
.site-header nav{display:flex;align-items:center;gap:26px}
.site-header nav a{font-size:12px;font-weight:750;color:#596b5d;white-space:nowrap}
.site-header nav a:hover,.site-header nav a[aria-current]{color:#276245}
.heading{padding-block:58px 49px}
.eyebrow{margin:0 0 10px;color:#2d754d;font-size:10px;font-weight:800;letter-spacing:.1em}
h1,h2,p{margin-top:0}
h1{max-width:820px;margin-bottom:14px;font-size:clamp(30px,4vw,48px);line-height:1.16;font-weight:800}
.heading>p:last-child{margin-bottom:0;color:#607164;font-size:15px;line-height:1.6}
.map-section{padding:38px 0 53px;background:#fff;border-top:1px solid #e1e9df;border-bottom:1px solid #e1e9df}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
h2{margin:0;font-size:22px;line-height:1.25}
.map-count,.status-label{font-size:11px;font-weight:750;color:#496651}
.map-wrap{position:relative;height:min(54vh,520px);min-height:360px;overflow:hidden;border:1px solid #dce6dc;border-radius:7px;background:#e8efe9}
#wpr-map{height:100%;width:100%}
.map-message{position:absolute;bottom:15px;left:15px;z-index:500;max-width:min(410px,calc(100% - 30px));padding:11px 13px;border:1px solid #d9e6d9;border-radius:5px;background:rgba(255,255,255,.96);color:#385542;font-size:12px;font-weight:650;box-shadow:0 4px 15px rgba(30,60,36,.08)}
.map-message[hidden]{display:none}
.map-note,.progress-note{margin:12px 0 0;color:#718174;font-size:11px;line-height:1.6}
.progress-section{padding:57px 0 72px;background:#fafcf9}
.status-label{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;background:#e9f3e8;border:1px solid #d9e8da;border-radius:5px;color:#276245}
.status-dot{width:8px;height:8px;border-radius:50%;background:#458c5e;box-shadow:0 0 0 4px #d7ead8;animation:pulse 2.5s infinite}
.timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:34px 0 0;padding:0;list-style:none}
.timeline li{position:relative;display:flex;gap:15px;min-height:126px;padding:18px;background:#fff;border:1px solid #e1e9df;border-radius:6px}
.timeline li.current{border-color:#85b994;box-shadow:inset 0 3px #458c5e}
.number{flex:none;display:grid;place-items:center;width:32px;height:32px;background:#f0f4ef;border-radius:5px;color:#77917c;font-size:10px;font-weight:800}
.complete .number{background:#276245;color:#fff}
.current .number{background:#e2f1e3;color:#276245}
.timeline strong{display:block;margin:2px 0 7px;font-size:13px}
.timeline p{margin:0;color:#738175;font-size:11px;line-height:1.5}
footer{padding:28px 0;background:#203329;color:#d6e9d7;font-size:11px}
@keyframes pulse{50%{box-shadow:0 0 0 9px rgba(69,140,94,0)}}
@media(max-width:700px){.wrap,.header-inner{width:min(100% - 32px,1180px)}.header-inner{align-items:flex-start;flex-direction:column;padding-block:10px 14px;gap:4px}.brand img{width:175px;height:48px}.site-header nav{width:100%;gap:18px;overflow-x:auto;padding-bottom:3px}.heading{padding-block:42px}.section-head{align-items:flex-start;flex-direction:column;gap:10px}.timeline{grid-template-columns:1fr;gap:9px}.timeline li{min-height:94px}.map-wrap{height:420px;min-height:300px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.status-dot{animation:none}}
