:root{--ink:#102d2a;--muted:#48645e;--green:#126653;--line:#d3e4dc;--pale:#e8f4ed;--white:#fff;--bg:#f5f8f5;color-scheme:light;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);font-size:16px}
*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-underline-offset:3px}a:hover{text-decoration-thickness:2px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #397c6c;outline-offset:3px}p{line-height:1.55;margin:.5rem 0;color:var(--muted)}h1,h2,h3{margin:0}h1{font-size:clamp(2.1rem,4.6vw,4rem);letter-spacing:-.064em;line-height:1.02;font-weight:750}h2{font-size:1.12rem;letter-spacing:-.025em}h3{font-size:1rem;line-height:1.25}svg{width:24px;height:24px;flex:none}
.frame{width:min(1200px,calc(100% - 48px));margin:0 auto 3rem}.home{max-width:940px}.narrow{max-width:740px}.brand,.brand a{display:flex;align-items:center;gap:.55rem}.brand{min-height:68px;font-weight:720;letter-spacing:-.025em;border-bottom:1px solid var(--line);margin-bottom:1.6rem}.brand a{color:var(--ink);text-decoration:none}.brand svg{color:var(--green)}.kicker{margin-left:auto;color:var(--muted);font-size:.66rem;letter-spacing:.13em;text-align:right}
.intro{position:relative;overflow:hidden;isolation:isolate;padding:clamp(1.25rem,5vw,3.1rem);border:1px solid var(--line);border-radius:24px;background:linear-gradient(125deg,#fff 25%,#e4f3eb 100%)}.intro-copy{position:relative;z-index:1}.intro h1{max-width:640px}.intro p{max-width:46ch}.eyebrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--green);font-size:.69rem;font-weight:800;letter-spacing:.16em;margin-bottom:.8rem}.eyebrow i{width:8px;height:8px;background:#55a78c;border-radius:50%}.art{position:absolute;right:0;top:0;width:290px;height:175px;color:#a4ccbe;z-index:-1;opacity:.82}.search{position:relative;display:grid;align-items:end;grid-template-columns:minmax(100px,1fr) minmax(100px,1fr) minmax(146px,1.15fr);gap:.65rem;max-width:590px;margin-top:1.2rem}.search label,.doc label{display:block;font-size:.78rem;font-weight:700}.search input,.search select,.search button{width:100%;min-height:45px;font:inherit;border-radius:9px}.search input,.search select{border:1px solid #adcbc0;background:#fff;color:var(--ink);padding:.58rem .65rem;margin-top:.32rem}.search button{border:0;background:var(--green);color:#fff;padding:.62rem .7rem;cursor:pointer;font-size:.87rem;font-weight:750;white-space:nowrap}.search button:hover{filter:brightness(.9)}.search button span{padding-left:.2rem}.small{font-size:.82rem}.form-note{margin-bottom:0}
footer{margin-top:1.3rem;padding-top:.8rem;border-top:1px solid var(--line);display:flex;gap:1rem;flex-wrap:wrap;font-size:.81rem}
.results-top{margin:0 0 1.4rem}.results-top h1{font-size:clamp(2.1rem,4vw,3.45rem)}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:1rem;align-items:start}.result-panel,.map-panel{border:1px solid var(--line);background:#fff;border-radius:17px;overflow:hidden}.result-panel{padding:1rem}.map-panel{position:sticky;top:1rem}.map-heading{display:flex;gap:.6rem;align-items:center;padding:.85rem 1rem}.map-heading svg{color:var(--green)}.map-heading p{margin:0}.map{height:395px;background:#e6f0e9}.map-message,#map-empty{min-height:395px;padding:1rem;display:grid;justify-items:center;align-content:center;gap:.6rem;text-align:center;color:var(--muted);background:radial-gradient(circle,#f0f7f2,#dcebe3)}#map-empty svg{width:32px;height:32px;color:var(--green)}#status{font-size:.89rem}.cards{padding:0;margin:0;list-style:none;display:grid;gap:.6rem}.card{border:1px solid var(--line);border-radius:12px;padding:.8rem;background:#fff}.card.highlight{border-color:#2d8c73;box-shadow:0 0 0 2px #c9e8dd}.card-title{display:flex;gap:.5rem;align-items:center}.number,.badge{display:inline-grid;place-items:center;flex:none}.number{width:1.5rem;height:1.5rem;background:var(--green);color:#fff;border-radius:50%;font-size:.73rem;font-weight:750}.badge{margin-left:auto;background:var(--pale);color:#245c4f;border-radius:50px;padding:.23rem .5rem;font-size:.72rem;font-weight:750}.address{font-size:.85rem;margin:.3rem 0}.actions{display:flex;gap:.35rem .65rem;flex-wrap:wrap;font-size:.81rem}.website{overflow-wrap:anywhere}.map-link{background:none;border:0;padding:0;color:var(--green);text-decoration:underline;text-underline-offset:3px;font:inherit;cursor:pointer}#mobile{margin-top:1rem}.map-info p{margin:.2rem 0}.doc h1{font-size:clamp(1.8rem,4vw,3rem);margin-bottom:1rem}.doc textarea{font:inherit;resize:vertical;width:100%;margin-top:.4rem;padding:.6rem;border:1px solid var(--line);border-radius:8px;color:var(--ink);background:#fff}.doc a{overflow-wrap:anywhere}.embed{background:transparent}.embed .intro{padding:1.1rem;border-radius:16px;max-width:760px}.embed h1{font-size:clamp(1.7rem,5.5vw,2.55rem)}.embed .art{width:210px;height:140px}.embed .search{margin-top:.85rem}
@media(max-width:760px){.layout{grid-template-columns:1fr}.map-panel{position:static;grid-row:1}.map{height:285px}.map-message,#map-empty{min-height:285px}.frame{width:calc(100% - 28px)}.art{opacity:.38}}
@media(max-width:510px){.search{grid-template-columns:1fr 1fr}.search button{grid-column:1/-1}.intro{border-radius:17px}.art{width:180px;height:130px}.brand{margin-bottom:1rem}.kicker{font-size:.57rem}}
.mobile-badge{margin:.35rem 0 0;background:#e9edf8;color:#364779}.mobile-key{margin:.6rem 0 .8rem}.mobile-key .mobile-badge{margin:0 .3rem .15rem 0}
.map-pin{border:2px solid #fff;border-radius:50%;height:32px;min-width:32px;padding:0 4px;background:#126653;color:#fff;font:750 .85rem system-ui;box-shadow:0 1px 5px #153e3aaa;cursor:pointer}.map-info{font-size:.85rem;padding:.2rem .4rem}.maplibregl-popup-content .map-info p{line-height:1.25}
.leaflet-pin-shell .map-pin{pointer-events:auto}

.kit-instructions {
  margin: 1.25rem 0;
  padding: clamp(1rem, 3vw, 1.75rem);
  border: 1px solid var(--line);
  border-radius: 17px;
  background: #fff;
}
.kit-instructions ol {
  padding-inline-start: 1.25rem;
}
.kit-instructions li + li {
  margin-top: .65rem;
}

.panel-disclaimer{margin-top:1rem;font-size:.75rem}

.hospital-badge{margin:.35rem 0 0;background:#f4edf7;color:#5b396c}
