/* Seção so · Sobre a Dra. Lia (escuro) */
.so-secao {
  --so-arco: clamp(48px, 7vw, 120px);
  z-index: 2;
  margin-top: calc(var(--so-arco) * -1);
  border-radius: 50% 50% 0 0 / var(--so-arco) var(--so-arco) 0 0;
  padding: calc(var(--secao-pad) + var(--so-arco) * .4) 0 var(--secao-pad);
  min-height: calc(min(max(50vw, 640px), 860px) * 1.565 + 150px);
  overflow: clip;
  isolation: isolate;
  box-shadow: inset 0 1px 0 color-mix(in oklch, var(--rose-claro) 55%, transparent);
}
/* fio rosé seguindo a curva do arco (acabamento da emenda com tr) */
.so-secao::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: calc(var(--so-arco) * 2.4);
  border-radius: 50% 50% 0 0 / var(--so-arco) var(--so-arco) 0 0;
  border-top: 1.5px solid var(--rose-claro);
  -webkit-mask-image: linear-gradient(90deg, transparent 4%, #000 30%, #000 70%, transparent 96%);
          mask-image: linear-gradient(90deg, transparent 4%, #000 30%, #000 70%, transparent 96%);
  pointer-events: none; z-index: 3;
}
.so-luz {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(46% 60% at 74% 38% in oklch, color-mix(in oklch, var(--vinho) 85%, transparent), transparent 75%),
    radial-gradient(30% 36% at 70% 26% in oklch, color-mix(in oklch, #b8735f 30%, transparent), transparent 80%),
    linear-gradient(180deg in oklab, var(--noite-2), var(--noite) 40%);
}

.so-foto {
  position: absolute; right: -3vw; bottom: 0; margin: 0; z-index: 0;
  width: max(50vw, 640px); max-width: 860px;
}
.so-foto { isolation: isolate; }
/* o aro oval do cartão dela atrás da cabeça, com luz rosada saindo dele */
.so-aro {
  position: absolute; z-index: -1; left: 20%; top: -5%; width: 62%; aspect-ratio: 5 / 6; border-radius: 50%;
  background: radial-gradient(closest-side in oklch, color-mix(in oklch, #e9b9a3 34%, transparent), color-mix(in oklch, #e9b9a3 0%, transparent));
  box-shadow: inset 0 0 0 1px color-mix(in oklch, var(--rose-claro) 55%, transparent), 0 0 120px 10px color-mix(in oklch, var(--vinho) 60%, transparent);
}
.so-aro::after {
  content: ""; position: absolute; inset: 14px -12px -14px 12px; border-radius: 50%;
  box-shadow: inset 0 0 0 1px color-mix(in oklch, var(--rose-claro) 25%, transparent);
}
.js .so-foto[data-sr] { transform: translateY(48px); transition: opacity 1.4s var(--curva), transform 2s var(--curva); }
.js .so-foto[data-sr].sr-in { transform: none; }
.js .so-foto .so-aro { opacity: 0; transform: scale(.9); transition: opacity 1.6s ease .5s, transform 2.4s var(--curva) .5s; }
.js .so-foto.sr-in .so-aro { opacity: 1; transform: none; }
.so-foto::after { /* sombra vinho subindo do pé: ela mora na luz da seção */
  content: ""; position: absolute; inset: auto 0 0 0; height: 34%; pointer-events: none;
  background: linear-gradient(0deg in oklab, color-mix(in oklab, var(--noite) 70%, transparent), transparent);
}
.so-foto img {
  filter: saturate(.86) contrast(1.02);
  display: block; width: 100%; height: auto;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 18%), linear-gradient(0deg, transparent 0, #000 14%);
          mask-image: linear-gradient(90deg, transparent 0, #000 18%), linear-gradient(0deg, transparent 0, #000 14%);
  -webkit-mask-composite: source-in; mask-composite: intersect;
}

.so-texto { position: relative; z-index: 1; }
.so-texto > * { max-width: min(46vw, 620px); }
.so-titulo { color: var(--tinta-clara); font-size: clamp(48px, 6.2vw, 100px); line-height: .98; max-width: min(60vw, 880px) !important; }
.so-pesado { white-space: nowrap; }
.so-recuo { padding-left: .5em; }
.so-pesado, .so-fino { display: block; }
.so-fino { padding-left: .5em; margin-top: .12em; font-size: .74em; line-height: 1.05; }
.so-credito { margin-top: 18px; padding-left: calc(.5 * clamp(48px, 6.2vw, 100px)); font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: var(--rose-claro); }

.so-intro { margin-top: clamp(40px, 5vw, 64px); font-size: 20px; color: var(--tinta-clara-suave); max-width: 28em; }
.so-compromisso {
  margin: 22px 0 0; padding: 4px 0 4px 26px;
  border-left: 1px solid color-mix(in oklch, var(--rose-claro) 50%, transparent);
  font-family: var(--f-titulo); font-style: italic; font-weight: 300; font-size: clamp(21px, 1.9vw, 28px); line-height: 1.4;
  color: var(--tinta-clara);
}
.so-compromisso p + p { margin-top: .25em; }
.so-compromisso em { font-style: italic; font-weight: 400; color: var(--rose-claro); }

/* as vozes das pacientes flutuam sobre o jaleco, longe do rosto */
.so-eco {
  position: absolute; z-index: 2; right: calc(max(50vw, 640px) - 3vw - 150px); bottom: clamp(120px, 16%, 220px);
  display: grid; gap: 16px; justify-items: start;
}
.so-eco p {
  display: grid; gap: 2px; padding: 14px 22px 14px 20px; border-radius: 20px;
  background: color-mix(in oklab, var(--noite) 72%, transparent);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  box-shadow: inset 0 0 0 1px color-mix(in oklch, var(--rose-claro) 35%, transparent), 0 20px 40px -20px rgb(0 0 0 / .5);
}
.so-eco p + p { margin-left: 56px; }
@media (max-width: 1180px) and (min-width: 861px) {
  .so-eco { right: calc(max(50vw, 640px) - 3vw - 270px); bottom: 70px; }
}
.so-eco q { font-family: var(--f-titulo); font-style: italic; font-size: 24px; line-height: 1.2; color: var(--tinta-clara); quotes: "“" "”"; }
.so-eco span { font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--rose-claro); }

.so-assina { margin-top: 48px; display: flex; align-items: baseline; gap: .3em; }
.so-dra { font-family: var(--f-titulo); font-weight: 300; font-size: 22px; color: var(--tinta-clara-suave); }
.so-lia { font-size: 72px; line-height: .8; background-image: var(--metal-escuro); }
.so-sobrenome { font-family: var(--f-titulo); font-size: 16px; letter-spacing: .34em; text-transform: uppercase; color: var(--rose-claro); }

@media (max-width: 860px) {
  .so-secao { --so-arco: 34px; min-height: 0; padding-top: calc(var(--so-arco) + 28px); display: flex; flex-direction: column; }
  .so-foto { order: 0; } .so-texto { order: 1; width: min(100% - 2 * var(--margem), var(--largura)); }
  .so-aro { left: 14%; top: 0; width: 72%; }
  .so-titulo { line-height: 1; }
  .so-foto { position: relative; right: auto; width: 100%; max-width: none; height: min(118vw, 640px); overflow: hidden; margin-bottom: -96px; }
  .so-foto img { height: 100%; object-fit: cover; object-position: 50% 0;
    -webkit-mask-image: linear-gradient(0deg, transparent 0, #000 46%); mask-image: linear-gradient(0deg, transparent 0, #000 46%); }
  .so-texto > *, .so-titulo { max-width: none !important; }
  .so-titulo { font-size: clamp(34px, 10.2vw, 64px); }
  .so-credito { padding-left: calc(.5 * clamp(34px, 10.2vw, 64px)); }
  .so-foto { margin-bottom: -56px; }
  .so-eco { position: static; order: 2; width: min(100% - 2 * var(--margem), var(--largura)); margin: 40px auto 0; gap: 12px; }
  .so-eco p + p { margin-left: 32px; }
  .so-intro { font-size: 19px; }
  .so-lia { font-size: 60px; }
}
@media (prefers-reduced-motion: reduce) {
  .js .so-foto .so-aro { opacity: 1; transform: none; }
}
