.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px 24px;align-items:start;padding:12px 0 48px}
.team-card{min-width:0}
.team-card:nth-child(even){padding-top:40px}
.profile-open{display:block;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;color:inherit;font:inherit}
.profile-open[hidden],.profile-details[hidden]{display:none}
.team-portrait{display:block;position:relative;aspect-ratio:4/5;overflow:hidden;background:#e7eeed;border-radius:3px}
.team-portrait img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transition:transform .45s ease}
.team-portrait img.profile-illustration{object-fit:contain;padding:30px;background:#eff3f2}
.profile-plus{position:absolute;right:0;top:0;display:grid;place-items:center;width:44px;height:44px;background:var(--paper,#f7f9f8);color:var(--navy);font-size:30px;font-weight:300;transition:background .25s,color .25s}
.profile-hint{position:absolute;inset:auto 12px 12px;display:flex;justify-content:space-between;padding:12px;background:#fffef2f2;color:#073d4e;font-size:12px;font-weight:600;transform:translateY(65px);transition:transform .3s}
.profile-open:hover img{transform:scale(1.035)}
.profile-open:hover .profile-plus,.profile-open:focus-visible .profile-plus{background:#087c8c;color:#fff}
.profile-open:hover .profile-hint,.profile-open:focus-visible .profile-hint{transform:translateY(0)}
.profile-open:focus-visible,.team-booking:focus-visible,.profile-close:focus-visible{outline:3px solid #087c8c;outline-offset:5px}
.team-card-heading{padding-top:19px}
.team-card-heading h3{font-size:21px;line-height:1.2;letter-spacing:-.5px;margin:0 0 8px}
.team-card-heading p{font-size:14px;line-height:1.4;color:var(--muted);margin:0}
.practice-icons{list-style:none;display:flex;flex-wrap:wrap;gap:8px 12px;margin:16px 0 20px;padding:0;min-height:44px;align-content:start}
.practice-icons li{display:inline-flex;gap:5px;align-items:center;font-size:12px;line-height:1.4;color:#3c636a}
.practice-icons svg{width:23px;height:23px;fill:none;stroke:#087b87;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex:none}
a.team-booking{position:relative;isolation:isolate;display:flex;align-items:center;gap:10px;min-height:56px;width:100%;padding:8px 14px;color:#fff;text-decoration:none;border:0;font-weight:600;font-size:13px}
a.team-booking::after{content:"";position:absolute;inset:0 28px 0 0;z-index:-1;background:#0875bd;border-radius:4px;transition:right .3s ease,background .3s}
a.team-booking::before{width:26px;height:30px;background:url('assets/doctolib-icon-blue.svg') center/13px 17px no-repeat #fff;border-radius:5px}
.booking-copy{display:flex;flex-direction:column;gap:2px;white-space:nowrap}
.booking-copy small{font-size:12px;font-weight:400;color:#fff}
.booking-arrow{margin-left:auto;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fff;color:#0875bd;transition:transform .3s}
a.team-booking:hover::after,a.team-booking:focus-visible::after{right:0;background:#075f9b}
a.team-booking:hover .booking-arrow{transform:rotate(45deg)}
.portrait-placeholder{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;background:#e8efed;color:#2d6b75}
.portrait-placeholder>span{font-size:60px;font-weight:300;letter-spacing:-3px}
.portrait-placeholder small{font-size:12px;letter-spacing:1px}
.portrait-logo{height:100%;display:flex;align-items:center;justify-content:center;background:#fff}
.portrait-logo img{width:58%;height:auto;max-height:58%;object-fit:contain}
.drawer-portrait .portrait-logo img{width:min(58%,256px);max-height:72%}
.profile-details{margin-top:15px;font-size:14px}
.practitioner-dialog{position:fixed;inset:0 0 0 auto;margin:0;width:min(570px,100%);height:100dvh;max-width:100%;max-height:100dvh;padding:0;border:0;background:#f7f9f8;color:#073d4e;overflow-y:auto;overscroll-behavior:contain;box-shadow:-20px 0 80px #002b3a30}
.practitioner-dialog::backdrop{background:#032e3f65;backdrop-filter:blur(3px)}
.practitioner-dialog[open]{animation:profile-slide .3s ease-out}
.profile-close{position:sticky;top:16px;float:right;margin:16px 16px -64px 0;z-index:3;width:46px;height:46px;border:1px solid #d6e1e2;border-radius:50%;background:#fff;color:#073d4e;font-size:30px;cursor:pointer}
.drawer-portrait{height:320px;background:#e6eceb;overflow:hidden}
.drawer-portrait img{width:100%;height:100%;object-fit:contain;object-position:center}
.drawer-portrait img.profile-illustration{padding:36px}
.drawer-copy{padding:30px 36px 16px}
.drawer-copy h2{font-size:36px;line-height:1.1;letter-spacing:-1px;margin:14px 0 10px}
.practitioner-title{font-size:14px;color:#526b73}
.drawer-copy .practice-icons{margin:22px 0;min-height:0}
.drawer-copy .practice-icons li{font-size:13px}
.drawer-copy h3,.drawer-copy h4{font-size:17px;margin:26px 0 12px}
.profile-summary{font-size:15px;line-height:1.8;color:#395966}
.practice-list{padding-left:18px;font-size:15px;line-height:1.65;color:#395966;columns:2;column-gap:25px}
.practice-list li{break-inside:avoid;margin-bottom:8px}
.practice-groups{margin:0}
.practice-groups>div{padding:14px 0;border-bottom:1px solid #d7e2e4}
.practice-groups dt{font-size:15px;font-weight:600;line-height:1.4}
.practice-groups dd{font-size:15px;color:#395966;line-height:1.65;margin:7px 0 0}
.profile-methods{font-size:15px;line-height:1.7;color:#395966}
.team-card>.practice-icons{min-height:70px}
.practice-icons li{max-width:100%}
.practice-icons li span{overflow-wrap:anywhere}
.profile-note{font-size:13px;line-height:1.6;color:#4e6570;margin:24px 0 12px}
.drawer-booking{position:sticky;bottom:0;padding:16px 36px 24px;background:#f7f9f8f5;border-top:1px solid #d7e2e4}
.drawer-booking .team-booking{max-width:360px;margin:auto}
@keyframes profile-slide{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(max-width:1100px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.team-card:nth-child(even){padding-top:0}.team-card:nth-child(3n+2){padding-top:32px}}
@media(max-width:760px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px}.team-card:nth-child(3n+2){padding-top:0}.team-card:nth-child(even){padding-top:24px}.team-card-heading h3{font-size:19px}.practice-icons{min-height:64px}.profile-hint{display:none}a.team-booking{padding-inline:9px;gap:7px;font-size:13px}.booking-arrow{width:24px;height:24px;flex:none}a.team-booking::after{right:0}}
@media(max-width:430px){.team-grid{grid-template-columns:1fr;gap:32px;max-width:330px;margin-inline:auto}.team-card:nth-child(even){padding-top:0}.team-portrait{aspect-ratio:1/1}.team-card-heading h3{font-size:24px}.practice-icons{min-height:0}.practice-icons li{font-size:12px}.team-card-heading p{font-size:13px}.drawer-copy{padding:26px 22px 12px}.drawer-copy h2{font-size:30px}.drawer-portrait{height:290px}.drawer-booking{padding:12px 22px 20px}.practice-list{columns:1}}
@media(prefers-reduced-motion:reduce){.practitioner-dialog[open]{animation:none}.team-portrait img,.profile-plus,.profile-hint,a.team-booking::after,.booking-arrow{transition:none}}
