/* =========================================================
   CLÍNICA YAGA — sistema visual
   Ângulo estrutural 63,43° derivado dos traços da marca.
   ========================================================= */

:root{
  /* cor — extraída da identidade real (dourado #AF8455 / bronze #84653E) */
  --breu:      #110D09;
  --breu-2:    #171109;
  --casca:     #1E1710;
  --casca-2:   #271E15;
  --bronze:    #84653E;
  --ouro:      #AF8455;
  --brilho:    #E8CBA2;
  --linho:     #F2EBE0;
  --linho-2:   #E6DCCC;
  --tinta:     #26201A;
  --tinta-2:   #5B4F42;

  /* ângulo da marca: traços com dx/dy = 0,5 → 63,43° da horizontal */
  --ang:  116.57deg;   /* para gradientes listrados "/" */
  --tan:  .5;          /* para cortes em clip-path */

  /* tipografia */
  --display: "Fraunces", "Georgia", serif;
  --corpo:   "Archivo", "Helvetica Neue", Arial, sans-serif;

  /* medidas */
  --gutter: clamp(20px, 5vw, 64px);
  --max: 1320px;
  --rail: 0px;

  /* motion */
  --ease: cubic-bezier(.16,1,.3,1);
  --ease-suave: cubic-bezier(.22,.61,.36,1);
}

@media (min-width:1200px){ :root{ --rail: 72px; } }

/* ---------- reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
@media (prefers-reduced-motion:reduce){ html{ scroll-behavior:auto; } }

body{
  margin:0;
  background:var(--breu);
  color:var(--linho);
  font-family:var(--corpo);
  font-size:clamp(15px,.55vw + 13px,17px);
  line-height:1.65;
  font-variation-settings:"wdth" 100;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg,iframe{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
h1,h2,h3,h4{ margin:0; font-family:var(--display); font-weight:400; line-height:1.02;
  font-variation-settings:"SOFT" 30,"WONK" 1,"opsz" 120; letter-spacing:-.015em; }
p{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }

:focus-visible{ outline:2px solid var(--brilho); outline-offset:3px; border-radius:2px; }

::selection{ background:var(--ouro); color:var(--breu); }

/* ---------- tipos utilitários ---------- */
.eyebrow{
  font-family:var(--corpo);
  font-size:.66rem;
  font-weight:600;
  letter-spacing:.3em;
  text-transform:uppercase;
  font-variation-settings:"wdth" 118;
  color:var(--ouro);
  display:flex; align-items:center; gap:.9em;
}
.eyebrow::before{
  content:""; width:28px; height:1px; background:currentColor; flex:none; opacity:.7;
}
.eyebrow--solo::before{ display:none; }

.titulo{ font-size:clamp(2.1rem,5.2vw,4.1rem); }
.titulo--g{ font-size:clamp(2.6rem,7vw,5.6rem); }
.lead{ font-size:clamp(1.02rem,.5vw + .9rem,1.22rem); line-height:1.6; color:color-mix(in srgb,var(--linho) 76%,transparent); }
.claro .lead{ color:var(--tinta-2); }
.italico{ font-style:italic; font-variation-settings:"SOFT" 60,"WONK" 1,"opsz" 144; }
.ouro{ color:var(--ouro); }

/* ---------- layout ---------- */
[data-sec]{ scroll-margin-top:88px; }
.faixa{ position:relative; padding-block:clamp(72px,10vw,148px); }
.faixa > .env{ position:relative; z-index:2; }
.env{ width:min(100% - var(--gutter)*2, var(--max)); margin-inline:auto; padding-left:var(--rail); }

.claro{ background:var(--linho); color:var(--tinta); }
.claro h1,.claro h2,.claro h3,.claro h4{ color:var(--tinta); }
.claro .eyebrow{ color:var(--bronze); }

/* ---------- textura de grão ---------- */
.grao{ position:fixed; inset:0; z-index:60; pointer-events:none; opacity:.4; mix-blend-mode:overlay; }
.grao::after{
  content:""; position:absolute; inset:-100%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");
  animation:grao 8s steps(6) infinite;
}
@keyframes grao{
  0%{transform:translate(0,0)} 16%{transform:translate(-3%,-2%)} 33%{transform:translate(2%,-4%)}
  50%{transform:translate(-2%,3%)} 66%{transform:translate(3%,1%)} 83%{transform:translate(-1%,-3%)} 100%{transform:translate(0,0)}
}

/* =========================================================
   PRELOADER — corte diagonal no ângulo da marca
   ========================================================= */
.capa{
  position:fixed; inset:0; z-index:200; background:var(--breu);
  display:grid; place-items:center;
  transition:clip-path 1s var(--ease), opacity .4s linear .75s;
  clip-path:polygon(-60% 0, 160% 0, 160% 100%, -60% 100%);
}
.capa__marca{ width:min(240px,46vw); }
.capa__marca img{ width:100%; filter:brightness(0) saturate(100%) invert(72%) sepia(14%) saturate(900%) hue-rotate(348deg) brightness(93%) contrast(88%); }
.capa__wipe{
  position:absolute; inset:0;
  background:linear-gradient(var(--ang), transparent 46%, color-mix(in srgb,var(--ouro) 28%,transparent) 50%, transparent 54%);
  transform:translateX(-120%);
  animation:wipe 1.5s var(--ease-suave) .15s;
}
@keyframes wipe{ to{ transform:translateX(120%); } }
html.pronto .capa{ clip-path:polygon(-60% -60%, 160% -160%, 160% -60%, -60% 40%); opacity:0; pointer-events:none; }

/* =========================================================
   TRILHO DE PROGRESSO (≥1200px)
   ========================================================= */
