/* o "ê" da Cormorant renderiza com o acento solto: só esse caractere vem de uma serif de apoio */
@font-face{ font-family:"Serif Apoio"; src:local("Georgia"), local("Times New Roman"), local("Noto Serif"); unicode-range:U+00EA, U+00CA; font-weight:400 600; }
/* ============ TOKENS (identidade derivada do Instagram e das fotos da cliente) ============ */
:root{
  color-scheme: only light;

  --primaria:        #4A5340;   /* verde-oliva do feed */
  --primaria-escura: #2F3627;
  --acento:          #B8733F;   /* caramelo do fundo dos retratos */
  --acento-texto:    #8A4F27;
  --fundo:           #FAF7F2;
  --fundo-alt:       #F1E3D0;   /* nude do blazer */
  --fundo-salvia:    #E4E8DA;
  --superficie:      #FFFFFF;
  --texto:           #2A2E22;
  --texto-suave:     #5F6454;
  --linha:           rgba(74,83,64,.18);
  --destaque-rosa:   #C72E69;   /* blusa rosa dos retratos: 1 detalhe por seção */
  --texto-claro:     #FAF7F2;
  --whatsapp:        #25D366;

  --serif: "Serif Apoio", "Cormorant Garamond", "Playfair Display", Georgia, serif;
  --sans:  "Poppins", system-ui, -apple-system, "Segoe UI", sans-serif;

  --fs-sm: .9375rem;
  --fs-base: 1.0625rem;
  --fs-lead: clamp(1.125rem, 1rem + .5vw, 1.375rem);
  --fs-h3: clamp(1.75rem, 1.4rem + 1.4vw, 2.5rem);
  --fs-h2: clamp(2.25rem, 1.5rem + 3.4vw, 4.25rem);
  --fs-h1: clamp(2.6rem, 1.6rem + 5vw, 5.6rem);

  --maxw: 1200px;
  --gutter: clamp(1.25rem, 5vw, 4rem);
  --section-y: clamp(4.5rem, 9vw, 8rem);
  --nav-h: 76px;

  --r-sm: 12px; --r-md: 20px; --r-lg: 32px; --r-xl: 40px;
  --arco: 999px 999px 28px 28px;

  --sombra-botao:   0 10px 26px -12px rgba(47,54,39,.7);
  --sombra-botao-h: 0 16px 30px -12px rgba(47,54,39,.75);
  --sombra-chip:    0 18px 40px -22px rgba(47,54,39,.55);
  --sombra-card-h:  0 22px 40px -28px rgba(47,54,39,.5);
  --sombra-midia:   0 30px 60px -34px rgba(47,54,39,.5);

  --ease: cubic-bezier(.2,.7,.1,1);
}

/* ============ BASE ============ */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; scroll-padding-top:calc(var(--nav-h) + 8px); -webkit-text-size-adjust:100%; }
body{
  margin:0; background:var(--fundo); color:var(--texto);
  font-family:var(--sans); font-size:var(--fs-base); line-height:1.65;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; overflow-x:clip;
}
img{ display:block; max-width:100%; height:auto; }
a{ color:inherit; }
h1,h2,h3,h4,.passo .n,.contato b,.cartao-mapa address b{ font-variant-numeric:lining-nums; }
h1,h2,h3,h4{ font-family:var(--serif); font-weight:500; margin:0; text-wrap:balance; color:var(--primaria-escura); }
p{ margin:0; }
.ec{ font-weight:400; font-synthesis:none; }
ul,ol{ margin:0; padding:0; list-style:none; }
button{ font:inherit; color:inherit; }
::selection{ background:rgba(184,115,63,.35); }
:focus-visible{ outline:3px solid var(--acento); outline-offset:3px; border-radius:6px; }
.visually-hidden{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.skip{ position:fixed; left:16px; top:-80px; z-index:200; background:var(--primaria-escura); color:var(--texto-claro); padding:12px 20px; border-radius:999px; text-decoration:none; transition:top .3s var(--ease); }
.skip:focus{ top:16px; }

.wrap{ width:min(100% - 2 * var(--gutter), var(--maxw)); margin-inline:auto; }
.secao{ padding-block:var(--section-y); position:relative; }
.fundo-alt{ background:var(--fundo-alt); }
.fundo-salvia{ background:var(--fundo-salvia); }
.fundo-superficie{ background:var(--superficie); }

h2{ font-size:var(--fs-h2); line-height:1.1; letter-spacing:-.015em; max-width:18ch; padding-top:.08em; font-variant-numeric:normal; font-variant-ligatures:normal; text-rendering:auto; }
h3{ font-size:var(--fs-h3); line-height:1.1; letter-spacing:-.01em; }
.lead{ font-size:var(--fs-lead); line-height:1.55; color:var(--texto-suave); max-width:46ch; }
.cab{ max-width:42rem; margin-bottom:clamp(2.5rem,5vw,4rem); }
.cab .lead{ margin-top:20px; }

/* M1 etiqueta-pílula */
.etiqueta{
  display:inline-flex; align-items:center; gap:8px; margin-bottom:20px;
  padding:6px 14px; border:1px solid var(--linha); border-radius:999px;
  font-size:.75rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--acento-texto);
}
.etiqueta svg{ width:10px; height:10px; color:var(--acento); flex:none; }

