@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#103e49;--accent:#007c87;--turquoise:#7de0dd;--light:#eaf7f6;--muted:#4b6971;--line:#c9dedf;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;color:var(--ink);font:16px/1.65 'DM Sans',sans-serif;background:#fff}h1,h2,h3{font-family:Manrope,sans-serif;line-height:1.15;letter-spacing:-.045em;font-weight:500;margin:0 0 24px}h1{font-size:clamp(2.65rem,4.8vw,4.6rem)}h2{font-size:clamp(2rem,3.4vw,3.2rem)}h3{font-size:1.5rem}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}p{margin:0 0 20px}img{display:block;max-width:100%;object-fit:cover}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}a,button,input,summary,select{outline-offset:5px}section{padding:90px 0}.wrap{width:min(1280px,calc(100% - 80px));margin:auto}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:.875rem;font-weight:700;color:var(--accent);margin-bottom:22px}.topline{background:var(--ink);color:#fff;font-size:.875rem}.topline .wrap{display:flex;justify-content:space-between;padding:8px 0}.header-inner{display:flex;align-items:center;gap:28px;min-height:100px}header{position:sticky;top:0;background:#fffffffa;border-bottom:1px solid var(--line);z-index:20;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;font-size:1.15rem;white-space:nowrap;line-height:1.1;letter-spacing:-.04em}.brand>span:last-child{display:block}.brand strong{font-size:1.75rem;display:block;font-weight:700}.brand strong span{color:var(--accent)}.brand-mark{font-size:2.8rem;letter-spacing:-.2em;font-weight:700;color:var(--accent);padding-right:10px}.brand-mark span{color:var(--ink)}header nav{display:flex;align-items:center;gap:25px;margin-left:auto;font-size:.9rem;font-weight:600}header nav [aria-current]{color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;background:var(--ink);border:1px solid var(--ink);border-radius:100px;color:#fff;min-height:52px;padding:13px 25px;font-size:.94rem;font-weight:600;transition:background .2s,transform .2s;text-align:center}.button:hover{text-decoration:none;background:var(--accent);border-color:var(--accent);transform:translateY(-2px)}.button.secondary{background:transparent;color:var(--ink);border-color:#8eafb5}.button.secondary:hover{background:#def4f2}.header-inner>.button{padding:12px 20px;font-size:.875rem}.menu{display:none}.hero{padding:54px 0 0;background:var(--light)}.hero-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:60px;align-items:center}.hero-copy{padding:20px 0}.hero h1{margin:26px 0;line-height:1.12}.hero em{font-style:normal;color:var(--accent)}.hero-copy>p{font-size:1.13rem;max-width:430px;color:var(--muted)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.hero-caption{font-size:.875rem;display:flex;gap:12px;align-items:center;color:var(--muted);margin-top:34px}.caption-line{width:32px;height:1px;background:var(--accent)}.hero-photo{position:relative;padding:0 0 28px 0}.hero-photo>img{height:470px;width:100%;border-radius:110px 18px 18px 18px;object-position:56% center}.photo-note{position:absolute;bottom:48px;left:-25px;right:28px;background:#fff;border:1px solid #fff8;border-radius:14px;padding:20px 23px;display:flex;align-items:center;gap:16px;box-shadow:0 12px 35px #063e4314}.photo-note strong{font-size:1rem;display:block}.photo-note span:not(.note-symbol){display:block;font-size:.875rem;color:var(--muted)}.note-symbol{background:var(--light);color:var(--accent);width:44px;height:44px;display:grid;place-items:center;border-radius:50%;font-size:1.5rem}.photo-label{font-size:.75rem;letter-spacing:.16em;position:absolute;bottom:0;right:0}.trust-row{border-top:1px solid var(--line);margin-top:35px;padding:27px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.trust-row>div{position:relative;padding-left:42px}.trust-row span{position:absolute;left:0;top:0;font-size:.875rem;color:var(--accent)}.trust-row strong{font-size:1rem}.trust-row p{font-size:.875rem;color:var(--muted);margin:3px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:35px}.section-heading h2{margin-bottom:0}.section-heading>p{color:var(--muted);margin-bottom:4px}.places{display:grid;grid-template-columns:1fr 1fr;gap:24px}.place{border-radius:18px;overflow:hidden;display:grid;grid-template-columns:1.25fr 1fr;min-height:350px}.place:hover{text-decoration:none}.place>div{padding:32px}.place h3{font-size:2rem;margin-bottom:17px}.place p{font-size:.94rem}.place img{height:100%;width:100%}.dark-place{background:var(--ink);color:#fff}.dark-place .eyebrow{color:var(--turquoise)}.light-place{background:var(--light)}.round-link{font-size:.875rem;font-weight:600;display:flex;align-items:center;gap:12px;margin-top:28px}.round-link b{font-size:1.3rem;font-weight:400}.cta{background:var(--ink);color:#fff}.cta .eyebrow{color:var(--turquoise)}.cta .button{background:var(--turquoise);border-color:var(--turquoise);color:var(--ink)}.cta-inner{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center}.cta h2{margin-bottom:0}.cta p{color:#cce1e4}footer{padding:60px 0 30px;background:#f1f8f8;font-size:.9rem}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:60px}.footer-grid p{color:var(--muted);margin-top:20px}.footer-grid a{display:block;margin:8px 0}.footer-grid .brand{display:block}.footer-grid h3{font-size:1rem;font-weight:700;margin:10px 0 25px}.footer-bottom{border-top:1px solid var(--line);display:flex;gap:25px;margin-top:42px;padding-top:24px;font-size:.875rem}.footer-bottom span{margin-right:auto}.mobile-bar{display:none}.skip{position:absolute;left:-9999px}.skip:focus{left:10px;top:10px;background:white;padding:15px;z-index:99}.page-hero{background:var(--light);padding:36px 0 60px}.breadcrumb{font-size:.875rem;color:var(--muted);margin-bottom:30px}.page-hero h1{max-width:950px}.intro{font-size:1.15rem;max-width:760px;color:var(--muted)}[hidden]{display:none!important}
@media(min-width:1600px){.hero-photo>img{height:530px}}
@media(max-width:1150px){.wrap{width:calc(100% - 48px)}header nav{gap:16px}.header-inner{gap:18px}.hero-grid{gap:35px}.header-inner>.button{font-size:.8rem;padding:10px 14px}.brand{font-size:1rem}.brand strong{font-size:1.55rem}.place{grid-template-columns:1.6fr 1fr}.place>div{padding:25px}}
@media(max-width:960px){header nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:25px;box-shadow:0 15px 20px #103e4910}header nav.open{display:flex;flex-direction:column;align-items:stretch}.menu{display:block;border:1px solid var(--line);padding:10px 14px;border-radius:25px;background:#fff;margin-left:0}.header-inner>.button{margin-left:auto}.hero h1{font-size:3rem}.hero-photo>img{height:460px}.photo-note{left:12px;right:12px;padding:15px}.note-symbol{display:none}.places{grid-template-columns:1fr}.place{grid-template-columns:1.1fr 1fr}.section-heading>p{max-width:280px}.footer-grid{gap:25px}}
@media(max-width:640px){.wrap{width:calc(100% - 36px)}section{padding:55px 0}.topline{display:none}.header-inner{min-height:80px}.header-inner>.button{display:none}.menu{margin-left:auto}.hero{padding-top:30px}.hero-grid{grid-template-columns:1fr;gap:20px}.hero h1{font-size:2.85rem}.hero-copy{padding:0}.hero-copy>p{font-size:1.05rem}.hero-caption{margin-top:22px}.hero-photo>img{height:330px;border-radius:70px 14px 14px}.photo-note{bottom:48px}.photo-label{font-size:.75rem}.hero-grid{gap:15px}.trust-row{grid-template-columns:1fr;gap:15px;margin-top:15px;padding:25px 0}.trust-row>div{padding-left:34px}.trust-row p{display:inline;margin-left:8px}.section-heading{display:block}.section-heading>p{max-width:100%;margin-top:20px}.place{grid-template-columns:1.5fr 1fr;min-height:315px}.place>div{padding:24px 18px}.place .eyebrow{font-size:.75rem}.place h3{font-size:1.75rem}.place p{font-size:.9rem}.place img{object-position:60% center}.cta-inner{grid-template-columns:1fr;gap:25px}.footer-grid{grid-template-columns:1fr;gap:20px}.footer-bottom{display:flex;flex-wrap:wrap;gap:12px}.footer-bottom span{width:100%}footer{padding-bottom:110px}.mobile-bar{display:grid;grid-template-columns:1fr 1.6fr;position:fixed;bottom:0;left:0;right:0;z-index:30;gap:10px;background:white;padding:10px 18px max(10px,env(safe-area-inset-bottom));box-shadow:0 -5px 25px #103e4912}.mobile-bar .button{font-size:.875rem;padding:10px;min-height:46px}.page-hero{padding:28px 0 38px}.intro{font-size:1.05rem}.button{padding:12px 20px}.actions{gap:10px}h1,h2,h3{overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
:root{--ink:#123f5a;--accent:#007f99;--turquoise:#70dddd;--light:#edf8fa;--muted:#4e6b7b;--line:#cddfe6}.brand-logo{width:205px;height:auto}.soft{background:#f2f9fa}.text-link{font-size:.94rem;font-weight:600;color:var(--accent)}.carousel-track{display:flex;gap:24px;overflow:auto;scroll-snap-type:x mandatory;padding:4px 2px 18px;scrollbar-width:thin;scrollbar-color:#a7cbd2 transparent}.carousel-track>*{flex:0 0 calc((100% - 72px)/4);scroll-snap-align:start;min-width:0}.carousel-controls{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:10px}.carousel-controls>span{font-size:.875rem;color:var(--muted);margin-right:10px}.carousel-controls button{border:1px solid var(--line);width:44px;height:44px;background:white;border-radius:50%;font-size:1.3rem}.carousel-controls button:hover{background:var(--ink);color:white}.carousel-controls button:disabled{opacity:.35;cursor:default}.care-card{display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:15px;overflow:hidden;transition:transform .2s}.care-card:hover{transform:translateY(-3px);text-decoration:none}.care-card>img,.care-type{width:100%;height:175px;object-fit:cover}.care-body{padding:22px;display:flex;flex-direction:column;flex:1}.care-body small{font-size:.8rem;color:var(--accent);display:block;margin-bottom:12px}.care-body h3{font-size:1.2rem;line-height:1.3;letter-spacing:-.025em;margin-bottom:16px}.care-body p{font-size:.94rem;color:var(--muted)}.carousel-track .care-body p{display:none}.care-bottom{font-size:.875rem;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:16px;margin-top:auto}.care-bottom b{font-weight:400}.care-type{background:#e6f3f7;padding:22px;display:flex;align-items:end;justify-content:space-between;gap:15px}.care-type span{font-size:.875rem;max-width:100px}.care-type b{font-size:3rem;color:#0f7899;font-weight:400;line-height:1}.care-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.portrait{display:block;position:relative;overflow:hidden;border-radius:16px}.portrait img,.portrait-initials{height:330px;width:100%;object-fit:cover;object-position:center 23%;background:#e5f1f5}.portrait-initials{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#247d96}.portrait-initials>span{font-size:4.5rem;letter-spacing:-.08em;font-family:Manrope,sans-serif}.portrait-initials small{font-size:.875rem}.person-tag{position:absolute;bottom:12px;left:12px;right:12px;background:#fffffff0;backdrop-filter:blur(5px);border-radius:7px;padding:7px 10px;font-size:.8rem}.person h3{font-size:1.3rem;margin:20px 0 6px;letter-spacing:-.03em}.person>p{color:var(--muted);font-size:.94rem;margin-bottom:15px}.person-actions{display:grid;gap:17px}.person-actions .button{font-size:.875rem;padding:10px 12px;min-height:44px}.carousel-track .portrait img,.carousel-track .portrait-initials{height:300px}.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:40px 24px}.faq-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:70px}.faq{border-bottom:1px solid var(--line);padding:23px 0}.faq:first-child{padding-top:0}.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:20px;font-size:1.05rem}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:1.5rem;line-height:1}.faq[open] summary span{transform:rotate(45deg)}.faq p{color:var(--muted);margin-top:20px;max-width:680px;margin-bottom:0}.narrow{max-width:850px}.split,.profile{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.split>img{height:430px;width:100%;border-radius:22px}.profile{grid-template-columns:.7fr 1.3fr;align-items:start}.profile-photo{border-radius:22px;overflow:hidden}.profile-photo img,.profile-photo .portrait-initials{height:500px;width:100%;object-fit:cover;object-position:center 20%}.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:65px;align-items:start}.prose h2{font-size:2rem;margin-top:35px}.prose h2:first-child{margin-top:0}.prose p{color:var(--muted);font-size:1.05rem}.prose a{text-decoration:underline}.prose .button{text-decoration:none}.detail-image{height:420px;width:100%;border-radius:20px;margin-bottom:45px}.feature-list{margin:30px 0}.feature-list>div{border-bottom:1px solid var(--line);padding:15px 0}.feature-list span{margin-right:16px;color:var(--accent)}.sidebar{background:var(--light);padding:28px;border-radius:18px;position:sticky;top:130px}.sidebar .button{width:100%;padding-inline:15px}.small-note{font-size:.875rem;color:var(--muted);margin-top:20px}.filters{display:flex;gap:10px;flex-wrap:wrap;margin:25px 0}.chip{font-size:.94rem;background:white;border:1px solid var(--line);border-radius:40px;padding:10px 19px}.chip[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.search-label{display:block;font-size:.94rem;font-weight:600;margin-bottom:10px}.search{width:min(100%,620px);padding:15px 18px;border:1px solid #95b1bf;border-radius:10px;background:white}.result-count{font-size:.875rem;color:var(--muted)}.empty{padding:30px;background:var(--light);border-radius:15px}.location-panel{background:var(--light);padding:28px;border-radius:16px;margin-top:30px}.location-panel h3{font-size:1.3rem}.location-panel p:last-child{margin-bottom:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.contact-panel{background:var(--light);padding:40px;border-radius:22px}.contact-panel h2{font-size:2rem}.contact-panel>.button{width:100%;margin:15px 0}.contact-option{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:20px 0}.booking-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start}.booking-panel{border:1px solid var(--line);padding:35px;border-radius:20px}.booking-panel fieldset{border:0;padding:0;margin:0 0 32px}.booking-panel fieldset:last-child{margin:0}.booking-panel legend{font-family:Manrope,sans-serif;font-size:1.25rem;font-weight:600;margin-bottom:20px}.booking-panel legend>span{font-size:.875rem;color:var(--accent);margin-right:12px}.choice-grid,.booking-people{display:grid;grid-template-columns:1fr 1fr;gap:12px}.choice{display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:18px;border-radius:12px;cursor:pointer}.choice:has(input:checked){background:var(--light);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.choice input{accent-color:var(--accent);width:18px;height:18px;flex-shrink:0}.choice strong{font-size:.94rem;font-weight:600;display:block}.choice small{display:block;font-size:.8rem;color:var(--muted);margin-top:5px}.booking-summary{padding:35px;border-radius:20px;background:var(--light);position:sticky;top:130px}.booking-summary h2{font-size:2rem}.booking-summary>.button{width:100%;margin-top:12px}.booking-summary>p{font-size:.94rem;color:var(--muted)}#booking-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;margin-bottom:20px}#booking-summary p{margin:4px 0}.muted{color:var(--muted)}
@media(max-width:1150px){.carousel-track>*{flex-basis:calc((100% - 48px)/3.2)}.team-grid{grid-template-columns:repeat(3,1fr)}.brand-logo{width:180px}}
@media(max-width:960px){.care-grid{grid-template-columns:repeat(2,1fr)}.team-grid{grid-template-columns:repeat(2,1fr)}.carousel-track>*{flex-basis:calc((100% - 24px)/2.3)}.article-layout{gap:30px;grid-template-columns:minmax(0,1fr) 260px}.split,.profile{gap:35px}.booking-layout{grid-template-columns:1fr}.booking-summary{position:static}.contact-grid{gap:30px}.faq-layout{gap:35px}}
@media(max-width:640px){.brand-logo{width:190px}.carousel-track{gap:16px}.carousel-track>*{flex-basis:77%}.carousel-track .portrait img,.carousel-track .portrait-initials{height:340px}.care-grid{grid-template-columns:1fr}.team-grid{grid-template-columns:1fr;gap:36px}.team-grid .portrait img,.team-grid .portrait-initials{height:420px}.faq-layout,.split,.profile,.article-layout,.contact-grid{grid-template-columns:1fr;gap:30px}.profile-photo img,.profile-photo .portrait-initials{height:430px}.split>img{height:300px}.detail-image{height:270px}.sidebar{position:static}.care-card>img{height:230px}.carousel-track .care-card>img{height:180px}.booking-panel,.booking-summary,.contact-panel{padding:24px}.booking-people{grid-template-columns:1fr}.choice-grid{grid-template-columns:1fr}.booking-panel legend{font-size:1.13rem}.carousel-controls>span{margin-right:auto}.contact-grid h2{font-size:2rem}}
.online-booking{display:grid;gap:10px;margin:20px 0}.online-booking .button{width:100%;background:var(--accent);border-color:var(--accent)}.profile-details{padding:25px 0 5px;border-top:1px solid var(--line);margin-top:25px}.profile-details h3{font-size:1.25rem}.profile-details p{font-size:1rem}
/* Shared cabinet calendar */
.booking-intro{padding:35px 0 28px}.booking-intro h1{font-size:clamp(2.3rem,5vw,4rem);margin:14px 0}.booking-intro p{max-width:750px;margin-bottom:0}.booking-section{padding:15px 0 75px}.booking-panel{border:1px solid #cce3e6;border-radius:24px;background:white;padding:30px}.booking-place{border:0;padding:0;margin:0 0 26px}.booking-place legend{font-weight:700;margin-bottom:14px}.booking-place .choice{background:#f4fafb}.booking-filters{display:grid;grid-template-columns:1fr 1.6fr;gap:20px;margin:24px 0}.booking-filters label,.patient-grid label,#patient-form>label,#prescription-fields>label{display:flex;flex-direction:column;gap:8px;font-weight:600}.booking-filters select,.patient-step input:not([type=checkbox]),.patient-step textarea{width:100%;padding:13px;border:1px solid #b9d5d9;border-radius:10px;background:white;color:#153e48;font:inherit;min-height:48px}.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.calendar-heading h2{font-size:1.65rem;margin:8px 0}.calendar-heading p{font-size:14px;margin:0;color:#4c6871}.calendar-toolbar{display:flex;justify-content:center;align-items:center;gap:20px;margin:22px 0}.calendar-slots{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;align-items:start}.calendar-day{border-radius:13px;background:#f1f7f8;padding:9px;min-height:145px}.calendar-day h3{font-size:14px;text-transform:capitalize;margin:8px 0 16px}.slot{display:flex;flex-direction:column;gap:4px;width:100%;border:1px solid #aad5db;border-radius:9px;background:#fff;color:#164c59;padding:11px 5px;margin:0 0 8px;cursor:pointer;font:inherit}.slot strong{font-size:17px}.slot span{font-size:13px;line-height:1.35}.slot small{font-size:12px;color:#55757c}.slot:hover,.slot[aria-pressed=true]{background:#075b69;color:white;border-color:#075b69}.slot:hover small,.slot[aria-pressed=true] small{color:#d3f5f3}.no-slot{font-size:13px;color:#667d83}.booking-help{display:flex;flex-wrap:wrap;gap:12px 25px;align-items:center;border-top:1px solid #dbe9ec;padding-top:25px;margin-top:30px}.booking-help span{font-size:14px}.home-booking{max-width:680px;padding:25px 0}.home-booking h2{font-size:clamp(2rem,4vw,3rem)}.patient-step{margin-top:40px;border-top:2px solid #36b9c4;padding-top:30px;scroll-margin-top:120px;max-width:800px}.patient-step h2{font-size:2rem}.selected-slot{background:#e9f7f7;padding:20px;border-radius:13px}.selected-slot p{margin:7px 0}.patient-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:25px 0}.patient-step .consent{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:12px;font-weight:400!important;margin:20px 0;font-size:14px}.consent input{width:20px;height:20px;flex-shrink:0}.patient-step .text-link{margin:15px}.patient-step textarea{resize:vertical}.booking-result{margin-top:30px;background:#e8f8f6;padding:30px;border-radius:20px}.booking-panel button:disabled{opacity:.55;cursor:default}.booking-panel [hidden]{display:none!important}#calendar-status,#reservation-status{font-size:15px;line-height:1.6}#reservation-status{font-weight:600}#booking-connection{margin-top:22px}#calendar-slots{scroll-margin-top:120px}@media(max-width:1000px){.calendar-slots{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:620px){.booking-panel{padding:18px;width:calc(100% - 28px)}.booking-filters,.patient-grid{grid-template-columns:1fr}.calendar-slots{grid-template-columns:repeat(2,minmax(0,1fr))}.calendar-heading{align-items:flex-start}.calendar-heading h2{font-size:1.35rem}.calendar-heading button{font-size:14px}.calendar-toolbar{gap:12px;font-size:14px}.booking-intro{padding-top:24px}.booking-place .choice-grid{grid-template-columns:1fr}.booking-help{flex-direction:column;align-items:flex-start}.slot span{font-size:14px}}
.calendar-day h3{letter-spacing:normal;line-height:1.5}

.more-slots{border:0;background:transparent;color:#075b69;font:inherit;font-size:13px;padding:12px 3px;cursor:pointer;text-decoration:underline;width:100%}

/* Portrait choices for the appointment journey. */
.provider-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.provider-card{position:relative;display:flex;align-items:center;gap:18px;min-height:108px;padding:20px 24px;border:1.5px solid #bbdce2;border-radius:18px;cursor:pointer;background:#fff;transition:background .15s,border-color .15s;min-width:0}.provider-card:hover{border-color:var(--accent);background:#f5fcfc}.provider-card:has(input:checked){border-color:var(--accent);background:#eaf9fa;box-shadow:inset 0 0 0 1px var(--accent)}.provider-card:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:4px}.provider-card input{position:absolute;opacity:0;width:1px;height:1px}.provider-card img,.provider-initials{width:64px;height:64px;flex:0 0 64px;border-radius:50%;object-fit:cover;object-position:center 24%}.provider-initials{display:grid;place-items:center;background:#d9f1f3;color:#126276;font-size:1.3rem;font-weight:600}.provider-copy{min-width:0}.provider-copy strong{display:block;font-size:1.15rem;line-height:1.4;font-weight:700}.provider-copy small{display:block;color:var(--muted);font-size:1rem;line-height:1.5;margin-top:4px}.provider-check{margin-left:auto;color:var(--accent);font-weight:700;opacity:0;flex-shrink:0}.provider-card:has(input:checked) .provider-check{opacity:1}.provider-all{justify-content:center}.provider-all .provider-check{position:absolute;right:24px}.provider-picker{padding-top:4px!important}.booking-filters{grid-template-columns:1fr;max-width:640px;margin:30px 0}.home-practitioner{display:flex;align-items:center;gap:18px;border:1px solid var(--line);padding:20px;border-radius:18px;margin:24px 0}.provider-card:has(input:disabled){opacity:.6;cursor:default}@media(max-width:620px){.provider-grid{grid-template-columns:1fr;gap:12px}.provider-card{padding:16px;min-height:96px;gap:14px}.provider-copy strong{font-size:1.05rem}.provider-copy small{font-size:.94rem}.provider-card img,.provider-initials{width:56px;height:56px;flex-basis:56px}.provider-all .provider-check{right:16px}}

.home-booking{max-width:none}.home-booking>p{max-width:680px}.home-team-title{font-size:1.25rem;margin:28px 0 16px}.home-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:26px}.home-team .home-practitioner{margin:0;min-width:0;background:#f7fcfc}.home-practitioner img{width:64px;height:64px;flex:0 0 64px;border-radius:50%;object-fit:cover;object-position:center 24%}@media(max-width:620px){.home-team{grid-template-columns:1fr}.home-team .home-practitioner{padding:16px}.home-practitioner img{width:56px;height:56px;flex-basis:56px}}

.photo-credit{font-size:.875rem;color:var(--muted);margin:8px 0 28px;line-height:1.6}.photo-credit a{text-decoration:underline;text-underline-offset:3px}

.care-card>img[src*="therapiemanuelle"],.detail-image[src*="therapiemanuelle"]{object-position:center 65%}

.partner-cabinet{background:#eaf6f8;border:1px solid #bcdde3;border-radius:24px;padding:clamp(24px,4vw,46px);margin-top:38px}.partner-cabinet .eyebrow{margin-bottom:18px}.partner-cabinet h2{font-size:clamp(1.6rem,3vw,2.35rem);line-height:1.25;margin-bottom:22px}.partner-cabinet p{font-size:1.08rem;line-height:1.8;max-width:860px;color:var(--muted);margin-bottom:22px}.partner-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.partner-actions .button{white-space:normal;text-align:center}.partner-section{padding-top:0}.partner-section .partner-cabinet{margin-top:0}@media(max-width:620px){.partner-cabinet{border-radius:18px}.partner-actions{flex-direction:column}.partner-actions .button{width:100%}.partner-cabinet p{font-size:1rem}}

.provider-card img[src*="mickael"],.home-practitioner img[src*="mickael"]{object-position:center 30%}

/* Match Quentin’s portrait scale to the rest of the team. */
.portrait img[src*="quentin-harmonise"],.profile-photo img[src*="quentin-harmonise"]{transform:none}

/* Care guides: readable summaries, sources and practical information. */
.care-hero h1{max-width:1000px}.care-hero .intro{max-width:880px}.care-toc{padding:24px;background:var(--light);border-radius:16px;margin:0 0 32px;display:grid;gap:10px}.care-toc a{font-size:.94rem}.care-article .detail-image{margin-bottom:16px}.care-article h2[id],.care-practical{scroll-margin-top:145px}.care-practical{border:1px solid var(--line);padding:26px;border-radius:16px;margin:38px 0}.care-practical h2{margin-top:0}.care-related ul{list-style:none;padding:0;display:grid;gap:12px}.care-sources{margin:40px 0 25px;padding-top:24px;border-top:1px solid var(--line)}.care-sources h2{font-size:1.2rem;margin:0 0 12px}.care-sources li,.care-sources p{font-size:.875rem;overflow-wrap:anywhere}.sidebar h2{font-size:1.55rem}.sidebar .button+.button{margin-top:12px}.care-hero .breadcrumb{display:block;line-height:1.7}.care-hero .breadcrumb a{display:inline}.care-article{min-width:0}@media(max-width:640px){.care-practical,.care-toc{padding:20px}.care-article h2{font-size:1.6rem}.care-hero h1{font-size:2.3rem;overflow-wrap:normal}}

.filter-surface .carousel-track>[hidden],.filter-surface .carousel[hidden]{display:none}

/* Polished carousel navigation and concise care descriptions. */
.carousel-track .care-body p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;line-height:1.55;margin-bottom:22px}
.carousel-controls{justify-content:space-between;gap:24px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}
.carousel-hint{display:flex;align-items:center;gap:10px;margin:0!important;font-size:.875rem;color:var(--muted)}
.carousel-hint:before{content:"";display:block;width:28px;height:2px;background:var(--turquoise);border-radius:2px}
.carousel-actions{display:flex;gap:10px}
.carousel-controls .carousel-button{width:auto;height:auto;min-height:46px;padding:11px 20px;border:1px solid var(--ink);border-radius:999px;background:white;color:var(--ink);font:600 .875rem/1 Manrope,sans-serif;letter-spacing:-.01em;transition:background .2s,color .2s,transform .2s,box-shadow .2s}
.carousel-controls .carousel-button-next{background:var(--ink);color:white}
.carousel-controls .carousel-button:hover:not(:disabled){background:var(--turquoise);border-color:var(--turquoise);color:var(--ink);transform:translateY(-1px);box-shadow:0 8px 20px rgba(18,63,90,.12)}
.carousel-controls .carousel-button:focus-visible{outline:3px solid rgba(112,221,221,.6);outline-offset:3px}
.carousel-controls .carousel-button:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}
@media(max-width:640px){.carousel-controls{align-items:stretch;flex-direction:column;gap:14px}.carousel-actions{display:grid;grid-template-columns:1fr 1fr}.carousel-controls .carousel-button{width:100%;min-height:48px}.carousel-hint{font-size:.8125rem}.carousel-track .care-body p{-webkit-line-clamp:3}}

.person-actions .profile-button{background:var(--light);border-color:transparent;color:var(--ink)}
.person-actions .profile-button:hover{background:#dff3f5;border-color:#b8dce2;color:var(--ink)}

/* Premium care guides: answer-first, local and easy to scan. */
.care-hero{position:relative;overflow:hidden;padding:48px 0 72px;background:linear-gradient(135deg,#e8f8f8 0%,#f7fbfc 62%,#dff5f6 100%)}
.care-hero:after{content:"";position:absolute;right:-100px;bottom:-170px;width:440px;height:440px;border:1px solid rgba(0,127,153,.14);border-radius:50%;box-shadow:0 0 0 52px rgba(112,221,221,.08),0 0 0 104px rgba(18,63,90,.035)}
.care-hero .wrap{position:relative;z-index:1}.care-hero .breadcrumb{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.care-hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.65fr);gap:72px;align-items:end}.care-hero h1{margin-bottom:24px}.care-hero h1 em{font-style:normal;color:var(--accent)}.care-hero .intro{font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.7;max-width:800px}.care-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.care-local-card{background:rgba(255,255,255,.86);border:1px solid rgba(255,255,255,.9);border-radius:22px;padding:28px;box-shadow:0 20px 50px rgba(18,63,90,.1);backdrop-filter:blur(12px)}.care-local-card>span{font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:700}.care-local-card strong{display:block;font:600 1.35rem/1.3 Manrope,sans-serif;margin:12px 0}.care-local-card p{font-size:.94rem;color:var(--muted);margin-bottom:16px}.care-local-card a{font-weight:700;color:var(--accent);font-size:.9rem}
.care-main{padding-top:0;background:linear-gradient(#fff 0 76%,#f7fbfc 100%)}.care-highlights{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:22px;overflow:hidden;transform:translateY(-28px);box-shadow:0 15px 45px rgba(18,63,90,.08)}.care-highlights article{background:#fff;padding:28px 30px;min-height:190px}.care-highlights span,.care-section-number,.care-steps span,.care-practical-grid article>span{display:block;font:700 .78rem/1 Manrope,sans-serif;letter-spacing:.12em;color:var(--accent)}.care-highlights h2{font-size:1.15rem;margin:34px 0 10px;letter-spacing:-.025em}.care-highlights p{font-size:.92rem;color:var(--muted);line-height:1.6;margin:0}.care-main .article-layout{margin-top:25px;grid-template-columns:minmax(0,1fr) 330px;gap:76px}.care-photo{position:relative;margin-bottom:26px}.care-photo .detail-image{height:clamp(340px,43vw,520px);border-radius:26px;margin:0;box-shadow:0 20px 50px rgba(18,63,90,.08)}.care-photo .photo-credit{margin:10px 4px 0}.care-toc{padding:0;background:transparent;border-top:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:0;margin:42px 0 18px;display:grid;grid-template-columns:160px 1fr;gap:25px;align-items:start}.care-toc>span{padding:24px 0;text-transform:uppercase;letter-spacing:.11em;font-size:.78rem;font-weight:700;color:var(--accent)}.care-toc>div{display:flex;flex-wrap:wrap;gap:9px;padding:17px 0}.care-toc a{font-size:.84rem;text-decoration:none;border:1px solid var(--line);border-radius:999px;padding:7px 12px;background:#fff}.care-toc a:hover{background:var(--light)}
.care-copy-block{padding:42px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:60px 1fr;gap:20px}.care-copy-block h2{font-size:clamp(1.65rem,2.7vw,2.35rem);margin:0 0 16px}.care-copy-block p{font-size:1.07rem;line-height:1.85;max-width:760px;margin:0}.care-section-number{padding-top:10px}.care-journey{padding:54px 0}.care-journey h2{font-size:clamp(1.8rem,3vw,2.55rem);margin-bottom:28px}.care-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.care-steps>div{position:relative;min-height:135px;background:var(--light);border:1px solid transparent;border-radius:18px;padding:22px}.care-steps>div:after{content:"";position:absolute;right:18px;top:18px;width:36px;height:1px;background:var(--turquoise)}.care-steps p{margin:28px 0 0;color:var(--ink);font-size:1rem;font-weight:600;line-height:1.5}
.care-practical{padding:44px;margin:16px 0 58px;background:var(--ink);color:#fff;border:0;border-radius:26px}.care-practical h2{font-size:clamp(1.8rem,3vw,2.6rem);max-width:680px}.care-practical .eyebrow{color:var(--turquoise)}.care-practical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:32px}.care-practical-grid article{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:17px;padding:22px;min-width:0}.care-practical-grid article>span{color:var(--turquoise)}.care-practical-grid h3{font-size:1.12rem;margin:24px 0 10px;letter-spacing:-.02em}.care-practical-grid p{font-size:.88rem;color:#d0e5eb;line-height:1.65}.care-practical-grid a{font-size:.84rem;color:var(--turquoise);font-weight:700;text-decoration:none}.care-local-answer{margin-top:24px;padding:22px 24px;background:#fff;color:var(--ink);border-radius:16px}.care-local-answer strong{font:600 1.1rem/1.4 Manrope,sans-serif}.care-local-answer p{font-size:.94rem;margin:7px 0 0}.care-local-answer a{color:var(--accent)}
.care-faq{padding:12px 0 50px}.care-faq h2{font-size:clamp(1.8rem,3vw,2.5rem);margin-bottom:28px}.care-faq .faq{padding:22px 0}.care-related{padding:50px 0;border-top:1px solid var(--line)}.care-related h2{font-size:clamp(1.7rem,2.8vw,2.35rem);max-width:720px}.care-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.care-related-grid>a{display:flex;flex-direction:column;min-height:175px;padding:21px;border:1px solid var(--line);border-radius:17px;background:#fff;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}.care-related-grid>a:hover{transform:translateY(-3px);border-color:#9bcdd3;box-shadow:0 12px 28px rgba(18,63,90,.08)}.care-related-grid span{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}.care-related-grid strong{font:600 1rem/1.4 Manrope,sans-serif;margin:16px 0}.care-related-grid b{font-size:.82rem;margin-top:auto;color:var(--accent)}.care-sources{margin:5px 0 24px;padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.care-sources h2{font-size:1.15rem}.care-sources ul{padding-left:18px}.care-sources li,.care-sources p{font-size:.83rem;line-height:1.65}.care-back{display:inline-flex;margin-top:18px}.care-sidebar{top:126px;border:1px solid #d7e8eb;padding:30px;background:linear-gradient(145deg,#f1fbfb,#e7f5f7);box-shadow:0 14px 40px rgba(18,63,90,.06)}.care-sidebar h2{font-size:1.75rem}.care-sidebar>p{font-size:.96rem;color:var(--muted)}.care-sidebar .button{margin:5px 0}.care-sidebar .button.secondary{background:#fff}.sidebar-details{margin:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0}.sidebar-details p{font-size:.84rem;color:var(--muted);margin:13px 0}.sidebar-details strong{color:var(--ink)}
@media(max-width:960px){.care-hero-grid{grid-template-columns:1fr;gap:32px}.care-local-card{max-width:620px}.care-main .article-layout{grid-template-columns:minmax(0,1fr) 270px;gap:32px}.care-highlights article{padding:23px}.care-practical{padding:32px}.care-practical-grid{grid-template-columns:1fr}.care-related-grid{grid-template-columns:1fr 1fr}.care-toc{grid-template-columns:1fr;gap:0}}
@media(max-width:700px){.care-hero{padding:30px 0 60px}.care-hero:after{display:none}.care-hero h1{font-size:2.6rem}.care-hero-actions{display:grid}.care-hero-actions .button{width:100%}.care-local-card{padding:22px}.care-main .article-layout{grid-template-columns:1fr}.care-highlights{grid-template-columns:1fr;transform:translateY(-22px)}.care-highlights article{min-height:0}.care-highlights h2{margin-top:22px}.care-photo .detail-image{height:290px;border-radius:20px}.care-toc{margin-top:32px}.care-toc>span{padding-bottom:5px}.care-toc>div{flex-wrap:nowrap;overflow:auto;padding-bottom:20px}.care-toc a{white-space:nowrap}.care-copy-block{grid-template-columns:42px 1fr;padding:34px 0}.care-copy-block p{font-size:1rem}.care-steps{grid-template-columns:1fr}.care-practical{padding:24px;margin-inline:-4px;border-radius:20px}.care-related-grid{grid-template-columns:1fr}.care-sidebar{position:static}.care-local-answer{padding:18px}}

/* Parcours de rendez-vous */
.booking-progress{margin:8px 0 22px;padding:22px 24px;border:1px solid #cce3e6;border-radius:18px;background:#f7fbfc;overflow:hidden}.booking-progress ol{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:0;list-style:none}.booking-progress li{position:relative;display:grid;grid-template-columns:34px 1fr;column-gap:11px;align-items:center;color:#69818a}.booking-progress li:not(:last-child)::after{content:"";position:absolute;top:17px;left:45px;right:12px;height:2px;background:#d3e5e8}.booking-progress li>span{position:relative;z-index:1;display:grid;place-items:center;width:34px;height:34px;border:2px solid #bfd6db;border-radius:50%;background:white;color:#55717a;font-weight:700}.booking-progress li>strong{font-size:.94rem;color:inherit}.booking-progress li>small{grid-column:2;font-size:.75rem;margin-top:-7px}.booking-progress li.is-complete,.booking-progress li[aria-current=step]{color:#0c5968}.booking-progress li.is-complete>span{border-color:#70dddd;background:#70dddd;color:#0b4652}.booking-progress li.is-complete:not(:last-child)::after{background:#70dddd}.booking-progress li[aria-current=step]>span{border-color:#0c5968;background:#0c5968;color:white;box-shadow:0 0 0 5px #dff5f5}.booking-selection-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:0 0 32px;border:1px solid #d5e6e9;border-radius:15px;overflow:hidden;background:#d5e6e9}.booking-selection-summary>div{position:relative;min-width:0;padding:16px 18px 15px;background:white}.booking-selection-summary span{display:block;margin-bottom:5px;color:#647f88;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.booking-selection-summary strong{display:block;min-height:2.6em;padding-right:10px;color:#123f5a;font-size:.9rem;line-height:1.3}.booking-selection-summary button{padding:4px 0;border:0;background:transparent;color:#007f99;font:inherit;font-size:.78rem;font-weight:700;cursor:pointer}.booking-selection-summary button:hover{text-decoration:underline}.booking-filters,.provider-picker,#calendar-slots{scroll-margin-top:130px}.booking-filters{grid-template-columns:minmax(0,560px);margin:6px 0 30px}.booking-filters label{font-family:Manrope,sans-serif;font-size:1.2rem}.booking-filters select{margin-top:3px;font-family:Inter,sans-serif;font-size:1rem}.provider-picker{padding-top:4px!important}
@media(max-width:760px){.booking-progress{padding:18px}.booking-progress ol{grid-template-columns:repeat(2,1fr);row-gap:20px}.booking-progress li:nth-child(2)::after{display:none}.booking-selection-summary{grid-template-columns:1fr 1fr}.booking-selection-summary strong{min-height:2.4em}}
@media(max-width:460px){.booking-progress{padding:16px 14px}.booking-progress li{grid-template-columns:30px 1fr;column-gap:8px}.booking-progress li>span{width:30px;height:30px}.booking-progress li:not(:last-child)::after{top:15px;left:38px;right:8px}.booking-progress li>strong{font-size:.84rem}.booking-progress li>small{font-size:.68rem}.booking-selection-summary{grid-template-columns:1fr}.booking-selection-summary strong{min-height:auto}.booking-selection-summary>div{padding:13px 16px}}

/* Parcours compact en accordéon */
.booking-accordion{display:grid;gap:12px}.booking-stage{border:1px solid #cfe1e5;border-radius:17px;background:#fff;overflow:hidden;transition:border-color .2s,box-shadow .2s}.booking-stage[open]{border-color:#70bfc9;box-shadow:0 12px 35px rgba(18,63,90,.08)}.booking-stage summary{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:76px;padding:14px 20px;cursor:pointer;list-style:none}.booking-stage summary::-webkit-details-marker{display:none}.stage-number{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#e7f5f6;color:#0b6878;font-size:.8rem;font-weight:800}.stage-title{display:grid;gap:3px;color:#123f5a;font-family:Manrope,sans-serif;font-size:1rem;font-weight:750}.stage-title small{color:#587580;font-family:Inter,sans-serif;font-size:.86rem;font-weight:500}.stage-action{padding:8px 13px;border-radius:999px;background:#edf8fa;color:#007f99;font-size:.78rem;font-weight:750}.booking-stage.is-complete .stage-number{background:#70dddd;color:#093e4a}.booking-stage[open] .stage-number{background:#123f5a;color:#fff}.booking-stage[open] .stage-action{background:#123f5a;color:#fff}.booking-stage.is-locked summary{cursor:not-allowed}.booking-stage.is-locked .stage-number,.booking-stage.is-locked .stage-title,.booking-stage.is-locked .stage-action{opacity:.48}.booking-stage-body{padding:26px 24px 28px;border-top:1px solid #e1ecee;background:#fbfdfd}.booking-stage-body .booking-place,.booking-stage-body .provider-picker{margin:0}.booking-stage-body .booking-filters{margin:0}.booking-stage-body .patient-step{max-width:none;margin-top:0;padding-top:0;border-top:0}.booking-stage-body .booking-result{margin-top:0}#cabinet-booking{display:grid;gap:12px}#cabinet-booking[hidden]{display:none}.home-booking{margin:0;padding:30px;border:1px solid #cfe1e5;border-radius:17px;background:#f1f9fa}.required-note{margin:0 0 20px;color:#587580;font-size:.88rem}.patient-address{grid-column:1/-1}.booking-panel{background:#fff}.booking-help{margin-top:22px}.booking-stage{scroll-margin-top:120px}
@media(max-width:620px){.booking-stage summary{grid-template-columns:38px minmax(0,1fr) auto;gap:10px;padding:12px 14px}.stage-number{width:34px;height:34px}.stage-action{padding:7px 10px;font-size:.72rem}.stage-title{font-size:.94rem}.stage-title small{font-size:.78rem}.booking-stage-body{padding:20px 16px 22px}.home-booking{padding:22px 18px}.patient-address{grid-column:auto}}
.provider-eligibility{margin:-8px 0 18px;color:#587580;font-size:.9rem}.provider-card[hidden]{display:none!important}.provider-all .provider-copy small{margin-top:4px;color:#44707b}
.slot{position:relative;justify-content:flex-end;min-height:118px;overflow:hidden;padding:48px 9px 10px;background-color:#0b4656;background-image:linear-gradient(180deg,rgba(5,48,62,.04) 10%,rgba(5,48,62,.42) 48%,rgba(5,48,62,.97) 100%),var(--slot-photo);background-size:cover;background-position:center 24%;color:#fff;border-color:#8ccfd5;box-shadow:0 5px 16px rgba(11,70,86,.12);text-align:left;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.slot strong{font-size:18px;line-height:1.1;text-shadow:0 1px 5px rgba(0,0,0,.32)}.slot small{color:#d9f5f4}.slot:hover,.slot[aria-pressed=true]{background-color:#075b69;background-image:linear-gradient(180deg,rgba(4,47,61,.02) 8%,rgba(4,47,61,.5) 46%,rgba(4,47,61,.99) 100%),var(--slot-photo);border-color:#5fe0df;box-shadow:0 8px 22px rgba(7,91,105,.24);transform:translateY(-2px)}.slot-practitioner{display:block;min-width:0;line-height:1.2;text-shadow:0 1px 5px rgba(0,0,0,.38)}.slot-practitioner span{font-size:12px;font-weight:700;min-width:0}@media(max-width:620px){.slot{min-height:108px;padding:42px 8px 9px}.slot-practitioner span{font-size:11px}}

/* Fiche praticien détaillée */
.practitioner-intro{padding-top:48px}.practitioner-hero{display:grid;grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:72px;align-items:start}.practitioner-hero .profile-photo{position:relative;box-shadow:0 22px 48px rgba(18,63,90,.14)}.practitioner-hero .profile-photo img{height:620px}.profile-photo-caption{position:absolute;left:18px;right:18px;bottom:18px;padding:16px 18px;border-radius:13px;background:rgba(8,58,78,.9);color:#fff;backdrop-filter:blur(8px);display:flex;justify-content:space-between;gap:16px;align-items:center}.profile-photo-caption span{font-size:.84rem;color:#9eeced}.profile-photo-caption strong{font-size:.84rem}.practitioner-hero article>h2{font-size:clamp(2rem,4vw,3.35rem);margin:18px 0 26px}.practitioner-lead{font-size:1.17rem!important;color:var(--ink)!important}.practitioner-hero article>p{font-size:1.03rem;color:var(--muted);max-width:720px}.practitioner-facts{display:grid;grid-template-columns:1fr 1fr;margin:34px 0 0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.practitioner-facts>div{padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.practitioner-facts dt{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:700}.practitioner-facts dd{margin:8px 0 0;font-size:.96rem;font-weight:600;line-height:1.45}.practitioner-approach .section-heading>p{max-width:420px}.approach-grid,.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.approach-grid article{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px}.approach-grid article>span{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#d8f4f4;color:var(--ink);font-size:.8rem;font-weight:700;margin-bottom:40px}.approach-grid h3,.expertise-grid h3{font-size:1.32rem}.approach-grid p,.expertise-grid p{color:var(--muted);margin-bottom:0}.practitioner-expertise .wrap>h2{font-size:clamp(2rem,4vw,3.2rem);margin:18px 0 42px}.expertise-grid article{padding:28px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(145deg,#fff 0%,#f2fafb 100%)}.expertise-grid article>span{display:inline-block;font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:700;margin-bottom:34px}.practitioner-training{background:#123f5a;color:#fff}.training-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.training-layout>.training-list{border-top:1px solid rgba(255,255,255,.24)}.training-layout>div:first-child{position:sticky;top:130px}.training-layout h2{font-size:clamp(2rem,4vw,3.1rem);margin:18px 0}.training-layout>div:first-child p{color:#c8dce4}.training-list article{padding:28px 0;border-bottom:1px solid rgba(255,255,255,.24)}.training-list small{color:#70dddd;text-transform:uppercase;letter-spacing:.1em}.training-list h3{font-size:1.45rem;margin:8px 0}.training-list p{color:#c8dce4;margin:0}.profile-booking{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:end;padding:52px;border-radius:24px;background:#edf8fa}.profile-booking h2{font-size:clamp(2rem,4vw,3.1rem);margin:14px 0}.profile-booking p{max-width:650px;color:var(--muted)}.profile-booking-actions{display:grid;gap:12px}.profile-booking-actions .button{width:100%}.schedule-card{margin-top:28px;padding:22px;border-radius:16px;background:#fff;border:1px solid var(--line)}.schedule-card h3{font-size:1.08rem;margin-bottom:14px}.schedule-card>div{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-top:1px solid #e3edef;font-size:.9rem}.schedule-card>div strong{white-space:nowrap}.schedule-card small{display:block;color:var(--muted);margin-top:12px;line-height:1.5}.inami-source{display:block;text-align:center;font-size:.8rem;color:var(--muted);padding:8px}.inami-source:hover{color:var(--accent)}@media(max-width:960px){.practitioner-hero{gap:38px;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)}.practitioner-hero .profile-photo img{height:540px}.training-layout{gap:45px}.profile-booking{gap:35px;padding:38px}}@media(max-width:700px){.practitioner-intro{padding-top:24px}.practitioner-hero,.training-layout,.profile-booking{grid-template-columns:1fr}.practitioner-hero{gap:34px}.practitioner-hero .profile-photo img{height:470px}.profile-photo-caption{flex-direction:column;align-items:flex-start;gap:3px}.practitioner-facts,.approach-grid,.expertise-grid{grid-template-columns:1fr}.training-layout>div:first-child{position:static}.approach-grid article>span{margin-bottom:24px}.profile-booking{padding:28px}.practitioner-facts>div{padding:17px}}

/* Linked portrait domains: disclosure on touch, reveal on hover and focus. */
.portrait-frame,.profile-photo{position:relative}.portrait-domains{position:absolute;z-index:2;left:10px;right:10px;bottom:10px;border-radius:12px;background:rgba(18,63,90,.96);color:white;overflow:hidden}.portrait-domains summary{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;min-height:44px;cursor:pointer;list-style:none;font-size:.875rem;font-weight:700}.portrait-domains summary::-webkit-details-marker{display:none}.portrait-domains[open] summary>span{transform:rotate(45deg)}.portrait-domain-links{display:grid;gap:8px;padding:0 12px 12px;max-height:235px;overflow:auto}.portrait-domain-links a{display:grid;gap:3px;border-radius:8px;padding:9px 11px;min-height:44px;background:rgba(255,255,255,.12);color:#fff;text-decoration:none;line-height:1.35}.portrait-domain-links small{font-size:.75rem;color:#9aeeee}.portrait-domain-links span{font-size:.875rem;font-weight:600}.portrait-domain-links a:hover,.portrait-domain-links a:focus-visible{background:#70dddd;color:#123f5a;outline:2px solid white;outline-offset:-2px}.portrait-domain-links a:hover small,.portrait-domain-links a:focus-visible small{color:#123f5a}.portrait-frame .person-tag{top:12px;bottom:auto}.profile-photo-caption{bottom:72px}.profile-photo:has(.portrait-domains[open]) .profile-photo-caption{visibility:hidden}.portrait-domains summary:focus-visible{outline:3px solid #70dddd;outline-offset:-3px}
@media(min-width:701px) and (hover:hover) and (pointer:fine){.portrait-domains{inset:0;border-radius:16px;background:linear-gradient(180deg,rgba(18,63,90,.12),rgba(18,63,90,.95) 45%);opacity:0;transition:opacity .2s;display:flex;flex-direction:column;justify-content:flex-end;pointer-events:none}.portrait-frame:hover .portrait-domains,.portrait-frame:focus-within .portrait-domains,.profile-photo:hover .portrait-domains,.profile-photo:focus-within .portrait-domains{opacity:1;pointer-events:auto}.portrait-domains:not([open])>.portrait-domain-links{display:grid}.portrait-domain-links{max-height:calc(100% - 48px);padding-bottom:16px}.portrait-domains summary>span{display:none}.profile-photo:hover .profile-photo-caption,.profile-photo:focus-within .profile-photo-caption{visibility:hidden}.profile-photo-caption{bottom:18px}}
@media(prefers-reduced-motion:reduce){.portrait-domains{transition:none}}
@media(min-width:701px) and (hover:hover) and (pointer:fine){.profile-photo:has(.portrait-domains[open]) .profile-photo-caption{visibility:visible}.profile-photo:hover:has(.portrait-domains[open]) .profile-photo-caption,.profile-photo:focus-within:has(.portrait-domains[open]) .profile-photo-caption{visibility:hidden}}

/* First patient choice on the home page */
.home-choices{margin-top:28px}.home-choices h2{font-size:1rem;letter-spacing:0;font-weight:700;margin:0 0 14px}.home-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.home-choice{display:flex;flex-direction:column;align-items:flex-start;padding:22px 20px;border:1px solid #b6d6e0;border-radius:18px;gap:5px;transition:box-shadow .2s,transform .2s;background:#fff;color:#123f5a}.home-choice:hover{text-decoration:none;transform:translateY(-3px);box-shadow:0 12px 26px #123f5a18}.home-choice:focus-visible{outline:3px solid #0086a5;outline-offset:4px}.home-choice-cabinet{background:#123f5a;color:#fff;border-color:#123f5a}.home-choice-label{font-family:Manrope,sans-serif;font-size:1.4rem;font-weight:700;letter-spacing:-.035em}.home-choice-detail{font-size:.85rem;line-height:1.5;opacity:.88}.home-choice-action{font-size:.88rem;font-weight:700;margin-top:16px;padding-bottom:3px;border-bottom:1px solid currentColor;line-height:1.5}.home-choice-note{font-size:.73rem;line-height:1.5;opacity:.85;margin-top:3px}.home-choice-cabinet .home-choice-action{color:#80e3e5}.home-choice-domicile{background:#eaf8fa}.hero-copy .hero-caption{margin-top:24px}@media(max-width:700px){.home-choices{margin-top:22px}.home-choice-grid{grid-template-columns:1fr}.home-choice{padding:17px 20px;gap:2px}.home-choice-label{font-size:1.3rem}.home-choice-action{margin-top:9px}.hero .hero-copy>h1{font-size:2.65rem}.hero .hero-copy>p{font-size:1rem}.home-choice-note{font-size:.78rem}}@media(prefers-reduced-motion:reduce){.home-choice{transition:none}.home-choice:hover{transform:none}}

@media(max-width:700px){.mobile-bar{grid-template-columns:1fr 1.35fr;padding:12px 16px max(12px,env(safe-area-inset-bottom));gap:10px;border-top:1px solid var(--line);background:rgba(255,255,255,.97);backdrop-filter:blur(12px);box-shadow:0 -8px 30px #123f5a12}.mobile-bar .button{min-height:48px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:.9rem;line-height:1.3;text-align:center;padding:12px 10px}.mobile-bar .button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}body:has(.mobile-bar) footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}html{scroll-padding-bottom:100px}}

@media(max-width:700px){nav.mobile-bar{display:grid;position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;margin:0;z-index:40}}

/* Mobile booking: compact horizontal days and reserved action-bar space. */
@media(max-width:700px){
 body:has(.mobile-bar){padding-bottom:calc(100px + env(safe-area-inset-bottom))}
 body:has(.mobile-bar) footer{padding-bottom:32px}
 html{scroll-padding-bottom:calc(112px + env(safe-area-inset-bottom))}
 .calendar-slots{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:156px;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:0 0 12px;max-width:100%;min-width:0}
 .calendar-day{min-width:0;scroll-snap-align:start;padding:8px;min-height:112px}
 .calendar-day h3{font-size:14px;margin:4px 0 10px;line-height:1.4}
 .calendar-slots:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
 .calendar-slots .slot{min-height:138px;padding:64px 9px 10px;background-position:center 22%}
 .slot-practitioner span{font-size:14px;line-height:1.3;overflow-wrap:normal}
 .calendar-slots .slot small{font-size:12px}
 .provider-card .provider-copy strong{font-size:14px}
 .partner-cabinet{margin-top:24px}
}

/* Keep actions attached to the browser viewport, including Safari's dynamic toolbar. */
.mobile-content{display:contents}
@media(max-width:700px){
 body:has(.mobile-bar){display:block;height:auto;min-height:100%;overflow:visible;padding-bottom:calc(var(--mobile-actions-height,100px) + 20px)}
 body:has(.mobile-bar)>.mobile-content{display:contents}
 body:has(.mobile-bar)>nav.mobile-bar{display:grid;position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;margin:0;z-index:40;padding-bottom:max(12px,env(safe-area-inset-bottom))}
 body:has(.mobile-bar) footer{padding-bottom:32px}
}