.trilho{ display:none; }
@media (min-width:1200px){
  .trilho{
    display:block; position:fixed; left:34px; top:50%; translate:0 -50%;
    z-index:55; width:24px; height:min(52vh,420px);
  }
  .trilho__linha{ position:absolute; left:11px; top:0; bottom:0; width:1px; background:color-mix(in srgb,var(--ouro) 22%,transparent); }
  .trilho__fill{ position:absolute; left:11px; top:0; width:1px; height:0; background:var(--ouro); transition:height .18s linear; }
  .trilho__ponto{
    position:absolute; left:6px; width:11px; height:11px; translate:0 -50%;
    display:grid; place-items:center;
  }
  .trilho__ponto i{ width:5px; height:5px; border-radius:50%; background:color-mix(in srgb,var(--ouro) 40%,transparent); transition:.3s var(--ease); }
  .trilho__ponto.on i{ background:var(--brilho); scale:1.5; box-shadow:0 0 0 4px color-mix(in srgb,var(--ouro) 18%,transparent); }
  .trilho__ponto span{
    position:absolute; left:20px; white-space:nowrap;
    font-size:.58rem; letter-spacing:.24em; text-transform:uppercase; font-weight:600;
    font-variation-settings:"wdth" 115;
    color:var(--brilho); opacity:0; translate:-6px 0; transition:.3s var(--ease); pointer-events:none;
  }
  .trilho__ponto:hover span,.trilho__ponto:focus-visible span{ opacity:1; translate:0 0; }
  body.em-claro .trilho__linha{ background:color-mix(in srgb,var(--bronze) 26%,transparent); }
  body.em-claro .trilho__fill{ background:var(--bronze); }
  body.em-claro .trilho__ponto i{ background:color-mix(in srgb,var(--bronze) 45%,transparent); }
  body.em-claro .trilho__ponto.on i{ background:var(--bronze); box-shadow:0 0 0 4px color-mix(in srgb,var(--bronze) 16%,transparent); }
  body.em-claro .trilho__ponto span{ color:var(--bronze); }
}

/* =========================================================
   CABEÇALHO
   ========================================================= */
.topo{
  position:fixed; inset:0 0 auto; z-index:50;
  padding:18px var(--gutter);
  display:flex; align-items:center; gap:clamp(16px,3vw,40px);
  transition:background .45s var(--ease), padding .45s var(--ease), border-color .45s;
  border-bottom:1px solid transparent;
}
.topo.fixo{
  background:color-mix(in srgb,var(--breu) 82%,transparent);
  backdrop-filter:blur(16px) saturate(1.3); -webkit-backdrop-filter:blur(16px) saturate(1.3);
  border-bottom-color:color-mix(in srgb,var(--ouro) 16%,transparent);
  padding-block:11px;
}
.topo__marca{ flex:none; }
.topo__marca img{ width:clamp(108px,11vw,138px); filter:brightness(0) invert(1); opacity:.95; transition:.4s var(--ease); }
.topo__marca:hover img{ filter:none; opacity:1; }

.menu{ display:none; gap:clamp(14px,1.9vw,30px); margin-inline-start:auto; }
@media (min-width:1000px){ .menu{ display:flex; align-items:center; } }
.menu a{
  position:relative; font-size:.7rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  font-variation-settings:"wdth" 112; color:color-mix(in srgb,var(--linho) 78%,transparent); padding-block:6px;
  transition:color .3s;
}
.menu a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:1px; background:var(--ouro);
  transition:right .45s var(--ease);
}
.menu a:hover{ color:var(--brilho); }
.menu a:hover::after,.menu a[aria-current="true"]::after{ right:0; }
.menu a[aria-current="true"]{ color:var(--brilho); }

.topo__acoes{ display:flex; align-items:center; gap:10px; margin-inline-start:auto; }
@media (min-width:1000px){ .topo__acoes{ margin-inline-start:clamp(14px,2vw,30px); } }

/* botões */
.btn{
  position:relative; display:inline-flex; align-items:center; gap:.7em;
  padding:.92em 1.5em; overflow:hidden; isolation:isolate;
  font-size:.72rem; font-weight:600; letter-spacing:.17em; text-transform:uppercase;
  font-variation-settings:"wdth" 112;
  border:1px solid var(--ouro); color:var(--brilho);
  transition:color .4s var(--ease), border-color .4s;
}
.btn::before{
  content:""; position:absolute; inset:-1px -35%; z-index:-1;
  background:var(--ouro);
  transform:translateX(-112%) skewX(-26.57deg);
  transition:transform .55s var(--ease);
}
.btn:hover{ color:var(--breu); border-color:var(--ouro); }
.btn:hover::before{ transform:translateX(-2%) skewX(-26.57deg); }
.btn--solido{ background:var(--ouro); color:var(--breu); border-color:var(--ouro); }
.btn--solido::before{ background:var(--brilho); }
.btn--solido:hover{ color:var(--breu); }
.btn--fantasma{ border-color:color-mix(in srgb,var(--linho) 30%,transparent); color:var(--linho); }
.btn--fantasma:hover{ color:var(--breu); border-color:var(--ouro); }
.claro .btn{ border-color:var(--bronze); color:var(--bronze); }
.claro .btn::before{ background:var(--bronze); }
.claro .btn:hover{ color:var(--linho); }
.btn--min{ padding:.7em 1.1em; font-size:.64rem; }

.btn-zap{ display:inline-flex; }
@media (max-width:640px){ .btn-zap span{ display:none; } .btn-zap{ padding:.8em .95em; } }

/* hambúrguer */
.burger{ display:grid; gap:5px; padding:10px; margin-inline-start:4px; }
@media (min-width:1000px){ .burger{ display:none; } }
.burger i{ display:block; width:22px; height:1.5px; background:var(--linho); transition:.4s var(--ease); }
.burger[aria-expanded="true"] i:nth-child(1){ translate:0 6.5px; rotate:26.57deg; }
.burger[aria-expanded="true"] i:nth-child(2){ opacity:0; scale:.4 1; }
.burger[aria-expanded="true"] i:nth-child(3){ translate:0 -6.5px; rotate:-26.57deg; }