/* ============ BOTÕES (M4: círculo na ponta) ============ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:12px;
  min-height:52px; padding:8px 8px 8px 28px; border-radius:999px; border:1px solid transparent;
  font-family:var(--sans); font-weight:600; font-size:var(--fs-sm); letter-spacing:.01em; line-height:1.2;
  text-decoration:none; white-space:nowrap; cursor:pointer;
  transition:transform .3s var(--ease), box-shadow .35s var(--ease), background .3s var(--ease), color .3s var(--ease), border-color .3s var(--ease);
}
.btn .ponta{ width:36px; height:36px; border-radius:50%; display:grid; place-items:center; flex:none; transition:transform .3s var(--ease); }
.btn .ponta svg{ width:18px; height:18px; }
.btn:hover .ponta{ transform:translateX(2px); }
.btn:active{ transform:translateY(0); }
.btn-primario{ background:var(--primaria); color:var(--texto-claro); box-shadow:var(--sombra-botao); }
.btn-primario .ponta{ background:var(--superficie); color:var(--primaria-escura); }
.btn-primario:hover{ background:var(--primaria-escura); transform:translateY(-2px); box-shadow:var(--sombra-botao-h); }
.btn-contorno{ padding-right:28px; background:transparent; color:var(--primaria-escura); border-color:rgba(74,83,64,.4); }
.btn-contorno:hover{ border-color:var(--primaria-escura); background:rgba(74,83,64,.06); transform:translateY(-2px); }
.btn-claro{ background:var(--fundo); color:var(--primaria-escura); }
.btn-claro .ponta{ background:var(--primaria); color:var(--texto-claro); }
.btn-claro:hover{ transform:translateY(-2px); background:var(--fundo-alt); }
.btn-sm{ min-height:44px; padding:4px 4px 4px 20px; font-size:.875rem; }
.btn-sm .ponta{ width:34px; height:34px; }
.link-texto{ font-weight:600; font-size:var(--fs-sm); text-decoration:underline; text-decoration-color:var(--acento); text-decoration-thickness:2px; text-underline-offset:6px; transition:color .2s; }
.link-texto:hover{ color:var(--acento-texto); }
.link-texto{ display:inline-flex; align-items:center; min-height:44px; }
.acoes{ display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; }
.secao-cta{ margin-top:clamp(2.5rem,5vw,3.5rem); }

/* ============ PRELOAD ============ */
.preload{ position:fixed; inset:0; z-index:300; background:var(--fundo); display:none; place-items:center; text-align:center; }
.js .preload{ display:grid; animation:preload-seguranca 0s linear 7s forwards; }
.preload.saindo{ opacity:0; transform:translateY(-12px); transition:opacity .8s var(--ease), transform .8s var(--ease); pointer-events:none; }
.preload-selo{ width:112px; height:112px; margin:0 auto 24px; color:var(--primaria-escura); animation:selo-in .9s var(--ease) both; }
.preload-selo svg{ width:100%; height:100%; display:block; }
.preload-arco{ fill:none; stroke:var(--acento); stroke-width:1.6; stroke-dasharray:150; stroke-dashoffset:150; animation:desenha 1.4s var(--ease) .1s forwards; }
.preload-nome{ font-family:var(--serif); font-weight:500; font-size:clamp(1.45rem,1.2rem + 1.2vw,2rem); color:var(--primaria-escura); opacity:0; animation:fade .8s var(--ease) .45s forwards; }
.preload-sub{ font-size:.72rem; font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--acento-texto); opacity:0; animation:fade .8s var(--ease) .7s forwards; margin-top:4px; }
html.carregando{ overflow:hidden; }
@keyframes desenha{ to{ stroke-dashoffset:0; } }
@keyframes selo-in{ from{ opacity:0; transform:scale(.92); } to{ opacity:1; transform:none; } }
@keyframes fade{ to{ opacity:1; } }
@keyframes preload-seguranca{ to{ opacity:0; visibility:hidden; pointer-events:none; } }

/* ============ LOGO ============ */
.lm-arco{ fill:none; stroke:var(--acento); stroke-width:1.6; }
.lm-letras{ fill:currentColor; stroke:none; font-family:var(--serif); font-style:italic; font-weight:500; font-size:36px; }
.lm-brilho{ fill:var(--acento); stroke:none; }

/* ============ HEADER ============ */
.topo{ position:fixed; inset:0 0 auto 0; z-index:100; height:var(--nav-h); display:flex; align-items:center; transition:background .4s var(--ease), box-shadow .4s var(--ease), backdrop-filter .4s; }
.topo.is-solid{ background:rgba(250,247,242,.9); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); box-shadow:0 1px 0 var(--linha); }
.topo-in{ display:flex; align-items:center; justify-content:space-between; gap:24px; }
.marca{ display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--primaria-escura); }
.marca svg{ width:48px; height:48px; flex:none; }
.marca-nome{ font-family:var(--serif); font-size:1.5rem; line-height:.95; font-weight:500; }
.marca-nome small{ display:block; margin-top:4px; font-family:var(--sans); font-size:.6rem; letter-spacing:.3em; text-transform:uppercase; color:var(--acento-texto); font-weight:500; }
.nav{ display:none; align-items:center; gap:32px; }
.nav a{ font-size:var(--fs-sm); font-weight:500; text-decoration:none; padding:8px 0; background:linear-gradient(var(--acento),var(--acento)) left bottom / 0 1.5px no-repeat; transition:background-size .35s var(--ease), color .3s; }
.nav a:hover, .nav a[aria-current="true"]{ background-size:100% 1.5px; }
.topo .btn-sm{ display:none; }
.burger{ width:48px; height:48px; border-radius:50%; border:1px solid var(--linha); background:transparent; cursor:pointer; display:grid; place-items:center; position:relative; z-index:120; }
.burger span{ position:absolute; width:20px; height:1.5px; background:var(--primaria-escura); transition:transform .4s var(--ease), background .3s; }
.burger span:nth-child(1){ transform:translateY(-4px); }
.burger span:nth-child(2){ transform:translateY(4px); }
.menu-aberto .burger span{ background:var(--texto-claro); }
.menu-aberto .burger{ border-color:rgba(250,247,242,.3); }
.menu-aberto .burger span:nth-child(1){ transform:rotate(45deg); }
.menu-aberto .burger span:nth-child(2){ transform:rotate(-45deg); }
.menu-mobile{ position:fixed; inset:0; z-index:110; background:var(--primaria-escura); color:var(--texto-claro); display:flex; flex-direction:column; justify-content:center; padding:calc(var(--nav-h) + 16px) var(--gutter) 40px; clip-path:circle(0 at calc(100% - 44px) 38px); visibility:hidden; transition:clip-path .65s var(--ease), visibility 0s .65s; }
.menu-aberto .menu-mobile{ clip-path:circle(150% at calc(100% - 44px) 38px); visibility:visible; transition:clip-path .65s var(--ease), visibility 0s; }
.menu-mobile a.item{ font-family:var(--serif); font-size:clamp(1.9rem,7vw,2.8rem); line-height:1.3; text-decoration:none; padding:4px 0; }
.menu-mobile .btn{ margin-top:32px; align-self:flex-start; }
.menu-aberto{ overflow:hidden; }
.menu-aberto .marca{ color:var(--texto-claro); }
.menu-aberto .marca-nome small{ color:var(--acento); }
.topo .marca{ position:relative; z-index:120; }

