/* ===== Seção Exames (escuro) · prefixo ex- ===== */
#exames{
  --ex-filete:color-mix(in oklab, var(--b-agua) 20%, transparent);
  --ex-h-ecg:220px; --ex-h-holter:290px; --ex-h-ergo:300px;
  position:relative; overflow:clip; isolation:isolate;
  padding:var(--secao-y) var(--b-borda) calc(var(--secao-y) * .8);
  background:radial-gradient(110% 70% at 20% 0% in oklab, var(--b-noite-2), var(--b-noite) 72%);
}
.ex-malha{position:absolute; inset:0; z-index:-1; pointer-events:none}
.ex-malha span{position:absolute; border-radius:50%}
.ex-m1{width:60vw; height:60vw; right:-18%; top:30%; background:radial-gradient(closest-side in oklab, color-mix(in oklab, var(--b-agua-escuro) 55%, var(--b-noite)), transparent); opacity:.6}
.ex-m2{width:50vw; height:50vw; left:-20%; top:-10%; background:radial-gradient(closest-side in oklab, color-mix(in oklab, var(--b-bronze) 40%, var(--b-noite)), transparent); opacity:.5}

/* cabeçalho */
.ex-cab{display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); column-gap:clamp(1rem, 2vw, 2rem); align-items:end; margin-bottom:clamp(3rem, 6vw, 5.5rem)}
.ex-rot{grid-column:1 / -1; margin:0 0 1.4rem; display:flex; align-items:center; gap:.8rem}
.ex-rot::before{content:""; width:2.2rem; height:1px; background:currentColor; opacity:.7}
.ex-titulo{grid-column:1 / 8; grid-row:2 / 4; align-self:center; margin:0; font-size:var(--t-secao); font-weight:300; line-height:1.03; letter-spacing:-.03em; text-wrap:balance}
.ex-titulo span{display:block}
.ex-forte{font-weight:700}
.ex-indice{grid-column:8 / -1; list-style:none; margin:1.8rem 0 0; padding:0; border-top:1px solid var(--ex-filete)}
.ex-indice a{display:flex; gap:1rem; align-items:baseline; padding:.75rem 0; border-bottom:1px solid var(--ex-filete); text-decoration:none; font-size:1.06rem; color:var(--b-creme); transition:color .25s, padding .35s var(--curva)}
.ex-indice a span{font-family:var(--b-f-mono); font-size:.8rem; letter-spacing:.14em; color:var(--b-ouro)}
.ex-indice a:hover{padding-left:.4rem; color:#fff7ea}
.ex-apoio{grid-column:8 / -1; align-self:end; margin:0; font-size:var(--t-corpo); line-height:1.55; color:var(--b-texto-2); max-width:30rem; text-wrap:pretty}

/* faixas */
.ex-lista{display:flex; flex-direction:column}
.ex-faixa{display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); column-gap:clamp(1rem, 2vw, 2rem); align-items:center; padding:clamp(2.2rem, 4vw, 3.6rem) 0; border-top:1px solid var(--ex-filete)}
.ex-txt{min-width:0}
.ex-num{margin:0 0 .9rem; font-family:var(--b-f-mono); font-size:var(--b-t-mono); letter-spacing:.16em; text-transform:uppercase; color:var(--b-ouro); display:flex; gap:.8rem; align-items:baseline}
.ex-num span{color:var(--b-agua)}
.ex-h3{margin:0 0 1rem; font-size:clamp(1.75rem, 1.2rem + 1.6vw, 2.75rem); font-weight:700; letter-spacing:-.02em; line-height:1.1}
.ex-p{margin:0; font-size:var(--t-corpo); line-height:1.55; color:var(--b-texto-2); max-width:28rem; text-wrap:pretty}
.ex-selo{margin:1.2rem 0 0; display:flex; flex-direction:column; gap:.25rem; font-family:var(--b-f-mono); font-size:.95rem; color:var(--b-creme)}

