:root{--ink:#18322f;--forest:#1f5148;--sage:#dce9e1;--cream:#f7f4ed;--gold:#c9984a;--white:#fff;--danger:#9f3a38}
html{font-size:16px}
body{background:var(--cream);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;min-height:100vh}
a{color:var(--forest)}
.navbar{background:linear-gradient(110deg,#153b35,#28665a);box-shadow:0 2px 12px #0002}
.navbar-brand{font-family:Georgia,serif;font-size:1.3rem}
.brand-mark{display:inline-grid;place-items:center;width:2rem;height:2rem;border:1px solid #fff8;border-radius:50%;margin-right:.35rem}
.hero{background:linear-gradient(120deg,#123c35ee,#1f5148bb),url('/images/hero.svg') center/cover;min-height:520px;color:#fff;display:flex;align-items:center}
.hero h1{font:clamp(2.5rem,6vw,5rem)/1.02 Georgia,serif;max-width:850px}
.hero p{font-size:1.2rem;max-width:650px}
.btn-primary{background:var(--forest);border-color:var(--forest)}
.btn-primary:hover{background:#163e37;border-color:#163e37}
.btn-gold{background:var(--gold);color:#172d29;border:0}
.page-shell{padding:2.5rem 0}
.page-title{font-family:Georgia,serif;font-size:2.25rem}
.card{border:0;border-radius:1rem;box-shadow:0 5px 24px #18322f12}
.metric{padding:1.25rem;border-radius:1rem;background:#fff;box-shadow:0 4px 16px #18322f12}
.metric .value{font:2rem Georgia,serif;color:var(--forest)}
.service-card{height:100%;transition:transform .2s}
.service-card:hover{transform:translateY(-3px)}
.slot{display:inline-block;padding:.55rem .8rem;margin:.25rem;border-radius:2rem;background:var(--sage);text-decoration:none}
.slot:hover{background:var(--forest);color:#fff}
.table{--bs-table-bg:transparent}
.status{padding:.25rem .55rem;border-radius:1rem;background:var(--sage);font-size:.8rem}
.form-control,.form-select{border-radius:.65rem;padding:.65rem .75rem}
.clinical{background:#fffdf8;border-left:4px solid var(--gold);padding:1rem}
footer{background:#153b35;color:#e8f0ec}
footer a{color:#fff}

/* Public services library */
.services-hero{background:linear-gradient(125deg,#153b35,#2d7063);color:#fff;overflow:hidden}
.services-hero h1{font:clamp(2.5rem,5.5vw,4.75rem)/1.05 Georgia,serif;max-width:820px}
.services-hero .lead{max-width:760px}
.service-hero-art{width:100%;max-height:390px;filter:drop-shadow(0 20px 35px #102f2a55)}
.category-kicker{text-transform:uppercase;letter-spacing:.14em;font-weight:750;font-size:.76rem;color:var(--gold)}
.service-category-title,.service-section-title{font-family:Georgia,serif}
.service-info-card{overflow:hidden;border:1px solid #1f51480d;transition:transform .2s,box-shadow .2s}
.service-info-card:hover{transform:translateY(-4px);box-shadow:0 10px 30px #18322f24}
.service-card-art{width:100%;height:158px;object-fit:cover}
.service-monogram{display:inline-grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:50%;background:var(--sage);color:var(--forest);font-weight:800;letter-spacing:.04em}
.service-monogram-lg{width:3.5rem;height:3.5rem;background:#fff;color:var(--forest);box-shadow:0 4px 16px #18322f1c}
.service-meta{display:flex;gap:.6rem;flex-wrap:wrap}
.service-meta span{background:#eff5f1;color:#31554e;border-radius:2rem;padding:.32rem .72rem;font-size:.86rem;font-weight:650}
.service-disclaimer{background:#efe8d8;border-left:5px solid var(--gold);border-radius:.75rem;padding:1.4rem 1.6rem}
.service-detail-hero{border-radius:1.5rem;background:linear-gradient(135deg,#e1eee7,#f5efe1);overflow:hidden;box-shadow:0 12px 35px #18322f16}
.service-detail-art{display:block;width:100%;min-height:390px;height:100%;object-fit:cover}
.service-meta-large span{background:#fff}
.service-check-list,.service-step-list{list-style:none;padding:0;margin:1.5rem 0 0}
.service-check-list li,.service-step-list li{position:relative;padding:.7rem 0 .7rem 2.25rem;border-bottom:1px solid #18322f14}
.service-check-list li:last-child,.service-step-list li:last-child{border:0}
.service-check-list li:before{content:'✓';position:absolute;left:0;top:.62rem;display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:50%;background:var(--sage);color:var(--forest);font-weight:800}
.service-step-list{counter-reset:steps}
.service-step-list li{counter-increment:steps}
.service-step-list li:before{content:counter(steps);position:absolute;left:0;top:.62rem;display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:50%;background:var(--gold);color:#18322f;font-weight:800;font-size:.78rem}
.service-safety{display:flex;gap:1rem;align-items:flex-start;border:1px solid #c9984a80;background:#fffaf0;border-radius:1rem;padding:1.35rem}
.service-safety-icon{flex:0 0 auto;display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--gold);font:italic bold 1.1rem Georgia,serif}
.booking-cta{border-radius:1.25rem;background:linear-gradient(120deg,#153b35,#2b6d60);color:#fff}
.booking-cta h2{font-family:Georgia,serif}
.booking-cta .category-kicker{color:#e7c98e}
.breadcrumb a{text-decoration:none}

@media(max-width:991px){.service-detail-art{min-height:260px;max-height:350px}.services-catalog .service-card-art{height:180px}}
@media(max-width:768px){.hero{min-height:440px}.page-shell{padding:1.5rem 0}.table-responsive{font-size:.9rem}}
@media(max-width:576px){.services-hero h1{font-size:2.4rem}.service-detail-hero .page-title{font-size:1.85rem}.service-card-art{height:145px}}
