/* Refined turquoise identity, layered onto the existing functional styles. */
:root{--ink:#103e53;--accent:#087d91;--light:#eff8f9;--muted:#4c6976;--line:#d5e5e8}
body{background:#fcfefe;-webkit-font-smoothing:antialiased}
h1,h2,h3{text-wrap:balance}h1,h2{font-weight:500;letter-spacing:-.045em}
p{text-wrap:pretty}.wrap{width:min(1240px,calc(100% - 80px))}
.topline{background:#103e53}.topline .wrap{padding-block:7px}
header{background:rgba(252,254,254,.94);border-bottom:1px solid #103e5310;box-shadow:0 4px 24px #103e5304}
.header-inner{min-height:92px}header nav{gap:24px}header nav a{position:relative;padding-block:12px}
header nav a:hover{text-decoration:none;color:var(--accent)}header nav [aria-current]::after{content:"";height:2px;position:absolute;bottom:5px;left:0;right:0;background:var(--accent)}
.button{box-shadow:0 4px 12px #103e5308;transition:background .2s,box-shadow .2s,transform .2s}.button:hover{box-shadow:0 8px 20px #103e5318}.button.secondary{border-color:#aec9d1;box-shadow:none}
.eyebrow{font-size:.78rem;letter-spacing:.16em;font-weight:700}
.hero{background:linear-gradient(120deg,#edf8f9 0%,#f6fbfc 55%,#e3f3f5 100%);padding-top:58px}
.hero-grid{grid-template-columns:1.08fr 1fr;gap:64px;align-items:stretch}
.hero-copy{padding:10px 0 28px}.hero .hero-copy>h1{font-size:clamp(2.55rem,3.55vw,3.45rem);line-height:1.13;max-width:620px;margin:22px 0 24px}
.hero-copy>p{max-width:560px;font-size:1.06rem;line-height:1.8}
.hero-photo{min-height:560px;padding-bottom:0;margin-bottom:28px;isolation:isolate}
.hero-photo>img{height:100%;min-height:560px;position:absolute;inset:0;width:100%;border-radius:130px 24px 24px 24px;object-position:55% center;box-shadow:0 24px 55px #103e5314}
.photo-note{left:24px;right:24px;bottom:24px;padding:20px 22px;border-radius:16px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);box-shadow:0 12px 40px #103e5320}
.photo-label{top:28px;bottom:auto;right:24px;padding:8px 12px;border-radius:100px;background:#ffffffea;font-size:.65rem;letter-spacing:.12em;color:var(--ink)}
.note-symbol{display:none}.photo-note strong{font-family:Manrope,sans-serif;font-weight:600;letter-spacing:-.025em;font-size:1.12rem}
.home-choices{margin-top:28px}.home-choices h2{font-size:.9rem;color:var(--muted);font-weight:500}
.home-choice{padding:22px;border-radius:16px;border-color:#c6dce2;box-shadow:0 7px 18px #103e5305}.home-choice-cabinet{background:#103e53;border-color:#103e53}.home-choice-domicile{background:#ffffffc9}
.home-choice-label{font-size:1.3rem;font-weight:600}.home-choice-detail,.home-choice-action{font-size:.875rem}.home-choice-note{font-size:.78rem}.home-choice-action{margin-top:18px}
.hero-caption{font-size:.8rem}.trust-row{margin-top:8px;padding:25px 0 30px;border-color:#bad8df}.trust-row>div{padding-left:45px}.trust-row span{font-size:.75rem;border:1px solid #a9ccd4;width:28px;height:28px;display:grid;place-items:center;border-radius:50%}.trust-row strong{font-weight:600}
/* Turn the two introductory paragraphs into clear editorial cards. */
.hero+.validated-section{padding:48px 0;background:#fcfefe;border:0}
.hero+.validated-section>.wrap{max-width:1240px;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.hero+.validated-section p{margin:0;padding:30px 32px;border:1px solid var(--line);border-radius:20px;background:#fff;font-size:1rem;line-height:1.8}
.hero+.validated-section p>strong:first-child{display:inline-block;margin-bottom:8px;color:var(--ink);font-family:Manrope,sans-serif;font-size:1.25rem;font-weight:600;letter-spacing:-.03em}
main{counter-reset:chapter}.validated-section{padding:66px 0;border-bottom:1px solid #d5e5e870;background:#fcfefe}.validated-section:nth-of-type(even){background:#f1f8fa}
.validated-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:100px;counter-increment:chapter}
.validated-layout>h2{font-size:clamp(1.65rem,2.6vw,2.45rem);line-height:1.22;max-width:410px;margin:0;position:sticky;top:125px}
.validated-layout>h2::before{content:counter(chapter,decimal-leading-zero);display:block;color:var(--accent);font:600 .8rem/1.5 'DM Sans',sans-serif;letter-spacing:.1em;margin-bottom:22px;padding-top:16px;border-top:2px solid #8fcfd6;width:46px}
.validated-layout .prose{max-width:680px;padding-top:14px}.validated-layout .prose p{font-size:1.04rem;line-height:1.85;margin-bottom:22px}.validated-layout .prose p:last-child{margin-bottom:0}.validated-layout strong{font-weight:600;color:var(--ink)}
.validated-layout ul,.validated-layout ol{padding-left:24px;color:var(--muted);font-size:1.04rem;line-height:1.8}.validated-layout li{padding-left:8px;margin:12px 0}.validated-layout li::marker{color:var(--accent);font-weight:600}
.page-hero{background:linear-gradient(110deg,#edf8f9,#f8fcfc);padding:30px 0 64px;border-bottom:1px solid #deecee}.page-hero h1{font-size:clamp(2.5rem,4.4vw,4.1rem);line-height:1.13;max-width:1020px;margin-bottom:0}.page-hero .intro:empty{display:none}.page-hero .intro:not(:empty){margin-top:24px}.breadcrumb{font-size:.8rem;margin-bottom:40px}.page-hero .eyebrow{margin-bottom:18px}
.page-hero+section:has(>.split){padding-block:64px}.split{gap:80px}.split>img{border-radius:24px 80px 24px 24px;box-shadow:0 20px 44px #103e5310;height:440px}.split>.prose p{line-height:1.85}
.section-heading{margin-bottom:40px}.soft{background:#f0f7f9}.care-card{border-color:#dbe8eb;border-radius:20px;box-shadow:0 6px 20px #103e5305}.care-card:hover{box-shadow:0 15px 30px #103e5310}.care-body{padding:25px}.care-body h3{font-size:1.25rem;font-weight:600}.care-bottom{color:var(--accent)}
.carousel-track{padding-bottom:24px;gap:26px}.portrait{border-radius:20px}.person h3{font-size:1.35rem;font-weight:600;margin-top:22px}.person-tag{border-radius:100px;padding:8px 12px;font-size:.75rem}.person-actions{gap:10px}.person-actions .button{min-height:46px}.portrait-domains{border-radius:16px}
.faq{padding-block:26px}.faq summary{font-weight:500}.faq summary span{color:var(--accent)}
.cta{background:linear-gradient(115deg,#103e53,#0d5868);padding:80px 0}.cta h2{font-size:clamp(2.3rem,4vw,3.7rem);line-height:1.15}.cta-inner{gap:100px}.cta p{max-width:400px;font-size:1.05rem}.cta .button{padding-inline:28px}.cta .button:hover{background:#a4eeeb}
footer{background:#f0f7f8;padding-top:65px}.footer-grid h3{color:var(--accent);font-size:.8rem;text-transform:uppercase;letter-spacing:.1em}.footer-grid a:hover{color:var(--accent)}
@media(min-width:701px) and (max-width:1050px){.wrap{width:calc(100% - 48px)}.hero-grid{gap:30px;grid-template-columns:1.1fr 1fr}.hero .hero-copy>h1{font-size:2.6rem}.home-choice-grid{grid-template-columns:1fr}.home-choice{padding:16px 20px}.home-choice-action{margin-top:8px}.hero-photo>img{border-top-left-radius:85px}.photo-note{left:15px;right:15px;padding:18px}.validated-layout{gap:50px}.split{gap:40px}}
@media(max-width:700px){
 .wrap{width:calc(100% - 40px)}.header-inner{min-height:78px}.hero{padding-top:32px}.hero-grid{grid-template-columns:1fr;gap:10px}.hero-copy{padding-bottom:20px}.hero .hero-copy>h1{font-size:clamp(2.1rem,8.2vw,2.8rem);line-height:1.15;margin:18px 0 22px;overflow-wrap:normal}.hero .hero-copy>p{font-size:1rem;line-height:1.8}.eyebrow{font-size:.72rem;letter-spacing:.12em}.home-choice-grid{grid-template-columns:1fr 1fr;gap:10px}.home-choice{padding:18px 14px;gap:7px;border-radius:14px}.home-choice-label{font-size:1.13rem}.home-choice-detail{font-size:.8rem}.home-choice-action{font-size:.83rem;margin-top:9px}.home-choice-note{font-size:.75rem}.home-choices h2{line-height:1.5}.hero-caption{margin-top:24px}
 .hero-photo{height:360px;min-height:0;margin:0 0 22px}.hero-photo>img{height:100%;min-height:0;border-radius:75px 20px 20px 20px}.photo-note{bottom:16px;left:16px;right:16px;padding:17px}.photo-note strong{font-size:1rem}.photo-note span:not(.note-symbol){font-size:.8rem}.photo-label{top:18px;right:16px;font-size:.6rem}.trust-row{grid-template-columns:1fr;gap:18px;padding-block:20px 28px}.trust-row>div{padding-left:43px}.trust-row p{display:block;margin:3px 0 0}.trust-row span{top:4px}
 .hero+.validated-section{padding:32px 0}.hero+.validated-section>.wrap{grid-template-columns:1fr;gap:16px}.hero+.validated-section p{padding:24px;font-size:1rem}.hero+.validated-section p>strong:first-child{font-size:1.15rem}
 .validated-section{padding:38px 0}.validated-layout{grid-template-columns:1fr;gap:16px}.validated-layout>h2{position:static;font-size:1.8rem;max-width:none;overflow-wrap:normal}.validated-layout>h2::before{margin-bottom:15px;padding-top:10px}.validated-layout .prose{padding-top:0}.validated-layout .prose p,.validated-layout ul,.validated-layout ol{font-size:1rem;line-height:1.8}
 .page-hero{padding:24px 0 40px}.page-hero h1{font-size:clamp(2.1rem,8vw,2.8rem);overflow-wrap:normal}.breadcrumb{margin-bottom:28px}.page-hero+section:has(>.split){padding-block:36px}.split{grid-template-columns:1fr;gap:30px}.split>img{height:300px;border-radius:20px 65px 20px 20px}.section-heading{margin-bottom:28px}.carousel-track{gap:18px}.cta{padding:52px 0}.cta-inner{gap:26px;grid-template-columns:1fr}.cta h2{font-size:2.4rem}.cta .button{width:100%}.footer-grid{gap:28px}.footer-bottom{line-height:1.7}
}
@media(max-width:360px){.home-choice-grid{grid-template-columns:1fr}.hero .hero-copy>h1{font-size:2rem}}
/* A single pair of cards combines practical information and booking actions. */
.hero-centralized{padding-bottom:44px}.hero-centralized .hero-grid{align-items:center}.hero-centralized .hero-photo{height:470px;min-height:0;margin-bottom:0}.hero-centralized .hero-photo>img{min-height:0}.hero-centralized .hero-copy{padding-bottom:0}
.care-choices{padding:48px 0 64px;background:#fcfefe}.care-choices h2{font-size:clamp(1.55rem,2.4vw,2.2rem);margin:0 0 28px}.care-choices-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.care-choice{display:flex;flex-direction:column;padding:34px 36px;border-radius:22px;border:1px solid #c7dde3;background:#eff8fa;box-shadow:0 10px 30px #103e5306}.care-choice h3{font-size:1.55rem;font-weight:600;margin:0 0 20px;line-height:1.25}.care-choice>p{font-size:1rem;line-height:1.8;color:var(--muted);margin:0 0 28px}.care-choice>p a{font-weight:600;text-decoration:underline;text-underline-offset:3px}.care-choice-cabinet{background:#103e53;border-color:#103e53;color:white}.care-choice-cabinet>p{color:#d9e9ee}.care-choice-actions{display:flex;flex-wrap:wrap;gap:18px 22px;align-items:center;margin-top:auto}.care-choice-actions .text-link{font-size:.875rem}.care-choice-cabinet .button{background:#80e3e5;border-color:#80e3e5;color:#103e53}.care-choice-cabinet .button:hover{background:#a4eeeb}.care-choice-cabinet .text-link{color:#a4eeeb}
@media(max-width:960px){.care-choice{padding:28px}.care-choice-actions{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.hero-centralized{padding-bottom:28px}.hero-centralized .hero-copy{padding-bottom:24px}.hero-centralized .hero-photo{height:310px}.care-choices{padding:34px 0 42px}.care-choices h2{font-size:1.7rem;margin-bottom:22px}.care-choices-grid{grid-template-columns:1fr;gap:18px}.care-choice{padding:26px;border-radius:18px}.care-choice h3{font-size:1.4rem;margin-bottom:16px}.care-choice>p{margin-bottom:24px}.care-choice-actions{align-items:stretch;text-align:center;gap:16px}.care-choice-actions .button{width:100%}}
.home-care-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0 0 36px}.home-care-overview p{font-size:1rem;line-height:1.8;margin:0;padding-top:20px;border-top:1px solid #b7d7de}.home-care-overview strong{display:inline-block;font-family:Manrope,sans-serif;font-size:1.12rem;font-weight:600;color:var(--ink);line-height:1.4;margin-bottom:10px}.home-booking-cta .prose p{color:#d9e9ee;max-width:none}.home-booking-cta .prose strong{color:white}.home-booking-cta .actions{margin-bottom:0}.home-booking-cta .button.secondary{background:transparent;color:#d9f8f7;border-color:#8bbfc7}.home-booking-cta .button.secondary:hover{background:#ffffff15}
@media(max-width:700px){.home-care-overview{grid-template-columns:1fr;gap:22px;margin-bottom:30px}.home-booking-cta .actions{flex-direction:column}.home-booking-cta .button{width:100%}}
.booking-orientation{margin-bottom:32px}.booking-orientation>h2{font-size:1.65rem;margin-bottom:22px}.orientation-options{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.orientation-direct,.orientation-help{border:1px solid #bfdbe2;border-radius:18px;overflow:hidden}.orientation-direct{display:block;padding:24px;background:var(--ink);color:white;min-height:126px}.orientation-direct:hover{text-decoration:none;background:var(--accent)}.orientation-options strong{font-size:1.05rem;line-height:1.5}.orientation-direct>span,.orientation-help summary>span{display:block;font-size:.9rem;line-height:1.6;margin-top:8px}.orientation-direct>span{color:#d9edf0}.orientation-help{background:#f0f8fa}.orientation-help summary{padding:24px;cursor:pointer;min-height:126px}.orientation-help summary>span{color:var(--muted)}.orientation-help[open] summary{border-bottom:1px solid var(--line)}.orientation-help-body{padding:24px;background:white}.orientation-help-body h3{font-size:1.25rem}.orientation-help-body p{font-size:1rem;color:var(--muted);line-height:1.75}.orientation-help-body p strong{color:var(--ink);font-size:1rem}.orientation-help-body .text-link{display:inline-block;margin-bottom:24px}.orientation-help-body .small-note{font-size:.875rem;margin-top:16px}.orientation-direct:focus-visible,.orientation-help summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.care-plain-language{max-width:760px;font-size:1.18rem;line-height:1.7;color:var(--ink);padding-left:20px;border-left:3px solid #70dddd;margin:24px 0}.care-plain-language>span{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:7px}
@media(max-width:700px){.orientation-options{grid-template-columns:1fr}.orientation-direct,.orientation-help summary{padding:20px;min-height:0}.orientation-help-body{padding:20px}.orientation-help-body .button{width:100%}.care-plain-language{font-size:1.05rem}}
.booking-recap{padding:24px;margin:0 0 28px;background:#f0f8fa;border:1px solid var(--line);border-radius:18px}.booking-recap h2{font-size:1.25rem;margin-bottom:20px}.booking-recap-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.booking-recap-grid>div{min-width:0}.booking-recap-grid span{display:block;font-size:.8rem;color:var(--muted);margin-bottom:6px}.booking-recap-grid strong{display:block;font-size:.95rem;line-height:1.5;min-height:3em}.booking-recap-grid button{font:inherit;font-size:.875rem;padding:8px 0;background:none;border:0;color:var(--accent);text-align:left;cursor:pointer}.booking-recap-grid button:disabled{opacity:.5;cursor:default}.booking-recap .small-note{margin-bottom:0}.booking-empty{padding:24px;background:#f0f8fa;border:1px solid var(--line);border-radius:16px;margin-top:18px}.booking-empty .actions{margin:16px 0 0}.patient-errors{padding:20px;border:1px solid #ac3442;border-radius:12px;background:#fff5f5;color:#842633;margin-bottom:24px}.patient-errors a{text-decoration:underline}.patient-errors li{margin:8px 0}.field-error{display:block;color:#9b2635;font-size:.875rem;font-weight:500;line-height:1.5}.consent:has(.field-error){flex-wrap:wrap}.consent .field-error{flex-basis:100%}.patient-step [aria-invalid=true]{border-color:#ac3442!important;outline-color:#ac3442}#booking-request-note{margin:16px 0 0;color:var(--ink)}
@media(max-width:700px){.booking-recap{padding:20px}.booking-recap-grid{grid-template-columns:1fr 1fr;gap:18px}.booking-recap-grid strong{min-height:0}.booking-empty{padding:20px}.booking-empty .actions{flex-direction:column;align-items:stretch}.booking-empty .text-link{text-align:center}}
.home-first{padding:48px 0}.home-first-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:start}.home-zone-panel,.home-phone-panel{border-radius:22px;padding:32px;border:1px solid var(--line);background:#f1f9fa}.home-first h2{font-size:1.8rem;line-height:1.25;margin:0 0 22px}.home-zone-panel p{font-size:1rem}.home-phone-panel{background:#103e53;color:white}.home-phone-panel>.button{background:#80e3e5;color:#103e53;border-color:#80e3e5;width:100%;margin-bottom:24px}.home-phone-panel .prose p{color:#d8e9ee;font-size:1rem}.home-phone-panel .prose a{color:white}.home-phone-panel>.text-link{color:#a4eeeb;text-decoration:underline}.home-zone-search{margin-top:26px;padding-top:24px;border-top:1px solid var(--line)}.home-zone-search h3{font-size:1.3rem;margin-bottom:18px}.home-zone-search label{display:block;font-weight:600;font-size:.95rem;margin-bottom:8px}.commune-input-row{display:flex;gap:10px}.commune-input-row input{width:100%;min-width:0;border:1px solid #99bcc6;border-radius:12px;padding:13px 15px;background:white;font:inherit}.commune-input-row .button{flex-shrink:0}.commune-result{background:white;border:1px solid #aed4dc;border-radius:12px;padding:20px;margin-top:18px}.commune-result strong{font-size:1.13rem;color:var(--ink)}.commune-result p{margin:10px 0 16px}.commune-result a{font-weight:600;font-size:.95rem}.home-zone-search .small-note{font-size:.875rem;line-height:1.65;margin-bottom:0}.home-call-preparation{padding:40px 0 56px;background:#f0f7f9;scroll-margin-top:115px}.home-call-preparation h2{font-size:clamp(1.8rem,3vw,2.5rem)}.home-checklist-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.home-checklist-grid ul{padding-left:23px;margin-top:0}.home-checklist-grid li{padding-left:5px;margin-bottom:14px;color:var(--muted)}.relative-checklist{background:white;border:1px solid var(--line);border-radius:16px}.relative-checklist summary{padding:23px;font-size:1.05rem;font-weight:600;cursor:pointer}.relative-checklist .prose{padding:0 24px 24px}.relative-checklist .prose p{font-size:1rem}.relative-checklist summary:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
@media(max-width:800px){.home-first-grid,.home-checklist-grid{grid-template-columns:1fr;gap:22px}.home-first{padding:28px 0}.home-zone-panel,.home-phone-panel{padding:24px}.home-first h2{font-size:1.6rem}.home-phone-panel{grid-row:1}.home-call-preparation{padding:32px 0}.home-zone-search .commune-input-row{flex-wrap:wrap}.commune-input-row .button{width:100%}.relative-checklist summary{padding:20px}}
@media(prefers-reduced-motion:reduce){.button,.care-card{transition:none}.button:hover,.care-card:hover{transform:none}}
/* Geographic coverage map: local contours, no external map tracking. */
.home-zone-map .map-legend{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:10px 18px;margin:20px 0 8px;font-size:.8rem;line-height:1.4}.map-legend li{display:flex;align-items:center;gap:8px}.map-legend li:before{content:'';width:14px;height:14px;border-radius:4px;background:var(--zone-fill);border:1px solid #547e8c}.principal{--zone-fill:#168692;--zone-text:white}.secondary{--zone-fill:#a4e1df;--zone-text:#103e53}.confirm{--zone-fill:#e4eaf0;--zone-text:#103e53}.charleroi-map{display:block;width:100%;height:auto;max-height:510px;margin:8px auto 0;overflow:visible}.commune-shape{fill:var(--zone-fill);stroke:#fff;stroke-width:2;stroke-linejoin:round;cursor:pointer;transition:fill .15s,filter .15s;vector-effect:non-scaling-stroke}.commune-shape.is-highlighted,.commune-shape:focus-visible{stroke:#103e53;stroke-width:3;filter:brightness(.94);outline:none}.charleroi-map text{font:700 16px sans-serif;fill:#103e53;paint-order:stroke;stroke:#fff;stroke-width:3px;pointer-events:none;text-anchor:middle;dominant-baseline:central}.home-zone-map .commune-result{margin-top:6px;min-height:220px}.commune-keys{display:grid;grid-template-columns:1fr 1fr;gap:5px 12px;margin-top:20px}.commune-key{display:flex;align-items:center;gap:8px;text-align:left;border:1px solid transparent;border-radius:8px;background:transparent;padding:7px 3px;font:inherit;font-size:.78rem;line-height:1.35;color:#103e53;cursor:pointer;min-height:44px}.commune-key span{display:grid;place-items:center;flex-shrink:0;width:25px;height:25px;border-radius:7px;background:var(--zone-fill);color:var(--zone-text);font-size:.7rem;font-weight:700}.commune-key.is-highlighted{background:white;border-color:#86bbc5}.commune-key:focus-visible{outline:3px solid #168692;outline-offset:2px}.home-zone-map .map-source{font-size:.7rem;margin:12px 0 0}.map-source a{text-decoration:underline}@media(max-width:480px){.home-zone-map .map-legend{font-size:.74rem}.commune-keys{gap:4px}.commune-key{font-size:.72rem;gap:5px}.home-zone-map .commune-result{min-height:260px;padding:16px}.charleroi-map text{font-size:18px}}
.home-zone-map{scroll-margin-top:120px}@media(min-width:801px){.home-phone-panel{position:sticky;top:118px}}@media(prefers-reduced-motion:reduce){.commune-shape{transition:none}}
.practical-section{padding:42px 0;background:#edf7f8;scroll-margin-top:115px}.practical-section h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:8px 0 12px}.practical-intro{max-width:700px;margin-bottom:24px}.practical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start}.practical-item{background:white;border:1px solid #bedde2;border-radius:16px;overflow:hidden}.practical-item summary{display:flex;flex-direction:column;gap:10px;padding:22px;cursor:pointer;list-style:none;min-height:190px}.practical-item summary::-webkit-details-marker{display:none}.practical-title{font-size:1.05rem;font-weight:650;color:#103e53}.practical-short{font-size:.9rem;line-height:1.6;color:#476878}.practical-more{display:flex;justify-content:space-between;margin-top:auto;font-size:.8rem;color:#087f8b;font-weight:600}.practical-more span{font-size:1.1rem}.practical-item[open] .practical-more span{transform:rotate(45deg)}.practical-item[open]{border-color:#168692}.practical-detail{margin:0 22px;padding:18px 0 22px;border-top:1px solid #d5e7eb}.practical-detail p,.practical-detail li{font-size:.9rem;line-height:1.7}.practical-item summary:focus-visible{outline:3px solid #168692;outline-offset:-4px;border-radius:14px}@media(max-width:950px){.practical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.practical-grid{grid-template-columns:1fr;gap:10px}.practical-item summary{min-height:0;padding:18px;gap:7px}.practical-section{padding:30px 0}.practical-more{margin-top:3px}}
/* Subtle lift for the two home-page care choices. */
.care-choice{transition:transform 260ms ease,box-shadow 260ms ease,border-color 260ms ease}
@media(hover:hover) and (pointer:fine){.care-choice:hover{transform:translateY(-6px);box-shadow:0 20px 42px #103e5326;border-color:#54cbd1}}
.care-choice:focus-within{transform:translateY(-6px);box-shadow:0 20px 42px #103e5326;border-color:#54cbd1}
@media(prefers-reduced-motion:reduce){.care-choice{transition:none}.care-choice:hover,.care-choice:focus-within{transform:none}}
.care-directory-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.care-directory-grid .care-card{min-width:0;width:auto}.care-directory-grid [hidden]{display:none!important}.care-clinicians,.care-booking{padding:32px 0;border-top:1px solid #c7dde3;scroll-margin-top:120px}.care-clinician-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.care-clinician-grid article{background:#eff8fa;border:1px solid #c7dde3;border-radius:14px;padding:20px}.care-clinician-grid a{display:block;margin-top:12px}.care-clinician-grid h3{margin-top:0}#pour-qui,#prise-en-charge{scroll-margin-top:120px}@media(max-width:950px){.care-directory-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.care-directory-grid,.care-clinician-grid{grid-template-columns:1fr}.care-directory-grid{gap:18px}}
/* Two-row catalogue; filters repack the remaining cards automatically. */
.care-directory-carousel .carousel-track{display:grid;grid-template-rows:repeat(2,auto);grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:calc((100% - 48px)/3);gap:24px;align-items:stretch}.care-directory-carousel .care-card{width:auto;min-width:0}.care-directory-carousel .care-card[hidden]{display:none!important}@media(max-width:960px){.care-directory-carousel .carousel-track{grid-auto-columns:calc((100% - 24px)/2)}}@media(max-width:600px){.care-directory-carousel .carousel-track{grid-auto-columns:86%;gap:16px}.care-directory-carousel .care-card>img{height:145px}.care-directory-carousel .care-body{padding:18px}}
.person{display:flex;flex-direction:column}.person .person-locations{font-size:.88rem;line-height:1.55;color:#103e53;padding:12px 14px;background:#eaf6f8;border-radius:12px;margin:0 0 14px}.person-domains{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:8px}.person-domains li{margin:0}.person-domains a{display:flex;flex-direction:column;gap:3px;padding:9px 0;border-bottom:1px solid #d8e8ec;color:#103e53;text-decoration:none;min-height:44px}.person-domains small{font-size:.72rem;color:#087b89}.person-domains span{font-size:.9rem;font-weight:600;line-height:1.4}.person-domains a:hover span{text-decoration:underline}.person-domains a:focus-visible{outline:2px solid #168692;outline-offset:3px}.person .person-actions{margin-top:auto}
/* Shared visual rhythm: typography, surfaces and interaction states. */
:root{--section-space:clamp(40px,5vw,72px);--card-radius:20px;--control-radius:999px;--card-border:#c6dce2;--heading-size:clamp(1.7rem,2.8vw,2.55rem);--small-size:.875rem;--reading-width:66ch}
main>section:not(.hero):not(.page-hero):not(.cta){padding-block:var(--section-space)}
main h2{font-size:var(--heading-size);line-height:1.23;letter-spacing:-.035em}
main h3{line-height:1.35;letter-spacing:-.02em}
main .page-hero h1{font-size:clamp(2.2rem,4.2vw,3.65rem);line-height:1.15;max-width:24ch}
main .intro,main .prose>p,.section-heading>p{max-width:var(--reading-width);line-height:1.75}
main .section-heading{gap:28px;margin-bottom:32px}
.care-card,.care-choice,.location-panel,.home-zone-panel,.home-phone-panel,.contact-panel,.relative-checklist,.practical-item,.care-clinician-grid article,.partner-cabinet{border-radius:var(--card-radius)}
.care-card,.care-choice-domicile,.location-panel,.home-zone-panel,.contact-panel,.relative-checklist,.practical-item,.care-clinician-grid article{border-color:var(--card-border)}
.button{border-radius:var(--control-radius);font-weight:600;line-height:1.4;min-height:48px;transition:background-color 180ms ease,border-color 180ms ease,box-shadow 180ms ease}
.button.secondary{background:transparent;color:var(--ink);border:1px solid #94b9c4;box-shadow:none}
.button.secondary:hover{background:#e4f3f6;border-color:var(--accent)}
.button:active{box-shadow:inset 0 0 0 2px #103e5326}
:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid #087d91;outline-offset:4px}
.care-choice-cabinet :focus-visible,.home-phone-panel :focus-visible,.cta :focus-visible{outline-color:#80e3e5}
.chip[aria-pressed="true"]{box-shadow:inset 0 0 0 1px currentColor}
.small-note,.breadcrumb,.hero-caption,.home-choice-note,.practical-more,.care-bottom,.carousel-hint,.person-domains small,.map-source,.home-zone-map .map-source{font-size:var(--small-size);line-height:1.6}
.eyebrow{font-size:.8rem;line-height:1.5;letter-spacing:.12em}
.care-body small,.footer-grid h3,.person-tag{font-size:.85rem}
.practical-short,.care-body p{font-size:.95rem;line-height:1.65}
.person-domains small{color:#076e7b}.small-note{color:#496773}
.care-clinicians h2,.care-booking h2,.care-practical h2,.care-journey h2{margin-bottom:22px}
.care-hero-actions,.care-choice-actions,.profile-booking-actions{gap:14px}
.split>img,.care-photo img,.detail-image{border-radius:var(--card-radius)}
.care-card:hover{transform:none;box-shadow:0 8px 22px #103e5312}
@media(max-width:700px){:root{--card-radius:16px;--section-space:36px}main .section-heading{gap:18px;margin-bottom:24px}.page-hero .breadcrumb{margin-bottom:26px}.care-body{padding:20px}.practical-item summary{padding:20px}.care-choice{padding:24px}.button{min-height:48px}.care-hero-actions{align-items:stretch}}
@media(prefers-reduced-motion:reduce){.button,.care-card,.care-choice,.home-choice{transition:none;scroll-behavior:auto}}
.cta .button.secondary,.home-phone-panel .button.secondary,.care-choice-cabinet .button.secondary{color:#dffbfc;border-color:#8cd8de;background:transparent}.cta .button.secondary:hover,.home-phone-panel .button.secondary:hover,.care-choice-cabinet .button.secondary:hover{background:#ffffff14;color:white}
main .sidebar h2,main .care-local-card h2,main .booking-summary h2{font-size:clamp(1.4rem,2vw,1.85rem)}
/* Mobile reading and predictable touch targets. */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.carousel-all{display:inline-flex;align-items:center;min-height:48px;padding:10px 14px;border:1px solid #94b9c4;border-radius:999px;color:#087d91;font-size:1rem;font-weight:600;white-space:nowrap}.carousel-controls{flex-wrap:wrap}.carousel-controls .carousel-hint{font-size:.95rem}.carousel-actions{flex-shrink:0}
input:not([type=radio]):not([type=checkbox]),select,textarea{font-size:max(16px,1rem);max-width:100%}input,select,textarea{scroll-margin-block:120px}
@media(max-width:960px){header nav.open{max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain;gap:4px;padding:16px 24px 110px}header nav a{min-height:48px;padding:12px 8px}.menu{min-width:48px;min-height:48px}}
@media(max-width:700px){.chip,.slot,.calendar-nav button,.carousel-button{min-height:48px;min-width:48px}.filters{gap:10px;flex-wrap:wrap}.text-link,.booking-recap button{display:inline-flex;align-items:center;min-height:44px}.search,input:not([type=radio]):not([type=checkbox]):not([type=file]),select{min-height:48px}.choice,.provider-card{min-height:64px}label:has(>input[type=checkbox]){min-height:48px;line-height:1.65}input[type=checkbox]{min-width:22px;min-height:22px;flex-shrink:0}.carousel-controls{align-items:stretch;gap:12px}.carousel-all{justify-content:center}.carousel-track{scroll-padding-inline:2px}.care-body p,.person>p,.small-note{font-size:1rem}.care-card h3,.person h3,.button,.chip{overflow-wrap:anywhere}.carousel-track .care-body p{display:block;-webkit-line-clamp:unset}.booking-recap-grid,.booking-filters{min-width:0}.booking-panel,.booking-summary{min-width:0}.button{white-space:normal}.person-domains a{min-height:48px}.footer-grid a{padding-block:8px}.home-zone-map .commune-result{min-height:0}}
@media(max-width:420px){.header-inner{gap:12px}.brand-logo{max-width:48vw}.carousel-track>*{flex-basis:88%}.care-directory-carousel .carousel-track{grid-auto-columns:88%}.booking-panel,.contact-panel{padding:20px}.wrap{width:calc(100% - 32px)}}
@media(max-width:700px){body:has(.mobile-bar){padding-bottom:calc(var(--mobile-actions-height,100px) + 20px)}html{scroll-padding-bottom:calc(var(--mobile-actions-height,100px) + 20px)}:where(a,button,input,select,textarea,summary){scroll-margin-bottom:calc(var(--mobile-actions-height,100px) + 20px)}}
.care-search-examples{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 26px}.care-search-examples .chip{min-height:44px;font-size:.9rem}.care-search-examples+.filters{padding-top:18px;border-top:1px solid var(--line)}
.confirmation-section{background:#eff8f9}.confirmation-section .narrow{max-width:860px}#appointment-confirmation{background:white;border:1px solid var(--line);border-radius:20px;padding:clamp(22px,4vw,44px)}#appointment-confirmation h1{font-size:clamp(1.9rem,4vw,3rem);line-height:1.2}.confirmation-recap{padding:20px;background:#edf8fa;border-radius:14px;margin:24px 0}.confirmation-recap p{margin:10px 0}.confirmed-next h2{font-size:1.5rem;margin:30px 0 16px}.confirmed-next li{margin-bottom:12px}.confirmed-next ul{padding-left:24px}.confirmation-actions{display:flex;flex-wrap:wrap;gap:14px;margin:24px 0}.confirmation-actions .button{font:inherit;font-weight:600;cursor:pointer}@media(max-width:600px){.confirmation-actions{flex-direction:column}.confirmation-actions .button{text-align:center}}
/* Weekday appointment view: five columns and compact text-only slots. */
#calendar-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-flow:row;gap:10px;align-items:start;overflow-x:visible}
#calendar-slots .calendar-day{padding:10px;min-height:110px;border-radius:12px}
#calendar-slots .calendar-day h3{font-size:.9rem;margin:4px 0 12px;line-height:1.45}
#calendar-slots .slot{min-height:76px;padding:10px 9px;gap:3px;background:#fff;background-image:none;color:#103e53;border:1px solid #aacdd5;box-shadow:none;justify-content:center;transform:none;text-align:left}
#calendar-slots .slot strong{font-size:1.05rem;line-height:1.2;text-shadow:none}
#calendar-slots .slot-practitioner{line-height:1.3;text-shadow:none}
#calendar-slots .slot-practitioner span{font-size:.82rem;font-weight:600;overflow-wrap:anywhere}
#calendar-slots .slot small{font-size:.78rem;color:#4c6976}
#calendar-slots .slot:hover{background:#e0f5f5;border-color:#087d91;background-image:none;transform:none;box-shadow:none}
#calendar-slots .slot[aria-pressed=true]{background:#103e53;color:#fff;border-color:#103e53;background-image:none;box-shadow:inset 0 0 0 2px #70dddd}
#calendar-slots .slot[aria-pressed=true] small{color:#e0f6f6}
#calendar-slots .more-slots{min-height:44px;font-size:.82rem;line-height:1.4;padding:8px 3px}
.calendar-toolbar{margin:16px 0;gap:14px}.calendar-toolbar button{min-width:44px;min-height:44px}.calendar-toolbar #calendar-week{text-align:center;font-size:1rem}
@media(max-width:760px){#calendar-slots{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(132px,43%);overflow-x:auto;scroll-snap-type:x proximity;overscroll-behavior-x:contain;padding-bottom:12px}#calendar-slots .calendar-day{scroll-snap-align:start;padding:8px}#calendar-slots .slot{min-height:76px;padding:9px 8px}.calendar-toolbar{gap:8px}.calendar-toolbar #calendar-week{font-size:.9rem}}

/* Portraits restored within the compact five-day calendar. */
#calendar-slots .slot{background-color:#103e53;background-image:linear-gradient(90deg,rgba(6,34,48,.84),rgba(6,34,48,.56)),var(--slot-photo);background-size:cover;background-position:center,center 30%;color:#fff}
#calendar-slots .slot small{color:#e4f5f7}
#calendar-slots .slot:hover{background-color:#103e53;background-image:linear-gradient(90deg,rgba(6,34,48,.76),rgba(6,34,48,.48)),var(--slot-photo);border-color:#087d91}
#calendar-slots .slot[aria-pressed=true]{background-image:linear-gradient(90deg,rgba(6,34,48,.84),rgba(6,34,48,.56)),var(--slot-photo);border-color:#70dddd}

/* Equal slot heights, with room for wrapped practitioner names. */
#calendar-slots .slot{box-sizing:border-box;height:5rem;min-height:5rem;flex-shrink:0;padding:6px 8px;gap:2px;margin-bottom:6px}
#calendar-slots .slot-practitioner span{font-size:.875rem}

/* Shared lift feedback for care and practitioner cards. */
.care-card,.person{transition:transform 260ms ease,box-shadow 260ms ease,border-color 260ms ease}
.person{border-radius:var(--card-radius,20px)}
.carousel-track:has(>.care-card),.carousel-track:has(>.person){padding-top:8px}
@media(hover:hover) and (pointer:fine){
 .care-card:hover,.person:hover{transform:translateY(-6px);box-shadow:0 20px 42px #103e5326}
 .care-card:hover{border-color:#54cbd1}
}
.care-card:focus-within,.person:focus-within{transform:translateY(-6px);box-shadow:0 20px 42px #103e5326}
.care-card:focus-within{border-color:#54cbd1}
@media(prefers-reduced-motion:reduce){
 .care-card,.person{transition:none}
 .care-card:hover,.care-card:focus-within,.person:hover,.person:focus-within{transform:none}
}

/* Keep practitioner copy inset inside the card revealed by its hover shadow. */
.person{background:#fff;min-width:0;padding-bottom:20px}
.person>h3,.person>p,.person>.person-domains,.person>.person-actions{margin-left:20px;margin-right:20px;min-width:0}
.person>h3{line-height:1.3;overflow-wrap:anywhere}
.person>.person-domains a{line-height:1.55;text-decoration:none}
.person>.person-domains a:hover small{ text-decoration:none }
.person>.person-domains span{overflow-wrap:anywhere}
.person>.person-actions{flex-wrap:wrap}
.person>.person-actions .button{max-width:100%;white-space:normal}
@media(max-width:600px){.person>h3,.person>p,.person>.person-domains,.person>.person-actions{margin-left:16px;margin-right:16px}}