.ex-papel{position:relative; min-width:0; margin:0; border:1px solid var(--ex-filete); border-radius:6px; background:color-mix(in oklab, var(--b-noite-2) 80%, var(--b-noite)); overflow:hidden}
.ex-papel canvas{display:block; width:100%}
.ex-legenda{margin:0; padding:.55rem .9rem; border-top:1px solid var(--ex-filete); font-family:var(--b-f-mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:color-mix(in oklab, var(--b-agua) 85%, var(--b-creme))}

.ex-f-ecg .ex-txt{grid-column:1 / 5}
.ex-f-ecg .ex-papel{grid-column:5 / -1}
.ex-f-ecg canvas{height:var(--ex-h-ecg)}
.ex-f-holter .ex-papel{grid-column:1 / 9; grid-row:1}
.ex-f-holter .ex-txt{grid-column:9 / -1; grid-row:1}
.ex-f-holter canvas{height:var(--ex-h-holter)}

.ex-f-ergo{position:relative; align-items:start; padding-bottom:0}
.ex-foto{grid-column:6 / -1; grid-row:1 / 3; margin:0 calc(var(--b-borda) * -1) 0 0; position:relative; aspect-ratio:1600 / 1120; overflow:hidden}
.ex-foto img{width:100%; height:100%; object-fit:cover; filter:saturate(.9) brightness(.82) contrast(1.05);
  --ex-mh:linear-gradient(to right, transparent 0, #000 42%); --ex-mv:linear-gradient(to bottom, transparent 0, #000 22%, #000 62%, transparent 100%); -webkit-mask-image:var(--ex-mh), var(--ex-mv); -webkit-mask-composite:source-in; mask-image:var(--ex-mh), var(--ex-mv); mask-composite:intersect}
.ex-foto::after{content:""; position:absolute; inset:0; background:color-mix(in oklab, var(--b-agua-escuro) 34%, transparent); mix-blend-mode:multiply;
  --ex-mh:linear-gradient(to right, transparent 0, #000 42%); --ex-mv:linear-gradient(to bottom, transparent 0, #000 22%, #000 62%, transparent 100%); -webkit-mask-image:var(--ex-mh), var(--ex-mv); -webkit-mask-composite:source-in; mask-image:var(--ex-mh), var(--ex-mv); mask-composite:intersect}
.ex-f-ergo .ex-txt{grid-column:1 / 6; grid-row:1; align-self:start; padding-top:.5rem; position:relative; z-index:1}
.ex-f-ergo .ex-papel{grid-column:1 / -1; grid-row:2; margin-top:clamp(1.5rem, 3vw, 2.5rem); position:relative; z-index:1; background:color-mix(in oklab, var(--b-noite) 82%, transparent)}
.ex-f-ergo canvas{height:var(--ex-h-ergo)}

/* consultas */
.ex-consultas{display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); column-gap:clamp(1rem, 2vw, 2rem); row-gap:2rem; margin-top:clamp(4rem, 7vw, 6.5rem); padding-top:clamp(2.5rem, 4vw, 3.5rem); border-top:1px solid color-mix(in oklab, var(--b-ouro) 40%, transparent)}
.ex-c-cab{grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:1rem 2rem}
.ex-c-cab .wf-rot{margin:0; order:2}
.ex-c-titulo{margin:0; font-size:var(--t-sub); font-weight:300; line-height:1.15; letter-spacing:-.02em}
.ex-c-titulo b{font-weight:700}
.ex-c-lista{grid-column:1 / -1; list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.4rem clamp(1.4rem, 3vw, 3rem)}
.ex-c-lista li{display:flex; align-items:center; gap:.7rem; font-size:clamp(1.45rem, 1rem + 1.5vw, 2.5rem); font-weight:300; line-height:1.25; letter-spacing:-.02em; color:color-mix(in oklab, var(--b-creme) 88%, var(--b-agua))}
.ex-c-lista b{font-weight:700; color:var(--b-creme)}
.ex-c-cor{width:.62em; height:auto; flex:none; color:var(--b-ouro); overflow:visible; transform:translateY(-.04em)}
.ex-acoes{grid-column:1 / -1; display:flex; flex-wrap:wrap; align-items:center; gap:1rem 1.6rem; margin-top:1rem}
.ex-botao{display:inline-flex; align-items:center; gap:.65rem; padding:1rem 1.6rem 1rem 1.3rem; border-radius:var(--b-raio); background:var(--b-creme); color:var(--b-noite); font-weight:600; font-size:1.04rem; text-decoration:none; transition:transform .25s, background .25s}
.ex-botao svg{width:1.3rem; height:1.3rem; fill:currentColor}
.ex-botao:hover{transform:translateY(-2px); background:#fff7ea}
.ex-tel{text-decoration:none; font-weight:500; color:var(--b-creme); border-bottom:1px solid color-mix(in oklab, var(--b-ouro) 55%, transparent); padding-bottom:.15rem}
.ex-tel span{color:var(--b-texto-2); font-weight:400}

/* tablet */
@media (max-width:1100px) and (min-width:821px){
  .ex-titulo{grid-column:1 / -1}
  .ex-apoio{grid-column:1 / 9; margin-top:1.5rem}
  .ex-f-ecg .ex-txt{grid-column:1 / 6} .ex-f-ecg .ex-papel{grid-column:6 / -1}
  .ex-f-holter .ex-papel{grid-column:1 / 8} .ex-f-holter .ex-txt{grid-column:8 / -1}
  .ex-titulo{grid-row:auto} .ex-indice{grid-column:1 / 9}
}

/* celular */
@media (max-width:820px){
  #exames{--ex-h-ecg:180px; --ex-h-holter:340px; --ex-h-ergo:260px; padding-bottom:calc(var(--secao-y) * .6 + 90px)}
  .ex-cab,.ex-faixa,.ex-consultas{grid-template-columns:minmax(0,1fr)}
  .ex-cab > *,.ex-faixa > *,.ex-consultas > *{grid-column:1 / -1 !important; grid-row:auto !important}
  .ex-apoio{margin-top:1.4rem}
  .ex-faixa{row-gap:1.4rem}
  .ex-papel{margin-inline:calc(var(--b-borda) * -1); border-radius:0; border-inline:0}
  .ex-foto{margin:0 calc(var(--b-borda) * -1)}
  .ex-foto img,.ex-foto::after{--ex-mh:linear-gradient(#000, #000); --ex-mv:linear-gradient(to bottom, transparent 0, #000 12%, #000 62%, transparent 98%)}
  .ex-indice{margin-top:1.6rem}
  .ex-c-lista{flex-direction:column; gap:.7rem}
  .ex-f-ergo .ex-txt{padding-top:0; margin-top:-3rem}
  .ex-f-ergo .ex-papel{margin-top:0}
  .ex-legenda{font-size:.75rem}
  .ex-num,#exames .wf-rot{font-size:.78rem}
}
