/* ——— tokens (direção de arte medida nas fotos) ——— */
:root{
  --tg-fundo:#F5EEE5;            /* creme da parede/luz do consultório */
  --tg-tinta:#2B211A;            /* espresso do cabelo e das sombras */
  --tg-apoio:#E4D5C3;            /* areia-nude dos vestidos */
  --tg-acento:#B23727;           /* vermelho do vestido 102–104 / NCTF */
  --tg-luz:#EECB97;              /* champagne da janela — a cor da aura */
  --tg-noite:#101B22;            /* grafite-vidro (uso pontual) */
  --tg-f-titulo:"Fraunces","Georgia",serif;
  --tg-f-texto:"Inter",system-ui,-apple-system,"Segoe UI",sans-serif;
  --tg-mascara:url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20720%201080'%3E%3Cpath%20d='M360,44C414,30,468,56,522,46C578,36,624,28,664,76C704,124,668,172,680,240C692,308,666,362,678,444C690,526,664,592,676,674C688,756,662,824,670,900C678,976,640,1032,566,1040C492,1048,446,1064,372,1054C298,1044,244,1062,172,1048C100,1034,56,1010,48,936C40,862,64,796,54,718C44,640,66,574,56,492C46,410,62,346,52,268C42,190,60,140,66,90C72,40,140,36,204,44C268,52,306,58,360,44Z'%20fill='%23000'/%3E%3C/svg%3E");
}

/* ——— base ——— */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--tg-fundo);
  color:var(--tg-tinta);
  font:400 17px/1.62 var(--tg-f-texto);
  display:flex;flex-direction:column;min-height:100vh;
}
main{flex:1;display:block}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
::selection{background:var(--tg-luz);color:var(--tg-tinta)}
:focus-visible{outline:2px solid var(--tg-acento);outline-offset:3px;border-radius:4px}
@media (max-width:860px){body{font-size:16px}}