.gaveta{
  position:fixed; inset:0; z-index:49; background:var(--breu);
  display:grid; align-content:center; gap:4px; padding:96px var(--gutter) 40px;
  clip-path:polygon(0 0,100% 0,100% 0,0 0); transition:clip-path .7s var(--ease);
}
.gaveta.aberta{ clip-path:polygon(0 0,100% 0,100% 100%,0 100%); }
.gaveta a{
  font-family:var(--display); font-size:clamp(1.9rem,8vw,3rem); padding-block:.14em;
  border-bottom:1px solid color-mix(in srgb,var(--ouro) 16%,transparent);
  display:flex; align-items:baseline; justify-content:space-between; gap:1rem;
  opacity:0; translate:0 18px; transition:.5s var(--ease);
}
.gaveta a small{ font-family:var(--corpo); font-size:.6rem; letter-spacing:.24em; color:var(--ouro); font-weight:600; }
.gaveta.aberta a{ opacity:1; translate:0 0; }
.gaveta.aberta a:nth-child(1){transition-delay:.1s}.gaveta.aberta a:nth-child(2){transition-delay:.16s}
.gaveta.aberta a:nth-child(3){transition-delay:.22s}.gaveta.aberta a:nth-child(4){transition-delay:.28s}
.gaveta.aberta a:nth-child(5){transition-delay:.34s}.gaveta.aberta a:nth-child(6){transition-delay:.4s}
.gaveta.aberta a:nth-child(7){transition-delay:.46s}

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative; min-height:100svh; display:flex; align-items:flex-end;
  padding:140px 0 clamp(26px,5vh,54px); overflow:hidden;
}
.hero__video{ position:absolute; inset:0; z-index:0; overflow:hidden; background:var(--breu); }
.hero__video img.poster{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  filter:blur(22px) saturate(.8) brightness(.5); scale:1.2;
}
.hero__video iframe{
  position:absolute; top:50%; left:50%;
  width:max(178vh,132vw); height:max(100vh,74.25vw);
  translate:-50% -50%;
  border:0; pointer-events:none;
  filter:blur(17px) saturate(.82) brightness(.52) contrast(1.05);
  opacity:0; transition:opacity 1.4s ease .3s;
}
.hero__video iframe.no-ar{ opacity:1; }
.hero__veu{
  position:absolute; inset:0; z-index:1;
  background:
    radial-gradient(120% 90% at 18% 88%, color-mix(in srgb,var(--breu) 90%,transparent) 0%, transparent 62%),
    linear-gradient(to top, var(--breu) 2%, color-mix(in srgb,var(--breu) 72%,transparent) 34%, color-mix(in srgb,var(--breu-2) 44%,transparent) 100%);
}
.hero__listras{
  position:absolute; inset:0; z-index:1; opacity:.16;
  background:repeating-linear-gradient(var(--ang), transparent 0 26px, color-mix(in srgb,var(--brilho) 36%,transparent) 26px 27px);
  mask-image:linear-gradient(to bottom, transparent 0%, #000 45%, transparent 92%);
  -webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 45%, transparent 92%);
}
.hero .env{ position:relative; z-index:3; width:min(100% - var(--gutter)*2, var(--max)); }

.hero__eyebrow{ margin-bottom:clamp(18px,3vh,30px); }
.hero__titulo{
  font-size:clamp(2.9rem,9.2vw,7.4rem);
  line-height:.94; letter-spacing:-.03em; max-width:16ch;
  font-variation-settings:"SOFT" 24,"WONK" 1,"opsz" 144;
}
.hero__titulo .ln{ display:block; overflow:hidden; }
.hero__titulo .ln > span{ display:block; translate:0 110%; transition:translate 1.05s var(--ease); }
.hero__titulo .ln:nth-child(2) > span{ transition-delay:.09s; }
.hero__titulo .ln:nth-child(3) > span{ transition-delay:.18s; }
html.pronto .hero__titulo .ln > span{ translate:0 0; }
.hero__titulo em{ font-style:normal; color:var(--ouro); font-variation-settings:"SOFT" 70,"WONK" 1,"opsz" 144; }

.hero__sub{ max-width:52ch; margin-top:clamp(18px,3vh,28px); }
.hero__cta{ display:flex; flex-wrap:wrap; gap:12px; margin-top:clamp(24px,4vh,38px); }

.hero__prova{
  margin-top:clamp(34px,6vh,62px);
  display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
  background:color-mix(in srgb,var(--ouro) 20%,transparent);
  border-block:1px solid color-mix(in srgb,var(--ouro) 20%,transparent);
}
@media (min-width:760px){ .hero__prova{ grid-template-columns:repeat(4,1fr); } }
.prova{ background:color-mix(in srgb,var(--breu) 55%,transparent); padding:16px clamp(12px,2vw,22px); }
.prova b{
  display:block; font-family:var(--display); font-size:clamp(1.55rem,3.4vw,2.35rem); font-weight:400;
  line-height:1; color:var(--brilho); font-variation-settings:"SOFT" 30,"WONK" 1,"opsz" 120;
}
.prova span{ display:block; margin-top:.45em; font-size:.6rem; letter-spacing:.2em; text-transform:uppercase;
  font-weight:600; font-variation-settings:"wdth" 112; color:color-mix(in srgb,var(--linho) 58%,transparent); }

.rolar{
  position:absolute; right:var(--gutter); bottom:clamp(26px,5vh,54px); z-index:3;
  display:none; writing-mode:vertical-rl; font-size:.58rem; letter-spacing:.3em; text-transform:uppercase;
  font-weight:600; color:color-mix(in srgb,var(--linho) 50%,transparent); align-items:center; gap:14px;
}
@media (min-width:900px){ .rolar{ display:flex; } }
.rolar::after{ content:""; width:1px; height:64px; background:linear-gradient(var(--ouro),transparent);
  animation:desce 2.4s var(--ease-suave) infinite; transform-origin:top; }
@keyframes desce{ 0%{scale:1 0;opacity:0}30%{scale:1 1;opacity:1}100%{scale:1 1;opacity:0;translate:0 40px} }

/* =========================================================
   DIVISOR DIAGONAL entre seções
   ========================================================= */
.corte{ position:relative; height:clamp(52px,6.5vw,88px); overflow:hidden; }
.corte__lista{
  position:absolute; inset:0 -25%;
  background:repeating-linear-gradient(var(--ang), transparent 0 12px, currentColor 12px 13px);
  will-change:transform;
  mask-image:linear-gradient(to bottom, #000 0%, transparent 88%);
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, transparent 88%);
}
.corte--paraClaro{ background:var(--linho); }
.corte--paraClaro .corte__lista{ color:var(--breu); opacity:.34; }
.corte--paraEscuro{ background:var(--breu); }
.corte--paraEscuro .corte__lista{ color:var(--linho); opacity:.3; }

/* =========================================================
   REVELAÇÕES DE SCROLL
   ========================================================= */
