/* ═══════════════════════════════════════════════ AMPARA
   Verde profundo #2A3D36 · dourado #A5803F (decoração) · dourado de texto #7D5F2B (5:1 sobre creme)
   dourado claro #D8B878 (sobre verde, 6:1) · creme #F8F5EF · areia #EFEBE3 · rosado #F2E6DF
   Newsreader nos títulos (a Cormorant desenha o circunflexo solto), Jost no texto. */
:root{
  --verde:#2a3d36; --verde2:#34493f; --verde3:#41584d; --verde-n:#1f2e28;
  --ouro:#a5803f; --ouro-t:#7d5f2b; --ouro-cl:#d8b878;
  --creme:#f8f5ef; --areia:#efebe3; --nude:#e9dfd2; --rosa:#f2e6df; --rosa2:#ead7cc;
  --tinta:#26312c; --txt2:#5d635d; --linha:#e2dbcf; --wa:#25d366;
  --navh:86px;
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Jost',system-ui,-apple-system,'Segoe UI',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);font-weight:400;font-size:17px;line-height:1.7;color:var(--tinta);background:var(--creme);
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
/* grão sutil de papel, sem imagem externa */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:200;opacity:.045;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-size-adjust:ex-height .41;font-weight:400;line-height:1.05;letter-spacing:-.012em;color:var(--verde)}
h1,h2{font-weight:300;text-wrap:balance}
h1 em,h2 em{font-style:italic;font-weight:300;color:var(--ouro-t)}
p{text-wrap:pretty}
.wrap{max-width:1400px;margin:0 auto;padding:0 5%}
.estreito{max-width:860px}
.centro{text-align:center}
.centro-flex{justify-content:center}
section[id]{scroll-margin-top:100px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.kick{display:inline-block;font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--ouro-t)}
.kick.claro{color:var(--ouro-cl)}