/* ——— peças compartilhadas ——— */
.mm-eyebrow{
  font:600 11.5px/1.4 var(--tg-f-texto);
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--tg-tinta);opacity:.72;margin:0;
}
.mm-botao{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-height:48px;padding:13px 26px;
  background:var(--tg-acento);color:var(--tg-fundo);
  font:600 15px/1 var(--tg-f-texto);letter-spacing:.01em;
  text-decoration:none;border-radius:999px;border:0;cursor:pointer;
  transition:transform .25s ease,background-color .25s ease,box-shadow .25s ease;
  box-shadow:0 10px 24px -12px rgba(43,33,26,.45);
}
.mm-botao:hover{background:#9C2F21;transform:translateY(-1px)}
.mm-botao:active{transform:translateY(0)}
.mm-botao-menor{min-height:42px;padding:10px 20px;font-size:13.5px}
.mm-botao-cheio{width:100%}
.mm-mascara-espelho{
  -webkit-mask-image:var(--tg-mascara);mask-image:var(--tg-mascara);
  -webkit-mask-size:100% 100%;mask-size:100% 100%;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:center;mask-position:center;
}
.mm-fio{display:block;width:100%;height:14px}
.mm-fio path{stroke:var(--tg-tinta);stroke-width:1.5;vector-effect:non-scaling-stroke;fill:none;opacity:.5}

/* ——— topo (versão A: marca + CTA + menu) ——— */
.mm-topo{
  position:fixed;inset:0 0 auto 0;z-index:80;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:12px clamp(18px,4vw,48px);
  background:var(--tg-fundo);
  background:color-mix(in srgb,var(--tg-fundo) 84%,transparent);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
}
.mm-marca{display:flex;flex-direction:column;line-height:1.15;text-decoration:none}
.mm-marca strong{font:italic 500 19px/1.1 var(--tg-f-titulo);font-style:italic}
.mm-marca span{font:500 10.5px/1.4 var(--tg-f-texto);letter-spacing:.14em;text-transform:uppercase;opacity:.62}
.mm-topo-acoes{display:flex;align-items:center;gap:10px}
.mm-menu-btn{
  display:inline-flex;align-items:center;min-height:42px;padding:9px 16px;
  background:transparent;color:var(--tg-tinta);
  border:1.5px solid rgba(43,33,26,.35);border-radius:999px;
  font:600 13px/1 var(--tg-f-texto);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
  transition:border-color .2s ease,background-color .2s ease;
}
.mm-menu-btn:hover{border-color:var(--tg-tinta);background:rgba(43,33,26,.05)}
.mm-menu-btn[aria-expanded="true"]{background:var(--tg-tinta);color:var(--tg-fundo);border-color:var(--tg-tinta)}
@media (max-width:560px){.mm-topo-cta{display:none}}

/* ——— menu sobreposto ——— */
.mm-menu{
  position:fixed;inset:0;z-index:70;display:none;
  background:var(--tg-fundo);
  padding:110px clamp(22px,6vw,72px) 40px;overflow:auto;
}
.mm-menu[data-aberto]{display:block;animation:mmMenu .35s ease both}
@keyframes mmMenu{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.mm-menu-eyebrow{font:600 11.5px/1.4 var(--tg-f-texto);letter-spacing:.12em;text-transform:uppercase;opacity:.6;margin:0 0 18px}
.mm-menu-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.mm-menu-lista a{
  display:block;padding:10px 0;text-decoration:none;
  font:italic 500 clamp(26px,4.5vw,40px)/1.15 var(--tg-f-titulo);
  border-bottom:1px solid rgba(43,33,26,.14);
  transition:color .2s ease,padding-left .25s ease;
}
.mm-menu-lista a:hover{color:var(--tg-acento);padding-left:10px}
.mm-menu-lista a[aria-current="page"]{color:var(--tg-acento)}
.mm-menu-rod{margin:26px 0 0;font-size:13px;opacity:.65}

/* ——— rodapé ——— */
.mm-rodape-fio{background:var(--tg-tinta);padding:10px 24px 0}
.mm-rodape-fio .mm-fio path{stroke:var(--tg-apoio);opacity:.55}
.mm-rodape{background:var(--tg-tinta);color:var(--tg-fundo);padding:34px clamp(20px,5vw,64px) 26px}
.mm-rodape-grid{
  display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,.8fr);
  gap:32px;max-width:1240px;margin:0 auto;
}
.mm-rodape-nome{font:italic 500 22px/1.2 var(--tg-f-titulo);margin:0 0 6px;color:var(--tg-luz)}
.mm-rodape-reg p{margin:0 0 4px;font-size:14px;line-height:1.55;opacity:.88}
.mm-rodape-reg a{color:var(--tg-fundo)}
.mm-rodape-tit{font:600 11px/1.4 var(--tg-f-texto);letter-spacing:.12em;text-transform:uppercase;opacity:.55;margin:0 0 10px}
.mm-rodape-nav ul,.mm-rodape-soc ul{list-style:none;margin:0;padding:0;columns:2;column-gap:24px}
.mm-rodape-soc ul{columns:1}
.mm-rodape-nav a,.mm-rodape-soc a{
  display:inline-block;padding:4px 0;font-size:14px;color:var(--tg-fundo);
  text-decoration:none;opacity:.85;transition:opacity .2s ease,color .2s ease;
}
.mm-rodape-nav a:hover,.mm-rodape-soc a:hover{opacity:1;color:var(--tg-luz)}
.mm-rodape-base{
  max-width:1240px;margin:30px auto 0;padding-top:16px;
  border-top:1px solid rgba(245,238,229,.16);
  display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center;justify-content:space-between;
  font-size:12.5px;opacity:.75;
}
.mm-rodape-base p{margin:0}
.mm-rodape-cred{color:var(--tg-fundo);text-decoration:none}
.mm-rodape-cred:hover{color:var(--tg-luz)}
@media (max-width:860px){
  .mm-rodape-grid{grid-template-columns:1fr;gap:24px}
  .mm-rodape-nav ul{columns:1}
}

/* ——— hero: notas de tinta nas margens do espelho ——— */
main .mm-espelho{position:relative}
main .mm-nota{
  position:absolute;z-index:5;margin:0;max-width:170px;pointer-events:none;
  font:600 10px/1.55 var(--tg-f-texto);letter-spacing:.15em;text-transform:uppercase;
  color:var(--tg-tinta);opacity:.62;
}
main .mm-nota--fig{bottom:calc(100% + 10px);left:0}
main .mm-nota--sala{bottom:calc(100% + 10px);right:0;text-align:right}
main .mm-nota--end{top:calc(100% + 10px);left:0}
main .mm-nota--regra{top:calc(100% + 10px);right:0;text-align:right;max-width:190px}

/* pc: folga para as notas de cima respirarem abaixo do topo fixo */
@media (min-width:861px){
  main .mm-espelho{padding-top:clamp(28px,4vh,44px)}
  main .mm-espelho-caixa{margin-top:clamp(28px,4vh,44px)}
}
/* tela baixa sem folga real: as notas de cima saem, as de baixo ficam */
@media (min-width:861px) and (max-height:760px){
  main .mm-nota--fig,main .mm-nota--sala{display:none}
}

/* ——— hero: o traço se desenha antes da foto ——— */
main .mm-moldura-traco{
  stroke-dasharray:1;stroke-dashoffset:1;stroke-linecap:round;
  animation:mmMolduraTraco .2s cubic-bezier(.45,.05,.35,1) .01s both;
}
@keyframes mmMolduraTraco{to{stroke-dashoffset:0}}
main .mm-espelho-foto{
  animation:mmFotoEmerge .55s cubic-bezier(.22,.9,.32,1) .2s backwards;
}
@keyframes mmFotoEmerge{
  from{opacity:0;transform:scale(1.04);filter:brightness(.88)}
  to{opacity:1;transform:scale(1);filter:brightness(1)}
}

/* ——— hero: filete de luz que percorre o traço ———
   convite no repouso (duas voltas na entrada) e confirmação do toque ([data-k-foco]) */
main .mm-moldura-sheen{
  stroke-linecap:round;opacity:0;
  stroke-dasharray:.08 .92;stroke-dashoffset:0;
  animation:mmSheenPercorre 2.2s ease-in-out 1.6s 2;
}
main .mm-hero[data-k-foco] .mm-moldura-sheen{animation:mmSheenPercorre 1.6s linear infinite}
@keyframes mmSheenPercorre{
  0%{opacity:0;stroke-dashoffset:0}
  14%{opacity:.95}
  86%{opacity:.95}
  100%{opacity:0;stroke-dashoffset:-1}
}
/* pulso de inatividade: a cada ~14s o traço respira em champagne */
main .mm-moldura{animation:mmPulsoTraco 14s ease-in-out 4s infinite}
@keyframes mmPulsoTraco{
  0%,86%,100%{filter:none}
  92%{filter:drop-shadow(0 0 14px rgba(238,203,151,.95)) drop-shadow(0 0 4px rgba(238,203,151,.8))}
}

/* ——— hero: peças que só existem no celular ——— */
main .mm-moldura-lat{display:none}
main .mm-tese-movel{display:none}

@media (max-width:860px){
  /* moldura só nas laterais: topo limpo, base cortada pela tela */
  main .mm-moldura-fecha{display:none}
  main .mm-moldura-lat{display:block}
  /* tese em itálico acento, entre o registro e a foto */
  main .mm-tese-movel{
    display:block;margin:10px 0 0;max-width:300px;
    font:italic 500 15px/1.4 var(--tg-f-titulo);color:var(--tg-acento);
  }
  /* uma única nota sob o espelho */
  main .mm-nota{display:none}
  main .mm-nota--fig{
    display:block;position:static;flex:0 0 100%;grid-column:1/-1;
    width:100%;max-width:none;margin:12px 0 0;text-align:center;
  }
  /* a foto cede: o espelho cabe em ~52svh para o CTA entrar na primeira tela */
  main section.mm-hero .mm-espelho{display:flex;flex-direction:column;align-items:center;min-height:0;width:100%}
  main section.mm-hero .mm-espelho-caixa{width:min(86vw,33vh);width:min(86vw,33svh);margin-inline:auto}
  main section.mm-hero .mm-espelho-legenda{flex:none}
  /* pill + botão viram uma peça só, colada na borda inferior */
  main .mm-cta-movel{
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    margin-top:auto;padding:0 12px 10px;
    position:sticky;bottom:0;z-index:30;
  }
  main .mm-prova-movel{
    position:static;margin:0;width:100%;
    display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:2px 8px;
    padding:9px 14px;background:var(--tg-tinta);color:var(--tg-fundo);
    border-radius:16px 16px 0 0;font-size:12.5px;line-height:1.4;text-align:center;
  }
  main .mm-prova-extra{display:none}
  main .mm-cta-movel .mm-botao-cheio{border-radius:0 0 16px 16px;min-height:52px}
}

/* ——— movimento reduzido: estado final completo, parado ——— */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  main .mm-moldura-traco{stroke-dashoffset:0}
  main .mm-moldura-sheen{opacity:0}
  main section.mm-hero .mm-espelho-legenda{opacity:1;visibility:visible;transform:none}
}