/* ============ HERO ============ */
.hero{ padding-top:calc(var(--nav-h) + 24px); padding-bottom:clamp(5rem,10vw,8rem); overflow:hidden; position:relative; }
.hero-grid{ display:grid; grid-template-columns:minmax(0,1fr); gap:40px; align-items:center; }
.hero-visual{ order:-1; }
.hero-copy > * + *{ margin-top:24px; }
.pilula{ display:inline-flex; align-items:center; gap:12px; padding:6px 16px 6px 6px; background:var(--superficie); border-radius:999px; box-shadow:var(--sombra-chip); }
.pilula img{ width:32px; height:32px; border-radius:50%; object-fit:cover; }
.pilula b{ font-size:.8125rem; font-weight:600; }
.pilula span{ font-size:.75rem; color:var(--texto-suave); }
.hero-nome{ font-size:.8125rem; font-weight:500; letter-spacing:.3em; text-transform:uppercase; color:var(--acento-texto); }
h1{ font-size:clamp(2.85rem,1.6rem + 4.4vw,5.1rem); line-height:1.0; letter-spacing:-.025em; max-width:14ch; }
.hero .lead{ max-width:40ch; }
.hero-local{ font-size:var(--fs-sm); color:var(--texto-suave); display:flex; align-items:center; gap:8px; }
.hero-local svg{ width:18px; height:18px; color:var(--acento); flex:none; }

.retrato{ position:relative; width:min(78vw,380px); margin:0 auto; padding:0 24px 24px 0; }
.retrato::before{ content:""; position:absolute; right:0; bottom:0; width:62%; height:58%; background:var(--primaria); border-radius:var(--r-lg); }
.retrato-foto{ position:relative; aspect-ratio:4/5; border-radius:var(--arco); overflow:hidden; box-shadow:var(--sombra-midia); background:var(--fundo-alt); }
.retrato-foto img{ width:100%; height:100%; object-fit:cover; object-position:50% 22%; }
.chip{ position:absolute; z-index:2; display:flex; align-items:center; gap:12px; background:var(--superficie); border-radius:var(--r-md); padding:10px 16px; box-shadow:var(--sombra-chip); }
.prova-nota{ display:flex; align-items:center; gap:16px; }
.prova-nota small{ display:block; font-size:.875rem; line-height:1.3; color:var(--texto-suave); margin-top:2px; }
.nota-num{ font-family:var(--serif); font-size:2rem; line-height:1; font-weight:600; color:var(--primaria-escura); font-variant-numeric:lining-nums; }
.estrelas{ display:inline-flex; gap:3px; color:var(--acento); }
.estrelas svg{ width:16px; height:16px; }
.chip small{ display:block; font-size:.75rem; line-height:1.3; color:var(--texto-suave); margin-top:2px; }
.selo{ position:absolute; z-index:3; right:-4px; bottom:-4px; width:76px; height:76px; border-radius:50%; background:var(--primaria-escura); color:var(--texto-claro); display:grid; place-items:center; box-shadow:0 0 0 5px var(--fundo), var(--sombra-chip); }
.selo svg{ width:56px; height:56px; }
.entalhe{ position:absolute; left:50%; bottom:0; transform:translateX(-50%); width:120px; height:24px; color:var(--primaria-escura); }
.rola{ position:absolute; left:50%; bottom:-1px; transform:translateX(-50%); width:48px; height:24px; }
.rola svg{ width:100%; height:100%; display:block; }

/* hero: entrada orquestrada (única sequência) */
.js .seq{ opacity:0; transform:translateY(22px); animation:sobe .9s var(--ease) forwards; animation-delay:calc(var(--i,0) * 130ms + 150ms); }
.js .hero-visual{ opacity:0; transform:translateY(40px); animation:sobe 1.1s var(--ease) .2s forwards; }
.carregando .seq, .carregando .hero-visual{ animation-play-state:paused; }
@keyframes sobe{ to{ opacity:1; transform:none; } }

/* ============ MARQUEE DUPLO CRUZADO (M5) ============ */
.cruzado{ position:relative; height:184px; overflow:hidden; background:var(--fundo); }
.faixa{ position:absolute; left:-5%; width:110%; padding:14px 0; overflow:hidden; }
.faixa-1{ top:20px; background:var(--primaria-escura); color:var(--texto-claro); transform:rotate(-2deg); }
.faixa-2{ top:84px; background:var(--acento-texto); color:var(--texto-claro); transform:rotate(2deg); }
.trilho{ display:flex; width:max-content; animation:letreiro 46s linear infinite; }
.faixa-2 .trilho{ animation-direction:reverse; animation-duration:52s; }
.faixa:hover .trilho{ animation-play-state:paused; }
.grupo{ display:flex; align-items:center; gap:32px; padding-right:32px; flex:none; }
.grupo li{ font-family:var(--serif); font-size:clamp(1.25rem,2.2vw,1.65rem); font-weight:500; white-space:nowrap; font-style:italic; }
.grupo .sep svg{ width:14px; height:14px; color:var(--acento); display:block; }
.faixa-2 .sep svg{ color:var(--fundo-alt); }
@keyframes letreiro{ to{ transform:translateX(-50%); } }

