/* Primeiro lote de artes: escopo isolado para preservar os interativos aprovados. */
.foto-medico--real img { width:100%; height:100%; object-fit:cover; }
.med-lab { padding:64px 0; scroll-margin-top:108px; }
.med-lab--inset { padding:40px 0 0; }
.med-lab__intro { max-width:760px; margin-bottom:28px; }
.med-lab h2 { font-size:clamp(29px,3.6vw,42px); font-weight:300; line-height:1.2; letter-spacing:-.02em; margin:0 0 16px; text-wrap:balance; }
.med-lab h2 em { color:var(--dourado-tinta); font-style:normal; font-weight:400; }
.med-lab__intro p { font-size:18px; line-height:1.65; color:#48627c; }
.med-lab [hidden] { display:none !important; }
.med-lab__nav,.med-lab__choices { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px; }
.med-lab button { font:inherit; font-size:16px; line-height:1.4; padding:12px 18px; min-height:48px; border:1px solid #71869a; border-radius:5px; color:var(--azul); background:transparent; cursor:pointer; transition:background-color .18s ease-out,color .18s ease-out; }
.med-lab button:hover { background:#e5ecee; }
.med-lab button[aria-pressed="true"] { color:var(--gelo); background:var(--azul); border-color:var(--azul); }
.med-lab button:focus-visible,.med-lab input:focus-visible { outline:3px solid var(--dourado-tinta); outline-offset:4px; }
.med-lab__panel { margin:0 0 32px; }
.med-lab.is-ready .med-lab__panel { margin-bottom:0; }
.med-lab__layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(265px,1fr); align-items:start; gap:30px; }
.med-lab__figure { margin:0; min-width:0; }
.med-lab__image { width:100%; height:auto; aspect-ratio:3/2; object-fit:contain; display:block; border-radius:8px; background:#0d1e31; }
.med-lab__image--photo { object-fit:cover; }
.med-lab__reading { padding:8px 0; }
.med-lab__reading h3 { font-size:25px; font-weight:400; line-height:1.25; margin:0 0 16px; text-wrap:balance; }
.med-lab__reading p { font-size:17px; line-height:1.7; margin:0 0 16px; color:#48627c; }
.med-lab__reading strong { font-weight:500; color:var(--azul); }
.med-lab__reading a { text-decoration:underline; text-underline-offset:3px; }
.med-lab__reading details { border-top:1px solid #cad4da; margin-top:20px; padding-top:16px; }
.med-lab__reading summary { cursor:pointer; min-height:44px; font-size:17px; font-weight:500; padding:8px 0; }
.med-lab__reading details p { font-size:16px; }
.med-lab__caption { margin-top:18px; color:#48627c; font-size:14px; line-height:1.7; max-width:90ch; }
.med-lab__caption a { text-decoration:underline; text-underline-offset:3px; }
.med-lab__hint { font-size:15px; line-height:1.6; color:#48627c; margin:12px 0; }
.med-lab__sr { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.med-lab__compare { --split:50%; position:relative; isolation:isolate; overflow:hidden; aspect-ratio:3/2; border-radius:8px; background:#0d1e31; touch-action:pan-y; }
.med-lab__compare img { display:block; width:100%; height:100%; object-fit:contain; user-select:none; pointer-events:none; }
.med-lab__overlay { position:absolute; inset:0; clip-path:inset(0 calc(100% - var(--split)) 0 0); pointer-events:none; }
.med-lab__divider { position:absolute; left:clamp(26px,var(--split),calc(100% - 26px)); top:0; bottom:0; width:2px; background:#f4f2ee; transform:translateX(-50%); pointer-events:none; }
.med-lab__divider span { position:absolute; left:50%; top:50%; display:grid; place-items:center; width:52px; height:52px; border-radius:50%; transform:translate(-50%,-50%); color:#113355; background:#f4f2ee; border:2px solid #113355; font-size:27px; }
.med-lab__compare:focus-within { outline:3px solid var(--dourado-tinta); outline-offset:4px; }
.med-lab__range { position:absolute; inset:0; z-index:2; opacity:0; width:100%; height:100%; margin:0; cursor:ew-resize; touch-action:pan-y; }
.med-lab__compare-labels { display:flex; justify-content:space-between; gap:16px; margin:12px 0; font-size:15px; color:#48627c; }
.med-lab__compare-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.med-lab__optics { margin-top:28px; padding-top:26px; border-top:1px solid #c5d0d6; }
.med-lab__optics h3 { font-size:22px; font-weight:400; line-height:1.35; margin-bottom:16px; }
.med-lab__choices button { font-size:15px; }
.med-lab__choice-note { max-width:78ch; margin-top:16px; font-size:16px; line-height:1.7; color:#48627c; }
.med-lab__detail { margin:20px 0; max-width:80ch; }
.med-lab__detail h4 { font-size:20px; font-weight:500; margin-bottom:9px; }
.med-lab__detail p { font-size:17px; color:#48627c; line-height:1.7; }
.med-lab.is-ready .med-lab__detail { margin:0; }
@media (max-width:800px) {
  .med-lab { padding:44px 0; }
  .med-lab--inset { padding:32px 0 0; }
  .med-lab__layout { grid-template-columns:minmax(0,1fr); gap:22px; }
  .med-lab__intro p { font-size:17px; }
  .med-lab__reading { padding:0; }
  .med-lab__reading h3 { font-size:24px; }
  .med-lab__nav { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; }
  .med-lab__nav button { padding:11px 7px; font-size:14px; }
  .med-lab__choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .med-lab__compare-actions button { flex:1; font-size:14px; padding:11px 8px; }
}
@media (prefers-reduced-motion:reduce) { .med-lab button { transition:none; } }