/* ——— peças compartilhadas das páginas (a forma do espelho viaja o site) ——— */

/* capítulo: respiro padrão + fio de costura no topo */
.mm-cap{position:relative;padding:clamp(72px,10vw,128px) clamp(20px,5vw,64px)}
.mm-cap--topo{padding-top:clamp(130px,17vw,200px)}
.mm-cap-inner{max-width:1240px;margin:0 auto;position:relative}
.mm-cap > .mm-fio{position:absolute;top:0;left:0;right:0}
/* faixa de apoio suavizada — separa capítulos vizinhos de fundo creme */
.mm-cap--apoio{background:var(--tg-apoio);background:color-mix(in srgb,var(--tg-apoio) 58%,var(--tg-fundo))}

.mm-h2{margin:0;max-width:20ch;font:500 clamp(34px,4.6vw,58px)/1.1 var(--tg-f-titulo);letter-spacing:-.015em}
.mm-h2 em{font-style:italic;color:var(--tg-acento)}
.mm-h3{margin:0 0 10px;font:italic 500 clamp(20px,2.2vw,26px)/1.2 var(--tg-f-titulo)}
.mm-link{color:var(--tg-acento);text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}
.mm-link:hover{text-decoration-thickness:2.5px}
.mm-botao-linha{background:transparent;color:var(--tg-tinta);border:1.5px solid rgba(43,33,26,.45);box-shadow:none}
.mm-botao-linha:hover{background:rgba(43,33,26,.06);border-color:var(--tg-tinta)}

