:root{font-family:Arial,sans-serif;color:#142f3e;background:#f4f8f7;line-height:1.55}*{box-sizing:border-box}body{margin:0}header,footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px max(20px,calc((100% - 1000px)/2));background:#fff}a{color:#096b63}header a,footer a{font-size:.9rem}.brand{font-size:1.7rem;font-weight:800;text-decoration:none;color:#163b45}.brand span{display:block;font-size:.65rem;font-weight:400;letter-spacing:.08em}main{max-width:780px;margin:48px auto;padding:0 20px 48px}h1{font-size:clamp(2rem,6vw,3.2rem);line-height:1.12;margin:12px 0 20px;letter-spacing:-.035em}h2{font-size:1.35rem;margin:0 0 12px}.intro{font-size:1.1rem;max-width:620px;color:#48606a}.eyebrow{font-weight:700;letter-spacing:.14em;font-size:.72rem;color:#147469}section{background:#fff;border:1px solid #dbe7e3;border-radius:16px;padding:28px;margin-top:24px}label{display:block;font-weight:700;margin:16px 0 6px}input,select,button{font:inherit;min-height:48px;border-radius:8px}input,select{width:100%;border:1px solid #8ca6a5;padding:10px 12px;background:white;color:#142f3e}button{border:1px solid #086b60;background:#086b60;color:#fff;padding:10px 18px;cursor:pointer;font-weight:700;margin:18px 8px 0 0}.secondary{background:#fff;color:#096b63}button:disabled{opacity:.55;cursor:wait}input:focus,select:focus,button:focus,a:focus{outline:3px solid #d19b38;outline-offset:3px}[hidden]{display:none!important}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check{display:flex;align-items:flex-start;gap:12px;font-weight:400}.check input{width:20px;min-height:20px;flex-shrink:0;margin-top:2px}.small{font-size:.85rem;color:#50646c}.section-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.section-heading button{margin:0}#message:not(:empty){background:#e3f0ec;border-left:4px solid #096b63;padding:16px;border-radius:4px;margin:24px 0}.appointment{border-top:1px solid #dbe7e3;padding:20px 0}.appointment:first-child{border:0}.appointment h3{font-size:1.05rem;margin:0 0 6px}.appointment p{margin:4px 0}.help{background:#e9f1ed}footer{border-top:1px solid #dbe7e3} @media(max-width:520px){header{padding:18px 20px}header>a:last-child{max-width:145px;text-align:right}main{margin-top:32px}section{padding:20px}.two-cols{grid-template-columns:1fr;gap:0}.section-heading{align-items:flex-start}button{width:100%;margin-right:0}.section-heading button{width:auto}.brand span{font-size:.6rem}}

.slot-day{border:1px solid #dbe7e3;border-radius:10px;margin-top:12px;overflow:hidden}.slot-day summary{padding:16px;cursor:pointer;font-weight:700;background:#f4f8f7}.slot-day summary:focus-visible{outline:3px solid #d19b38;outline-offset:-3px}.slot-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:10px;padding:16px}.slot-times button{width:100%;margin:0;background:#fff;color:#096b63;padding:10px 8px}.slot-times button:hover{background:#e3f0ec}