/* ============ PARA QUEM ============ */
.duas{ display:grid; grid-template-columns:minmax(0,1fr); gap:56px; align-items:center; }
.foto-arco{ border-radius:var(--arco); overflow:hidden; box-shadow:var(--sombra-midia); aspect-ratio:4/5; max-width:440px; width:100%; }
.foto-arco img{ width:100%; height:100%; object-fit:cover; }
.nuvem{ display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
.nuvem li{ display:flex; align-items:center; gap:10px; padding:10px 20px; background:rgba(74,83,64,.08); border-radius:999px; font-size:var(--fs-sm); line-height:1.4; }
.nuvem li svg{ width:16px; height:16px; color:var(--acento-texto); flex:none; stroke-width:2; }
.nuvem-nota{ margin-top:24px; font-size:var(--fs-sm); color:var(--texto-suave); max-width:46ch; }

/* ============ ÁREAS ============ */
.grade-cards{ display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
.card{ background:var(--superficie); border:1px solid var(--linha); border-radius:var(--r-lg); padding:32px; display:flex; flex-direction:column; gap:16px; transition:transform .5s var(--ease), box-shadow .5s var(--ease); }
.card:hover{ transform:translateY(-4px); box-shadow:var(--sombra-card-h); }
.card-txt{ display:flex; flex-direction:column; gap:16px; }
.card-foto{ border-radius:var(--r-md); overflow:hidden; aspect-ratio:4/3; margin:-8px -8px 8px; }
.card-foto img{ width:100%; height:100%; object-fit:cover; }
@media (min-width:768px){ .card-largo{ grid-column:1 / -1; flex-direction:row; align-items:center; gap:40px; } .card-largo .card-foto{ flex:0 0 min(38%,360px); aspect-ratio:4/5; margin:0; } .card-largo .card-txt{ display:flex; flex-direction:column; gap:16px; } }
.galeria-areas{ display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin-top:clamp(2rem,4vw,3rem); }
.galeria-areas::-webkit-scrollbar{ display:none; }
.galeria-areas figure{ margin:0; flex:0 0 min(62%,240px); aspect-ratio:4/5; border-radius:var(--r-md); overflow:hidden; scroll-snap-align:start; }
.galeria-areas img{ width:100%; height:100%; object-fit:cover; }
@media (min-width:1024px){ .galeria-areas{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:visible; } .galeria-areas figure{ flex:none; } }
.card .ico{ width:56px; height:56px; border-radius:50%; background:var(--acento-texto); color:var(--texto-claro); display:grid; place-items:center; }
.card .ico svg{ width:26px; height:26px; }
.card h3{ font-size:1.75rem; line-height:1.1; }
.card p{ font-size:var(--fs-sm); color:var(--texto-suave); line-height:1.65; }

/* ============ SOBRE (M13) ============ */
.sobre{ padding-block:0 var(--section-y); }
.banda{ background:var(--primaria); color:var(--texto-claro); padding-block:clamp(4.5rem,9vw,7rem) calc(var(--section-y) + 40px); position:relative; overflow:hidden; }
.banda .fantasma{ position:absolute; left:-2vw; top:50%; transform:translateY(-58%); font-family:var(--serif); font-style:italic; font-size:clamp(9rem,26vw,22rem); line-height:1; color:var(--texto-claro); opacity:.07; pointer-events:none; white-space:nowrap; }
.banda h2{ color:var(--texto-claro); max-width:14ch; position:relative; }
.card-sobre{ position:relative; margin-top:-64px; background:var(--superficie); border-radius:var(--r-lg); padding:clamp(24px,4vw,48px); box-shadow:var(--sombra-midia); display:grid; grid-template-columns:minmax(0,1fr); gap:40px; align-items:center; }
.card-sobre .foto{ border-radius:var(--r-md); overflow:hidden; aspect-ratio:4/5; max-width:360px; width:100%; }
.card-sobre .foto img{ width:100%; height:100%; object-fit:cover; object-position:50% 20%; }
.card-sobre .txt > * + *{ margin-top:20px; }
.card-sobre h3{ max-width:20ch; }
.cita{ border-left:1px solid var(--acento); padding-left:20px; font-family:var(--serif); font-style:italic; font-size:1.375rem; line-height:1.4; color:var(--texto-suave); max-width:36ch; }
.cita cite{ display:block; margin-top:8px; font-family:var(--sans); font-style:normal; font-size:.8125rem; color:var(--texto-suave); }
.fatos{ display:flex; flex-wrap:wrap; gap:8px 24px; font-size:var(--fs-sm); font-weight:500; }
.fatos li{ display:flex; align-items:flex-start; gap:8px; }
.fatos svg{ width:10px; height:10px; color:var(--acento); flex:none; margin-top:.5em; }
.link-conversa{ display:inline-flex; align-items:center; gap:20px; text-decoration:none; margin-top:12px; }
.link-conversa .t{ position:relative; padding-bottom:8px; }
.link-conversa small{ display:block; font-size:.72rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--acento-texto); }
.link-conversa em{ font-family:var(--serif); font-weight:500; font-size:clamp(1.6rem,1.3rem + 1vw,2rem); color:var(--primaria-escura); }
.link-conversa .t::after{ content:""; position:absolute; left:0; bottom:0; height:1px; width:42%; background:var(--acento); transition:width .6s var(--ease); }
.link-conversa:hover .t::after{ width:100%; }
.link-conversa .seta{ width:52px; height:52px; border-radius:50%; border:1px solid rgba(184,115,63,.7); display:grid; place-items:center; transition:background .3s, color .3s; flex:none; }
.link-conversa .seta svg{ width:20px; height:20px; transition:transform .3s var(--ease); }
.link-conversa:hover .seta{ background:var(--primaria); color:var(--texto-claro); }
.link-conversa:hover .seta svg{ transform:translateX(3px); }

/* ============ COMO FUNCIONA (M11) ============ */
.passos{ counter-reset:p; }
.passo{ display:grid; grid-template-columns:44px minmax(0,1fr); gap:20px; padding-block:24px; border-top:1px solid var(--linha); }
.passo:last-child{ border-bottom:1px solid var(--linha); }
.passo .n{ width:44px; height:44px; border-radius:50%; background:var(--primaria); color:var(--texto-claro); display:grid; place-items:center; font-family:var(--serif); font-size:1.25rem; font-weight:500; transition:background .5s var(--ease); }
.passo:hover .n{ background:var(--acento-texto); }
.passo h3{ font-size:1.625rem; margin-bottom:4px; }
.passo p{ font-size:var(--fs-sm); color:var(--texto-suave); max-width:52ch; }
.passo details{ align-self:center; }
.passo summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; }
.passo summary::-webkit-details-marker{ display:none; }
.passo summary h3{ margin:0; }
.passo summary::after{ content:"+"; flex:none; font-family:var(--serif); font-size:1.75rem; line-height:1; color:var(--acento-texto); transition:transform .3s var(--ease); }
.passo details[open] summary::after{ transform:rotate(45deg); }
.passo details p{ margin-top:8px; }
.passo summary:focus-visible{ outline:2px solid var(--acento-texto); outline-offset:4px; }
.foto-ret{ border-radius:var(--r-lg); overflow:hidden; aspect-ratio:1/1; box-shadow:var(--sombra-midia); position:relative; }
.foto-ret img{ width:100%; height:100%; object-fit:cover; object-position:60% 50%; }