/* ═══ BOTÕES: chapados, canto 10px, sem sombra, sem gradiente */
.bt{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:10px;padding:16px 28px;
  font-family:var(--sans);font-size:.86rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;
  white-space:nowrap;border:1.5px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.bt .i-wa{width:18px;height:18px;flex:none}
.bt-verde,.bt-verde-sem{background:var(--verde);color:#fff}
.bt-verde:hover,.bt-verde-sem:hover{background:var(--verde3)}
.bt-linha{background:transparent;color:var(--verde);border-color:rgba(42,61,54,.32)}
.bt-linha:hover{border-color:var(--verde);background:rgba(42,61,54,.04)}
.bt-creme{background:var(--creme);color:var(--verde)}
.bt-creme:hover{background:#fff}
.bt-creme-linha{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.bt-creme-linha:hover{border-color:#fff}
.bt-cheio{width:100%}
.link-seta{display:inline-block;margin-top:34px;color:var(--verde);font-weight:500;text-decoration:none;border-bottom:1px solid var(--ouro);padding-bottom:3px}
.link-seta::after{content:" \2192";color:var(--ouro-t)}
.link-seta:hover{color:var(--ouro-t)}

/* ═══ LOTUS (marca) */
.lotus{width:100%;height:100%;display:block;color:var(--ouro)}

/* ═══ MENU */
.nav{position:sticky;top:0;z-index:90;background:rgba(248,245,239,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid transparent;transition:border-color .25s,background .25s}
.nav.on{border-color:var(--linha);background:rgba(248,245,239,.96)}
.nav-in{max-width:1400px;margin:0 auto;padding:10px 5%;min-height:var(--navh);display:flex;align-items:center;gap:34px}
.logo{display:flex;align-items:center;gap:12px;height:66px;text-decoration:none;flex:none}
.logo .lotus{width:46px;height:38px}
.lw{display:flex;flex-direction:column;line-height:1}
.lw b{font-family:var(--serif);font-size-adjust:ex-height .41;font-weight:400;font-size:1.86rem;letter-spacing:.2em;color:var(--verde)}
.lw small{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--txt2);margin-top:6px}
.links{display:flex;gap:30px;margin-left:auto}
.links a{text-decoration:none;font-size:.8rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:#4b524c;padding:8px 0;position:relative}
.links a::after{content:"";position:absolute;left:0;right:100%;bottom:2px;height:1px;background:var(--ouro);transition:right .25s}
.links a:hover,.links a.on{color:var(--verde)}
.links a:hover::after,.links a.on::after{right:0}
.nav-bt{padding:14px 22px;font-size:.78rem}
#ham{display:none;margin-left:auto;width:46px;height:46px;border:0;background:none;cursor:pointer;position:relative}
#ham span{position:absolute;left:10px;right:10px;height:1.5px;background:var(--verde);transition:transform .25s,top .25s}
#ham span:nth-child(1){top:18px} #ham span:nth-child(2){top:27px}
#ham.on span:nth-child(1){top:22px;transform:rotate(45deg)} #ham.on span:nth-child(2){top:22px;transform:rotate(-45deg)}
#mnav{display:none;border-top:1px solid var(--linha);background:var(--creme)}
#mnav.on{display:block}
#mnav .mi{display:grid;padding:8px 5% 24px}
#mnav a:not(.bt){text-decoration:none;font-size:.86rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:16px 0;border-bottom:1px solid var(--linha)}
#mnav .bt{margin-top:18px}
@media(max-width:1080px){ .links,.nav-bt{display:none} #ham{display:block} }

/* ═══ SEÇÕES */
.sec{padding:clamp(80px,11vh,130px) 0}
.creme{background:var(--creme)} .areia{background:var(--areia)} .verde{background:var(--verde);color:#e9eee9}
.verde h2{color:#fff} .verde h2 em{color:var(--ouro-cl)}
.sec h2{font-size:clamp(2.4rem,4.4vw,4.1rem)}
.sec-cab{max-width:760px;margin:0 auto 60px}
.sec-cab h2{margin:18px 0 18px}
.sec-cab p,.estreito p{color:var(--txt2);font-size:1.08rem}
.estreito h2{margin:20px 0 26px}
.sep-lotus{display:block;width:44px;height:36px;margin:44px auto 0}
.fade-cena{opacity:0}

/* ═══ TOPO */
.hero{position:relative;overflow:hidden;background:
  radial-gradient(1000px 700px at 82% 40%,var(--rosa) 0%,rgba(242,230,223,0) 70%),
  linear-gradient(180deg,var(--creme),#f6f0e8)}
.hero-fundo{position:absolute;inset:0;pointer-events:none}
.bola{position:absolute;border-radius:50%;filter:blur(2px)}
.hero .b1{width:min(760px,62vw);aspect-ratio:1;right:-6%;top:50%;transform:translateY(-46%);
  background:radial-gradient(circle at 40% 35%,#f6ebe4 0%,var(--rosa2) 58%,#e2cdbf 100%)}
.hero .b2{width:220px;aspect-ratio:1;left:40%;bottom:-90px;background:radial-gradient(circle,rgba(216,184,120,.28),rgba(216,184,120,0) 70%)}
.arcos{position:absolute;width:min(980px,80vw);right:-14%;top:50%;transform:translateY(-50%)}
.arco{stroke:var(--ouro);stroke-width:.8;opacity:.55;stroke-dasharray:2600;stroke-dashoffset:2600;animation:traca 3.2s .3s cubic-bezier(.6,0,.2,1) forwards}
.arco.a2{opacity:.3;animation-delay:.7s}
@keyframes traca{to{stroke-dashoffset:0}}
.hero-grid{position:relative;max-width:1400px;margin:0 auto;padding:0 5%;display:grid;grid-template-columns:1.02fr .98fr;gap:30px;
  align-items:end;min-height:min(calc(100svh - var(--navh)),820px)}
.hero-txt{align-self:center;padding:60px 0 80px;max-width:600px}
.hero-lotus{display:block;width:58px;height:48px;margin:26px 0 20px}
.hero-lotus .d{stroke-dasharray:160;stroke-dashoffset:160;animation:traca 2.4s .5s ease forwards}
.hero h1{font-size:clamp(3rem,5.4vw,5.4rem);line-height:1;margin-bottom:28px}
.hero .lead{font-size:1.12rem;color:var(--txt2);max-width:46ch;font-weight:300}
.acts{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}
.assina{margin-top:36px;padding-top:22px;border-top:1px solid var(--linha);font-size:.86rem;color:var(--txt2);max-width:46ch}
.hero-foto{position:relative;align-self:end;display:flex;justify-content:center;height:100%;min-height:600px}
.hero-foto picture{display:block;position:absolute;left:0;right:0;bottom:0;height:100%}
.hero-foto img{position:absolute;bottom:0;left:50%;transform:translateX(-50%);height:96%;width:auto;max-width:none;object-fit:contain;
  filter:drop-shadow(0 30px 40px rgba(42,61,54,.16));animation:sobe 1.4s .2s cubic-bezier(.2,.7,.2,1) both}
@keyframes sobe{from{opacity:0;transform:translate(-50%,40px)}to{opacity:1;transform:translate(-50%,0)}}
.flut{position:absolute;z-index:2;background:rgba(255,255,255,.78);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(255,255,255,.9);border-radius:16px;padding:14px 18px;box-shadow:0 20px 40px -24px rgba(42,61,54,.35);
  animation:boia 7s ease-in-out infinite}
.flut b{display:block;font-family:var(--serif);font-size-adjust:ex-height .41;font-size:1.32rem;font-weight:400;color:var(--verde);line-height:1.1}
.flut span{display:block;font-size:.78rem;color:var(--txt2);letter-spacing:.02em}
.flut.f1{left:2%;top:34%}
.flut.f2{right:0;bottom:16%;max-width:250px;animation-delay:-3.5s}
@keyframes boia{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}

/* ═══ QUATRO OLHARES */
.olhar-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,96px);align-items:center}
.olhar-foto{position:relative;border-radius:200px 200px 18px 18px;overflow:hidden;aspect-ratio:3/4;margin:0}
.olhar-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.olhar-foto figcaption{position:absolute;left:18px;right:18px;bottom:18px;background:rgba(248,245,239,.92);border-radius:12px;
  padding:14px 16px;font-family:var(--serif);font-size-adjust:ex-height .41;font-style:italic;font-size:1.12rem;line-height:1.3;color:var(--verde)}
.olhar-grid h2{margin:18px 0 16px}
.sub{color:var(--txt2);max-width:52ch;font-size:1.06rem}
.olhares{display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:16px;margin-top:40px}
.olhar{background:#fffdf9;border:1px solid var(--linha);border-radius:16px;padding:28px 26px;transition:transform .3s,border-color .3s}
.olhar:hover{transform:translateY(-4px);border-color:var(--ouro)}
.olhar .n,.passo .n,.area .n{display:block;font-family:var(--serif);font-size-adjust:ex-height .41;font-size:1.5rem;color:var(--ouro-t);margin-bottom:16px}
.olhar h3{font-size:1.7rem;margin-bottom:10px}
.olhar p{font-size:.95rem;color:var(--txt2);line-height:1.65}

/* ═══ FAIXA VERDE COM LETREIRO */
.faixa{background:var(--verde);color:#fff;padding:90px 0 0;text-align:center;overflow:hidden}
.faixa-txt{padding:0 5%}
.faixa-txt p{font-family:var(--serif);font-size-adjust:ex-height .41;font-size:clamp(1.8rem,3.2vw,2.9rem);line-height:1.2;color:#f3efe6}
.faixa-txt em{color:var(--ouro-cl)}
.letreiro{margin-top:70px;border-top:1px solid rgba(216,184,120,.25);padding:24px 0;overflow:hidden;white-space:nowrap}
.trilho{display:inline-flex;align-items:center;gap:34px;animation:corre 40s linear infinite}
.trilho span{font-family:var(--serif);font-size-adjust:ex-height .41;font-style:italic;font-size:1.6rem;color:rgba(243,239,230,.82)}
.trilho i{width:6px;height:6px;border-radius:50%;background:var(--ouro-cl);flex:none}
@keyframes corre{to{transform:translateX(-50%)}}

/* ═══ PROGRAMAS */
.progs{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch}
.prog{background:#fffdf9;border:1px solid var(--linha);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;
  transition:transform .35s,box-shadow .35s}
.prog:hover{transform:translateY(-6px);box-shadow:0 40px 60px -40px rgba(42,61,54,.4)}
.prog header{padding:30px 30px 26px;background:linear-gradient(160deg,var(--areia),var(--nude));position:relative}
.prog.destaque{border-color:var(--ouro)}
.prog.destaque header{background:var(--verde)}
.prog.destaque h3,.prog.destaque .pk{color:#fff} .prog.destaque .dur{color:var(--ouro-cl)}
.pk{display:block;font-size:.7rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:var(--ouro-t)}
.selo{position:absolute;top:26px;right:24px;font-size:.66rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--verde);background:var(--ouro-cl);padding:6px 11px;border-radius:999px}
.prog h3{font-size:2.6rem;margin:10px 0 6px}
.dur{font-size:.78rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--txt2)}
.pc{padding:26px 30px 30px;display:flex;flex-direction:column;flex:1}
.res{color:var(--txt2);font-size:.98rem;margin-bottom:18px}
.prog ul{list-style:none;margin-bottom:22px}
.prog li,.det-lista li{display:flex;align-items:baseline;gap:16px;padding:13px 0;border-bottom:1px solid var(--linha);font-size:.95rem}
.prog li b,.det-lista li b{font-family:var(--serif);font-size-adjust:ex-height .41;font-weight:400;font-size:1.7rem;color:var(--ouro-t);min-width:1.1em;line-height:1}
.nt{font-size:.82rem;color:var(--txt2);margin:auto 0 22px;line-height:1.55}
.rodape-progs{max-width:860px;margin:34px auto 0;text-align:center;font-size:.82rem;color:var(--txt2)}

/* ═══ ALÉM DO PESO */
.peso{display:grid;grid-template-columns:1fr 1fr;background:var(--areia);min-height:min(100svh,860px)}
.peso-foto{position:relative;background:linear-gradient(180deg,#e7ded3,#ddd0c1);overflow:hidden}
.peso-bola{position:absolute;width:78%;aspect-ratio:1;left:11%;top:12%;border-radius:50%;
  background:radial-gradient(circle at 45% 40%,#f3e9e2,var(--rosa2) 65%,#d9c4b5)}
.peso-foto picture{display:block;position:absolute;inset:0}
.peso-foto img{position:absolute;bottom:0;left:50%;transform:translateX(-50%);height:94%;width:auto;max-width:none;
  filter:drop-shadow(0 30px 40px rgba(42,61,54,.18))}
.peso-txt{padding:clamp(70px,10vh,120px) clamp(36px,7vw,120px);display:flex;flex-direction:column;justify-content:center}
.peso-txt h2{font-size:clamp(2.4rem,4vw,3.8rem);margin:18px 0 26px}
.peso-txt p{color:var(--txt2);margin-bottom:16px;max-width:52ch}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.chips li{font-size:.74rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--verde);
  border:1px solid rgba(42,61,54,.25);border-radius:999px;padding:9px 16px;background:rgba(255,255,255,.4)}

/* ═══ A MÉDICA (resumo no início) */
.medica-teaser{position:relative;overflow:hidden}
.mt-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,100px);align-items:center}
.mt-foto{position:relative;aspect-ratio:4/5;border-radius:18px;overflow:hidden;margin:0}
.mt-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mt-txt h2,.mhero h1{font-size:clamp(2.8rem,5vw,4.8rem);margin:16px 0 10px}
.mt-esp{font-size:.8rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--ouro-cl)}
.mt-txt blockquote,.mhero blockquote{font-family:var(--serif);font-size-adjust:ex-height .41;font-style:italic;font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.25;
  color:#f3efe6;margin:30px 0 26px;padding-left:24px;border-left:1px solid var(--ouro-cl)}
.mt-txt p:not(.mt-esp){color:#cfd8d2;max-width:54ch;margin-bottom:34px}

/* ═══ JORNADA */
.passos{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3vw,48px)}
.passo{border-top:1px solid var(--verde);padding-top:28px}
.passo .n{font-size:2.6rem}
.passo h3{font-size:1.9rem;margin-bottom:12px}
.passo p{color:var(--txt2);font-size:.98rem}

/* ═══ DÚVIDAS */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,100px);align-items:start}
.faq-cab{position:sticky;top:120px}
.faq-cab h2{margin:16px 0 18px}
.faq-cab p{color:var(--txt2);margin-bottom:30px;max-width:40ch}
.faq details{border-top:1px solid #d7cfbf}
.faq details:last-child{border-bottom:1px solid #d7cfbf}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:26px 0;
  font-family:var(--serif);font-size-adjust:ex-height .41;font-size:1.5rem;font-weight:400;color:var(--verde);line-height:1.25}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;background:
  linear-gradient(var(--ouro),var(--ouro)) center/14px 1.5px no-repeat,linear-gradient(var(--ouro),var(--ouro)) center/1.5px 14px no-repeat;transition:transform .3s}
.faq details[open] summary::after{transform:rotate(45deg)}
.fr p{color:var(--txt2);padding:0 40px 28px 0;max-width:62ch}

/* ═══ FECHAMENTO */
.fim{position:relative;overflow:hidden;background:var(--verde);color:#fff;text-align:center;padding:clamp(100px,14vh,160px) 0}
.fim-arco{position:absolute;fill:none;stroke:rgba(216,184,120,.22);stroke-width:1}
.fim-arco.a1{width:520px;left:-260px;top:-200px} .fim-arco.a2{width:620px;right:-310px;bottom:-320px}
.fim-in{position:relative}
.fim-lotus{display:block;width:62px;height:52px;margin:0 auto 26px}
.fim-lotus .lotus{color:var(--ouro-cl)}
.fim h2{font-size:clamp(2.8rem,5.4vw,5rem);color:#fbf8f2;margin:18px 0 22px}
.fim h2 em{color:var(--ouro-cl)}
.fim p{color:#d2dbd5;max-width:56ch;margin:0 auto 38px;font-size:1.08rem}
.fim small{display:block;margin-top:20px;color:#a9b8af;font-size:.82rem}

/* ═══ RODAPÉ */
.rod{background:var(--creme);border-top:1px solid var(--linha);padding:70px 0 0}
.rod-in{max-width:1400px;margin:0 auto;padding:0 5%;display:grid;grid-template-columns:1.4fr 1fr 1.2fr .8fr;gap:40px}
.rod-marca p{color:var(--txt2);font-size:.92rem;margin-top:18px;max-width:30ch}
.rod h4{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ouro-t);margin-bottom:14px}
.rod-col p{font-size:.92rem;color:var(--txt2);line-height:1.9}
.rod-col a{text-decoration:none}
.rod-col a:hover{color:var(--verde);text-decoration:underline}
.rod-base{max-width:1400px;margin:56px auto 0;padding:22px 5%;border-top:1px solid var(--linha);display:flex;justify-content:space-between;gap:16px;
  flex-wrap:wrap;font-size:.8rem;color:var(--txt2)}

/* ═══ BALÃO FLUTUANTE */
.flu{position:fixed;right:22px;bottom:22px;z-index:95;width:60px;height:60px;border-radius:50%;background:var(--wa);color:#fff;
  display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s}
.flu.mostra{opacity:1;visibility:visible}
.flu .i-wa{width:30px;height:30px}
.flu:hover{background:#1fbe5c}

/* ═══ PÁGINA PROGRAMAS */
.ptopo{position:relative;overflow:hidden;padding:clamp(80px,12vh,140px) 0 clamp(70px,10vh,110px);
  background:radial-gradient(900px 600px at 50% 0%,var(--rosa) 0%,rgba(242,230,223,0) 70%),var(--creme)}
.ptopo-fundo{position:absolute;inset:0;pointer-events:none}
.ptopo .b1{width:520px;aspect-ratio:1;left:50%;top:-260px;transform:translateX(-50%);background:radial-gradient(circle,rgba(234,215,204,.8),rgba(234,215,204,0) 70%)}
.ptopo .arcos{right:auto;left:50%;top:-30%;transform:translateX(-50%);width:900px}
.ptopo-in{position:relative}
.ptopo h1{font-size:clamp(3rem,6vw,5.6rem);margin:20px 0 26px}
.ptopo .lead{color:var(--txt2);font-size:1.12rem;font-weight:300}
.guia-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(40px,6vw,96px);align-items:center}
.guia-cab h2{margin:16px 0 18px}
.guia-cab p{color:var(--txt2);max-width:44ch}
.guia{background:#fffdf9;border:1px solid var(--linha);border-radius:22px;padding:clamp(28px,4vw,48px);min-height:360px;
  box-shadow:0 40px 70px -50px rgba(42,61,54,.45)}
.g-num{font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--ouro-t)}
.guia h3{font-size:clamp(1.8rem,2.6vw,2.4rem);margin:14px 0 26px}
.g-ops{display:grid;gap:12px}
.g-op{text-align:left;font-family:var(--sans);font-size:1rem;color:var(--tinta);background:var(--creme);border:1.5px solid var(--linha);
  border-radius:12px;padding:18px 20px;cursor:pointer;transition:border-color .2s,background .2s}
.g-op:hover{border-color:var(--verde);background:#fff}
.g-volta{margin-top:20px;background:none;border:0;font-family:var(--sans);font-size:.9rem;color:var(--txt2);cursor:pointer;
  text-decoration:underline;text-underline-offset:4px}
.g-res p{color:var(--txt2);margin-bottom:28px}
.g-res h3{color:var(--verde)}
.g-res .bt{width:100%}
.tabela-wrap{overflow-x:auto;border:1px solid var(--linha);border-radius:20px;background:#fffdf9}
.tabela{width:100%;border-collapse:collapse;min-width:640px}
.tabela th,.tabela td{padding:20px 24px;border-bottom:1px solid var(--linha);text-align:center;font-size:.98rem}
.tabela tbody tr:last-child th,.tabela tbody tr:last-child td{border-bottom:0}
.tabela thead th{font-family:var(--serif);font-size-adjust:ex-height .41;font-size:1.7rem;font-weight:400;color:var(--verde);background:var(--areia)}
.tabela thead th.t-dest{background:var(--verde);color:#fff}
.tabela tbody th{text-align:left;font-weight:400;color:var(--txt2)}
.tabela td{font-family:var(--serif);font-size-adjust:ex-height .41;font-size:1.5rem;color:var(--ouro-t)}
.tabela td:nth-child(3){background:rgba(42,61,54,.035)}
.ok{font-family:var(--sans);font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--verde)}
.nao{font-family:var(--sans);font-size:.78rem;letter-spacing:.06em;color:#9a9c96}
.det{padding:clamp(70px,10vh,120px) 0;background:var(--creme)}
.det.inv{background:var(--areia)}
.det-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(40px,6vw,100px);align-items:center}
.det.inv .det-foto{order:2}
.det-foto{position:relative;aspect-ratio:4/5;border-radius:220px 220px 18px 18px;overflow:hidden;margin:0}
.det-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.det-txt h2{font-size:clamp(3rem,5vw,4.6rem);margin:14px 0 14px}
.det-res{font-family:var(--serif);font-size-adjust:ex-height .41;font-style:italic;font-size:1.6rem;line-height:1.3;color:var(--verde)}
.det-para{color:var(--txt2);margin:14px 0 24px}
.det-lista{list-style:none;margin-bottom:22px;max-width:560px}

/* ═══ PÁGINA A MÉDICA */
.mhero{display:grid;grid-template-columns:1fr 1fr;background:var(--verde-n);min-height:min(calc(100svh - var(--navh)),860px)}
.mhero-foto{position:relative;overflow:hidden;order:2}
.mhero-foto picture{display:block;position:absolute;inset:0}
.mhero-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.mhero-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--verde-n) 0%,rgba(31,46,40,0) 30%)}
.mhero-txt{padding:clamp(60px,10vh,120px) clamp(36px,7vw,120px);display:flex;flex-direction:column;justify-content:center;color:#fff}
.mhero h1{color:#fbf8f2} .mhero h1 em{color:var(--ouro-cl)}
.mhero .acts{margin-top:10px}
.hist-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(40px,6vw,100px);align-items:start}
.hist-txt h2{margin:16px 0 24px}
.hist-txt p{color:var(--txt2);margin-bottom:16px;max-width:56ch}
.nums{display:flex;gap:44px;margin-top:34px}
.nums b{display:block;font-family:var(--serif);font-size-adjust:ex-height .41;font-size:3rem;font-weight:400;color:var(--ouro-t);line-height:1}
.nums span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--txt2)}
.formacao{list-style:none;border-left:1px solid var(--ouro);padding-left:30px}
.formacao li{position:relative;padding:0 0 30px}
.formacao li::before{content:"";position:absolute;left:-36px;top:9px;width:11px;height:11px;border-radius:50%;background:var(--creme);border:1.5px solid var(--ouro)}
.formacao .ano{display:block;font-family:var(--serif);font-size-adjust:ex-height .41;font-size:1.3rem;color:var(--ouro-t);min-height:1.2em}
.formacao b{display:block;font-family:var(--serif);font-size-adjust:ex-height .41;font-size:1.6rem;font-weight:400;color:var(--verde);line-height:1.2}
.formacao div span{font-size:.92rem;color:var(--txt2)}
.areas{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:1fr;gap:16px}
.area{background:#fffdf9;border:1px solid var(--linha);border-radius:16px;padding:28px 24px}
.area h3{font-size:1.7rem;margin-bottom:10px}
.area p{font-size:.94rem;color:var(--txt2)}
.galeria{display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:auto auto;gap:18px;align-items:stretch}
.galeria figure{position:relative;border-radius:18px;overflow:hidden;margin:0;aspect-ratio:3/4}
.galeria img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.galeria .g1{grid-row:span 2;aspect-ratio:auto}
.g-txt{grid-column:span 2;padding:20px 10px;display:flex;flex-direction:column;justify-content:center}
.g-txt h2{margin:14px 0 16px}
.g-txt p{color:var(--txt2);max-width:52ch}

/* ═══ ENTRADAS (só com JS; sem JS tudo aparece) */
.js .rv{opacity:0;transform:translateY(22px)}
.rv.in{opacity:1;transform:none;transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1)}
.js .revela{clip-path:inset(0 0 100% 0)}
.revela.in{clip-path:inset(0 0 0 0);transition:clip-path 1.3s cubic-bezier(.7,0,.2,1)}
.revela img{transform:scale(1.12);transition:transform 2.2s cubic-bezier(.2,.7,.2,1)}
.revela.in img{transform:scale(1)}
@media(prefers-reduced-motion:reduce){
  .js .rv,.js .revela{opacity:1;transform:none;clip-path:none}
  .revela img{transform:none}
  .arco,.hero-lotus .d{animation:none;stroke-dashoffset:0}
  .flut,.trilho,.hero-foto img{animation:none}
}

/* ═══════════════════════════════════════════════ CELULAR */
@media(max-width:1180px){
  .areas{grid-template-columns:1fr 1fr}
  .rod-in{grid-template-columns:1fr 1fr}
}
@media(max-width:900px){
  body{font-size:16px}
  .sec{padding:72px 0}
  .sec h2{font-size:2.3rem}
  .sec-cab{margin-bottom:40px}

  /* topo: faixa com a foto em cima, texto centralizado embaixo */
  .hero{background:var(--creme)}
  .hero-fundo .b2,.hero .arcos{display:none}
  .hero .b1{width:118vw;right:auto;left:50%;top:-18vw;transform:translateX(-50%)}
  .hero-grid{grid-template-columns:1fr;gap:0;min-height:0;padding:0}
  .hero-foto{order:-1;min-height:0;height:auto;aspect-ratio:16/12.6;background:radial-gradient(circle at 50% 70%,#f3e8e1,var(--rosa2) 75%)}
  .hero-foto picture{position:absolute;inset:0;height:auto}
  .hero-foto img{height:100%}
  .hero-foto::after{content:"";position:absolute;left:0;right:0;bottom:0;height:26%;background:linear-gradient(0deg,var(--creme),rgba(248,245,239,0));z-index:1}
  .flut{display:none}
  .hero-txt{padding:4px 5% 34px;max-width:none;text-align:center}
  .hero .kick{font-size:.62rem;letter-spacing:.18em}
  .hero-lotus{display:none}
  .hero h1{font-size:2.15rem;margin:12px auto 10px}
  .hero .lead,.assina{display:none}
  .acts{margin-top:16px;flex-direction:column;align-items:stretch;gap:10px}
  .acts .bt{width:100%}

  .olhar-grid,.mt-grid,.faq-grid,.guia-grid,.det-grid,.hist-grid{grid-template-columns:1fr}
  .olhar-foto{max-width:420px;width:100%;margin:0 auto;aspect-ratio:4/4.4}
  .olhares{grid-template-columns:1fr;grid-auto-rows:auto}
  .olhar-grid > div,.mt-txt,.faq-cab,.guia-cab,.det-txt,.hist-txt{text-align:center}
  .sub,.mt-txt p,.faq-cab p,.guia-cab p,.hist-txt p{margin-left:auto;margin-right:auto}
  .olhar{text-align:left}
  .faixa{padding-top:64px}
  .faixa-txt p{font-size:1.65rem}
  .progs{grid-template-columns:1fr;max-width:480px;margin:0 auto}
  .peso{grid-template-columns:1fr;min-height:0}
  .peso-foto{aspect-ratio:16/13}
  .peso-foto img{height:100%}
  .peso-txt{text-align:center;padding:50px 5% 70px}
  .peso-txt p{margin-left:auto;margin-right:auto}
  .chips{justify-content:center}
  .mt-foto{max-width:440px;width:100%;margin:0 auto}
  .mt-txt blockquote,.mhero blockquote{border-left:0;padding-left:0;border-top:1px solid var(--ouro-cl);padding-top:22px}
  .passos{grid-template-columns:1fr;gap:34px}
  .passo{text-align:center}
  .faq-cab{position:static}
  .faq summary{font-size:1.3rem;text-align:left}
  .fr p{padding-right:0;text-align:left}
  .rod-in{grid-template-columns:1fr;text-align:center}
  .rod .logo{justify-content:center}
  .rod-marca p{margin-left:auto;margin-right:auto}
  .rod-base{justify-content:center;text-align:center}
  .flu{right:14px;bottom:14px;width:56px;height:56px}
  .ptopo h1{font-size:2.6rem}
  .guia{min-height:0}
  .det.inv .det-foto{order:0}
  .det-foto{max-width:420px;width:100%;margin:0 auto;aspect-ratio:4/4.4}
  .det-lista{margin:0 auto 22px;text-align:left}
  .mhero{grid-template-columns:1fr;min-height:0}
  .mhero-foto{order:-1;aspect-ratio:16/13.6}
  .mhero-foto::after{background:linear-gradient(0deg,var(--verde-n) 0%,rgba(31,46,40,0) 34%)}
  .mhero-txt{text-align:center;padding:20px 5% 56px}
  .mhero h1{font-size:2.6rem;margin:12px 0 8px}
  .mhero blockquote{font-size:1.4rem;margin:20px 0}
  .nums{justify-content:center}
  .formacao{max-width:520px;margin:0 auto}
  .areas{grid-template-columns:1fr;grid-auto-rows:auto}
  .galeria{grid-template-columns:1fr 1fr}
  .galeria .g1{grid-row:auto;aspect-ratio:3/4}
  .g-txt{grid-column:1/-1;text-align:center;order:-1}
  .g-txt p{margin:0 auto}
}
@media(max-width:900px) and (min-width:600px){ .hero-foto{aspect-ratio:16/10} }
@media(max-width:900px){ .flu{opacity:0;visibility:hidden} .flu.mostra{opacity:1;visibility:visible} }
@media(max-width:900px){
  h1,h2{font-weight:400}
  .hero .b1{display:none}
  .fim-arco.a1{display:none}
  .fim-arco.a2{width:380px;right:-230px;bottom:-230px}
}
/* programas: no invertido a foto fica na coluna estreita; tabela com colunas iguais */
.det.inv .det-grid{grid-template-columns:1.15fr .85fr}
.tabela{table-layout:fixed}
.tabela thead th:first-child{width:34%}
.nao{color:#6c706a}
@media(max-width:900px){
  .det.inv .det-grid{grid-template-columns:1fr}
  .ptopo .arcos{display:none}
  .tabela{min-width:0}
  .tabela thead th:first-child{width:37%}
  .tabela th,.tabela td{padding:13px 6px;font-size:.8rem}
  .tabela tbody th{padding-left:14px;line-height:1.35}
  .tabela thead th{font-size:1.05rem}
  .tabela td{font-size:1.15rem}
  .ok,.nao{font-size:.62rem;letter-spacing:.06em}
}
@media(max-width:900px){
  .tabela thead th:first-child{width:31%}
  .tabela thead th{font-size:.9rem;padding:13px 2px}
  .tabela td{font-size:1.05rem;padding:13px 2px}
}
@media(max-width:900px){
  .galeria .g1{grid-column:1/-1;aspect-ratio:4/3.4}
  .galeria .g1 img{object-position:50% 25%}
}
@media(max-width:900px){
  .det-grid > *,.olhar-grid > *,.mt-grid > *,.guia-grid > *,.hist-grid > *,.faq-grid > *{min-width:0}
  .bt{white-space:normal;text-align:center;line-height:1.35}
  /* página da médica: botão do topo dentro da primeira tela */
  .mhero-foto{aspect-ratio:16/11.5}
  .mhero blockquote{display:none}
  .mhero .acts{margin-top:22px}
}
