/* Vitalis patient photography — private website preview until owner approval. */
.patient-showcase{background:#0f181a; padding-top:clamp(95px,10vw,155px); padding-bottom:clamp(98px,10vw,145px);}
.patient-showcase__heading{display:flex;flex-direction:column;align-items:flex-start;gap:30px;margin-bottom:clamp(45px,6vw,80px);}
.patient-showcase__eyebrow,.patient-gallery__eyebrow{font-family:var(--font-technical);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 34px;}
.patient-showcase__heading h2{max-width:12ch;margin:0;}
.patient-showcase__intro{font-size:clamp(18px,1.5vw,23px);line-height:1.45;color:var(--muted);margin:0;max-width:58ch;}
.patient-showcase__feature{margin:0;background:#20292a;}
.patient-showcase__feature img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;}
.patient-showcase__feature figcaption{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px 25px;padding:18px 0 0;color:var(--muted);font-family:var(--font-technical);font-size:14px;letter-spacing:.015em;}
.patient-showcase__bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:40px;align-items:end;margin-top:clamp(40px,5vw,72px);}
.patient-showcase__bottom p{max-width:47ch;font-size:clamp(19px,1.6vw,25px);line-height:1.42;color:var(--ink);margin:0;}
.patient-gallery__open{border:0;background:var(--accent);color:var(--dark);display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-width:310px;min-height:64px;padding:16px 20px;font-family:var(--font-body);font-weight:600;cursor:pointer;transition:background .2s,color .2s;}
.patient-gallery__open:hover{background:#f0f0ef;color:#101417;}

.patient-gallery{color:var(--ink);border:0;background:#0b1416;padding:0;width:min(1190px,calc(100vw - 42px));max-width:none;max-height:calc(100dvh - 42px);overflow:auto;}
.patient-gallery[open]{display:flex;flex-direction:column;}
.patient-gallery::backdrop{background:rgba(0,6,7,.91);}
.patient-gallery__header{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:clamp(19px,2.8vw,36px);}
.patient-gallery__header h2{font-size:clamp(32px,3.4vw,54px);line-height:1;margin:0;}
.patient-gallery__eyebrow{font-size:13px;margin:0 0 13px;}
.patient-gallery__close{display:inline-flex;align-items:center;gap:16px;color:var(--ink);font-size:14px;background:#1e2a2b;border:0;padding:10px 14px;cursor:pointer;}
.patient-gallery__close span{font-size:22px;line-height:1;font-weight:300;}
.patient-gallery__close:hover,.patient-gallery__navigation button:hover{color:var(--dark);background:var(--accent);}
.patient-gallery__media{display:flex;align-items:center;justify-content:center;background:#151e20;min-height:0;}
.patient-gallery__media img{display:block;width:100%;height:auto;max-height:min(58dvh,670px);object-fit:contain;}
.patient-gallery__footer{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:21px clamp(19px,2.8vw,36px) 26px;}
.patient-gallery__description{min-width:0;}
.patient-gallery__description p{margin:0;}
.patient-gallery__description p:first-child{font-size:16px;color:var(--ink);}
.patient-gallery__note{color:var(--muted);font-size:12px;margin-top:7px!important;}
.patient-gallery__navigation{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.patient-gallery__navigation span{min-width:66px;margin-right:12px;font-family:var(--font-technical);font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums;}
.patient-gallery__navigation button{display:grid;place-items:center;width:47px;height:47px;padding:0;background:#1e2a2b;color:var(--ink);border:0;font-size:22px;cursor:pointer;}
@media(max-width:860px){
 .patient-showcase__heading{gap:25px;}
 .patient-showcase__heading h2{font-size:clamp(56px,8vw,88px);}
 .patient-showcase__intro{max-width:55ch;}
 .patient-showcase__bottom{grid-template-columns:1fr;gap:30px;}
 .patient-gallery__open{justify-self:start;}
}
@media(max-width:700px){
 .patient-showcase{padding-top:90px;padding-bottom:90px;}
 .patient-showcase__eyebrow{margin-bottom:25px;}
 .patient-showcase__heading{margin-bottom:38px;}
 .patient-showcase__heading h2{font-size:clamp(50px,12vw,75px);}
 .patient-showcase__intro{font-size:18px;}
 .patient-showcase__feature figcaption{font-size:13px;gap:8px;}
 .patient-showcase__bottom{margin-top:37px;gap:30px;}
 .patient-showcase__bottom p{font-size:19px;}
 .patient-gallery__open{min-width:0;width:100%;font-size:14px;}
 .patient-gallery{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);}
 .patient-gallery__header{padding:17px;}
 .patient-gallery__header h2{font-size:36px;}
 .patient-gallery__eyebrow{font-size:13px;}
 .patient-gallery__close{font-size:12px;gap:9px;}
 .patient-gallery__media img{max-height:min(53dvh,520px);}
 .patient-gallery__footer{padding:18px 17px 20px;align-items:flex-start;flex-direction:column;gap:20px;}
 .patient-gallery__navigation{align-self:flex-end;}
}
@media(prefers-reduced-motion:reduce){.patient-gallery__open{transition:none;}}