/* ============ MANIFESTO ============ */
.manifesto-grade{ display:grid; grid-template-columns:minmax(0,1fr); gap:48px; align-items:center; }
.trio{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; align-items:center; }
.trio figure{ margin:0; border-radius:999px; overflow:hidden; aspect-ratio:1/2.3; }
.trio figure:nth-child(2){ aspect-ratio:1/2.03; }
.trio img{ width:100%; height:100%; object-fit:cover; }
.galeria-grade{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.galeria-grade figure{ margin:0; border-radius:20px; overflow:hidden; aspect-ratio:4/5; }
.galeria-grade img{ width:100%; height:100%; object-fit:cover; }
@media (min-width:1024px){ .galeria-grade{ grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; } }
.trio figure:nth-child(1) img{ object-position:40% 30%; }
.trio figure:nth-child(2) img{ object-position:45% 20%; }
.trio figure:nth-child(3) img{ object-position:50% 25%; }
.trio-2{ margin-top:12px; }
.trio-2 figure, .trio-2 figure:nth-child(2){ aspect-ratio:1/1.6; }
.card-manifesto{ background:var(--superficie); border-radius:var(--r-lg); padding:clamp(28px,5vw,56px); box-shadow:var(--sombra-chip); }
.card-manifesto blockquote{ margin:0; font-family:var(--serif); font-weight:500; font-size:clamp(1.6rem,1.2rem + 1.6vw,2.4rem); line-height:1.2; color:var(--primaria-escura); letter-spacing:-.01em; text-wrap:balance; }
.card-manifesto .sub{ margin-top:24px; font-size:var(--fs-base); color:var(--texto-suave); max-width:46ch; }
.card-manifesto .fonte{ margin-top:20px; font-size:.8125rem; color:var(--texto-suave); display:flex; align-items:center; gap:8px; }
.card-manifesto .fonte i{ width:6px; height:6px; border-radius:50%; background:var(--destaque-rosa); display:inline-block; }

/* ============ DEPOIMENTOS (M17) ============ */
.depo-grade{ display:grid; grid-template-columns:minmax(0,1fr); gap:48px; align-items:center; }
.depo-esq > * + *{ margin-top:24px; }
.selo-google{ display:inline-flex; align-items:center; gap:16px; background:var(--superficie); border-radius:999px; padding:12px 24px 12px 12px; box-shadow:var(--sombra-chip); }
.selo-google .g{ width:44px; height:44px; border-radius:50%; background:var(--acento); color:var(--primaria-escura); display:grid; place-items:center; font-family:var(--serif); font-weight:600; font-size:1.5rem; box-shadow:0 0 0 4px rgba(184,115,63,.24); }
.selo-google .linha{ display:flex; align-items:center; gap:10px; }
.selo-google small{ display:block; font-size:.875rem; color:var(--texto-suave); line-height:1.3; }
.trilho-depo{ display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:8px var(--gutter) 24px 0; margin-right:calc(-1 * var(--gutter)); scroll-padding-inline:0; }
.trilho-depo::-webkit-scrollbar{ display:none; }
.depo{ flex:0 0 min(84%,340px); scroll-snap-align:start; background:var(--superficie); border:1px solid rgba(184,115,63,.45); border-radius:var(--r-md); padding:22px 24px 20px; display:flex; flex-direction:column; gap:16px; }
.depo-cab{ display:flex; align-items:center; gap:12px; }
.depo .av{ width:46px; height:46px; border-radius:50%; background:var(--acento); color:var(--primaria-escura); display:grid; place-items:center; font-family:var(--serif); font-weight:600; font-size:1.6rem; flex:none; }
.depo cite{ display:block; font-style:normal; font-weight:600; font-size:1.02rem; line-height:1.25; }
.depo .estrelas svg{ width:14px; height:14px; }
.depo .gg{ margin-left:auto; width:22px; height:22px; color:var(--acento); flex:none; }
.depo blockquote{ margin:0; font-size:1rem; line-height:1.6; display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
.depo.aberto blockquote{ display:block; }
.depo .mais{ align-self:flex-start; background:none; border:0; padding:0 0 2px; cursor:pointer; font-size:.875rem; font-weight:500; color:var(--acento-texto); border-bottom:1px solid var(--acento-texto); min-height:24px; }
.depo .mais[hidden]{ display:none; }
.depo-ctrl{ display:flex; align-items:center; gap:16px; margin-top:8px; }
.seta-btn{ width:48px; height:48px; border-radius:50%; border:1px solid var(--linha); background:transparent; cursor:pointer; display:grid; place-items:center; transition:background .3s, color .3s, border-color .3s; }
.seta-btn:hover{ background:var(--primaria); color:var(--texto-claro); border-color:var(--primaria); }
.seta-btn svg{ width:20px; height:20px; }
.dots{ display:flex; align-items:center; gap:8px; }
.dots button{ width:24px; height:24px; margin:-8px; padding:0; border:0; background:transparent; cursor:pointer; transition:width .4s var(--ease); position:relative; }
.dots button::before{ content:""; position:absolute; inset:8px; border-radius:999px; background:var(--linha); transition:background .3s; }
.dots button::after{ content:""; position:absolute; inset:-10px 2px; }
.dots button[aria-current="true"]{ width:42px; }
.dots button[aria-current="true"]::before{ background:var(--acento); }

/* ============ ESPAÇO (M15) ============ */
.espaco{ position:relative; color:var(--texto-claro); overflow:hidden; padding-block:var(--section-y); isolation:isolate; }
.espaco-bg{ position:absolute; inset:0; z-index:-2; }
.espaco-bg img{ width:100%; height:100%; object-fit:cover; object-position:50% 62%; }
.espaco::before{ content:""; position:absolute; inset:0; z-index:-1; background:rgba(47,54,39,.78); }
.espaco h2{ color:var(--texto-claro); max-width:16ch; }
.espaco .lead{ color:rgba(250,247,242,.82); margin-top:20px; }
.capsulas{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:clamp(2.5rem,5vw,4rem); align-items:end; max-width:760px; }
.capsulas figure{ margin:0; border-radius:999px; overflow:hidden; aspect-ratio:1/2; border:1px solid rgba(250,247,242,.3); }
.capsulas figure:nth-child(2){ aspect-ratio:1/1.76; }
.capsulas img{ width:100%; height:100%; object-fit:cover; }
.capsulas figure:nth-child(1) img{ object-position:55% 60%; }
.capsulas figure:nth-child(2) img{ object-position:50% 40%; }
.capsulas figure:nth-child(3) img{ object-position:50% 30%; }

/* ============ FAQ ============ */
.faq-grade{ display:grid; grid-template-columns:minmax(0,1fr); gap:48px; }
.faq-esq > * + *{ margin-top:24px; }
.faq-esq .foto-arco{ max-width:320px; }
@media (max-width:1023px){ .faq-esq .foto-arco{ display:none; } .faq-grade{ gap:32px; } }
.faq details{ border-top:1px solid var(--linha); }
.faq details:last-child{ border-bottom:1px solid var(--linha); }
.faq summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:24px 0; font-family:"Cormorant Garamond", Georgia, serif; font-weight:500; font-size:clamp(1.3rem,1.1rem + .8vw,1.75rem); line-height:1.2; color:var(--primaria-escura); min-height:44px; font-variant-numeric:lining-nums; }
.faq summary::-webkit-details-marker{ display:none; }
.faq .mais-ico{ width:40px; height:40px; flex:none; border-radius:50%; border:1px solid var(--linha); display:grid; place-items:center; transition:transform .45s var(--ease), background .3s, color .3s; }
.faq .mais-ico svg{ width:16px; height:16px; }
.faq details[open] .mais-ico{ transform:rotate(45deg); background:var(--primaria); color:var(--texto-claro); border-color:var(--primaria); }
.faq .resp{ padding:0 64px 24px 0; color:var(--texto-suave); max-width:60ch; font-size:var(--fs-base); }
.faq .resp a{ color:var(--acento-texto); font-weight:600; }

/* ============ CTA FINAL + RODAPÉ (M20) ============ */
.fechamento{ background:var(--primaria-escura); color:var(--texto-claro); }
.cta-final{ padding-block:var(--section-y) clamp(3rem,6vw,5rem); }
.cta-bloco{ display:grid; grid-template-columns:minmax(0,1fr); gap:40px; align-items:center; }
.cta-bloco h2{ color:var(--texto-claro); max-width:16ch; }
.cta-bloco .lead{ color:rgba(250,247,242,.78); margin-top:20px; }
.cta-bloco .acoes{ margin-top:36px; }
.cta-foto{ border-radius:var(--arco); overflow:hidden; aspect-ratio:4/5; max-width:380px; width:100%; justify-self:center; position:relative; }
.cta-foto img{ width:100%; height:100%; object-fit:cover; object-position:50% 20%; }
.rodape{ padding-block:clamp(2.5rem,5vw,4rem) 0; border-top:1px solid rgba(250,247,242,.14); }
.rodape-grade{ display:grid; grid-template-columns:minmax(0,1fr); gap:40px; }
.rodape h3{ font-size:1.5rem; line-height:inherit; letter-spacing:inherit; color:var(--texto-claro); margin-bottom:16px; }
.cartao-mapa{ background:var(--fundo); color:var(--texto); border-radius:var(--r-lg); padding:24px; }
.cartao-mapa address{ font-style:normal; font-size:var(--fs-sm); line-height:1.6; margin-bottom:16px; }
.cartao-mapa address b{ font-family:var(--serif); font-size:1.5rem; font-weight:500; display:block; color:var(--primaria-escura); margin-bottom:4px; }
.mapa{ position:relative; display:block; height:210px; border-radius:var(--r-md); overflow:hidden; border:1px solid var(--linha); background:var(--fundo-alt); }
.mapa iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; pointer-events:none; filter:grayscale(1) sepia(.35) saturate(.8) contrast(.92) brightness(1.04); opacity:.85; transition:opacity .3s; }
.mapa:hover iframe{ opacity:1; }
.mapa::after{ content:""; position:absolute; inset:0; background:rgba(241,227,208,.18); pointer-events:none; }
.pin{ position:absolute; left:50%; top:50%; z-index:2; width:50px; height:50px; transform:translate(-50%, calc(-100% - 8px)); transition:transform .4s var(--ease); filter:drop-shadow(0 8px 10px rgba(47,54,39,.35)); }
.mapa:hover .pin{ transform:translate(-50%, calc(-100% - 12px)); }
.pin .bolha{ width:50px; height:50px; border-radius:50%; background:var(--primaria-escura); color:var(--texto-claro); box-shadow:0 0 0 3px var(--fundo); display:grid; place-items:center; position:relative; z-index:1; }
.pin .bolha svg{ width:36px; height:36px; }
.pin::after{ content:""; position:absolute; left:50%; bottom:-5px; width:12px; height:12px; background:var(--primaria-escura); transform:translateX(-50%) rotate(45deg); }
.mapa .rotulo{ position:absolute; z-index:3; left:12px; bottom:12px; background:var(--fundo); border-radius:999px; padding:4px 12px; font-size:.75rem; font-weight:600; }
.contatos{ display:grid; gap:20px; }
.contato{ display:flex; gap:16px; align-items:flex-start; text-decoration:none; }
.contato .ci{ width:46px; height:46px; border-radius:50%; border:1px solid rgba(250,247,242,.3); display:grid; place-items:center; flex:none; color:var(--acento); }
.contato .ci svg{ width:20px; height:20px; }
.contato b{ display:block; font-family:var(--serif); font-size:1.25rem; font-weight:500; line-height:1.2; }
.contato span{ font-size:var(--fs-sm); color:rgba(250,247,242,.78); }
.horarios{ font-size:var(--fs-sm); color:rgba(250,247,242,.78); }
.horarios li{ display:flex; justify-content:space-between; gap:16px; padding:6px 0; border-bottom:1px solid rgba(250,247,242,.12); max-width:340px; }
.legal{ margin-top:clamp(2.5rem,5vw,4rem); background:var(--fundo); color:var(--texto-suave); padding-block:20px; font-size:.8125rem; }
.legal .wrap{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; }
.legal a{ color:var(--primaria-escura); font-weight:600; display:inline-block; padding-block:3px; margin-block:-3px; }

