/* ═════ base ═════ */
/* Base do site — Mayara Karoline, nutricionista */
:root {
  /* cores (post Dd4iZq-P0Ep + logo) */
  --rosa-poeira: #dcb7bf;
  --framboesa: #a23f5c;
  --marinho: #123f5e;
  --royal: #0b3384;
  --petala: #c98a95;
  --creme: #f7efea;
  --noite: #0d2536;
  --rosa-claro: #ecd3d7;
  --texto: var(--noite);
  --texto-suave: #2b4a60;
  --logo-azul: var(--royal);
  --logo-rosa: var(--petala);

  /* tipografia */
  --fonte-titulo: "Corben", "Georgia", serif;
  --fonte-texto: "Livvic", system-ui, sans-serif;
  --t-titulo: clamp(2.7rem, 1.2rem + 5.2vw, 6rem);
  --t-apoio: clamp(1.08rem, 0.95rem + 0.45vw, 1.32rem);
  --t-pequeno: clamp(0.86rem, 0.82rem + 0.18vw, 0.98rem);

  /* espaço */
  --margem: clamp(20px, 5.4vw, 88px);
  --topo-h: clamp(64px, 8vh, 88px);
  --raio: 999px;

  /* movimento */
  --ease: cubic-bezier(.22, .8, .24, 1);
  --fio-dur: 2.8s;
  --fio-ini: 1.05s;
}

*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; }
body {
  font-family: var(--fonte-texto);
  color: var(--texto);
  background: var(--creme);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { display: block; max-width: 100%; }
a { color: inherit; }


/* ───────── base: variáveis extras ───────── */
:root {
  --framboesa-escura: #8d3350;
  --noite-2: #13324a;
  --rosa-sobre-escuro: #f0b9c8;
  --azul-sobre-escuro: #a9c2ff;
  --t-h2: clamp(2.2rem, 1.3rem + 3.6vw, 4.4rem);
  --t-h3: clamp(1.3rem, 1.1rem + .8vw, 1.75rem);
  --t-corpo: clamp(1.08rem, .98rem + .35vw, 1.25rem);
  --t-rotulo: .82rem;
  --sec-y: clamp(84px, 11vw, 168px);
  --raio-cartao: clamp(18px, 2vw, 28px);
  --sombra: 0 24px 50px -30px rgb(13 37 54 / .45);
  --coracao: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 20.6c-.3 0-.6-.1-.8-.3C7.7 17.4 3 13.6 3 9.3 3 6.6 5 4.6 7.6 4.6c1.8 0 3.3.9 4.4 2.4 1.1-1.5 2.6-2.4 4.4-2.4C19 4.6 21 6.6 21 9.3c0 4.3-4.7 8.1-8.2 11-.2.2-.5.3-.8.3z'/></svg>");
}
html { scroll-padding-top: 84px; }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body { font-size: var(--t-corpo); line-height: 1.55; overflow-x: clip; }
::selection { background: var(--rosa-poeira); color: var(--noite); }
:where(a, button, summary):focus-visible { outline: 3px solid var(--royal); outline-offset: 3px; border-radius: 6px; }
.sec-escura :where(a, button, summary):focus-visible { outline-color: var(--rosa-sobre-escuro); }

/* utilitários compartilhados (as seções podem usar) */
.rotulo { font-size: var(--t-rotulo); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--texto-suave); }
.titulo-sec { font-family: var(--fonte-titulo); font-weight: 700; font-size: var(--t-h2); line-height: 1.0; letter-spacing: -.022em; color: var(--marinho); margin: 0; text-wrap: balance; }
.titulo-sec .l2 { display: block; color: var(--framboesa); }
.sec-escura .titulo-sec { color: var(--creme); }
.sec-escura .titulo-sec .l2 { color: var(--rosa-sobre-escuro); }
.sec-escura .rotulo { color: rgb(247 239 234 / .72); }
.cor { display: inline-block; width: 1em; height: 1em; background: currentColor; -webkit-mask: var(--coracao) center / contain no-repeat; mask: var(--coracao) center / contain no-repeat; flex: none; }
.cor--rosa { color: var(--framboesa); } .cor--azul { color: var(--royal); }
.sec-escura .cor--rosa { color: var(--rosa-sobre-escuro); } .sec-escura .cor--azul { color: var(--azul-sobre-escuro); }
.botao { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 54px; padding: 0 26px; border-radius: 999px; background: var(--framboesa); color: #fff; font-weight: 700; font-size: 1.04rem; text-decoration: none; box-shadow: 0 10px 30px -12px rgb(162 63 92 / .7); transition: transform .35s var(--ease), background .3s; }
.botao:hover { background: var(--framboesa-escura); transform: translateY(-2px); }
.botao svg { width: 22px; height: 22px; }
.oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.grao { position: absolute; inset: 0; pointer-events: none; z-index: 0; opacity: .05; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.05  0 0 0 0 0.1  0 0 0 0 0.16  0 0 0 1.4 -0.2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); background-size: 220px 220px; }
.sec-escura .grao { mix-blend-mode: screen; opacity: .06; }

/* revelação por rolagem: só com JS */
.js [data-rev] { opacity: 0; transform: translateY(22px); transition: opacity .9s var(--ease) var(--rd, 0s), transform 1.1s var(--ease) var(--rd, 0s); }
.js [data-rev].rev-ok { opacity: 1; transform: none; }

/* barra que aparece depois do hero */
.barra { position: fixed; inset: 0 0 auto 0; z-index: 50; height: 66px; display: flex; align-items: center; justify-content: space-between; gap: 18px;
  padding: 0 var(--margem); background: rgb(247 239 234 / .86); -webkit-backdrop-filter: blur(12px) saturate(1.2); backdrop-filter: blur(12px) saturate(1.2);
  box-shadow: 0 1px 0 rgb(18 63 94 / .08); transform: translateY(-105%); transition: transform .5s var(--ease); }
.barra.on { transform: none; }
.barra__marca img { height: 40px; width: auto; }
.barra__nav { display: flex; align-items: center; gap: clamp(14px, 2.2vw, 30px); font-size: .98rem; font-weight: 600; }
.barra__nav a:not(.barra__agendar) { text-decoration: none; color: var(--marinho); padding: 10px 2px; }
.barra__nav a:not(.barra__agendar):hover { color: var(--framboesa); }
.barra__agendar { text-decoration: none; color: var(--creme); background: var(--marinho); padding: 10px 20px; border-radius: 999px; }
.barra__agendar:hover { background: var(--royal); }
@media (max-width: 860px) { .barra__nav a:not(.barra__agendar) { display: none; } }
@media (max-width: 600px) { .barra__agendar { display: none; } }

/* WhatsApp flutuante no celular */
.flutua { position: fixed; right: 16px; bottom: 16px; z-index: 60; display: none; align-items: center; gap: 8px; min-height: 56px; padding: 0 20px 0 16px;
  border-radius: 999px; background: var(--framboesa); color: #fff; font-weight: 700; text-decoration: none; box-shadow: 0 14px 30px -12px rgb(13 37 54 / .55);
  transform: translateY(140%); transition: transform .5s var(--ease); }
.flutua svg { width: 24px; height: 24px; }
.flutua.on { transform: none; }
@media (max-width: 760px) { .flutua { display: inline-flex; } }

@media (prefers-reduced-motion: reduce) {
  .js [data-rev] { opacity: 1 !important; transform: none !important; }
}

/* ═════ hero ═════ */
/* ───────── topo ───────── */
.a-topo {
  position: absolute; inset: 0 0 auto 0; z-index: 10;
  height: var(--topo-h);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 var(--margem);
}
.a-topo__marca img { height: clamp(46px, 6.4vh, 62px); width: auto; }
.a-topo__nav { display: flex; align-items: center; gap: clamp(14px, 2vw, 28px); font-size: var(--t-pequeno); font-weight: 600; }
.a-topo__link { text-decoration: none; color: var(--marinho); padding: 8px 2px; }
.a-topo__link:hover { color: var(--framboesa); }
.a-topo__agendar {
  text-decoration: none; color: var(--creme); background: var(--marinho);
  padding: 10px 20px; border-radius: var(--raio);
  transition: background .3s;
}
.a-topo__agendar:hover { background: var(--royal); }

/* ───────── hero ───────── */
.a-hero {
  position: relative;
  min-height: max(100svh, 640px);
  overflow: clip;
  isolation: isolate;
  display: flex; flex-direction: column; justify-content: center;
  --h: max(100svh, 640px);
  --retrato-h: 100%;
  --retrato-x: max(calc(100% - var(--h) * .93), calc(100% - 24px - var(--h) * .86));
}

/* malha: manchas radiais sobrepostas, sem filter (evita anéis) */
.a-malha { position: absolute; inset: 0; z-index: 0; background: var(--creme); overflow: hidden; }
.a-mancha {
  position: absolute; display: block; border-radius: 50%;
  will-change: transform;
  animation: a-respira var(--dur, 30s) ease-in-out infinite alternate;
}
.a-mancha--rosa {
  width: 110vmax; height: 110vmax; left: -42vmax; top: -48vmax;
  background: radial-gradient(closest-side in oklab, var(--rosa-poeira), rgb(220 183 191 / .55) 55%, rgb(220 183 191 / 0));
  --dur: 34s; --dx: 6vmax; --dy: 4vmax;
}
.a-mancha--petala {
  width: 80vmax; height: 70vmax; left: -18vmax; bottom: -46vmax;
  background: radial-gradient(closest-side in oklab, rgb(201 138 149 / .78), rgb(201 138 149 / .3) 55%, rgb(201 138 149 / 0));
  --dur: 27s; --dx: 8vmax; --dy: -3vmax;
}
.a-mancha--royal {
  /* o sopro royal atrás do retrato */
  width: 70vmax; height: 70vmax; right: -20vmax; top: -16vmax;
  background: radial-gradient(closest-side in oklab, rgb(11 51 132 / .46), rgb(18 63 94 / .2) 50%, rgb(18 63 94 / 0));
  --dur: 23s; --dx: -5vmax; --dy: 5vmax;
}
.a-mancha--creme {
  width: 60vmax; height: 50vmax; left: 18vw; top: 18vh;
  background: radial-gradient(closest-side in oklab, rgb(247 239 234 / .9), rgb(247 239 234 / 0));
  --dur: 38s; --dx: 4vmax; --dy: 6vmax;
}
.a-mancha--framboesa {
  width: 46vmax; height: 46vmax; right: -14vmax; bottom: -26vmax;
  background: radial-gradient(closest-side in oklab, rgb(162 63 92 / .30), rgb(162 63 92 / 0));
  --dur: 31s; --dx: -6vmax; --dy: -4vmax;
}
@keyframes a-respira {
  from { transform: translate3d(0, 0, 0) scale(1); }
  to   { transform: translate3d(var(--dx), var(--dy), 0) scale(1.08); }
}
.a-hero.a-pausa .a-mancha,
.a-hero.a-pausa .a-dia__marca svg, .a-hero.a-pausa .a-dia__hoje { animation-play-state: paused; }