.rv{ opacity:0; translate:0 26px; transition:opacity .9s var(--ease), translate .9s var(--ease); }
.rv.vis{ opacity:1; translate:0 0; }
.rv-m{ overflow:hidden; }
.rv-m > *{ translate:0 105%; transition:translate 1s var(--ease); }
.rv-m.vis > *{ translate:0 0; }
.rv-l{ transform-origin:left; scale:0 1; transition:scale 1.1s var(--ease); }
.rv-l.vis{ scale:1 1; }
[data-atraso="1"]{ transition-delay:.08s } [data-atraso="2"]{ transition-delay:.16s }
[data-atraso="3"]{ transition-delay:.24s } [data-atraso="4"]{ transition-delay:.32s }
[data-atraso="5"]{ transition-delay:.4s }  [data-atraso="6"]{ transition-delay:.48s }

@media (prefers-reduced-motion:reduce){
  .rv,.rv-m>*,.rv-l{ opacity:1 !important; translate:0 !important; scale:1 !important; transition:none !important; }
  .hero__titulo .ln > span{ translate:0 !important; }
  .capa{ display:none; }
  .grao::after{ animation:none; }
  .rolar::after{ animation:none; }
  *{ scroll-behavior:auto !important; }
}

/* =========================================================
   A CLÍNICA
   ========================================================= */
.clinica__grid{ display:grid; gap:clamp(34px,6vw,76px); }
@media (min-width:980px){ .clinica__grid{ grid-template-columns:.92fr 1.08fr; align-items:start; } }

.pilha{ position:relative; display:grid; gap:14px; grid-template-columns:1fr 1fr; }
.pilha figure{ margin:0; position:relative; overflow:hidden; }
.pilha img{ width:100%; height:100%; object-fit:cover; transition:scale 1.4s var(--ease); }
.pilha figure:hover img{ scale:1.05; }
.pilha .p1{ grid-column:1/-1; aspect-ratio:16/10; }
.pilha .p2{ aspect-ratio:3/4; }
.pilha .p3{ aspect-ratio:3/4; margin-top:26px; }
.pilha figure::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(var(--ang), color-mix(in srgb,var(--bronze) 26%,transparent), transparent 58%);
  mix-blend-mode:multiply; opacity:.75; transition:opacity .6s;
}
.pilha figure:hover::after{ opacity:.25; }

.clinica__texto > * + *{ margin-top:1.15em; }
.clinica__texto .titulo{ margin-top:.5em; }
.clinica__texto p{ color:var(--tinta-2); max-width:58ch; }
.assinatura{
  margin-top:clamp(26px,4vw,40px); padding-top:22px;
  border-top:1px solid color-mix(in srgb,var(--bronze) 26%,transparent);
  display:flex; align-items:center; gap:16px;
}
.assinatura img{ width:58px; height:58px; border-radius:50%; object-fit:cover; object-position:top center;
  outline:1px solid color-mix(in srgb,var(--bronze) 40%,transparent); outline-offset:3px; }
.assinatura b{ display:block; font-family:var(--display); font-size:1.14rem; font-weight:400; }
.assinatura span{ font-size:.66rem; letter-spacing:.2em; text-transform:uppercase; color:var(--bronze); font-weight:600; }

.fatos{ display:grid; gap:0; margin-top:clamp(26px,4vw,38px); }
.fatos li{
  display:flex; align-items:baseline; gap:14px; padding:.72em 0;
  border-bottom:1px solid color-mix(in srgb,var(--bronze) 18%,transparent);
  font-size:.92rem; color:var(--tinta-2);
}
.fatos li::before{
  content:""; flex:none; width:9px; height:9px; translate:0 -1px;
  background:repeating-linear-gradient(var(--ang), var(--bronze) 0 2px, transparent 2px 4px);
}

/* =========================================================
   NÚCLEOS
   ========================================================= */
.nucleos{ position:relative; }
.nucleos__cabeca{ display:grid; gap:18px; margin-bottom:clamp(34px,5vw,58px); }
@media (min-width:900px){ .nucleos__cabeca{ grid-template-columns:1.15fr .85fr; align-items:end; gap:40px; } }

.nucleos__palco{ display:grid; gap:clamp(20px,3vw,44px); }
@media (min-width:1000px){ .nucleos__palco{ grid-template-columns:1fr minmax(320px,.78fr); align-items:start; } }

.nlista{ border-top:1px solid color-mix(in srgb,var(--ouro) 18%,transparent); }
.nitem{ border-bottom:1px solid color-mix(in srgb,var(--ouro) 18%,transparent); }
.nitem__btn{
  width:100%; display:flex; align-items:center; gap:clamp(12px,2vw,22px);
  padding:clamp(16px,2.2vw,24px) 0; text-align:left; position:relative;
}
.nitem__btn::before{
  content:""; position:absolute; left:calc(var(--gutter)*-.5); right:calc(var(--gutter)*-.5); top:0; bottom:0;
  background:linear-gradient(90deg, color-mix(in srgb,var(--ouro) 9%,transparent), transparent 70%);
  opacity:0; transition:opacity .5s var(--ease); z-index:-1;
}
.nitem.on .nitem__btn::before,.nitem__btn:hover::before{ opacity:1; }
.nitem__marca{
  flex:none; width:22px; height:22px; position:relative;
  background:repeating-linear-gradient(var(--ang), var(--ouro) 0 2.4px, transparent 2.4px 5.4px);
  opacity:.45; transition:.5s var(--ease);
}
.nitem.on .nitem__marca{ opacity:1; scale:1.15; }
.nitem__nome{
  font-family:var(--display); font-size:clamp(1.45rem,3.6vw,2.6rem); font-weight:400; line-height:1.05;
  font-variation-settings:"SOFT" 30,"WONK" 1,"opsz" 120;
  color:color-mix(in srgb,var(--linho) 66%,transparent); transition:color .45s var(--ease); flex:1 1 auto;
}
.nitem.on .nitem__nome,.nitem__btn:hover .nitem__nome{ color:var(--linho); }
.nitem.on .nitem__nome{ color:var(--brilho); }
.nitem__cont{
  flex:none; font-size:.6rem; letter-spacing:.2em; font-weight:600; font-variation-settings:"wdth" 112;
  color:var(--ouro); text-transform:uppercase;
}
.nitem__corpo{ display:grid; grid-template-rows:0fr; transition:grid-template-rows .65s var(--ease); }
.nitem.on .nitem__corpo{ grid-template-rows:1fr; }
.nitem__corpo > div{ overflow:hidden; }
.nitem__inner{ padding-bottom:clamp(18px,2.4vw,28px); padding-left:calc(22px + clamp(12px,2vw,22px)); }
.nitem__desc{ max-width:56ch; color:color-mix(in srgb,var(--linho) 72%,transparent); font-size:.96rem; }
.tags{ display:flex; flex-wrap:wrap; gap:7px; margin-top:16px; }
.tag{
  font-size:.67rem; letter-spacing:.06em; padding:.42em .78em;
  border:1px solid color-mix(in srgb,var(--ouro) 26%,transparent);
  color:color-mix(in srgb,var(--linho) 80%,transparent);
  transition:.35s var(--ease);
}
.tag:hover{ border-color:var(--ouro); color:var(--brilho); background:color-mix(in srgb,var(--ouro) 10%,transparent); }