/* ============ WHATSAPP FLUTUANTE ============ */
.wa{ position:fixed; right:clamp(1rem,3vw,2rem); bottom:clamp(1rem,3vw,2rem); z-index:90; width:60px; height:60px; border-radius:50%; background:var(--whatsapp); color:var(--superficie); display:grid; place-items:center; box-shadow:0 14px 30px -10px rgba(47,54,39,.75); opacity:0; transform:scale(.8); pointer-events:none; transition:opacity .4s ease-out, transform .4s var(--ease); }
.wa.visivel{ opacity:1; transform:none; pointer-events:auto; }
.wa svg{ width:30px; height:30px; position:relative; z-index:1; }
.wa::before,.wa::after{ content:""; position:absolute; inset:0; border-radius:50%; border:2px solid var(--whatsapp); opacity:0; animation:pulso 2.5s ease-out infinite; }
.wa::after{ animation-delay:1.3s; }
@keyframes pulso{ 0%{ transform:scale(1); opacity:.7; } 100%{ transform:scale(1.65); opacity:0; } }

/* ============ REVEAL ============ */
.js .reveal{ opacity:0; transform:translateY(24px); transition:opacity .9s var(--ease), transform .9s var(--ease); transition-delay:calc(var(--i,0) * 100ms); }
.js .reveal.is-in{ opacity:1; transform:none; }