/* granulado fixo, ~5% */
.a-grao {
  position: absolute; inset: 0; z-index: 6; pointer-events: none;
  opacity: .055; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.05  0 0 0 0 0.1  0 0 0 0 0.16  0 0 0 1.4 -0.2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  background-size: 220px 220px;
}

/* retrato grande à direita */
.a-retrato {
  position: absolute; z-index: 2; margin: 0;
  bottom: 0; left: var(--retrato-x);
  height: var(--retrato-h); aspect-ratio: 1;
  -webkit-mask-image: linear-gradient(to right, transparent 0, #000 16%), linear-gradient(to top, transparent 0, #000 7%);
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(to right, transparent 0, #000 16%), linear-gradient(to top, transparent 0, #000 7%);
  mask-composite: intersect;
}
.a-retrato img { width: 100%; height: 100%; object-fit: contain; object-position: bottom; }

/* fio contínuo da semana (atrás do retrato) */
.a-fio { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.a-fio path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.a-fio__trilho { stroke: rgb(18 63 94 / .13); stroke-width: 1.5; stroke-dasharray: 2 7; }
.a-fio__linha { stroke-width: 3; }

/* texto */
.a-texto {
  position: relative; z-index: 3;
  width: min(44vw, 610px);
  margin-left: var(--margem);
  container-type: inline-size;
  padding: calc(var(--topo-h) + clamp(8px, 2vh, 24px)) 0 clamp(28px, 6vh, 64px);
}
.a-sobre {
  margin: 0 0 clamp(14px, 2.2vh, 24px);
  font-size: var(--t-pequeno); font-weight: 500; letter-spacing: .02em;
  color: var(--texto-suave);
}
.a-sobre span { font-weight: 700; color: var(--marinho); }
.a-titulo {
  margin: 0;
  font-family: var(--fonte-titulo); font-weight: 700;
  font-size: clamp(2.3rem, 11.9cqi, 6.2rem); line-height: .98; letter-spacing: -.025em;
  color: var(--marinho);
}
.a-titulo__l { display: block; padding-bottom: .06em; white-space: nowrap; }
.a-titulo__l--2 { color: var(--framboesa); }
.a-apoio {
  margin: clamp(18px, 3vh, 32px) 0 0;
  max-width: 31em;
  font-size: var(--t-apoio); line-height: 1.5; font-weight: 500;
  color: var(--texto);
}
.a-acoes {
  display: flex; flex-wrap: wrap; align-items: center; gap: 14px 26px;
  margin-top: clamp(22px, 3.6vh, 38px);
}
.a-botao {
  display: inline-flex; align-items: center; gap: 10px;
  min-height: 54px; padding: 0 26px;
  border-radius: var(--raio);
  background: var(--framboesa); color: #fff;
  font-weight: 700; font-size: 1.04rem; text-decoration: none;
  box-shadow: 0 10px 30px -12px rgb(162 63 92 / .7);
  transition: transform .35s var(--ease), background .3s, box-shadow .35s;
}
.a-botao svg { width: 22px; height: 22px; }
.a-botao:hover { background: #8d3350; transform: translateY(-2px); box-shadow: 0 16px 34px -14px rgb(162 63 92 / .8); }
.a-botao:focus-visible, .a-secundario:focus-visible, .a-topo a:focus-visible { outline: 3px solid var(--royal); outline-offset: 3px; }
.a-secundario {
  font-weight: 600; font-size: 1rem; color: var(--royal);
  text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 5px;
  text-decoration-color: rgb(11 51 132 / .35);
}
.a-secundario:hover { text-decoration-color: currentColor; }
/* semana */
.a-semana {
  position: relative; z-index: 3;
  width: min(100%, 470px);
  margin: clamp(16px, 2.6vh, 28px) 0 0 -6px;
}
.js .a-semana.a-entra { transform: none; }
.a-semana__dias {
  list-style: none; margin: 0; padding: 0;
  display: grid; grid-template-columns: repeat(7, minmax(0, 1fr));
}
.a-dia { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.a-dia__marca { position: relative; width: 30px; height: 30px; display: grid; place-items: center; }
.a-dia__marca i {
  position: absolute; width: 9px; height: 9px; border-radius: 50%;
  background: var(--creme); box-shadow: 0 0 0 1.5px rgb(18 63 94 / .3);
  transition: transform .5s var(--ease), opacity .4s;
}
.a-dia__marca svg {
  width: 30px; height: 30px; transform: scale(.2); opacity: 0;
  transition: transform .7s cubic-bezier(.3, 1.6, .5, 1), opacity .3s;
  filter: drop-shadow(0 3px 6px rgb(13 37 54 / .18));
}
.a-dia--rosa svg { fill: var(--framboesa); }
.a-dia--azul svg { fill: var(--royal); }
.a-dia__nome {
  font-size: .82rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
  color: var(--texto-suave); opacity: .55; transition: opacity .5s, color .5s;
}
.a-dia.acesa .a-dia__marca i { transform: scale(0); opacity: 0; }
.a-dia.acesa .a-dia__marca svg { transform: scale(1); opacity: 1; }
.a-dia.acesa .a-dia__nome { opacity: 1; }
.a-dia--rosa.acesa .a-dia__nome { color: var(--framboesa); }
.a-dia--azul.acesa .a-dia__nome { color: var(--royal); }
/* depois da entrada: uma "batida" que percorre a semana, lenta */
.a-hero.a-viva .a-dia__marca svg {
  animation: a-batida 16s ease-in-out infinite;
  animation-delay: calc(var(--i, 0) * .22s + 3s);
}
@keyframes a-batida {
  0%, 7%, 100% { transform: scale(1); }
  3% { transform: scale(1.22); }
}
/* hoje: o dia real da semana ganha um aro que respira */
.a-dia__hoje {
  position: absolute; inset: -7px; border-radius: 50%;
  border: 1.5px solid currentColor; opacity: 0; transform: scale(.6);
  transition: opacity .6s, transform .8s var(--ease);
}
.a-dia--rosa .a-dia__hoje { color: var(--framboesa); }
.a-dia--azul .a-dia__hoje { color: var(--royal); }
.a-hero.a-viva .a-dia.hoje .a-dia__hoje { opacity: .55; transform: scale(1); animation: a-aro 5s ease-in-out 1s infinite; }
@keyframes a-aro { 0%, 100% { transform: scale(1); opacity: .55; } 50% { transform: scale(1.18); opacity: .2; } }
.a-dia.hoje .a-dia__nome::after { content: "hoje"; display: block; font-size: .62rem; letter-spacing: .14em; text-align: center; margin-top: 2px; opacity: .9; }
.a-dia { position: relative; }

/* ficha: a prova */
.a-ficha {
  display: grid; grid-template-columns: repeat(3, auto); justify-content: start;
  margin: clamp(22px, 3.4vh, 36px) 0 0; padding: 0;
}
.a-ficha > div { padding: 2px clamp(12px, 1.2vw, 18px) 2px 0; margin-right: clamp(12px, 1.2vw, 18px); border-right: 1.5px solid rgb(201 138 149 / .7); }
.a-ficha > div:nth-child(2) { border-right-color: rgb(11 51 132 / .35); }
.a-ficha > div:last-child { border-right: 0; margin-right: 0; padding-right: 0; }
.a-ficha dt { font-size: .74rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--texto-suave); opacity: .8; }
.a-ficha dd { margin: 4px 0 0; font-family: var(--fonte-titulo); font-weight: 700; font-size: clamp(1rem, .92rem + .25vw, 1.14rem); color: var(--marinho); white-space: nowrap; }
.a-ficha > div:first-child dd { color: var(--framboesa); font-family: var(--fonte-texto); font-weight: 700; letter-spacing: .03em; font-size: clamp(1.02rem, .95rem + .25vw, 1.16rem); }

@container (max-width: 590px) {
  .a-ficha { grid-template-columns: auto auto; row-gap: 14px; }
  .a-ficha > div:first-child { grid-column: 1 / -1; border-right: 0; }
}

/* ───────── entrada ───────── */
.js .a-entra { opacity: 0; transform: translateY(22px); }
.js .a-titulo__l { overflow: clip; overflow-clip-margin: .2em; }
.js .a-titulo .a-entra { transform: translateY(105%); opacity: 1; }
.js .a-retrato { opacity: 0; transform: translateY(26px) scale(.985); transform-origin: 60% 100%; }
.js .a-topo { opacity: 0; }
.js .a-hero.a-entrou .a-entra,
.js .a-hero.a-entrou .a-retrato { opacity: 1; transform: none; }
.js .a-hero.a-entrou ~ * , .js.a-pronta .a-topo { opacity: 1; }
.a-entra { transition: opacity .9s var(--ease) var(--d, 0s), transform 1.1s var(--ease) var(--d, 0s); }
.a-retrato { transition: opacity 1.4s var(--ease) .25s, transform 1.6s var(--ease) .25s; }
.a-topo { transition: opacity 1s .5s; }
.a-fio__linha { stroke-dasharray: var(--fio-l, 4000); stroke-dashoffset: var(--fio-l, 4000); }
.a-hero.a-desenha .a-fio__linha { transition: stroke-dashoffset var(--fio-dur) linear; stroke-dashoffset: 0; }
.a-hero.a-pronto .a-fio__linha { transition: none; stroke-dashoffset: 0; }

/* ───────── notebook baixo / tablet deitado ───────── */
@media (max-width: 1180px) and (min-width: 901px) and (min-aspect-ratio: 11/10) {
  .a-hero { --retrato-x: calc(100% - 24px - var(--h) * .78); }
  .a-texto { width: calc(100vw - 24px - var(--h) * .70 - var(--margem)); max-width: 560px; }
  .a-ficha { grid-template-columns: auto auto; row-gap: 14px; }
  .a-ficha > div:first-child { grid-column: 1 / -1; border-right: 0; }
}
@media (max-height: 760px) and (min-width: 901px) and (min-aspect-ratio: 11/10) {
  .a-texto { padding-top: calc(var(--topo-h) + 22px); }
  .a-texto { padding-bottom: 20px; }
  .a-ficha { margin-top: 18px; }
}

/* ───────── celular e tablet em pé ───────── */
@media (max-width: 900px), (max-aspect-ratio: 11/10) {
  :root { --topo-h: 64px; --t-titulo: clamp(2.55rem, 1.2rem + 7vw, 4.4rem); }
  .a-hero { min-height: 0; display: flex; flex-direction: column; padding-bottom: 34px; }
  .a-retrato {
    position: relative; left: auto; right: auto; bottom: auto; order: 0;
    height: auto; width: min(100%, 52svh); margin: 0 auto;
    -webkit-mask-image: linear-gradient(to right, transparent 0, #000 12%, #000 88%, transparent), linear-gradient(to top, transparent 0, #000 30%);
    mask-image: linear-gradient(to right, transparent 0, #000 12%, #000 88%, transparent), linear-gradient(to top, transparent 0, #000 30%);
  }
  .a-texto {
    order: 1; width: auto;
    margin: -14px var(--margem) 0;
    padding-top: 0;
  }
  .a-semana { width: 100%; margin-left: 0; }
  .a-ficha { grid-template-columns: repeat(3, auto); }
  .a-ficha > div { padding-right: 10px; margin-right: 10px; }
  .a-ficha dd { white-space: normal; }
}
@media (max-width: 600px) {
  .a-topo__agendar { display: none; }
  .a-topo__marca img { height: 40px; }
  .a-apoio { font-size: 1.06rem; }
  .a-botao { width: 100%; justify-content: center; }
  .a-acoes { gap: 14px; }
  .a-secundario { margin: 0 auto; }
  .a-dia__marca, .a-dia__marca svg { width: 26px; height: 26px; }
  .a-dia__nome { font-size: .72rem; letter-spacing: .05em; }
  .a-ficha { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); row-gap: 14px; }
  .a-ficha > div:first-child { grid-column: 1 / -1; border-right: 0; }
}

/* ───────── movimento reduzido ───────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js .a-entra, .js .a-retrato, .js .a-topo, .js .a-titulo .a-entra { opacity: 1 !important; transform: none !important; }
  .a-fio__linha { stroke-dashoffset: 0 !important; }
  .a-dia .a-dia__marca i { opacity: 0; }
  .a-dia .a-dia__marca svg { opacity: 1; transform: none; }
  .a-dia__nome { opacity: 1; }
}

.a-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* sem JS: a semana já aparece acesa */
html:not(.js) .a-dia .a-dia__marca i { opacity: 0; }
html:not(.js) .a-dia .a-dia__marca svg { opacity: 1; transform: none; }
html:not(.js) .a-dia__nome { opacity: 1; }

/* ═════ frase ═════ */
/* 1 · a frase do consultório (noite) */
.fr { position: relative; isolation: isolate; overflow: clip; background: var(--noite); color: var(--creme); padding: var(--sec-y) var(--margem); }
.fr-malha { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.fr-m { position: absolute; border-radius: 50%; }
.fr-m1 { width: 90vmax; height: 90vmax; left: -30vmax; top: -40vmax; background: radial-gradient(closest-side in oklab, var(--noite-2), rgb(19 50 74 / 0)); }
.fr-m2 { width: 70vmax; height: 70vmax; right: -26vmax; bottom: -30vmax; background: radial-gradient(closest-side in oklab, rgb(11 51 132 / .38), rgb(11 51 132 / 0)); }
.fr-m3 { width: 60vmax; height: 46vmax; left: 20%; top: 26%; background: radial-gradient(closest-side in oklab, rgb(162 63 92 / .16), rgb(162 63 92 / 0)); }
.fr .grao { z-index: 0; }
.fr-in { position: relative; z-index: 1; max-width: 1260px; margin: 0 auto; }

/* topo: a fala da paciente (contada por ela) + o apoio */
.fr-topo { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: clamp(28px, 6vw, 110px); align-items: end; }
.fr-rot { margin: 0 0 clamp(20px, 2.6vw, 32px); }
.fr-fala__lead { margin: 0; font-size: var(--t-h3); line-height: 1.4; font-weight: 500; color: rgb(247 239 234 / .8); }
.fr-fala__paciente { position: relative; margin: .35em 0 0; font-style: italic; font-weight: 500; font-size: clamp(1.75rem, 1.1rem + 2.1vw, 3.05rem); line-height: 1.22; color: var(--rosa-sobre-escuro); text-wrap: balance; }
.fr-fala { position: relative; }
.fr-aspa { position: absolute; z-index: -1; right: 4%; top: -.28em; font-family: var(--fonte-titulo); font-weight: 700; font-size: clamp(9rem, 5rem + 16vw, 22rem); line-height: 1; color: rgb(240 185 200 / .07); pointer-events: none; user-select: none; }
.fr-apoio { font-size: var(--t-corpo); color: rgb(247 239 234 / .86); padding-left: clamp(18px, 1.6vw, 26px); border-left: 2px solid rgb(169 194 255 / .35); }
.fr-apoio p { margin: 0 0 .9em; }
.fr-apoio p:last-child { margin-bottom: 0; }
.fr-apoio__forte { font-weight: 600; color: var(--creme); }

/* o letreiro dela */
.fr-grande { margin: clamp(64px, 8vw, 120px) 0 0; font-family: var(--fonte-titulo); font-weight: 700; font-size: clamp(2.5rem, .9rem + 5.6vw, 6.4rem); line-height: 1.08; letter-spacing: -.024em; }
.fr-grande span { display: block; }
.fr-grande__l1 { color: var(--creme); }
.fr-grande__l2 { color: var(--rosa-sobre-escuro); }

/* a troca de pergunta */
.fr-troca { position: relative; margin-top: clamp(60px, 8vw, 116px); padding: clamp(30px, 4.4vw, 68px) clamp(22px, 4.4vw, 72px);
  border-radius: var(--raio-cartao); background: linear-gradient(135deg in oklab, rgb(19 50 74 / .9), rgb(13 37 54 / .6));
  box-shadow: inset 0 0 0 1px rgb(240 185 200 / .16), 0 40px 80px -50px rgb(0 0 0 / .6);
  display: grid; grid-template-columns: minmax(0, 1fr) auto max-content; gap: clamp(18px, 2.6vw, 40px); align-items: center; }
.fr-troca__rot { margin: 0 0 12px; font-size: .875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: rgb(247 239 234 / .72); }
.fr-troca__rot--nova { color: var(--rosa-sobre-escuro); }
.fr-velha { margin: 0; font-family: var(--fonte-titulo); font-weight: 700; font-size: clamp(1.7rem, 1.1rem + 1.2vw, 2.2rem); line-height: 1.22; color: rgb(247 239 234 / .5); }
.fr-velha__t {
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12' preserveAspectRatio='none'><path d='M2 7.5C28 3 58 9 96 5.5S170 2.5 198 6' fill='none' stroke='%23f0b9c8' stroke-width='4' stroke-linecap='round'/></svg>") no-repeat 0 60% / 100% .3em;
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.fr-seta { width: clamp(70px, 8vw, 120px); height: auto; overflow: visible; }
.fr-seta path { fill: none; stroke: url(#fr-seta-cor); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
.fr-perguntas { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(12px, 1.4vw, 20px); }
.fr-p { display: flex; align-items: baseline; gap: .45em; font-family: var(--fonte-titulo); font-weight: 700; font-size: clamp(1.45rem, .95rem + 1.5vw, 2.35rem); line-height: 1.18; color: var(--creme); }
@media (min-width: 1001px) { .fr-p { white-space: nowrap; } }
.fr-p:nth-child(2) { margin-left: clamp(0px, 1.2vw, 18px); }
.fr-p:nth-child(3) { margin-left: clamp(0px, 2.4vw, 36px); }
.fr-p .cor { font-size: .72em; transform: translateY(.08em); }

/* fecho: um fio rosa→azul desce do quadro até a frase final (o fio da semana, de pé) */
.fr-ponte { display: block; width: 2px; height: clamp(56px, 7vw, 104px); margin: 0 auto; border-radius: 2px;
  background: linear-gradient(to bottom in oklab, var(--rosa-sobre-escuro), var(--azul-sobre-escuro)); transform-origin: top; }
.js .fr-ponte { transform: scaleY(0); transition: transform 1s var(--ease) .1s; }
.js .fr-ponte.fr-ok { transform: none; }
.fr-fecho { margin: 22px auto 0; max-width: 34em; text-align: center; }
.fr-fecho__frase { margin: 0; font-family: var(--fonte-titulo); font-size: clamp(1.5rem, 1rem + 1.5vw, 2.45rem); font-weight: 700; letter-spacing: -.01em; line-height: 1.3; color: var(--creme); text-wrap: balance; }
.fr-fecho__frase span { color: var(--rosa-sobre-escuro); }
.fr-assina { display: flex; align-items: center; justify-content: center; gap: 10px; margin: 18px 0 0; font-size: var(--t-corpo); font-style: italic; font-weight: 500; color: var(--azul-sobre-escuro); }
.fr-assina__cor { display: inline-flex; gap: 2px; font-size: .9em; }
.fr-link { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; margin-top: 10px; font-weight: 600; color: var(--rosa-sobre-escuro); text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1.5px; text-decoration-color: rgb(240 185 200 / .45); }
.fr-link:hover { text-decoration-color: currentColor; }

/* gesto: a pergunta antiga é riscada à mão e cede lugar às novas */
.js .fr-velha__t { background-size: 0% .3em; color: var(--creme); transition: background-size 1.1s var(--ease) .4s, color .9s ease 1.1s; }
.js .fr-troca.fr-vira .fr-velha__t { background-size: 100% .3em; color: rgb(247 239 234 / .5); }
.js .fr-seta path { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset .8s var(--ease) 1.3s; }
.js .fr-seta .fr-seta__p { transition-delay: 1.9s; transition-duration: .4s; }
.js .fr-troca.fr-vira .fr-seta path { stroke-dashoffset: 0; }
.js .fr-depois > * { opacity: 0; transform: translateY(22px); transition: opacity .9s var(--ease), transform 1.1s var(--ease); }
.js .fr-p { opacity: 0; transform: translateY(18px); transition: opacity .9s var(--ease), transform 1.1s var(--ease); }
.js .fr-troca.fr-vira .fr-depois > *, .js .fr-troca.fr-vira .fr-p { opacity: 1; transform: none; }
.js .fr-troca.fr-vira .fr-troca__rot--nova { transition-delay: 1.8s; }
.js .fr-troca.fr-vira .fr-p:nth-child(1) { transition-delay: 2s; }
.js .fr-troca.fr-vira .fr-p:nth-child(2) { transition-delay: 2.15s; }
.js .fr-troca.fr-vira .fr-p:nth-child(3) { transition-delay: 2.3s; }

@media (max-width: 1000px) {
  .fr-p:nth-child(n) { margin-left: 0; }
  .fr-topo { grid-template-columns: minmax(0, 1fr); }
  .fr-apoio { max-width: 34em; }
  .fr-troca { grid-template-columns: minmax(0, 1fr); }
  .fr-seta { transform: rotate(90deg) scaleY(-1); width: 64px; margin: -6px 0 -6px 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .js .fr-velha__t { background-size: 100% .3em !important; color: rgb(247 239 234 / .5) !important; }
  .js .fr-ponte { transform: none !important; }
  .js .fr-seta path { stroke-dashoffset: 0 !important; }
  .js .fr-depois > *, .js .fr-p { opacity: 1 !important; transform: none !important; }
}

/* ═════ consulta ═════ */
/* 2 · Como funciona a consulta — o fio da semana vira o caminho da consulta */
.cs {
  position: relative; isolation: isolate; overflow: clip;
  background: var(--creme);
  padding: var(--sec-y) var(--margem);
}
.cs-malha { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.cs-m { position: absolute; border-radius: 50%; }
.cs-m1 { width: 70vmax; height: 70vmax; right: -30vmax; top: -34vmax;
  background: radial-gradient(closest-side in oklab, rgb(220 183 191 / .55), rgb(220 183 191 / 0)); }
.cs-m2 { width: 60vmax; height: 60vmax; left: -28vmax; bottom: -30vmax;
  background: radial-gradient(closest-side in oklab, rgb(11 51 132 / .10), rgb(11 51 132 / 0)); }

/* cabeça: título à esquerda, apoio à direita, na mesma linha de base */
.cs-cabeca { position: relative; z-index: 2; }
.cs-cabeca .titulo-sec { margin-top: 14px; text-wrap: initial; }
.cs-cabeca .titulo-sec .l2 { display: block; }
.cs-cabeca__apoio { margin-top: clamp(22px, 2.6vw, 34px); display: flex; flex-wrap: wrap; align-items: center; gap: 18px clamp(24px, 4vw, 56px); }
.cs-intro { margin: 0; font-size: max(1.125rem, var(--t-apoio)); line-height: 1.55; color: var(--texto-suave); max-width: 30em; }
.cs-onde { margin: 0; display: inline-flex; align-items: center; gap: 9px; padding: 10px 20px; border-radius: 999px;
  background: rgb(255 255 255 / .55); box-shadow: inset 0 0 0 1.5px rgb(201 138 149 / .45);
  font-weight: 700; color: var(--marinho); font-size: 1.05rem; }
.cs-onde .cor { font-size: .95rem; }
.cs-onde__ou { font-weight: 500; color: var(--texto-suave); }

/* trilha: o fio + os passos + o fecho */
.cs-trilha { position: relative; margin-top: clamp(48px, 6vw, 88px); }
.cs-fio { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; z-index: 0; }
.cs-fio path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.cs-fio__trilho { stroke: rgb(18 63 94 / .14); stroke-width: 1.5; stroke-dasharray: 2 7; }
.cs-fio__linha { stroke-width: 3; stroke-dasharray: var(--cs-l, 4000); stroke-dashoffset: calc(var(--cs-l, 4000) * (1 - var(--cs-p, 0))); }

.cs-passos { list-style: none; margin: 0; padding: 0; position: relative; z-index: 1;
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 4vw, 72px); }
.cs-passo { position: relative; --cs-y: 0px; }
.cs-passo:nth-child(2) { --cs-y: clamp(30px, 4.6vw, 70px); }
.cs-passo:nth-child(3) { --cs-y: clamp(8px, 1.4vw, 20px); }

.cs-marco { position: relative; height: calc(clamp(30px, 4.6vw, 70px) + 104px); }
.cs-dia { position: absolute; left: 26px; top: calc(var(--cs-y) + 60px); transform: translateX(-50%); white-space: nowrap;
  font-size: .82rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--texto-suave); opacity: .55; transition: opacity .5s, color .5s; }
.cs-passo--rosa.cs-acesa .cs-dia { color: var(--framboesa); opacity: 1; }
.cs-passo--azul.cs-acesa .cs-dia { color: var(--royal); opacity: 1; }
.cs-no { position: absolute; left: 0; top: var(--cs-y); display: grid; place-items: center; width: 52px; height: 52px; z-index: 2; }
.cs-no i { position: absolute; width: 13px; height: 13px; border-radius: 50%; background: var(--creme); box-shadow: 0 0 0 1.5px rgb(18 63 94 / .3); transition: transform .5s var(--ease), opacity .4s; }
.cs-no svg { width: 52px; height: 52px; transform: scale(.2); opacity: 0; transition: transform .7s cubic-bezier(.3, 1.6, .5, 1), opacity .3s; filter: drop-shadow(0 5px 10px rgb(13 37 54 / .22)); }
.cs-passo--rosa .cs-no svg { fill: var(--framboesa); }
.cs-passo--azul .cs-no svg { fill: var(--royal); }
.cs-passo.cs-acesa .cs-no i { transform: scale(0); opacity: 0; }
.cs-passo.cs-acesa .cs-no svg { transform: scale(1); opacity: 1; }
.cs-quando { margin: 0 0 6px; display: flex; flex-direction: column; gap: 2px; }
.cs-grande { font-family: var(--fonte-texto); font-weight: 700; font-size: clamp(2rem, 1.3rem + 2.1vw, 3.2rem); line-height: 1.02; letter-spacing: -.02em; }
.cs-passo--rosa .cs-grande { color: var(--framboesa); }
.cs-passo--azul .cs-grande { color: var(--royal); }
.cs-passo:nth-child(3) .cs-quando { gap: 6px; }
.cs-passo:nth-child(3) .cs-grande { font-family: var(--fonte-titulo); line-height: 1.12; letter-spacing: -.025em; }
.cs-sub { font-size: .875rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--texto-suave); }
.cs-h3 { font-family: var(--fonte-titulo); font-weight: 700; font-size: var(--t-h3); line-height: 1.12; color: var(--marinho); margin: 20px 0 12px; letter-spacing: -.01em; }
.cs-txt { margin: 0; color: var(--noite); max-width: 26em; }

.cs-medidas { list-style: none; padding: 0; margin: 18px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.cs-medidas li { display: inline-flex; align-items: center; gap: 7px; font-size: 1rem; font-weight: 600; color: var(--marinho); padding: 7px 15px 7px 12px; border-radius: 999px; background: rgb(236 211 215 / .75); }

.cs-lista { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.cs-lista li { display: flex; gap: 12px; align-items: baseline; }
.cs-lista .cor { font-size: 1rem; transform: translateY(2px); }
.cs-medidas .cor { font-size: .8rem; }
.cs-nota { margin: 18px 0 0; padding-top: 14px; border-top: 1.5px dashed rgb(18 63 94 / .18); font-size: 1.125rem; color: var(--texto-suave); }

/* fecho: a fala dela + o botão onde o fio termina */
.cs-fecho { position: relative; z-index: 1; margin-top: clamp(72px, 9vw, 130px);
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(28px, 4vw, 72px); align-items: center; }
.cs-citacao { grid-column: 1 / 3; margin: 0; }
.cs-citacao p { margin: 0; font-family: var(--fonte-texto); font-weight: 500; font-size: clamp(1.3rem, 1rem + 1vw, 1.9rem); line-height: 1.4; color: var(--marinho); text-wrap: pretty; }
.cs-citacao em { font-style: normal; font-weight: 700; color: var(--framboesa); }
.cs-citacao footer { margin-top: 14px; font-size: var(--t-rotulo); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--texto-suave); }
.cs-acao { position: relative; justify-self: start; }
.cs-botao { position: relative; z-index: 1; }
.cs-acao::before { content: ""; position: absolute; inset: -9px; border-radius: 999px; border: 1.5px solid var(--framboesa); opacity: 0; transform: scale(.9); transition: opacity .6s, transform .8s var(--ease); pointer-events: none; }
.cs.cs-chegou .cs-acao::before { opacity: .5; transform: scale(1); animation: cs-aro 5s ease-in-out 1s infinite; }
@keyframes cs-aro { 0%, 100% { transform: scale(1); opacity: .5; } 50% { transform: scale(1.08, 1.22); opacity: .15; } }

/* tablet */
@media (max-width: 1100px) and (min-width: 861px) {
}

/* celular: o fio desce pela esquerda */
@media (max-width: 860px) {
  .cs-passos { grid-template-columns: 1fr; gap: 56px; }
  .cs-passo { display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 10px; --cs-y: 0px !important; }
  .cs-marco { height: auto; }
  .cs-no { position: relative; left: 2px; top: 0; }
  .cs-marco { display: flex; flex-direction: column; align-items: center; gap: 6px; }
  .cs-dia { display: none; }
  .cs-fecho { grid-template-columns: 1fr; gap: 34px; }
  .cs-citacao { grid-column: auto; padding-left: 66px; }
  .cs-citacao p { font-size: 1.3rem; }
  .cs-cabeca .titulo-sec { text-wrap: balance; }
  .cs-acao { justify-self: start; margin-left: 66px; }
  .cs-acao::before { inset: -7px; }
}
@media (max-width: 520px) {
  .cs-acao { justify-self: stretch; margin-left: 0; }
  .cs-botao { width: 100%; }
}
@media (max-width: 420px) {
  .cs-onde { font-size: 1rem; padding: 9px 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .cs-fio__linha { stroke-dashoffset: 0 !important; }
  .cs-no i { opacity: 0 !important; }
  .cs-no svg { opacity: 1 !important; transform: none !important; }
  .cs-acao::before { opacity: .5 !important; transform: none !important; }
}
html:not(.js) .cs-fio__linha { stroke-dashoffset: 0; }
html:not(.js) .cs-no i { opacity: 0; }
html:not(.js) .cs-no svg { opacity: 1; transform: none; }

@media (max-width: 860px) { .cs .rotulo { font-size: .875rem; } }

/* ═════ jeito ═════ */
/* 3 · o jeito dela (rosa-poeira) */
.jt { position: relative; isolation: isolate; overflow: clip; background: var(--rosa-poeira); padding: var(--sec-y) var(--margem); }
.jt-malha { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.jt-m { position: absolute; border-radius: 50%; }
.jt-m1 { width: 80vmax; height: 80vmax; left: -30vmax; top: -36vmax; background: radial-gradient(closest-side in oklab, rgb(236 211 215 / .9), rgb(236 211 215 / 0)); }
.jt-m2 { width: 70vmax; height: 70vmax; right: -28vmax; bottom: -30vmax; background: radial-gradient(closest-side in oklab, rgb(201 138 149 / .55), rgb(201 138 149 / 0)); }
.jt .grao { z-index: 0; }
.jt-in { position: relative; z-index: 1; max-width: 1260px; margin: 0 auto; }
.jt-rot { margin: 0 0 18px; color: var(--marinho); }
.jt-cab { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); column-gap: clamp(32px, 6vw, 100px); align-items: end; }
.jt-rot { grid-column: 1 / -1; }
.jt-intro { margin: 0; font-size: var(--t-corpo); color: var(--noite); padding-left: clamp(16px, 1.6vw, 24px); border-left: 2px solid var(--framboesa); }
.jt .titulo-sec { line-height: 1.06; }

.jt-corpo { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(32px, 6vw, 100px); align-items: center; margin-top: clamp(44px, 5.5vw, 80px); }
.jt-lista { list-style: none; margin: 0; padding: 0; display: grid; }
.jt-item { padding: clamp(18px, 2.2vw, 30px) 0; border-top: 1.5px solid rgb(162 63 92 / .25); }
.jt-item:last-child { border-bottom: 1.5px solid rgb(162 63 92 / .25); }
.jt-item { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: clamp(16px, 2vw, 28px); align-items: start; }
.jt-item p { margin: 0; font-size: clamp(1.25rem, 1rem + .95vw, 1.8rem); line-height: 1.3; font-weight: 600; color: var(--noite); text-wrap: pretty; }
.jt-cor { position: relative; display: grid; place-items: center; width: clamp(2rem, 1.6rem + 1.2vw, 2.8rem); height: clamp(2rem, 1.6rem + 1.2vw, 2.8rem); margin-top: .05em; font-size: clamp(2rem, 1.6rem + 1.2vw, 2.8rem); }
.jt-cor i { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--creme); box-shadow: 0 0 0 1.5px rgb(18 63 94 / .35); transition: transform .5s var(--ease), opacity .4s; }
.jt-cor .cor { transition: transform .7s cubic-bezier(.3, 1.6, .5, 1), opacity .3s; }

.jt-foto { position: relative; margin: 0; }
.jt-foto img { width: 100%; height: auto; aspect-ratio: 720 / 860; object-fit: cover; object-position: 50% 20%; border-radius: 999px 999px var(--raio-cartao) var(--raio-cartao); box-shadow: 0 40px 70px -40px rgb(13 37 54 / .6); }
.jt-foto::before { content: ""; position: absolute; inset: -14px -14px auto -14px; aspect-ratio: 720 / 860; border-radius: 999px 999px calc(var(--raio-cartao) + 14px) calc(var(--raio-cartao) + 14px); border: 1.5px solid rgb(18 63 94 / .28); pointer-events: none; }
.jt-foto__leg { display: flex; align-items: center; gap: 4px; margin-top: 26px; font-size: 1rem; font-weight: 600; color: var(--marinho); }
.jt-foto__leg .cor { font-size: 1.1rem; }
.jt-foto__leg .cor + .cor { margin-right: 8px; }

.jt-baixo { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(36px, 6vw, 100px); align-items: center; margin-top: clamp(80px, 10vw, 150px); }
.jt-constancia { margin: 0; }
.jt-constancia p { margin: 0; font-family: var(--fonte-titulo); font-weight: 700; font-size: clamp(1.8rem, 1rem + 2.4vw, 3.15rem); line-height: 1.14; color: var(--marinho); text-wrap: balance; }
.jt-constancia em { font-style: normal; color: var(--framboesa); }
.jt-semana { list-style: none; display: flex; gap: clamp(8px, 1.2vw, 16px); margin: clamp(22px, 3vw, 36px) 0 0; padding: 0; }
.jt-semana li { width: clamp(22px, 2.4vw, 32px); aspect-ratio: 1; background: var(--framboesa); -webkit-mask: var(--coracao) center / contain no-repeat; mask: var(--coracao) center / contain no-repeat; }
.jt-semana li:nth-child(even) { background: var(--royal); }

.jt-mercado { position: relative; background: radial-gradient(circle at 50% 0, var(--rosa-poeira) 5px, transparent 5.5px) 6px 0 / 22px 12px repeat-x, var(--creme); border-radius: 6px 6px var(--raio-cartao) var(--raio-cartao); padding: clamp(30px, 3.4vw, 46px) clamp(24px, 3vw, 40px); box-shadow: 0 30px 60px -34px rgb(13 37 54 / .55); }
.jt-mercado::before { content: "lista de mercado"; position: absolute; top: -14px; left: 24px; padding: 4px 14px; border-radius: 999px; background: var(--marinho); color: var(--creme); font-size: .875rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.jt-mercado__t { margin: 0 0 18px; font-family: var(--fonte-titulo); font-size: var(--t-h3); color: var(--framboesa); }
.jt-mercado__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; font-size: var(--t-corpo); line-height: 1.4; }
.jt-mercado__lista li { display: flex; gap: 12px; align-items: baseline; }
.jt-mercado__lista .cor { font-size: .9em; transform: translateY(.1em); }
.jt-mercado__fecho { margin: 18px 0 0; font-weight: 600; color: var(--marinho); }

/* gesto: cada item acende o coração ao entrar */
.js .jt-item .cor { transform: scale(.2); opacity: 0; }
.js .jt-item p { opacity: .35; transition: opacity .8s var(--ease) .15s; }
.jt-item.jt-acesa .cor { transform: scale(1); opacity: 1; }
.jt-item.jt-acesa .jt-cor i { transform: scale(0); opacity: 0; }
.jt-item.jt-acesa p { opacity: 1; }

/* a semana do constância acende em sequência */
.js .jt-semana li { transform: scale(.3); opacity: .25; transition: transform .6s cubic-bezier(.3, 1.6, .5, 1), opacity .4s; }
.js .jt-constancia.rev-ok .jt-semana li { transform: none; opacity: 1; }
.jt-semana li:nth-child(1) { transition-delay: .5s; } .jt-semana li:nth-child(2) { transition-delay: .62s; } .jt-semana li:nth-child(3) { transition-delay: .74s; }
.jt-semana li:nth-child(4) { transition-delay: .86s; } .jt-semana li:nth-child(5) { transition-delay: .98s; } .jt-semana li:nth-child(6) { transition-delay: 1.1s; } .jt-semana li:nth-child(7) { transition-delay: 1.22s; }

@media (max-width: 860px) {
  .jt-corpo, .jt-baixo, .jt-cab { grid-template-columns: minmax(0, 1fr); }
  .jt-intro { margin-top: 22px; }
  .jt-foto__leg { justify-content: center; }
  .jt-foto { max-width: 380px; width: calc(100% - 28px); margin: 0 auto; }
  .jt-mercado { margin: 0 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .js .jt-item .cor { transform: none !important; opacity: 1 !important; }
  .js .jt-item p { opacity: 1 !important; }
  .js .jt-semana li { transform: none !important; opacity: 1 !important; }
  .jt-cor i { opacity: 0 !important; }
}
html:not(.js) .jt-cor i { opacity: 0; }

/* ═════ sobre ═════ */
/* ───────── sobre ───────── */
.sb { position: relative; isolation: isolate; overflow: clip; font-size: max(1.125rem, var(--t-corpo)); background: var(--creme); padding: var(--sec-y) var(--margem); }
.sb-malha { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.sb-mancha { position: absolute; border-radius: 50%; display: block; }
.sb-mancha--rosa { width: 90vmax; height: 90vmax; left: -38vmax; top: 4%; background: radial-gradient(closest-side in oklab, rgb(220 183 191 / .9), rgb(220 183 191 / .35) 55%, rgb(220 183 191 / 0)); }
.sb-mancha--royal { width: 60vmax; height: 60vmax; right: -26vmax; bottom: -30vmax; background: radial-gradient(closest-side in oklab, rgb(11 51 132 / .09), rgb(11 51 132 / 0)); }
@media (prefers-reduced-motion: no-preference) {
  .sb-mancha { animation: sb-respira 32s ease-in-out infinite alternate; }
  .sb-mancha--royal { animation-duration: 26s; animation-direction: alternate-reverse; }
}
@keyframes sb-respira { to { transform: translate3d(4vmax, -3vmax, 0) scale(1.06); } }

.sb-in { position: relative; z-index: 1; max-width: 1280px; margin: 0 auto; display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); grid-template-areas: "foto cabeca" "foto texto" "foto assina" "foto ponte";
  grid-template-rows: auto auto auto 1fr; column-gap: clamp(48px, 7vw, 120px); row-gap: clamp(26px, 3vw, 40px); }
.sb-cabeca { grid-area: cabeca; align-self: end; }
.sb-cabeca .rotulo { margin: 0 0 18px; }
.sb-foto { grid-area: foto; position: sticky; top: 104px; margin: 0; align-self: start; }
.sb-texto { grid-area: texto; max-width: 34em; }
.sb-assina { grid-area: assina; }
.sb-ponte { grid-area: ponte; justify-self: start; align-self: start; }
@media (min-width: 1100px) { .sb .titulo-sec { font-size: min(var(--t-h2), 3.95vw); } .sb .titulo-sec .l2 { white-space: nowrap; } }
.sb-arco picture { display: contents; }

/* foto em arco */
.sb-arco { position: relative; aspect-ratio: 4 / 5; border-radius: 999px 999px var(--raio-cartao) var(--raio-cartao); overflow: hidden; box-shadow: 0 40px 80px -40px rgb(13 37 54 / .55); background: var(--noite-2); }
.sb-arco img { width: 100%; height: 100%; object-fit: cover; }
/* luz rosada sobre a parede (só no alto, longe do rosto) */
.sb-arco::after { content: ""; position: absolute; inset: 0; pointer-events: none; mix-blend-mode: soft-light;
  background: linear-gradient(to bottom, rgb(236 211 215 / .75), rgb(236 211 215 / 0) 46%), linear-gradient(to top, rgb(162 63 92 / .35), rgb(162 63 92 / 0) 22%); }
.sb-fio { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.sb-fio__linha { fill: none; stroke: url(#sb-fio-cor); stroke-width: 3; stroke-linecap: round; vector-effect: non-scaling-stroke; stroke-dasharray: 1 1; stroke-dashoffset: 0; }
.js .sb-foto:not(.rev-ok) .sb-fio__linha { stroke-dashoffset: 1; }
.js .sb-fio__linha { transition: stroke-dashoffset 2.6s var(--ease) .35s; }
.sb-coracao { position: absolute; left: 102.5%; top: 90.4%; width: 46px; height: 46px; translate: -50% -50%; display: grid; place-items: center; font-size: 26px; }
.sb-coracao i { position: absolute; inset: 0; border-radius: 50%; border: 1.5px solid rgb(162 63 92 / .45); background: var(--creme); }
.sb-coracao .cor { position: relative; }
.js .sb-foto:not(.rev-ok) .sb-coracao { scale: 0; }
.js .sb-coracao { transition: scale .7s var(--ease) 2.6s; }
@media (prefers-reduced-motion: no-preference) { .sb-foto.rev-ok .sb-coracao i { animation: sb-aro 3.4s ease-in-out 3.3s infinite; } }
@keyframes sb-aro { 50% { transform: scale(1.18); opacity: .55; } }
.sb-legenda { position: absolute; left: 50%; bottom: 0; translate: -50% 50%; display: inline-flex; align-items: center; gap: 10px; white-space: nowrap;
  padding: 12px 20px; border-radius: 999px; background: var(--creme); box-shadow: var(--sombra);
  font-size: var(--t-rotulo); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--marinho); }

/* texto */
.sb-citacao { margin: 0; padding: 0; }
.sb-citacao p { margin: 0; font-family: var(--fonte-titulo); font-size: clamp(1.4rem, 1.1rem + 1.1vw, 2.05rem); line-height: 1.28; letter-spacing: -.01em; color: var(--marinho); text-wrap: pretty; }
.sb-citacao em { font-style: normal; color: var(--framboesa); background: linear-gradient(transparent 62%, rgb(220 183 191 / .7) 62%, rgb(220 183 191 / .7) 92%, transparent 92%); }
.sb-p { margin: 24px 0 0; }
.sb-fatos { list-style: none; margin: 26px 0 0; padding: 18px 0; display: flex; flex-wrap: wrap; gap: 10px 28px; font-weight: 600; color: var(--marinho);
  border-block: 1px solid rgb(18 63 94 / .14); }
.sb-fatos li { display: inline-flex; align-items: center; gap: 10px; }
.sb-fatos .cor { font-size: 1.1em; }
.sb-assina { margin: 4px 0 0; max-width: 34em; display: grid; grid-template-columns: auto 1fr; column-gap: 18px; align-items: start; }
.sb-assina img { grid-row: 1 / 3; width: 40px; height: auto; margin-top: 4px; }
.sb-assina blockquote { margin: 0; }
.sb-assina p { margin: 0; font-weight: 500; font-style: italic; color: var(--texto-suave); }
.sb-assina figcaption { margin-top: 8px; font-weight: 700; color: var(--royal); }

.sb-ponte { margin-top: clamp(30px, 3vw, 40px); display: inline-flex; align-items: center; gap: 18px; padding: 14px 14px 14px 26px; border-radius: 999px; text-decoration: none;
  background: var(--marinho); color: var(--creme); box-shadow: var(--sombra); transition: background .3s, transform .35s var(--ease); }
.sb-ponte:hover { background: var(--noite); transform: translateY(-2px); }
.sb-ponte__txt { display: grid; }
.sb-ponte__txt span { font-size: var(--t-rotulo); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: rgb(247 239 234 / .78); }
.sb-ponte__txt strong { font-family: var(--fonte-titulo); font-size: clamp(1.2rem, 1rem + .6vw, 1.5rem); color: var(--rosa-sobre-escuro); }
.sb-ponte__seta { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: var(--framboesa); color: #fff; flex: none; }
.sb-ponte__seta svg { width: 24px; height: 24px; }

@media (max-width: 860px) {
  .sb-in { grid-template-columns: 1fr; grid-template-areas: "cabeca" "foto" "texto" "assina" "ponte"; grid-template-rows: none; row-gap: 0; }
  .sb-foto { position: relative; top: auto; width: min(100% - 26px, 460px); margin: 34px auto 56px; }
  .sb-ponte__txt span { letter-spacing: .06em; font-size: .875rem; }
  .sb-ponte__txt strong { white-space: nowrap; font-size: 1.15rem; }
  .sb-assina { margin-top: 34px; padding: 0; }
  .sb-coracao { width: 40px; height: 40px; font-size: 22px; }
  .sb .rotulo { font-size: .875rem; }
  .sb-legenda { font-size: .875rem; letter-spacing: .08em; padding: 12px 16px; }
}
@media (max-width: 480px) {
  .sb-ponte { padding-left: 20px; gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .js .sb-foto .sb-fio__linha { stroke-dashoffset: 0 !important; transition: none; }
  .js .sb-foto .sb-coracao { scale: 1 !important; transition: none; }
}

/* ═════ receitas ═════ */
/* ───────── receitas ───────── */
.rc { position: relative; isolation: isolate; overflow: clip; font-size: max(1.125rem, var(--t-corpo)); background: var(--noite); color: var(--creme); padding: var(--sec-y) var(--margem); }
.rc-luz { position: absolute; inset: 0; z-index: 0; pointer-events: none; }
.rc-luz span { position: absolute; display: block; border-radius: 50%; }
.rc-luz__a { width: 80vmax; height: 80vmax; left: -30vmax; top: -30vmax; background: radial-gradient(closest-side in oklab, rgb(18 63 94 / .95), rgb(19 50 74 / .5) 55%, rgb(19 50 74 / 0)); }
.rc-luz__b { width: 70vmax; height: 70vmax; right: -28vmax; top: 30%; background: radial-gradient(closest-side in oklab, rgb(162 63 92 / .32), rgb(162 63 92 / 0)); }
.rc-in { position: relative; z-index: 1; max-width: 1240px; margin: 0 auto; }

.rc-cabeca { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.rc-cabeca .rotulo { margin: 0 0 18px; color: var(--rosa-sobre-escuro); }
.rc .titulo-sec { font-size: clamp(2.6rem, 1.2rem + 4.6vw, 5.6rem); }
@media (min-width: 1100px) { .rc .titulo-sec { font-size: min(5rem, 4.1vw); white-space: nowrap; } }
.rc-apoio { margin: 28px 0 0; max-width: 28em; font-size: clamp(1.12rem, 1rem + .45vw, 1.38rem); color: rgb(247 239 234 / .9); }
.rc-provando { position: relative; margin: 0; }
.rc-provando > img, .rc-foto > img:first-child { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--raio-cartao); box-shadow: 0 30px 60px -30px rgb(0 0 0 / .6); }
.rc-provando > img { border-radius: 999px 999px var(--raio-cartao) var(--raio-cartao); }
.rc-selo { position: absolute; left: clamp(-70px, -5vw, -24px); bottom: 9%; width: clamp(118px, 11vw, 160px); height: auto; filter: drop-shadow(0 14px 22px rgb(0 0 0 / .35)); }
.rc-selo__fundo { fill: var(--framboesa); }
.rc-selo__txt { font-family: var(--fonte-texto); font-weight: 700; font-size: 17.5px; fill: var(--creme); }
.rc-selo__cor { fill: var(--rosa-sobre-escuro); }

/* receita: foto e ficha sobrepostas, como uma ficha apoiada na foto */
.rc-receita { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: center; margin-top: clamp(90px, 11vw, 160px); }
.rc-receita .rc-foto { grid-column: 1 / 7; grid-row: 1; }
.rc-receita .rc-ficha { grid-column: 6 / 13; grid-row: 1; z-index: 2; }
.rc-receita--petisco .rc-foto { grid-column: 7 / 13; }
.rc-receita--petisco .rc-ficha { grid-column: 1 / 8; }
.rc-foto { position: relative; margin: 0; }
.rc-foto::before { content: ""; position: absolute; inset: -18%; z-index: -1; border-radius: 50%; background: radial-gradient(closest-side in oklab, rgb(201 138 149 / .38), rgb(201 138 149 / 0)); }
.rc-foto__mini { position: absolute; left: -5%; top: -9%; width: 36%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 16px; border: 6px solid var(--creme); rotate: -5deg; box-shadow: 0 20px 40px -18px rgb(0 0 0 / .6); }

.rc-ficha { position: relative; overflow: hidden; background: var(--creme); color: var(--noite); border-radius: var(--raio-cartao); padding: clamp(26px, 3.4vw, 48px); box-shadow: 0 40px 80px -40px rgb(0 0 0 / .7); }
.rc-ficha::before { content: ""; position: absolute; inset: 0 0 auto; height: 6px; background: linear-gradient(90deg, var(--framboesa), var(--petala) 55%, var(--royal)); }
.rc-ficha .cor--rosa { color: var(--framboesa); } .rc-ficha .cor--azul { color: var(--royal); }
.rc-ficha__topo { display: grid; grid-template-columns: auto 1fr; gap: clamp(14px, 1.6vw, 22px); align-items: center; }
.rc-ficha__num { font-family: var(--fonte-titulo); font-weight: 700; font-size: clamp(2.4rem, 1.6rem + 2.4vw, 4rem); line-height: 1; color: var(--rosa-poeira); letter-spacing: -.03em; }
.rc-ficha__tipo { margin: 0; font-size: var(--t-rotulo); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--framboesa); }
.rc-ficha__nome { margin: 6px 0 0; font-family: var(--fonte-titulo); font-weight: 700; font-size: var(--t-h3); line-height: 1.1; color: var(--marinho); }
.rc-ficha__cols { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(20px, 3vw, 40px); margin-top: 26px; padding-top: 22px; border-top: 1px solid rgb(18 63 94 / .12); }
.rc-ficha__sub { margin: 18px 0 8px; font-size: var(--t-rotulo); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--texto-suave); }
.rc-ficha__cols > div > .rc-ficha__sub:first-child { margin-top: 0; }
.rc-ing, .rc-passos { margin: 0; padding: 0; }
.rc-ing { list-style: none; }
.rc-ing li { display: flex; gap: 10px; align-items: baseline; padding: 5px 0; line-height: 1.4; }
.rc-ing .cor { font-size: .9em; translate: 0 .12em; }
.rc-passos { list-style: none; counter-reset: rc-p; }
.rc-passos li { counter-increment: rc-p; position: relative; padding: 5px 0 5px 34px; line-height: 1.45; }
.rc-passos li::before { content: counter(rc-p); position: absolute; left: 0; top: 5px; font-weight: 700; color: var(--framboesa); }
.rc-ficha__fala { margin: 24px 0 0; padding-top: 18px; border-top: 1px dashed rgb(18 63 94 / .25); font-style: italic; font-weight: 500; color: var(--texto-suave); }

/* gesto: os corações dos ingredientes acendem um a um quando a ficha entra */
.js .rc-ficha .rc-ing .cor { transition: opacity .5s var(--ease), scale .6s var(--ease); transition-delay: calc(.5s + var(--i, 0) * .13s); }
.js .rc-ficha:not(.rev-ok) .rc-ing .cor { opacity: .2; scale: .5; }
.js .rc-ing li { transition: none; }

/* preparo: aberto no computador, recolhível no celular */
.rc-preparo summary { list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; cursor: default; pointer-events: none; }
.rc-preparo summary::-webkit-details-marker { display: none; }
.rc-preparo summary i { display: none; }
.rc-ficha__cols > div > .rc-preparo:first-child summary { margin-top: 0; }

.rc-fim { margin-top: clamp(84px, 10vw, 150px); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 80px); align-items: end;
  padding-top: clamp(40px, 5vw, 64px); border-top: 1px solid rgb(247 239 234 / .14); }
.rc-fim__fala { margin: 0; position: relative; padding-left: clamp(0px, 4vw, 60px); }
.rc-fim__fala .cor { position: absolute; left: 0; top: .2em; font-size: clamp(28px, 2.6vw, 40px); }
.rc-fim__fala p { margin: 0; font-family: var(--fonte-titulo); font-size: clamp(1.45rem, 1.05rem + 1.5vw, 2.4rem); line-height: 1.22; color: var(--creme); text-wrap: pretty; }
.rc-fim__fala .rc-fim__abre { margin-bottom: .45em; color: var(--rosa-sobre-escuro); }
.rc-fim__acao p { margin: 0 0 18px; color: rgb(247 239 234 / .88); }
.rc-insta { display: inline-flex; align-items: center; gap: 10px; min-height: 56px; padding: 0 28px; border-radius: 999px; text-decoration: none; font-weight: 700;
  color: var(--noite); background: var(--creme); box-shadow: 0 16px 34px -16px rgb(0 0 0 / .6); transition: background .3s, transform .35s var(--ease); }
.rc-insta:hover { background: var(--rosa-claro); transform: translateY(-2px); }
.rc-insta svg { width: 22px; height: 22px; }

@media (max-width: 900px) {
  .rc-cabeca { grid-template-columns: 1fr; }
  .rc-provando { width: min(100% - 40px, 380px); margin-left: auto; }
  .rc-selo { left: -34px; }
  .rc-receita .rc-foto, .rc-receita--petisco .rc-foto { grid-column: 2 / 13; }
  .rc-receita .rc-ficha, .rc-receita--petisco .rc-ficha { grid-column: 1 / 13; grid-row: 2; margin-top: -70px; }
  .rc-foto__mini { left: auto; right: -3%; top: -7%; width: 34%; rotate: 5deg; }
}
@media (max-width: 900px) {
  .rc-fim { grid-template-columns: 1fr; }
  .rc-fim__fala { padding-left: 46px; }
}
@media (max-width: 600px) {
  .rc-ficha__cols { grid-template-columns: 1fr; }
  .rc-preparo { border-top: 1px solid rgb(18 63 94 / .12); margin-top: 12px; }
  .rc-preparo summary { pointer-events: auto; cursor: pointer; min-height: 52px; margin: 0; }
  .rc-preparo summary i { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--rosa-claro); position: relative; }
  .rc-preparo summary i::before, .rc-preparo summary i::after { content: ""; position: absolute; width: 14px; height: 2px; background: var(--framboesa); border-radius: 2px; transition: rotate .3s var(--ease); }
  .rc-preparo summary i::after { rotate: 90deg; }
  .rc-preparo[open] summary i::after { rotate: 0deg; }
  .rc-ficha__num { font-size: 2.4rem; }
  .rc-ficha__tipo, .rc-ficha__sub, .rc .rotulo { font-size: .875rem; letter-spacing: .08em; }
}
@media (prefers-reduced-motion: reduce) {
  .js .rc-ficha .rc-ing .cor { opacity: 1 !important; scale: 1 !important; transition: none; }
}

/* ═════ duvidas ═════ */
/* 6 · Dúvidas — perguntas em <details>, coração que acende ao abrir */
.dv { position: relative; isolation: isolate; overflow: clip; background: var(--creme); padding: var(--sec-y) var(--margem); }
.dv-malha { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.dv-m { position: absolute; border-radius: 50%; }
.dv-m1 { width: 64vmax; height: 64vmax; left: -30vmax; top: -24vmax; background: radial-gradient(closest-side in oklab, rgb(220 183 191 / .5), rgb(220 183 191 / 0)); }
.dv-m2 { width: 56vmax; height: 56vmax; right: -26vmax; bottom: -30vmax; background: radial-gradient(closest-side in oklab, rgb(11 51 132 / .09), rgb(11 51 132 / 0)); }

.dv-in { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: clamp(40px, 6vw, 110px); align-items: start; }
.dv-cabeca { position: sticky; top: 108px; }
.dv-cabeca .titulo-sec { margin-top: 14px; font-size: clamp(2.2rem, 1rem + 2.6vw, 3.1rem); }
@media (min-width: 901px) { .dv-l1, .dv-cabeca .titulo-sec .l2 { white-space: nowrap; } }
.dv-intro { margin: 22px 0 0; font-size: max(1.125rem, var(--t-apoio)); color: var(--texto-suave); max-width: 26em; }
/* fecho: a última "mensagem" é sua */
.dv-fim { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 24px; margin-top: 36px; padding: 22px 26px;
  border-radius: 24px 24px 6px 24px; background: var(--marinho); color: var(--creme); box-shadow: var(--sombra); }
.dv-fim__perg { margin: 0; display: flex; align-items: center; gap: 12px; font-family: var(--fonte-titulo); font-weight: 700; font-size: clamp(1.2rem, 1rem + .6vw, 1.4rem); line-height: 1.15; }
.dv-fim__perg .cor { color: var(--azul-sobre-escuro); font-size: .8em; }
.dv-wa { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 0 20px; border-radius: 999px; background: var(--creme); color: var(--marinho);
  font-weight: 700; font-size: 1.04rem; text-decoration: none; transition: background .3s, color .3s, transform .35s var(--ease); }
.dv-wa svg { width: 22px; height: 22px; color: var(--framboesa); }
.dv-wa:hover { background: var(--rosa-claro); transform: translateY(-2px); }
.dv-fim .dv-wa:focus-visible { outline-color: var(--rosa-sobre-escuro); }

.dv-lista-perg { border-top: 1.5px solid rgb(18 63 94 / .14); }
.dv-item { border-bottom: 1.5px solid rgb(18 63 94 / .14); }
.dv-perg { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 18px; min-height: 64px; padding: 20px 14px; margin: 0 -10px; border-radius: 18px; transition: background .3s;
  font-weight: 600; font-size: clamp(1.15rem, 1rem + .5vw, 1.4rem); line-height: 1.3; color: var(--marinho); }
.dv-perg::-webkit-details-marker { display: none; }
.dv-perg:hover { background: rgb(236 211 215 / .45); }
.dv-perg:hover .dv-perg__txt { color: var(--framboesa); }
.dv-perg__txt { flex: 1; transition: color .3s; }
.dv-marca { width: 30px; height: 30px; flex: none; display: grid; place-items: center; }
.dv-marca svg { width: 30px; height: 30px; fill: transparent; stroke-width: 1.6; transition: fill .4s, transform .6s cubic-bezier(.3, 1.6, .5, 1); }
.dv-item--rosa .dv-marca svg { stroke: var(--framboesa); }
.dv-item--azul .dv-marca svg { stroke: var(--royal); }
.dv-item--rosa[open] .dv-marca svg { fill: var(--framboesa); transform: scale(1.12); }
.dv-item--azul[open] .dv-marca svg { fill: var(--royal); transform: scale(1.12); }
.dv-sinal { position: relative; width: 22px; height: 22px; flex: none; }
.dv-sinal::before, .dv-sinal::after { content: ""; position: absolute; left: 3px; right: 3px; top: 10px; height: 2px; border-radius: 2px; background: currentColor; transition: transform .4s var(--ease); }
.dv-sinal::after { transform: rotate(90deg); }
.dv-item[open] .dv-sinal::after { transform: rotate(0); }

/* a resposta chega como mensagem dela */
.dv-resp { padding: 2px 4px 28px 52px; }
.dv-balao { position: relative; max-width: 36em; padding: 20px 24px 22px; border-radius: 6px 24px 24px 24px;
  background: rgb(255 255 255 / .62); box-shadow: inset 0 0 0 1.5px rgb(201 138 149 / .35), var(--sombra); }
.dv-item--azul .dv-balao { box-shadow: inset 0 0 0 1.5px rgb(11 51 132 / .16), var(--sombra); }
.dv-quem { display: flex; align-items: center; gap: 10px; margin: 0 0 10px !important; font-size: .875rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--royal); }
.dv-avatar { width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; background: var(--rosa-claro); box-shadow: inset 0 0 0 1.5px rgb(201 138 149 / .5); flex: none;
  font-family: var(--fonte-titulo); font-weight: 700; font-size: .82rem; letter-spacing: 0; color: var(--framboesa); }


/* abrir: a resposta desliza e o balão chega como mensagem */
.dv-item::details-content { block-size: 0; overflow: clip; transition: block-size .5s var(--ease), content-visibility .5s allow-discrete; }
.dv-item[open]::details-content { block-size: auto; }
.dv-lista-perg { interpolate-size: allow-keywords; }
.dv-item[open] .dv-balao { animation: dv-chega .6s var(--ease) both; }
@keyframes dv-chega { from { opacity: 0; transform: translateY(10px) scale(.98); transform-origin: 0 0; } to { opacity: 1; transform: none; } }
.dv-balao p { margin: 0 0 12px; }
.dv-balao > :last-child { margin-bottom: 0; }
.dv-fala { font-family: var(--fonte-titulo); font-weight: 700; font-size: clamp(1.25rem, 1.1rem + .5vw, 1.5rem); line-height: 1.25; color: var(--framboesa); }
.dv-lista { list-style: none; padding: 0; margin: 10px 0 0; display: grid; gap: 8px; }
.dv-lista li { display: flex; gap: 12px; align-items: baseline; }
.dv-lista .cor { font-size: .95rem; transform: translateY(2px); }

@media (max-width: 900px) {
  .dv-in { grid-template-columns: 1fr; row-gap: 40px; }
  .dv-cabeca { position: static; }
  .dv-fim { padding: 20px; }
  .dv-wa { width: 100%; justify-content: center; }
  .dv-resp { padding-left: 0; }
  .dv-balao { padding: 18px 18px 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .dv-item::details-content { transition: none; }
  .dv-item[open] .dv-balao { animation: none; }
}

@media (max-width: 900px) { .dv .rotulo { font-size: .875rem; } }

/* ═════ contato ═════ */
/* ───────── contato ───────── */
.ct { position: relative; isolation: isolate; overflow: clip; background: var(--rosa-poeira); padding: var(--sec-y) var(--margem) calc(var(--sec-y) * .9); }
.ct-malha { position: absolute; inset: 0; z-index: -1; }
.ct-m { position: absolute; border-radius: 50%; animation: ct-respira var(--ct-dur, 30s) ease-in-out infinite alternate; }
.ct-m1 { width: 90vmax; height: 90vmax; left: -30vmax; top: -40vmax; background: radial-gradient(closest-side in oklab, rgb(236 211 215 / .95), rgb(236 211 215 / 0)); --ct-dur: 33s; }
.ct-m2 { width: 70vmax; height: 70vmax; right: -24vmax; bottom: -34vmax; background: radial-gradient(closest-side in oklab, rgb(162 63 92 / .42), rgb(162 63 92 / 0)); --ct-dur: 27s; }
.ct-m3 { width: 50vmax; height: 50vmax; right: 8vw; top: -26vmax; background: radial-gradient(closest-side in oklab, rgb(11 51 132 / .22), rgb(11 51 132 / 0)); --ct-dur: 38s; }
@keyframes ct-respira { to { transform: translate3d(4vmax, 3vmax, 0) scale(1.07); } }
.ct-fio { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; overflow: visible; }
.ct-fio__l { fill: none; stroke-width: 3; stroke-linecap: round; stroke: url(#ct-grad); }
.ct-fio__t { fill: none; stroke: rgb(18 63 94 / .16); stroke-width: 1.5; stroke-dasharray: 2 7; stroke-linecap: round; }
.ct-dias use { transform-box: fill-box; transform-origin: center; transform: scale(.25); opacity: .35; transition: transform .7s cubic-bezier(.3,1.6,.5,1), opacity .3s; }
.ct-dias use.rosa { fill: var(--framboesa); } .ct-dias use.azul { fill: var(--royal); }
.ct-dias use.on { transform: none; opacity: 1; }
.ct-in { position: relative; z-index: 1; container-type: inline-size; max-width: 1180px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); grid-template-areas: "rot rot" "tit dados" "apoio dados" "acao dados"; column-gap: clamp(32px, 6vw, 96px); align-items: start; }
.ct-rot { grid-area: rot; margin: 0 0 18px; color: var(--marinho); }
.ct-titulo { grid-area: tit; font-size: clamp(2.2rem, 5.4cqi, 5.2rem); line-height: .98; }
.ct-titulo > span { display: block; white-space: nowrap; }
.ct-l1 { color: var(--marinho); }
.ct-titulo .l2 { color: var(--framboesa); }
.ct-apoio { grid-area: apoio; margin: clamp(18px, 2.6vw, 30px) 0 0; max-width: 30em; font-weight: 500; color: var(--noite); }
.ct-acao { grid-area: acao; margin-top: clamp(34px, 4.4vw, 56px); padding-bottom: 28px; display: flex; align-items: center; gap: 22px; }
.ct-botao { min-height: 62px; padding: 0 32px; font-size: 1.12rem; background: var(--marinho); box-shadow: 0 16px 34px -16px rgb(13 37 54 / .7); }
.ct-botao:hover { background: var(--royal); }
.ct-coracao { position: relative; width: 58px; height: 58px; display: grid; place-items: center; }
.ct-hoje { position: absolute; top: calc(100% + 4px); left: 50%; transform: translateX(-50%); font-size: .82rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--framboesa); transition: opacity .6s .3s; }
.ct.ct-chegou .ct-hoje { opacity: 1; }
.ct-coracao .cor { font-size: 46px; filter: drop-shadow(0 6px 10px rgb(162 63 92 / .35)); transition: transform .8s cubic-bezier(.3,1.6,.5,1), opacity .4s; }
.ct-coracao::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 1.5px solid var(--framboesa); opacity: 0; }
.ct.ct-chegou .ct-coracao .cor { transform: none; opacity: 1; }
.ct.ct-chegou .ct-coracao::after { animation: ct-aro 5s ease-in-out .6s infinite; }
@keyframes ct-aro { 0%, 100% { transform: scale(1); opacity: .55; } 50% { transform: scale(1.2); opacity: .15; } }
.ct-cartao { grid-area: dados; align-self: center; padding: clamp(24px, 2.8vw, 38px); border-radius: var(--raio-cartao); background: rgb(247 239 234 / .78); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); box-shadow: var(--sombra); }
.ct-quem { display: flex; align-items: center; gap: 14px; padding-bottom: 20px; margin-bottom: 22px; border-bottom: 1.5px dashed rgb(201 138 149 / .7); }
.ct-quem img { height: 52px; width: auto; }
.ct-quem p { margin: 0; display: grid; }
.ct-quem strong { font-family: var(--fonte-titulo); font-size: 1.45rem; color: var(--marinho); }
.ct-quem span { font-size: .95rem; font-weight: 600; letter-spacing: .03em; color: var(--framboesa); }
.ct-dados { list-style: none; margin: 0; padding: 0; display: grid; gap: 20px; }
.ct-dados li { display: grid; grid-template-columns: 22px 1fr; gap: 14px; align-items: start; }
.ct-dados .cor { font-size: 22px; margin-top: 2px; }
.ct-dados .cor--rosa { color: #c2557a; }
.ct-dados b { display: block; font-size: var(--t-rotulo); letter-spacing: .12em; text-transform: uppercase; font-weight: 600; color: var(--texto-suave); margin-bottom: 2px; }
.ct-dados span > a, .ct-dados span { font-size: clamp(1.08rem, 1rem + .3vw, 1.25rem); font-weight: 600; color: var(--marinho); }
.ct-dados a { text-decoration: none; border-bottom: 1.5px solid rgb(11 51 132 / .3); display: inline-block; padding: 6px 0; }
.ct-dados a:hover { color: var(--royal); border-color: var(--royal); }
@media (max-width: 860px) {
  .ct-titulo { font-size: clamp(1.9rem, 10.4cqi, 4.6rem); }
  .ct-acao { padding-bottom: 96px; }
  .ct-in { grid-template-columns: 1fr; grid-template-areas: "rot" "tit" "apoio" "acao" "dados"; }
  .ct-cartao { margin-top: 40px; align-self: start; }
}
@media (max-width: 480px) {
  .ct-acao { gap: 10px; }
  .ct-botao { flex: 1; padding: 0 14px; font-size: 1rem; white-space: nowrap; }
  .ct-botao svg { width: 20px; height: 20px; }
  .ct-coracao { width: 50px; height: 50px; }
  .ct-coracao .cor { font-size: 40px; }
  .ct-quem strong { font-size: 1.2rem; }
  .ct-quem span { font-size: .875rem; }
}
@media (prefers-reduced-motion: reduce) { .ct .ct-coracao .cor, .ct-dias use { transform: none; opacity: 1; } .ct-hoje { opacity: 1; } }

.js .ct:not(.ct-chegou) .ct-coracao .cor { transform: scale(.2); opacity: 0; }
.js .ct:not(.ct-chegou) .ct-hoje { opacity: 0; }

/* ═════ rodape ═════ */
/* ───────── rodapé ───────── */
.rp { position: relative; isolation: isolate; background: var(--noite); color: rgb(247 239 234 / .86); padding: clamp(56px, 7vw, 88px) var(--margem) 28px; font-size: 1rem; }
.rp__in { position: relative; z-index: 1; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 32px 48px; padding-bottom: clamp(32px, 4vw, 48px); border-bottom: 1px solid rgb(247 239 234 / .14); }
.rp__marca { display: flex; align-items: center; gap: 16px; }
.rp__marca img { height: 54px; width: auto; filter: brightness(0) invert(.94); }
.rp__marca p { margin: 0; display: grid; gap: 2px; }
.rp__marca strong { font-family: var(--fonte-titulo); font-size: 1.5rem; color: var(--creme); font-weight: 700; }
.rp__marca span { font-size: .95rem; letter-spacing: .04em; color: rgb(247 239 234 / .75); }
.rp__dados { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.rp__dados li { display: flex; align-items: center; gap: 12px; }
.rp__dados a { color: var(--creme); text-decoration: none; border-bottom: 1px solid rgb(247 239 234 / .3); padding: 4px 0; }
.rp__dados a:hover { border-color: var(--rosa-sobre-escuro); }
.rp__selo { position: relative; z-index: 1; margin: 22px 0 0; font-size: .92rem; color: rgb(247 239 234 / .7); }
.rp__selo a { color: var(--creme); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--rosa-sobre-escuro); }
@media (max-width: 760px) { .rp { padding-bottom: 96px; } }

/* ═════ ajustes ═════ */
/* ajustes da montagem (pedidos dos agentes) */
:root { --t-corpo: clamp(1.125rem, 1rem + .35vw, 1.25rem); }
@media (max-width: 600px) { .rotulo { font-size: .875rem; } }
:root { --t-apoio: clamp(1.125rem, .98rem + .45vw, 1.32rem); }
/* flutuante: só o ícone em telas estreitas, para cobrir menos texto */
@media (max-width: 480px) {
  .flutua { width: 58px; height: 58px; min-height: 0; padding: 0; justify-content: center; font-size: 0; right: 14px; bottom: 14px; }
  .flutua svg { width: 28px; height: 28px; }
}