/* revelação suave: o kit esconde com opacity:0; aqui só a transição */
[data-k-revela]{transition:opacity .85s ease .06s}
[data-k-revela].k-in{opacity:1}

/* figura-espelho: foto dentro da silhueta 88 + traço de vidro */
.mm-fig{position:relative;margin:0}
.mm-fig-corpo{position:relative}
.mm-fig-mascara{position:relative;z-index:1;background:var(--tg-apoio)}
.mm-fig-mascara img,.mm-fig-mascara video{width:100%;height:auto;display:block}
.mm-fig-mold{position:absolute;inset:-4px;z-index:2;overflow:visible;pointer-events:none}
.mm-fig-nota{margin:10px 0 0;font:600 10px/1.6 var(--tg-f-texto);letter-spacing:.14em;text-transform:uppercase;opacity:.6}
.mm-fig-vazia{display:block;height:auto;overflow:visible}

/* voz assinada dela */
.mm-cit{margin:0;padding:0}
.mm-cit p{margin:0;font:italic 500 clamp(24px,3vw,36px)/1.28 var(--tg-f-titulo);letter-spacing:-.01em}
.mm-cit cite{display:block;margin-top:14px;font:600 11.5px/1.4 var(--tg-f-texto);font-style:normal;letter-spacing:.13em;text-transform:uppercase;opacity:.7}

/* cards-reflexo de depoimento (nascem na noite do espelho) */
.mm-deps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:clamp(16px,2.4vw,28px)}
.mm-dep{position:relative;margin:0;padding:clamp(26px,3vw,38px) clamp(22px,2.6vw,34px);background:rgba(245,238,229,.045)}
.mm-dep-borda{position:absolute;inset:-4px;z-index:2;overflow:visible;pointer-events:none}
.mm-dep-borda path{stroke:var(--tg-luz);stroke-width:1.6;vector-effect:non-scaling-stroke;fill:none;opacity:.55}
.mm-dep-aspa{display:block;height:.5em;margin-bottom:14px;font:italic 600 46px/.5 var(--tg-f-titulo);color:var(--tg-luz)}
.mm-dep-txt{margin:0}
.mm-dep-txt p{margin:0;font-size:15.5px;line-height:1.62}
.mm-dep-autor{display:block;margin-top:16px;font:600 12.5px/1.5 var(--tg-f-texto);letter-spacing:.05em;opacity:.78}
/* variante sobre fundo claro */
.mm-deps-claro .mm-dep{background:rgba(43,33,26,.04)}
.mm-deps-claro .mm-dep-borda path{stroke:var(--tg-acento);opacity:.5}
.mm-deps-claro .mm-dep-aspa{color:var(--tg-acento)}

/* prova real em linha (reuso fora do hero) */
.mm-prova-nota{margin:14px 0 0;font-size:13.5px;opacity:.85}
.mm-prova-nota i{font-style:normal;color:var(--tg-acento)}