/* ============ RESPONSIVO ============ */
@media (max-width:559px){
  .acoes{ flex-direction:column; align-items:stretch; max-width:380px; }
  .acoes .btn{ width:100%; }
  .acoes .link-texto{ text-align:center; justify-content:center; }
  .secao-cta .btn{ width:100%; max-width:380px; }
  h1{ font-size:clamp(2.3rem,11vw,3rem); }
  .cruzado{ height:176px; }
  .hero{ padding-top:calc(var(--nav-h) + 8px); padding-bottom:2.5rem; }
  .hero-grid{ gap:28px; }
  .hero-copy > * + *{ margin-top:20px; }
  .retrato{ width:min(56vw,252px); padding:0 20px 20px 0; }
  .hero-grid{ gap:20px; }
  .hero-copy > * + *{ margin-top:16px; }
}
@media (min-width:640px){
  .grade-cards{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .retrato{ width:min(58vw,420px); }
}
@media (min-width:768px){
  .depo{ flex-basis:340px; }
  .card-sobre{ margin-top:-96px; }
}
@media (min-width:900px){
  .cruzado{ height:212px; }
  .faixa-1{ transform:rotate(-1.2deg); z-index:1; }
  .faixa-2{ top:104px; transform:rotate(1.2deg); }
  .duas{ grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:88px; }
  .duas.inv{ grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); }
  .duas.inv > :first-child{ order:2; }
  .card-sobre{ grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:64px; align-items:stretch; }
  .card-sobre .foto{ aspect-ratio:auto; max-width:none; min-height:480px; height:100%; }
  .manifesto-grade{ grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:80px; }
  .rodape-grade{ grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:80px; }
  .cta-bloco{ grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:80px; }
}
@media (min-width:1024px){
  .nav{ display:flex; }
  .topo .btn-sm{ display:inline-flex; }
  .burger, .menu-mobile{ display:none; }
  .hero{ min-height:min(100svh,940px); display:flex; align-items:center; }
  .hero > .wrap{ width:min(100% - 2 * var(--gutter), var(--maxw)); }
  .hero-grid{ grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:64px; }
  .hero-visual{ order:0; }
  .retrato{ width:min(100%,460px); margin-left:auto; padding:0 32px 32px 0; }
  .grade-cards{ grid-template-columns:repeat(3,minmax(0,1fr)); }
  .depo-grade{ grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:80px; }
  .faq-grade{ grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:96px; }
  .faq-esq{ position:sticky; top:calc(var(--nav-h) + 32px); align-self:start; }
  .passos-grade{ display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:96px; align-items:center; }
}
@media (min-width:1200px){
  .retrato::before{ width:56%; }
}
@media (max-width:1023px){
  .passos-grade .foto-ret{ max-width:420px; margin-bottom:48px; }
}

