*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4f8fb;color:#16304a}a{color:inherit}.clinic-header{min-height:200px;padding:24px 6%;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;isolation:isolate;background:#d9eef4 url('/assets/volcanoes-landscape.jpg') center 43%/cover no-repeat;border-bottom:5px solid #138b79}.clinic-header:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(255,255,255,.94),rgba(255,255,255,.60) 55%,rgba(226,246,246,.24))}.brand{display:inline-flex;max-width:68%;align-items:center;background:rgba(255,255,255,.92);padding:12px 17px;border-radius:12px;box-shadow:0 4px 22px #12304a16}.clinic-logo{display:block;width:310px;max-width:100%;height:auto}.location{background:rgba(255,255,255,.87);padding:12px 18px;border-radius:10px;color:#075477;font-weight:700}.announcement{position:relative;min-height:275px;padding:45px 18px;display:grid;place-items:center;text-align:center;background:linear-gradient(90deg,rgba(4,52,82,.42),rgba(3,77,90,.14)),url('/assets/volcanoes-landscape.jpg') center 65%/cover no-repeat;overflow:hidden}.announcement:after{content:"";position:absolute;bottom:0;left:0;right:0;height:8px;background:linear-gradient(90deg,#075c9b,#04a1a2,#1c9e6b)}.announcement-inner{width:min(100%,1040px);position:relative;z-index:1}.announcement-en,.announcement-rw{margin:12px auto;padding:18px 24px;border-radius:15px;font-weight:800;line-height:1.2;letter-spacing:.025em;box-shadow:0 8px 28px #0c38593d;animation:gentle-pulse 5s ease-in-out infinite}.announcement-en{font-size:clamp(1.65rem,4.4vw,3.35rem);background:#fff0bd;color:#063f67}.announcement-rw{font-size:clamp(1.2rem,2.75vw,2.2rem);background:#e0f5dc;color:#126b3d;animation-delay:1s}@keyframes gentle-pulse{0%,100%{opacity:1;box-shadow:0 6px 24px #0c385938}50%{opacity:.72;box-shadow:0 10px 35px #f4d76788}}main{width:100%}.hero{max-width:1150px;margin:40px auto 10px;padding:0 20px;display:grid;grid-template-columns:1.08fr 1fr;align-items:stretch}.photo,.copy{min-width:0}.photo{position:relative;min-height:440px;overflow:hidden;background:#d9e7eb;border-radius:20px 0 0 20px}.photo img{position:absolute;width:100%;height:100%;object-fit:cover;animation:photo-pan 22s ease-in-out infinite alternate;transform-origin:center center}@keyframes photo-pan{from{transform:scale(1.04) translateX(-1%)}to{transform:scale(1.13) translateX(1%)}}.photo-caption{position:absolute;bottom:20px;left:20px;color:white;background:#073a58b8;padding:9px 14px;border-radius:8px;font-size:.85rem}.photo-missing:before{content:"Clinic photo temporarily unavailable";display:grid;place-items:center;height:100%;padding:20px;text-align:center}.copy{padding:45px 36px;background:#fff;border-radius:0 20px 20px 0;box-shadow:0 10px 35px #12304a16}.eyebrow{font-weight:800;font-size:.78rem;color:#0a8a7b;letter-spacing:.08em}h1{font-size:clamp(1.8rem,3.2vw,2.65rem);line-height:1.12;margin:14px 0 20px}p{line-height:1.7}.contacts{display:flex;flex-wrap:wrap;gap:13px;margin-top:25px}.contacts a{color:#086b83;font-weight:700;text-decoration:none;overflow-wrap:anywhere}.contacts a:hover{text-decoration:underline}.address{color:#526a7a;font-size:.9rem}footer{text-align:center;padding:30px 15px;color:#526a7a}.dev-banner{background:#9b2636;color:#fff;text-align:center;padding:12px;font-weight:bold}@media(max-width:760px){.clinic-header{min-height:150px;padding:18px 5%;align-items:flex-start}.brand{max-width:100%;padding:8px}.clinic-logo{width:210px}.location{font-size:.8rem;padding:8px 10px}.announcement{min-height:230px;padding:30px 14px}.announcement-en,.announcement-rw{padding:15px 12px}.hero{display:block;margin-top:24px}.photo{min-height:280px;border-radius:18px 18px 0 0}.copy{padding:28px 23px;border-radius:0 0 18px 18px}}@media(prefers-reduced-motion:reduce){.announcement-en,.announcement-rw,.photo img{animation:none!important}}
/* October 2026 refinement: transparent announcement and single-line desktop heading */
.announcement-inner{width:min(100%,1160px)}
.announcement-en{background:rgba(255,245,199,.36);font-size:clamp(1.25rem,3.25vw,2.65rem);letter-spacing:.012em;white-space:nowrap;backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px)}
.announcement-rw{background:rgba(224,245,220,.58);font-size:clamp(1.1rem,2.5vw,2rem)}
@media(max-width:760px){.announcement-en{font-size:clamp(.9rem,3.5vw,1.6rem);padding:15px 8px;letter-spacing:0}.announcement-rw{font-size:clamp(.95rem,3vw,1.4rem)}}
@media(max-width:390px){.announcement-en{font-size:3.3vw}}

/* Client request form and staff webmail */
.header-right{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.staff-login{display:inline-flex;align-items:center;justify-content:center;background:#086b83;color:white;padding:12px 18px;border-radius:10px;text-decoration:none;font-weight:700;white-space:nowrap}.staff-login:hover{background:#075367}.request-section{max-width:1050px;margin:48px auto 10px;padding:35px;background:#fff;border-radius:20px;box-shadow:0 12px 35px rgba(18,48,74,.12)}.request-section h2{font-size:clamp(1.6rem,3vw,2.3rem);margin:10px 0}.request-intro{max-width:800px}.request-form{display:grid;gap:18px;margin-top:26px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.request-form label{display:grid;gap:8px;font-weight:700;color:#16304a}.request-form input:not([type=checkbox]),.request-form select,.request-form textarea{width:100%;border:1px solid #aebec8;border-radius:9px;padding:13px 12px;font:inherit;color:#16304a;background:#fff}.request-form input:focus,.request-form select:focus,.request-form textarea:focus{outline:3px solid #b3e7e3;border-color:#086b83}.consent{display:flex!important;align-items:flex-start;gap:12px!important;font-weight:400!important;line-height:1.5}.consent input{margin-top:5px;min-width:18px;min-height:18px}.submit-request{border:0;border-radius:10px;background:#086b83;color:#fff;font-size:1.05rem;font-weight:700;padding:16px 20px;cursor:pointer}.submit-request:hover{background:#075367}.form-alert{padding:16px;border-radius:10px;margin-top:18px}.form-alert.success{background:#e7f7ee;color:#185b35}.form-alert.error{background:#fff0ed;color:#872c23}.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}@media(max-width:760px){.header-right{gap:10px}.staff-login{padding:10px 12px;font-size:.85rem}.request-section{padding:24px 18px;margin:28px auto}.form-grid{grid-template-columns:1fr}}
