/* ===== Base — Dra. Mônica Bispo (sistema em 02-conceito/sistema.md). Não editar nas seções. ===== */
:root{
  --tinta:#2a0f0b;
  --bordo:#642722;
  --bordo-noite:#3e1207;
  --noite:#24090a;
  --creme:#f3ece2;
  --areia:#e5dbd1;
  --papel:#ece1d4;
  --parede:#b9bdc3;
  --couro:#a4592f;
  --couro-claro:#d9a171;
  --apoio:rgba(42,15,11,.72);
  --apoio-escuro:rgba(243,236,226,.74);
  --filete:rgba(62,18,7,.14);
  --filete-escuro:rgba(243,236,226,.16);
  --f-titulo:"Host Grotesk",system-ui,sans-serif;
  --f-mono:"Reddit Mono",ui-monospace,monospace;
  --pad:clamp(20px,4vw,64px);
  --secao:clamp(96px,12vw,180px);
  --ease:cubic-bezier(.2,.7,.2,1);
  --t-h2:clamp(36px,4.4vw,68px);
  --t-h3:clamp(22px,2vw,30px);
  --t-corpo:18px;
  --t-apoio:16px;
  --t-mini:.875rem;
  --wa:"https://wa.me/5567991208998";
}
*{box-sizing:border-box;margin:0}
html{scroll-padding-top:72px}
html,body{background:var(--creme);color:var(--tinta)}
body{font-family:var(--f-titulo);font-size:var(--t-corpo);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:2px solid var(--couro);outline-offset:3px;border-radius:4px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body::after{content:"";position:fixed;inset:0;z-index:100;pointer-events:none;opacity:.05;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

/* ---------- topo ---------- */
.topo{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:18px var(--pad);transition:background .4s,box-shadow .4s,padding .4s}
.marca{font-weight:700;text-decoration:none;font-size:15px;color:var(--creme);text-shadow:0 1px 12px rgba(0,0,0,.3);transition:color .4s}
.marca span{font-weight:300;margin-left:6px;opacity:.85}
.topo nav{display:flex;gap:28px;font-size:15px;align-items:center}
.topo nav a{text-decoration:none;opacity:.78;padding:8px 0}
.topo nav a:hover{opacity:1}
.topo nav .topo-wa{opacity:1;border:1px solid var(--filete);padding:9px 16px;border-radius:999px;font-weight:600}
.topo.rolou{background:rgba(243,236,226,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 1px 0 var(--filete);padding-block:12px}
.topo.rolou .marca{color:var(--tinta);text-shadow:none}

/* ---------- hero (aprovado, E "Entendi") ---------- */
.hero{position:relative;min-height:100svh;display:grid;grid-template-columns:minmax(0,46fr) minmax(0,54fr);isolation:isolate;overflow:clip}
.h-malha{position:absolute;inset:0;z-index:-2;background:var(--creme)}
.h-malha i{position:absolute;border-radius:50%;animation:resp 30s ease-in-out infinite alternate}
.h-malha i:nth-child(1){width:70vw;height:70vw;left:10vw;top:-35vw;background:radial-gradient(closest-side,var(--parede),transparent)}
.h-malha i:nth-child(2){width:55vw;height:55vw;right:-15vw;top:5vh;background:radial-gradient(closest-side,var(--papel),transparent);animation-duration:36s}
.h-malha i:nth-child(3){width:50vw;height:50vw;left:30vw;bottom:-30vw;background:radial-gradient(closest-side,color-mix(in oklab,var(--couro) 40%,var(--creme)),transparent);animation-duration:24s}
.h-malha i:nth-child(4){width:34vw;height:34vw;right:4vw;bottom:-14vw;background:radial-gradient(closest-side,color-mix(in oklab,var(--bordo) 22%,var(--creme)),transparent);animation-duration:40s}
@keyframes resp{to{transform:translate(3vw,2vh) scale(1.06)}}
.h-foto{position:relative;grid-column:1;height:100svh;min-height:640px;-webkit-mask-image:linear-gradient(90deg,#000 62%,transparent 100%);mask-image:linear-gradient(90deg,#000 62%,transparent 100%)}
.h-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 18%;filter:saturate(.92) contrast(1.02)}
.h-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,15,11,.42),rgba(42,15,11,.12) 14%,transparent 26%)}
.h-texto{grid-column:2;align-self:center;padding:110px var(--pad) 56px clamp(8px,2vw,32px);max-width:700px}
.h-sobre{display:flex;gap:18px;font-family:var(--f-mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--bordo);margin-bottom:26px}
.h-sobre span+span::before{content:"";display:inline-block;width:24px;height:1px;background:currentColor;vertical-align:middle;margin-right:18px;opacity:.5}
.h-titulo{font-weight:300;font-size:clamp(42px,5.4vw,88px);line-height:.96;letter-spacing:-.03em}
.h-titulo span{display:block}
.h-titulo em{display:block;font-style:normal;font-weight:800;color:var(--bordo);letter-spacing:-.035em}
.h-trad{position:relative;margin:40px 0 34px;padding:24px 0 6px;border-top:1px solid var(--filete)}
.h-linha{display:grid;grid-template-columns:110px minmax(0,1fr);align-items:baseline;gap:16px}
.h-rot{font-family:var(--f-mono);font-size:11px;text-transform:uppercase;letter-spacing:.1em;opacity:.6}
.h-termo{font-family:var(--f-mono);font-size:clamp(15px,1.25vw,19px);color:var(--bordo);min-height:1.4em;line-height:1.4}
.h-frase{font-size:clamp(21px,2vw,30px);font-weight:620;line-height:1.18;letter-spacing:-.01em;min-height:2.4em}
.h-traco{display:block;width:min(360px,70%);height:12px;margin:10px 0 12px 126px;overflow:visible}
.h-traco path{fill:none;stroke:var(--couro);stroke-width:2;stroke-linecap:round;stroke-dasharray:420;stroke-dashoffset:420}
.h-traco.on path{transition:stroke-dashoffset 1.3s cubic-bezier(.6,.1,.2,1);stroke-dashoffset:0}
.h-nav{display:flex;align-items:center;gap:16px;margin:16px 0 0 126px}
.h-contador{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;opacity:.6}
.h-contador b{font-weight:500;color:var(--bordo)}
.h-pontos{display:flex;gap:8px}
.h-pontos button{width:26px;height:4px;border:0;border-radius:4px;background:rgba(62,18,7,.18);cursor:pointer;padding:0;position:relative}
.h-pontos button::after{content:"";position:absolute;inset:-12px -2px}
.h-pontos button[aria-selected="true"]{background:var(--bordo)}
.h-acoes{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.h-registro{font-family:var(--f-mono);font-size:12.5px;opacity:.75}
.h-prova{margin-top:32px;max-width:540px;padding-left:18px;border-left:2px solid var(--couro)}
.h-prova p{font-size:16px;line-height:1.5}
.h-prova footer{font-family:var(--f-mono);font-size:12px;margin-top:8px;opacity:.8}
.h-prova strong{color:var(--bordo)}
.js .h-foto{animation:ent-foto 1.6s var(--ease) both}
.js .h-titulo>*{animation:ent 1s var(--ease) both}
.js .h-titulo .l1{animation-delay:.35s}.js .h-titulo .l2{animation-delay:.5s}.js .h-titulo em{animation-delay:.7s}
.js .h-sobre,.js .h-trad,.js .h-acoes,.js .h-prova{animation:ent 1s var(--ease) both}
.js .h-sobre{animation-delay:.2s}.js .h-trad{animation-delay:1s}.js .h-acoes{animation-delay:1.2s}.js .h-prova{animation-delay:1.35s}
@keyframes ent{from{opacity:0;transform:translateY(18px)}}
@keyframes ent-foto{from{opacity:0;transform:scale(1.05)}}

/* ---------- componentes do motivo ---------- */
.cifra{color:var(--couro);opacity:.8}
mark{background:linear-gradient(transparent 58%,color-mix(in oklab,var(--couro) 32%,transparent) 58% 92%,transparent 92%) no-repeat 0 0/0% 100%;color:inherit;padding:0 .06em;transition:background-size .9s cubic-bezier(.6,.1,.2,1) .15s}
.pele-escura mark{background-image:linear-gradient(transparent 58%,color-mix(in oklab,var(--couro-claro) 38%,transparent) 58% 92%,transparent 92%)}
.grifado mark,.sem-js mark{background-size:100% 100%}
.rotulo{font-family:var(--f-mono);font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--bordo)}
.pele-escura .rotulo{color:var(--couro-claro)}
.par{display:grid;gap:6px}
.par .rotulo{opacity:.75}
.par .par-termo{font-family:var(--f-mono);color:var(--bordo);font-size:15px;line-height:1.45}
.pele-escura .par .par-termo{color:var(--couro-claro)}
.par .par-frase{font-size:var(--t-h3);font-weight:620;line-height:1.18;letter-spacing:-.01em}
.traco-caneta{display:block;height:12px;overflow:visible}
.traco-caneta path{fill:none;stroke:var(--couro);stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.3s cubic-bezier(.6,.1,.2,1) .2s}
.grifado .traco-caneta path,.traco-caneta.on path,.sem-js .traco-caneta path{stroke-dashoffset:0}
.titulo-secao{font-weight:300;font-size:var(--t-h2);line-height:1;letter-spacing:-.03em}
.titulo-secao b,.titulo-secao strong{font-weight:800;color:var(--bordo);letter-spacing:-.035em}
.pele-escura{color:var(--creme)}
.pele-escura .titulo-secao b,.pele-escura .titulo-secao strong{color:var(--couro-claro)}
.pele-escura a:not([class]){color:inherit}

/* botões */
.botao{display:inline-flex;gap:10px;align-items:center;justify-content:center;min-height:52px;background:var(--bordo-noite);color:var(--creme);text-decoration:none;padding:15px 28px;border-radius:999px;font-weight:600;font-size:16px;line-height:1.2;transition:transform .3s var(--ease),background .3s}
.botao:hover{background:var(--bordo);transform:translateY(-2px)}
.botao--claro{background:var(--creme);color:var(--bordo-noite)}
.botao--claro:hover{background:#fff}
.link-seta{display:inline-flex;align-items:center;gap:8px;min-height:48px;font-weight:600;text-decoration:none;border-bottom:1px solid currentColor}

/* revelação */
.js [data-rev]{opacity:0;transform:translateY(18px);transition:opacity 1s var(--ease),transform 1s var(--ease);transition-delay:calc(var(--d,0) * 1s)}
.js [data-rev].visto{opacity:1;transform:none}

/* botão flutuante (celular) */
.wa-flutua{position:fixed;right:16px;bottom:16px;z-index:60;display:none;align-items:center;gap:8px;background:var(--bordo-noite);color:var(--creme);text-decoration:none;font-weight:600;font-size:15px;padding:14px 20px;border-radius:999px;box-shadow:0 12px 30px -10px rgba(36,9,10,.6);transform:translateY(120%);transition:transform .4s var(--ease)}
.wa-flutua.ativo{transform:none}

@media (max-width:1100px) and (min-width:901px){.h-linha{grid-template-columns:1fr;gap:4px}.h-traco,.h-nav{margin-left:0}}
@media (max-width:900px){
  .topo nav{display:none}
  .marca{text-shadow:0 1px 14px rgba(0,0,0,.45)}
  .hero{grid-template-columns:1fr}
  .h-foto{grid-column:1;height:50svh;min-height:330px;-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent);mask-image:linear-gradient(180deg,#000 72%,transparent)}
  .h-foto img{object-position:52% 22%}
  .h-texto{grid-column:1;padding:0 var(--pad) 44px;margin-top:-34px;position:relative}
  .h-titulo{font-size:clamp(36px,10.4vw,54px)}
  .h-trad{margin:28px 0 26px}
  .h-linha{grid-template-columns:1fr;gap:4px}
  .h-traco,.h-nav{margin-left:0}
  .h-frase{font-size:21px}
  .h-rot,.h-contador{font-size:12px}
  .wa-flutua{display:inline-flex}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js [data-rev]{opacity:1;transform:none}
  mark{background-size:100% 100%}
  .h-traco path,.traco-caneta path{stroke-dashoffset:0}
}