.nucleos__vitrine{ order:-1; position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--casca);
  outline:1px solid color-mix(in srgb,var(--ouro) 18%,transparent); }
@media (min-width:1000px){ .nucleos__vitrine{ order:0; position:sticky; top:104px; } }
.nucleos__vitrine img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; scale:1.08; filter:saturate(.72) contrast(1.05) brightness(.9) sepia(.18);
  transition:opacity .9s var(--ease), scale 1.6s var(--ease), filter .9s var(--ease);
}
.nucleos__vitrine:hover img.on{ filter:saturate(.95) contrast(1.02) brightness(.98) sepia(.05); }
.nucleos__vitrine img.on{ opacity:1; scale:1; }
.nucleos__vitrine::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to top, color-mix(in srgb,var(--breu) 92%,transparent) 0%, color-mix(in srgb,var(--breu) 30%,transparent) 42%, transparent 66%);
}
.nucleos__vitrine::before{
  content:""; position:absolute; inset:auto 0 0 0; height:46%; z-index:1; pointer-events:none; opacity:.22;
  background:repeating-linear-gradient(var(--ang), transparent 0 18px, var(--brilho) 18px 19px);
  mask-image:linear-gradient(to top, #000 10%, transparent 90%);
  -webkit-mask-image:linear-gradient(to top, #000 10%, transparent 90%);
}
.nucleos__legenda{
  position:absolute; left:0; right:0; bottom:0; z-index:2; padding:clamp(16px,2.4vw,24px);
  font-family:var(--display); font-size:clamp(1.1rem,2.2vw,1.5rem); color:var(--brilho);
}
.nucleos__legenda small{ display:block; font-family:var(--corpo); font-size:.6rem; letter-spacing:.22em;
  text-transform:uppercase; font-weight:600; color:var(--ouro); margin-bottom:.5em; }

/* =========================================================
   MAPA DE PROFUNDIDADE — elemento assinatura
   ========================================================= */
.mapa{ background:linear-gradient(to bottom,var(--breu),var(--breu-2) 40%,var(--breu)); }
.mapa__cabeca{ display:grid; gap:20px; margin-bottom:clamp(30px,4.5vw,52px); }
@media (min-width:900px){ .mapa__cabeca{ grid-template-columns:1.1fr .9fr; align-items:end; gap:48px; } }

.filtros{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:22px; }
.filtro{
  font-size:.64rem; letter-spacing:.19em; text-transform:uppercase; font-weight:600;
  font-variation-settings:"wdth" 112; padding:.6em 1.05em;
  border:1px solid color-mix(in srgb,var(--ouro) 24%,transparent); color:color-mix(in srgb,var(--linho) 66%,transparent);
  transition:.35s var(--ease);
}
.filtro:hover{ color:var(--brilho); border-color:var(--ouro); }
.filtro[aria-pressed="true"]{ background:var(--ouro); border-color:var(--ouro); color:var(--breu); }

.mapa__palco{ display:grid; gap:clamp(20px,3vw,40px); }
@media (max-width:1039px){
  .mapa__palco > div:last-child{ order:-1; }
  .techs{ max-height:none; mask-image:none; -webkit-mask-image:none; }
}
@media (min-width:1040px){ .mapa__palco{ grid-template-columns:minmax(260px,.8fr) 1.2fr; align-items:start; } }

.techs{ max-height:min(62vh,520px); overflow-y:auto; overscroll-behavior:contain;
  mask-image:linear-gradient(to bottom,#000 88%,transparent);
  -webkit-mask-image:linear-gradient(to bottom,#000 88%,transparent);
  border-top:1px solid color-mix(in srgb,var(--ouro) 18%,transparent);
  scrollbar-width:thin; scrollbar-color:var(--bronze) transparent; }
.techs::-webkit-scrollbar{ width:4px; }
.techs::-webkit-scrollbar-thumb{ background:var(--bronze); }
.tech{
  width:100%; display:flex; align-items:center; gap:12px; padding:.78em 12px .78em 0; text-align:left;
  border-bottom:1px solid color-mix(in srgb,var(--ouro) 14%,transparent);
  color:color-mix(in srgb,var(--linho) 72%,transparent);
  font-size:.86rem; transition:.35s var(--ease); position:relative;
}
.tech:hover{ color:var(--brilho); padding-left:8px; }
.tech[aria-selected="true"]{ color:var(--brilho); padding-left:8px; background:color-mix(in srgb,var(--ouro) 9%,transparent); }
.tech__dot{ flex:none; width:7px; height:7px; border-radius:50%; background:currentColor; opacity:.5; transition:.35s; }
.tech[aria-selected="true"] .tech__dot{ opacity:1; box-shadow:0 0 0 4px color-mix(in srgb,var(--ouro) 20%,transparent); }
.tech__camada{ margin-left:auto; font-size:.56rem; letter-spacing:.16em; text-transform:uppercase; font-weight:600;
  font-variation-settings:"wdth" 110; color:var(--ouro); opacity:.85; }
.tech.oculto{ display:none; }

.corte-pele{
  position:relative; background:var(--casca);
  outline:1px solid color-mix(in srgb,var(--ouro) 18%,transparent); overflow:hidden;
}
.corte-pele svg{ width:100%; height:auto; display:block; }
.camada-rot{
  font-family:var(--corpo); font-size:9.2px; letter-spacing:.22em; text-transform:uppercase; font-weight:600;
  fill:color-mix(in srgb,var(--linho) 50%,transparent); transition:fill .5s;
}
.camada-rot.on{ fill:var(--brilho); }
.camada-sub{ font-family:var(--corpo); font-size:7.4px; letter-spacing:.06em; fill:color-mix(in srgb,var(--linho) 32%,transparent); }
.camada-faixa{ transition:opacity .6s var(--ease); }
.camada-faixa.on{ opacity:1 !important; }

.corte-pele svg.compacto .rot-lado{ display:none; }

.legenda{ display:none; }
@media (max-width:1039px){
  .legenda{
    display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
    background:color-mix(in srgb,var(--ouro) 16%,transparent);
    border-top:1px solid color-mix(in srgb,var(--ouro) 16%,transparent);
  }
  .legenda li{ background:var(--casca); padding:10px 12px; transition:background .5s var(--ease); }
  .legenda li b{ display:block; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600;
    font-variation-settings:"wdth" 112; color:color-mix(in srgb,var(--linho) 52%,transparent); transition:color .5s; }
  .legenda li span{ display:block; font-size:.7rem; color:color-mix(in srgb,var(--linho) 34%,transparent); margin-top:.2em; }
  .legenda li.on{ background:color-mix(in srgb,var(--ouro) 13%,transparent); }
  .legenda li.on b{ color:var(--brilho); }
}

.mapa__painel{
  padding:clamp(18px,2.6vw,26px);
  border-top:1px solid color-mix(in srgb,var(--ouro) 18%,transparent);
  background:color-mix(in srgb,var(--breu) 60%,transparent);
}
.mapa__painel h3{ font-size:clamp(1.25rem,2.6vw,1.75rem); color:var(--brilho); }
.mapa__painel .onde svg{ width:10px; height:10px; flex:none; }
.mapa__painel .onde{
  display:inline-flex; align-items:center; gap:.6em; margin-bottom:.9em;
  font-size:.6rem; letter-spacing:.22em; text-transform:uppercase; font-weight:600;
  font-variation-settings:"wdth" 112; color:var(--ouro);
}
.mapa__painel p{ margin-top:.85em; color:color-mix(in srgb,var(--linho) 72%,transparent); font-size:.93rem; max-width:62ch; }
.mapa__painel .troca{ animation:troca .55s var(--ease); }
@keyframes troca{ from{ opacity:0; translate:0 10px } to{ opacity:1; translate:0 0 } }
.mapa__nota{ margin-top:clamp(20px,3vw,30px); font-size:.8rem; color:color-mix(in srgb,var(--linho) 48%,transparent);
  display:flex; gap:10px; align-items:flex-start; max-width:70ch; }
.mapa__nota::before{ content:""; flex:none; width:14px; height:1px; background:var(--ouro); margin-top:.72em; }

/* =========================================================
   CORPO CLÍNICO
   ========================================================= */
.equipe__grid{ display:grid; gap:clamp(20px,2.6vw,36px); grid-template-columns:repeat(2,1fr); }
@media (min-width:820px){ .equipe__grid{ grid-template-columns:repeat(3,1fr); } }
.pessoa{ position:relative; }
.pessoa__foto{ position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--linho-2); }
@media (min-width:820px){ .pessoa__foto{ aspect-ratio:1/1; } }
.pessoa__foto img{
  width:100%; height:100%; object-fit:cover; object-position:top center;
  filter:grayscale(1) contrast(1.04) brightness(1.02);
  scale:1.02; transition:filter .7s var(--ease), scale 1.3s var(--ease);
}
.pessoa:hover .pessoa__foto img,.pessoa:focus-within .pessoa__foto img{ filter:grayscale(0); scale:1.06; }
.pessoa__foto::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(var(--ang), color-mix(in srgb,var(--bronze) 54%,transparent), transparent 62%);
  mix-blend-mode:multiply; transition:opacity .7s var(--ease);
}
.pessoa:hover .pessoa__foto::after{ opacity:.15; }
.pessoa h3{ margin-top:14px; font-size:1.2rem; }
.pessoa .reg{ display:block; margin-top:.3em; font-size:.6rem; letter-spacing:.2em; text-transform:uppercase;
  font-weight:600; color:var(--bronze); font-variation-settings:"wdth" 112; }
.pessoa .esp{ margin-top:.6em; font-size:.85rem; color:var(--tinta-2); line-height:1.5; }
.pessoa .mail{ display:inline-block; margin-top:.6em; font-size:.78rem; color:var(--bronze);
  border-bottom:1px solid color-mix(in srgb,var(--bronze) 35%,transparent); transition:.3s; }
.pessoa .mail:hover{ border-color:var(--bronze); color:var(--tinta); }

/* =========================================================
   DEPOIMENTOS — 106 vozes
   ========================================================= */
.vozes{ background:var(--breu); position:relative; overflow:hidden; }
.vozes::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(70% 55% at 22% 30%, color-mix(in srgb,var(--bronze) 20%,transparent), transparent 70%);
  pointer-events:none;
}
.vozes__grid{ display:grid; gap:clamp(34px,5vw,60px); }
@media (min-width:1040px){ .vozes__grid{ grid-template-columns:minmax(300px,.85fr) 1.15fr; align-items:start; } }

.nota{ display:flex; align-items:flex-end; gap:16px; }
.nota b{
  font-family:var(--display); font-size:clamp(4.4rem,11vw,7.6rem); line-height:.8; font-weight:400;
  color:var(--brilho); font-variation-settings:"SOFT" 20,"WONK" 1,"opsz" 144; letter-spacing:-.045em;
}
.nota__lado{ padding-bottom:.6em; }
.estrelas{ display:flex; gap:3px; }
.estrelas svg{ width:17px; height:17px; }
.estrelas .st{ fill:color-mix(in srgb,var(--ouro) 22%,transparent); transition:fill .5s var(--ease); }
.estrelas.vis .st{ fill:var(--ouro); }
.estrelas.vis .st:nth-child(1){transition-delay:.05s}.estrelas.vis .st:nth-child(2){transition-delay:.13s}
.estrelas.vis .st:nth-child(3){transition-delay:.21s}.estrelas.vis .st:nth-child(4){transition-delay:.29s}
.estrelas.vis .st:nth-child(5){transition-delay:.37s}
.nota__lado span{ display:block; margin-top:.6em; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase;
  font-weight:600; font-variation-settings:"wdth" 112; color:color-mix(in srgb,var(--linho) 58%,transparent); }

.destaque{
  margin-top:clamp(26px,4vw,40px); padding-top:clamp(22px,3vw,30px);
  border-top:1px solid color-mix(in srgb,var(--ouro) 22%,transparent);
  position:relative; min-height:clamp(300px,34vh,400px);
}
.destaque__barra{ position:absolute; top:-1px; left:0; height:1px; background:var(--brilho); width:0; }
.destaque__aspas{
  font-family:var(--display); font-size:3.4rem; line-height:0; color:var(--ouro); opacity:.45;
  display:block; height:.4em;
}
.destaque__txt{
  font-family:var(--display); font-size:clamp(1rem,1.35vw,1.18rem); line-height:1.58; font-weight:400;
  font-variation-settings:"SOFT" 60,"WONK" 1,"opsz" 48; color:color-mix(in srgb,var(--linho) 92%,transparent);
}
.destaque__quem{ display:flex; align-items:center; gap:13px; margin-top:20px; }
.destaque__quem img{ width:46px; height:46px; border-radius:50%; object-fit:cover;
  outline:1px solid color-mix(in srgb,var(--ouro) 45%,transparent); outline-offset:3px; }
.destaque__quem b{ display:block; font-weight:600; font-size:.92rem; letter-spacing:.01em; }
.destaque__slot{ transition:opacity .5s var(--ease), translate .5s var(--ease); }
.destaque__slot.saindo{ opacity:0; translate:0 -12px; }

.mural{ display:grid; gap:14px; grid-template-columns:1fr; }
@media (min-width:600px){ .mural{ grid-template-columns:1fr 1fr; } }
.coluna{
  position:relative; height:min(78vh,640px); overflow:hidden;
  mask-image:linear-gradient(to bottom, transparent, #000 11%, #000 89%, transparent);
  -webkit-mask-image:linear-gradient(to bottom, transparent, #000 11%, #000 89%, transparent);
}
.coluna__fita{ display:grid; gap:14px; will-change:transform; }
.coluna:hover .coluna__fita,.coluna:focus-within .coluna__fita{ animation-play-state:paused; }
@keyframes sobe{ from{ transform:translate3d(0,0,0) } to{ transform:translate3d(0,-50%,0) } }
@keyframes desce2{ from{ transform:translate3d(0,-50%,0) } to{ transform:translate3d(0,0,0) } }
.coluna--a .coluna__fita{ animation:sobe 58s linear infinite; }
.coluna--b .coluna__fita{ animation:desce2 68s linear infinite; }
@media (max-width:599px){
  .coluna{ height:auto; mask-image:none; -webkit-mask-image:none; }
  .coluna__fita{ animation:none !important; }
  .coluna__fita .dupe{ display:none; }
  .coluna--b{ display:none; }
}
@media (prefers-reduced-motion:reduce){
  .coluna{ height:auto; mask-image:none; -webkit-mask-image:none; }
  .coluna__fita{ animation:none !important; }
  .coluna__fita .dupe{ display:none; }
}

.voz{
  background:var(--casca); padding:clamp(17px,2vw,22px);
  border:1px solid color-mix(in srgb,var(--ouro) 15%,transparent);
  position:relative; transition:border-color .45s var(--ease), background .45s var(--ease), translate .45s var(--ease);
}
.voz::before{
  content:""; position:absolute; left:0; top:0; width:100%; height:2px;
  background:repeating-linear-gradient(var(--ang), var(--ouro) 0 2px, transparent 2px 5px);
  opacity:0; transition:opacity .45s;
}
.voz:hover{ border-color:color-mix(in srgb,var(--ouro) 44%,transparent); background:var(--casca-2); translate:0 -2px; }
.voz:hover::before{ opacity:.9; }
.voz__topo{ display:flex; align-items:center; gap:11px; margin-bottom:12px; }
.voz__topo img{ width:38px; height:38px; border-radius:50%; object-fit:cover; flex:none;
  outline:1px solid color-mix(in srgb,var(--ouro) 38%,transparent); outline-offset:2px; }
.voz__nome{ font-weight:600; font-size:.86rem; line-height:1.25; }
.voz__topo .estrelas{ margin-top:3px; }
.voz__topo .estrelas svg{ width:12px; height:12px; }
.voz__topo .estrelas .st{ fill:var(--ouro); }
.voz p{ font-size:.875rem; line-height:1.6; color:color-mix(in srgb,var(--linho) 76%,transparent); }
.voz__g{ display:flex; align-items:center; gap:7px; margin-top:13px; font-size:.6rem; letter-spacing:.16em;
  text-transform:uppercase; font-weight:600; color:color-mix(in srgb,var(--linho) 40%,transparent);
  font-variation-settings:"wdth" 110; }
.voz__g svg{ width:12px; height:12px; }

/* =========================================================
   POR ONDE COMEÇAR
   ========================================================= */
.rota__grid{ display:grid; gap:clamp(28px,4vw,56px); }
@media (min-width:960px){ .rota__grid{ grid-template-columns:.85fr 1.15fr; align-items:start; } }

.passo{ margin-bottom:clamp(22px,3vw,32px); }
.passo__cab{ display:flex; align-items:baseline; gap:12px; margin-bottom:14px; }
.passo__n{
  font-family:var(--display); font-size:.9rem; font-weight:400; color:var(--bronze);
  font-variation-settings:"opsz" 20; letter-spacing:.04em;
}
.passo__t{ font-size:.68rem; letter-spacing:.22em; text-transform:uppercase; font-weight:600;
  font-variation-settings:"wdth" 114; color:var(--tinta); }
.opcoes{ display:flex; flex-wrap:wrap; gap:8px; }
.opcao{
  padding:.66em 1.05em; border:1px solid color-mix(in srgb,var(--bronze) 30%,transparent);
  font-size:.82rem; color:var(--tinta-2); transition:.35s var(--ease); position:relative; overflow:hidden; isolation:isolate;
}
.opcao::before{
  content:""; position:absolute; inset:-1px -35%; z-index:-1; background:var(--bronze);
  transform:translateX(-112%) skewX(-26.57deg); transition:transform .5s var(--ease);
}
.opcao:hover{ color:var(--linho); border-color:var(--bronze); }
.opcao:hover::before{ transform:translateX(-2%) skewX(-26.57deg); }
.opcao[aria-pressed="true"]{ background:var(--bronze); border-color:var(--bronze); color:var(--linho); }
.opcao[aria-pressed="true"]::before{ transform:translateX(-2%) skewX(-26.57deg); }
.passo.inativo{ opacity:.34; pointer-events:none; filter:saturate(.4); transition:.5s var(--ease); }

.receita{
  background:var(--breu); color:var(--linho); padding:clamp(24px,3.4vw,40px); position:relative; overflow:hidden;
  min-height:clamp(260px,32vh,340px); display:flex; flex-direction:column;
}
.receita::after{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.12;
  background:repeating-linear-gradient(var(--ang), transparent 0 20px, var(--ouro) 20px 21px);
  mask-image:linear-gradient(200deg, #000, transparent 62%);
  -webkit-mask-image:linear-gradient(200deg, #000, transparent 62%);
}
.receita__marca{ display:block; width:26px; height:26px; margin-bottom:16px;
  background:repeating-linear-gradient(var(--ang), var(--ouro) 0 3px, transparent 3px 6.5px); opacity:.7; }
.receita__vazio{ margin:auto 0; color:color-mix(in srgb,var(--linho) 45%,transparent); font-size:.95rem; max-width:34ch; }
.receita h3{ font-size:clamp(1.5rem,3vw,2.15rem); color:var(--brilho); }
.receita .eyebrow{ margin-bottom:1em; }
.receita p{ margin-top:.9em; color:color-mix(in srgb,var(--linho) 74%,transparent); font-size:.93rem; max-width:44ch; }
.receita__tags{ display:flex; flex-wrap:wrap; gap:7px; margin-top:18px; }
.receita__acao{ margin-top:auto; padding-top:26px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.receita__conteudo{ position:relative; z-index:2; display:flex; flex-direction:column; flex:1; }

/* =========================================================
   DIÁRIO / BLOG
   ========================================================= */
.diario__grid{ display:grid; gap:clamp(18px,2.4vw,26px); grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }
.post{ display:flex; flex-direction:column; }
.post__img{ position:relative; aspect-ratio:19/10; overflow:hidden; background:var(--casca); }
.post__img img{ width:100%; height:100%; object-fit:cover; object-position:center top; scale:1.01; transition:scale 1.2s var(--ease), filter .7s; }
.post:hover .post__img img{ scale:1.07; }
.post__img::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(var(--ang), color-mix(in srgb,var(--breu) 62%,transparent), transparent 55%);
  opacity:.8; transition:opacity .6s;
}
.post:hover .post__img::after{ opacity:.35; }
.post h3{ font-size:1.06rem; line-height:1.24; margin-top:16px; color:var(--linho);
  transition:color .4s; font-variation-settings:"SOFT" 40,"WONK" 1,"opsz" 40; }
.post:hover h3{ color:var(--brilho); }
.post__leia{ margin-top:12px; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; font-weight:600;
  color:var(--ouro); font-variation-settings:"wdth" 112; display:flex; align-items:center; gap:.6em; }
.post__leia::after{ content:""; width:16px; height:1px; background:currentColor; transition:width .4s var(--ease); }
.post:hover .post__leia::after{ width:30px; }

/* =========================================================
   VISITAR + RODAPÉ
   ========================================================= */
.visita__grid{ display:grid; gap:clamp(28px,4vw,54px); }
@media (min-width:920px){ .visita__grid{ grid-template-columns:1fr 1.08fr; align-items:start; } }
.contatos{ margin-top:clamp(24px,3.4vw,36px); display:grid; gap:0; }
.contatos > div{ padding:1.05em 0; border-top:1px solid color-mix(in srgb,var(--ouro) 18%,transparent);
  display:grid; gap:.35em; }
.contatos dt,.contatos .rot{ font-size:.6rem; letter-spacing:.22em; text-transform:uppercase; font-weight:600;
  color:var(--ouro); font-variation-settings:"wdth" 112; }
.contatos .val{ font-size:1rem; color:color-mix(in srgb,var(--linho) 88%,transparent); }
.contatos a.val:hover{ color:var(--brilho); }
.horas{ display:grid; gap:.3em; font-size:.94rem; color:color-mix(in srgb,var(--linho) 78%,transparent); }
.horas div{ display:flex; justify-content:space-between; gap:1em; max-width:340px; }
.horas .hoje{ color:var(--brilho); }
.horas .hoje > span:first-child::after{ content:"hoje"; font-size:.54rem; letter-spacing:.2em; text-transform:uppercase;
  color:var(--breu); background:var(--ouro); padding:.25em .5em; margin-left:.8em; font-weight:600; vertical-align:.12em; }

.mapa-embed{ position:relative; aspect-ratio:1/1; overflow:hidden; outline:1px solid color-mix(in srgb,var(--ouro) 18%,transparent); background:var(--casca); }
@media (min-width:920px){ .mapa-embed{ aspect-ratio:4/5; } }
.mapa-embed iframe{ width:100%; height:100%; border:0; filter:grayscale(1) invert(.92) contrast(.86) sepia(.3) hue-rotate(345deg) saturate(1.3); }

.social{ display:flex; gap:9px; margin-top:22px; }
.social a{
  width:42px; height:42px; display:grid; place-items:center;
  border:1px solid color-mix(in srgb,var(--ouro) 26%,transparent); color:var(--ouro);
  transition:.4s var(--ease);
}
.social a:hover{ background:var(--ouro); color:var(--breu); }
.social svg{ width:17px; height:17px; }

.rodape{ border-top:1px solid color-mix(in srgb,var(--ouro) 16%,transparent); padding-block:clamp(30px,4vw,46px); }
.rodape__grid{ display:flex; flex-wrap:wrap; gap:24px; align-items:center; justify-content:space-between; }
.rodape img{ width:150px; filter:brightness(0) invert(1); opacity:.8; }
.rodape small{ font-size:.68rem; color:color-mix(in srgb,var(--linho) 42%,transparent); line-height:1.7; }
.rodape .tag-linha{ font-size:.58rem; letter-spacing:.34em; text-transform:uppercase; color:var(--ouro); font-weight:600;
  font-variation-settings:"wdth" 116; margin-top:.8em; }

/* botão flutuante whatsapp */
.zap-flut{
  position:fixed; right:clamp(14px,3vw,26px); bottom:clamp(14px,3vw,26px); z-index:58;
  width:54px; height:54px; display:grid; place-items:center; border-radius:50%;
  background:var(--ouro); color:var(--breu);
  box-shadow:0 10px 34px color-mix(in srgb,var(--breu) 70%,transparent);
  translate:0 90px; opacity:0; transition:.6s var(--ease);
}
.zap-flut.on{ translate:0 0; opacity:1; }
.zap-flut:hover{ background:var(--brilho); scale:1.06; }
.zap-flut svg{ width:25px; height:25px; }