/* faq em sanfona — pergunta do paciente, resposta sóbria */
.mm-faq-lista{margin-top:clamp(24px,3vw,36px);border-top:1.5px solid rgba(43,33,26,.2)}
.mm-faq-item{border-bottom:1.5px solid rgba(43,33,26,.2)}
.mm-faq-item summary{
  cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:clamp(15px,2vw,21px) 0;font:600 clamp(16px,1.8vw,19px)/1.4 var(--tg-f-texto);
}
.mm-faq-item summary::-webkit-details-marker{display:none}
.mm-faq-item summary::after{content:"+";flex:none;font:italic 500 26px/1 var(--tg-f-titulo);color:var(--tg-acento)}
.mm-faq-item[open] summary::after{content:"–"}
.mm-faq-resp{padding:0 0 clamp(16px,2vw,22px);max-width:68ch}
.mm-faq-resp p{margin:0 0 10px}
.mm-faq-resp p:last-child{margin-bottom:0}

/* veja também — índice fino, uma linha por porta */
.mm-veja-lista{list-style:none;margin:clamp(20px,3vw,32px) 0 0;padding:0;border-top:1.5px solid rgba(43,33,26,.2)}
.mm-veja-lista a{
  display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  padding:13px 0;border-bottom:1.5px solid rgba(43,33,26,.2);text-decoration:none;
  font:italic 500 clamp(20px,2.6vw,30px)/1.2 var(--tg-f-titulo);
  transition:color .2s ease,padding-left .25s ease;
}
.mm-veja-lista a::after{content:"→";flex:none;font:400 .8em/1 var(--tg-f-texto);opacity:.5}
.mm-veja-lista a:hover{color:var(--tg-acento);padding-left:8px}

/* a agenda curta — semanário compacto */
.mm-semana{list-style:none;margin:0;padding:0}
.mm-semana li{
  display:flex;justify-content:space-between;align-items:baseline;gap:14px;
  padding:7px 0;border-bottom:1px solid rgba(43,33,26,.18);
  font-size:14.5px;font-variant-numeric:tabular-nums;
}
.mm-semana li.mm-fechado{opacity:.5}
.mm-semana .mm-dia{font:600 11.5px/1 var(--tg-f-texto);letter-spacing:.1em;text-transform:uppercase}
.mm-semana .mm-tnum{font-variant-numeric:tabular-nums}

/* quem cuida — registro com rosto */
.mm-cuida-grid{display:flex;gap:clamp(20px,3vw,34px);align-items:center}
.mm-cuida-foto{flex:0 0 clamp(86px,10vw,120px)}
.mm-cuida-nome{margin:6px 0 3px;font:italic 500 clamp(22px,2.6vw,30px)/1.15 var(--tg-f-titulo)}
.mm-cuida-reg{margin:0;font-size:14px;opacity:.8;line-height:1.6}
.mm-cuida-link{display:inline-block;margin-top:10px;font-size:14px}
@media (max-width:560px){.mm-cuida-grid{align-items:flex-start}}

/* chamada final — a seção em cor de luz */
.mm-chamada{background:var(--tg-luz);color:var(--tg-tinta);text-align:center}
.mm-chamada > .mm-fio path{stroke:var(--tg-tinta);opacity:.45}
.mm-chamada-t{margin:0 auto;max-width:20ch;font:italic 500 clamp(36px,5.4vw,66px)/1.1 var(--tg-f-titulo);letter-spacing:-.015em}
.mm-chamada-t em{font-style:italic}
.mm-chamada-acoes{margin:clamp(26px,3.5vw,38px) 0 0}
.mm-chamada .mm-botao{box-shadow:0 14px 30px -14px rgba(43,33,26,.5)}
.mm-chamada-sub{margin:16px 0 0;font-size:14px;opacity:.78}

/* 404 — a moldura sem reflexo */
.mm-e404{background:var(--tg-fundo)}
.mm-e404-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(34px,5vw,84px);align-items:center}
.mm-h1-e404{margin:14px 0 0;max-width:12ch;font:italic 500 clamp(44px,7vw,88px)/1.06 var(--tg-f-titulo);letter-spacing:-.02em}
.mm-lead-e404{margin:18px 0 0;max-width:44ch;font-size:18px;opacity:.9}
.mm-e404-acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.mm-e404-links{list-style:none;margin:32px 0 0;padding:18px 0 0;border-top:1.5px solid rgba(43,33,26,.18);display:flex;flex-wrap:wrap;gap:6px 24px;font-size:14.5px}
.mm-e404-espelho .mm-fig-vazia{width:min(280px,62vw);margin:0 auto}
.mm-e404-espelho .mm-fig-vazia path{stroke-width:3;vector-effect:non-scaling-stroke}
@media (max-width:860px){
  .mm-e404-grid{grid-template-columns:1fr}
  .mm-e404-espelho{order:-1}
  .mm-e404-espelho .mm-fig-vazia{width:min(180px,48vw)}
}