/* revisão visual: ritmo da galeria do manifesto e foto de "Como funciona" alinhada ao topo */
.manifesto-grade{ gap:12px; }
.manifesto-grade .card-manifesto{ margin-bottom:36px; }
@media (min-width:900px){
  .manifesto-grade{ gap:24px 80px; align-items:start; }
  .manifesto-grade .card-manifesto{ margin-bottom:0; align-self:center; }
  .manifesto-grade .trio{ width:100%; max-width:520px; }
  .manifesto-grade .card-manifesto + .trio{ align-self:center; }
}
@media (min-width:1024px){
  .passos-grade{ align-items:start; }
  .passos-grade .foto-ret{ position:sticky; top:calc(var(--nav-h) + 32px); }
}

/* menu com 8 itens: no notebook estreito fica no botão de menu; sem quebra de linha nos itens */
.nav a{ white-space:nowrap; }
@media (min-width:1024px) and (max-width:1199px){
  .nav{ display:none; }
  .burger{ display:grid; }
  .menu-mobile{ display:flex; }
  .topo .btn-sm{ margin-left:auto; }
}
@media (min-width:1200px) and (max-width:1359px){
  .nav{ gap:18px; }
  .marca-nome{ white-space:nowrap; }
  .nav a{ font-size:.875rem; }
}

/* ============ MOVIMENTO REDUZIDO ============ */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; transition-delay:0ms !important; }
  .js .reveal, .js .seq, .js .hero-visual{ opacity:1; transform:none; }
  .preload-arco{ stroke-dashoffset:0; }
  .preload-nome,.preload-sub{ opacity:1; }
  .trilho{ animation:none; flex-wrap:wrap; width:auto; }
  .wa::before,.wa::after{ display:none; }
}

/* ============ PÁGINA: PROGRAMAS DE ACOMPANHAMENTO ============ */
.intro{ padding-top:calc(var(--nav-h) + clamp(2rem,6vw,4.5rem)); padding-bottom:clamp(3rem,6vw,5rem); }
.intro-grade{ display:grid; grid-template-columns:minmax(0,1fr); gap:40px; align-items:center; }
.intro-copy > * + *{ margin-top:24px; }
.intro h1{ max-width:13ch; }
.intro .lead{ max-width:44ch; }
.nav a[aria-current="page"]{ background-size:100% 1.5px; }
.voltar{ display:inline-flex; align-items:center; gap:8px; min-height:44px; font-size:var(--fs-sm); font-weight:500; color:var(--texto-suave); text-decoration:none; }
.voltar svg{ width:18px; height:18px; transform:rotate(180deg); color:var(--acento); }
.voltar:hover{ color:var(--primaria-escura); }
.intro-foto{ width:min(70vw,320px); margin-inline:auto; }

.planos{ display:grid; grid-template-columns:minmax(0,1fr); gap:24px; align-items:stretch; }
.plano{ position:relative; display:flex; flex-direction:column; gap:24px; border-radius:var(--r-lg); padding:clamp(28px,4vw,44px); background:var(--superficie); border:1px solid var(--linha); }
.plano-cab small{ display:block; font-size:.75rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--acento-texto); margin-bottom:10px; }
.plano h2{ font-size:clamp(2rem,1.6rem + 1.6vw,2.75rem); max-width:none; }
.plano-sub{ margin-top:12px; font-size:var(--fs-sm); color:var(--texto-suave); max-width:40ch; }
.inclui-rot{ font-size:.8125rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--primaria-escura); }
.inclui{ display:grid; gap:14px; }
.inclui li{ display:grid; grid-template-columns:24px minmax(0,1fr); gap:12px; align-items:start; font-size:var(--fs-base); line-height:1.5; }
.inclui .ok{ width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:rgba(74,83,64,.1); color:var(--primaria); margin-top:1px; }
.inclui .ok svg{ width:13px; height:13px; }
.plano .btn{ margin-top:auto; align-self:flex-start; }
.plano-destaque{ background:var(--primaria-escura); color:var(--texto-claro); border-color:var(--primaria-escura); box-shadow:var(--sombra-midia); }
.plano-destaque h2, .plano-destaque .inclui-rot{ color:var(--texto-claro); }
.plano-destaque .plano-cab small{ color:var(--acento); }
.plano-destaque .plano-sub{ color:rgba(250,247,242,.78); }
.plano-destaque .inclui .ok{ background:var(--acento); color:var(--primaria-escura); }
.plano-destaque .base{ padding:14px 18px; border-radius:var(--r-sm); background:rgba(250,247,242,.08); font-size:var(--fs-sm); color:rgba(250,247,242,.85); }
.selo-rec{ position:absolute; top:-14px; right:clamp(20px,4vw,36px); display:inline-flex; align-items:center; gap:8px; padding:6px 14px; border-radius:999px; background:var(--acento); color:var(--primaria-escura); font-size:.75rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; box-shadow:var(--sombra-chip); }
.selo-rec svg{ width:10px; height:10px; }
.valores{ margin-top:28px; display:flex; align-items:center; gap:10px; font-size:var(--fs-sm); color:var(--texto-suave); }
.valores svg{ width:18px; height:18px; color:var(--acento); flex:none; }

.indicacao{ display:grid; grid-template-columns:minmax(0,1fr); gap:40px; align-items:center; }
.indicacao .foto-arco{ max-width:260px; margin-inline:auto; }
@media (min-width:900px){ .indicacao .foto-arco{ max-width:340px; } }
.indicacao .foto-arco img{ object-position:55% 40%; }

@media (max-width:559px){
  .plano .btn{ width:100%; }
  .intro{ padding-top:calc(var(--nav-h) + 16px); }
}
@media (min-width:900px){
  .planos{ grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); gap:28px; }
  .intro-grade{ grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:72px; }
  .intro-foto{ width:100%; max-width:380px; margin-right:0; }
  .indicacao{ grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:80px; }
}
