/* ============================================================
   Dr. Jhayme Farias — "Botanical Noir"
   Dark, warm, elegant. Inspired by a deep botanical hero with
   gold pill CTAs + cream sections for rhythm.
   ============================================================ */

:root {
  /* dark palette */
  --bg:       #15211B;   /* deep forest near-black */
  --bg-2:     #101A15;
  --panel:    #1C2C24;
  --panel-2:  #22342A;
  --cream:    #F4EFE3;   /* primary text on dark */
  --cream-2:  #CCD5C9;   /* secondary on dark */
  --muted-d:  #8C9B8F;   /* muted on dark */
  --gold:     #C7A24E;
  --gold-2:   #DcBd73;
  --gold-soft:#E7D6A6;
  --wine:     #8E4150;   /* botanical accent */
  --line-d:   rgba(244,239,227,0.12);
  --line-d2:  rgba(244,239,227,0.20);

  /* warm cream sections */
  --sand:     #F2E9D9;
  --sand-2:   #EADFC9;
  --ink:      #1E2A23;
  --ink-2:    #4C594F;
  --ink-3:    #75817700;
  --ink-soft: #6E7A70;
  --line-l:   #DFD3BD;

  /* whatsapp */
  --wa:       #1FA855;
  --wa-600:   #178a46;

  --serif: "Newsreader", Georgia, serif;
  --sans:  "Hanken Grotesk", system-ui, sans-serif;

  --t-xs:.78rem; --t-sm:.92rem; --t-base:1.05rem; --t-lg:1.22rem;
  --t-xl:1.5rem; --t-2xl:2rem; --t-3xl:2.6rem; --t-4xl:3.4rem; --t-5xl:4.4rem;

  --s2:.5rem; --s3:.75rem; --s4:1rem; --s5:1.25rem; --s6:1.5rem;
  --s8:2rem; --s10:2.5rem; --s12:3rem; --s16:4rem; --s20:5rem; --s24:6rem; --s32:8rem;

  --r-sm:12px; --r:18px; --r-lg:28px; --r-xl:40px; --r-pill:999px;
  --sh-sm:0 2px 12px rgba(0,0,0,.22);
  --sh:0 20px 50px -22px rgba(0,0,0,.55);
  --sh-lg:0 40px 90px -34px rgba(0,0,0,.62);
}

* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; scroll-padding-top:104px; }
body {
  font-family:var(--sans); background:var(--bg); color:var(--cream);
  font-size:var(--t-base); line-height:1.62; -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility; overflow-x:hidden;
}
img { max-width:100%; display:block; }

/* layout */
.wrap { width:min(1180px,92vw); margin-inline:auto; }
.wrap-narrow { width:min(820px,92vw); margin-inline:auto; }
.section { padding-block:var(--s24); position:relative; }
.section-sm { padding-block:var(--s16); }

/* type */
h1,h2,h3,h4 { font-family:var(--serif); font-weight:500; line-height:1.08; letter-spacing:-.01em; }
.display { font-size:clamp(2.5rem,5.4vw,var(--t-5xl)); line-height:1.0; letter-spacing:-.02em; }
.h2 { font-size:clamp(2rem,4vw,var(--t-3xl)); }
.h3 { font-size:clamp(1.5rem,2.6vw,var(--t-2xl)); }
.h4 { font-size:var(--t-xl); }
em,.it { font-style:italic; }

.eyebrow {
  display:inline-flex; align-items:center; gap:.55rem; font-family:var(--sans);
  font-size:var(--t-sm); font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--gold);
}
.eyebrow::before { content:""; width:26px; height:1.5px; background:var(--gold); display:inline-block; }
.eyebrow.center { justify-content:center; }
.lead { font-size:var(--t-lg); line-height:1.6; }

/* surfaces */
.on-cream { background:var(--sand); color:var(--ink); }
.on-cream h1,.on-cream h2,.on-cream h3,.on-cream h4 { color:var(--ink); }
.on-cream .lead { color:var(--ink-2); }
.on-dark .lead { color:var(--cream-2); }

/* buttons */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-family:var(--sans); font-weight:600; font-size:var(--t-base);
  padding:.95rem 1.6rem; border-radius:var(--r-pill); border:1.5px solid transparent;
  cursor:pointer; text-decoration:none; white-space:nowrap;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
}
.btn .ico { width:18px; height:18px; }
.btn-gold { background:linear-gradient(180deg,var(--gold-2),var(--gold)); color:#241c08; box-shadow:0 12px 28px -14px rgba(199,162,78,.7); }
.btn-gold:hover { transform:translateY(-2px); box-shadow:0 18px 38px -14px rgba(199,162,78,.8); }
.btn-wa { background:var(--wa); color:#fff; box-shadow:0 12px 28px -14px rgba(31,168,85,.7); }
.btn-wa:hover { background:var(--wa-600); transform:translateY(-2px); }
.btn-ghost { background:transparent; color:var(--cream); border-color:var(--line-d2); }
.btn-ghost:hover { border-color:var(--gold); color:var(--gold-2); transform:translateY(-2px); }
.btn-ink { background:var(--ink); color:var(--sand); }
.btn-ink:hover { background:#13201a; transform:translateY(-2px); }
.btn-lg { padding:1.1rem 2rem; font-size:var(--t-lg); }
.btn-block { width:100%; }

/* botanical texture (subtle) */
.botanical { position:relative; }
.botanical::before {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.5; z-index:0;
  background:
    radial-gradient(60% 50% at 88% 12%, rgba(142,65,80,.20), transparent 70%),
    radial-gradient(55% 45% at 6% 90%, rgba(199,162,78,.14), transparent 70%);
}
.botanical > * { position:relative; z-index:1; }

/* leaf pattern overlay */
.leaf-tex::after {
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.06; z-index:0;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'><g fill='none' stroke='%23F4EFE3' stroke-width='1.2'><path d='M20 100 C 20 60 40 40 60 40 C 50 60 40 80 20 100 Z'/><path d='M100 20 C 100 60 80 80 60 80 C 70 60 80 40 100 20 Z'/></g></svg>");
  background-size:200px 200px;
}

/* ---------- floating nav ---------- */
.nav { position:fixed; inset:18px 0 auto 0; z-index:60; transition:inset .25s ease; }
.nav-inner {
  width:min(1180px,94vw); margin-inline:auto; display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center; height:64px; padding:0;
  background:transparent; border:1px solid transparent; border-radius:var(--r-pill);
  box-shadow:none; transition:background .25s ease, border-color .25s ease, box-shadow .25s ease, padding .25s ease;
}
.nav.scrolled { inset:0 0 auto 0; }
.nav.scrolled .nav-inner {
  width:100%; height:76px; padding:0 max(1.2rem,calc((100vw - 1180px) / 2));
  border-radius:0; background:rgba(10,16,13,.82); border-color:rgba(244,239,227,.10);
  border-left:0; border-right:0; border-top:0;
  box-shadow:0 14px 42px -28px rgba(0,0,0,.9), inset 0 1px 0 rgba(244,239,227,.06);
  backdrop-filter:blur(18px) saturate(140%);
  -webkit-backdrop-filter:blur(18px) saturate(140%);
}
.brand { display:flex; align-items:center; justify-self:start; gap:.7rem; text-decoration:none; }
.brand-logo { display:block; width:176px; max-width:36vw; height:auto; flex:0 0 auto; }
.brand-mark {
  width:42px; height:42px; flex:0 0 auto; border-radius:50%;
  background:radial-gradient(circle at 35% 30%, var(--gold-2), var(--gold) 70%); color:#241c08;
  display:grid; place-items:center; font-family:var(--serif); font-size:1.02rem; font-weight:600;
}
.brand-name { font-family:var(--serif); font-size:1.16rem; color:var(--cream); line-height:1.05; display:block; }
.brand-sub { font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted-d); font-weight:600; white-space:nowrap; }
.nav-actions { justify-self:end; display:flex; align-items:center; gap:.55rem; }
.nav-links {
  position:relative; display:flex; align-items:center; justify-self:center; gap:.25rem;
  padding:.3rem; border-radius:var(--r-pill); border:1px solid rgba(244,239,227,.13);
  background:rgba(8,11,10,.38); box-shadow:inset 0 1px 0 rgba(244,239,227,.05), 0 16px 40px -28px rgba(0,0,0,.9);
  backdrop-filter:blur(18px);
}
.nav-link {
  position:relative; display:inline-flex; align-items:center; justify-content:center; min-height:42px;
  padding:0 1.12rem; border-radius:var(--r-pill); text-decoration:none; color:rgba(244,239,227,.68);
  font-weight:700; font-size:.98rem; line-height:1; transition:background .18s ease, color .18s ease, box-shadow .18s ease;
}
.nav-link:hover { background:rgba(244,239,227,.055); color:var(--cream); }
.nav-link.active {
  color:var(--cream); background:rgba(244,239,227,.075);
  box-shadow:inset 0 1px 0 rgba(244,239,227,.10), 0 8px 22px -18px rgba(255,255,255,.55);
}
.nav-link.active::before {
  content:""; position:absolute; left:50%; top:-10px; width:34px; height:4px; border-radius:999px;
  transform:translateX(-50%); background:rgba(244,239,227,.92);
  box-shadow:0 0 18px rgba(244,239,227,.72), 0 0 34px rgba(244,239,227,.30);
}
@media (max-width:1060px){
  .nav { inset:0 0 auto 0; }
  .nav-inner {
    display:flex; align-items:center;
    width:100%; height:70px; padding:.45rem .7rem; gap:.42rem;
    border:0; border-radius:0; background:rgba(10,16,13,.78);
    box-shadow:0 12px 34px -26px rgba(0,0,0,.86), inset 0 -1px 0 rgba(244,239,227,.10);
    backdrop-filter:blur(18px) saturate(140%);
    -webkit-backdrop-filter:blur(18px) saturate(140%);
  }
  .brand { flex:0 0 auto; min-width:0; }
  .nav-actions { flex:0 0 auto; min-width:0; }
  .nav-links {
    position:relative; display:flex; flex:1 1 0; width:auto; min-width:0;
    overflow-x:auto; overflow-y:hidden; scroll-snap-type:x proximity;
    gap:.16rem; padding:0; scrollbar-width:none; border:0; border-radius:0;
    background:transparent; box-shadow:none; backdrop-filter:none;
    mask-image:linear-gradient(90deg, #000 0 calc(100% - 24px), transparent 100%);
    -webkit-mask-image:linear-gradient(90deg, #000 0 calc(100% - 24px), transparent 100%);
  }
  .nav-links::-webkit-scrollbar { display:none; }
  .nav-links::after {
    content:""; position:sticky; right:0; flex:0 0 14px; width:9px; height:9px; align-self:center;
    border-top:2px solid rgba(220,189,115,.82); border-right:2px solid rgba(220,189,115,.82);
    background:transparent; border-radius:0;
    animation:dragHint 1.8s ease-in-out infinite; pointer-events:none;
  }
  .nav-link {
    flex:0 0 58px; scroll-snap-align:start; min-height:42px; padding:0 .28rem;
    border-radius:0; background:transparent; box-shadow:none;
    font-size:0; text-align:center; white-space:nowrap;
  }
  .nav-link:hover,
  .nav-link.active { background:transparent; box-shadow:none; }
  .nav-link::after { content:attr(data-short); font-size:.74rem; letter-spacing:.01em; }
  .nav-link.active { color:var(--gold-2); }
  .nav-link.active::before {
    top:auto; bottom:4px; width:22px; height:2px; background:var(--gold-2);
    box-shadow:0 0 14px rgba(220,189,115,.45);
  }
  .nav.scrolled .nav-inner { height:70px; padding:.45rem .7rem; }
  .hero { padding-top:112px; }
}
@media (max-width:560px){
  .brand-logo { width:98px; max-width:26vw; }
  .nav .nav-inner { width:100%; padding:.4rem .42rem; gap:.28rem; display:flex; }
  .nav-actions .btn { padding:.62rem .66rem; font-size:.78rem; gap:0; }
  .nav-actions .btn .ico { display:none; }
  .nav .nav-links { flex:0 1 min(50vw,196px); width:min(50vw,196px); }
  .nav .nav-link { flex-basis:42px; min-height:36px; padding:0 .14rem; }
  .nav .nav-link::after { font-size:.66rem; }
  .hero { padding-top:112px; }
}
@media (max-width:400px){
  .brand-logo { width:94px; max-width:25vw; }
  .nav-actions .btn { padding:.58rem .58rem; font-size:.74rem; }
  .nav .nav-links { flex:0 1 min(47vw,184px); width:min(47vw,184px); }
  .nav .nav-link { flex-basis:40px; }
  .nav .nav-link::after { font-size:.63rem; }
  .hero { padding-top:108px; }
}
@media (max-width:340px){
  .brand-logo { width:72px; max-width:23vw; }
  .nav .nav-inner { padding:.36rem .28rem; gap:.18rem; }
  .nav-actions .btn { width:54px; min-height:38px; padding:0; font-size:.64rem; }
  .nav .nav-links { flex:0 1 min(50vw,160px); width:min(50vw,160px); }
  .nav .nav-link { flex-basis:33px; }
  .nav .nav-link::after { font-size:.56rem; }
}
@keyframes dragHint {
  0%, 100% { transform:translateX(0) rotate(45deg); opacity:.48; }
  50% { transform:translateX(-6px) rotate(45deg); opacity:.88; }
}

/* ---------- hero ---------- */
.hero {
  padding-top:104px; padding-bottom:var(--s16);
  background:
    radial-gradient(70% 58% at 82% 18%, rgba(142,65,80,.20), transparent 68%),
    radial-gradient(65% 65% at 8% 88%, rgba(199,162,78,.10), transparent 68%),
    linear-gradient(135deg,#17241d,#101a15 64%);
}
.hero .wrap { width:min(1320px,94vw); }
.hero-card {
  position:relative; overflow:visible; border-radius:0;
  background:transparent; border:0; box-shadow:none; min-height:min(720px,calc(100vh - 148px));
  display:flex; align-items:center; padding:clamp(2.6rem,5.5vw,5rem);
}
.hero-card::after { display:none; }
.hero-card.leaf-tex::after { display:none; }
.hero-layout {
  position:relative; z-index:2; width:100%; display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.82fr);
  gap:clamp(2rem,6vw,5.5rem); align-items:center;
}
.hero-copy { max-width:650px; }
.hero-eyebrow { margin-bottom:var(--s5); }
.hero h1 { color:var(--cream); max-width:12.5ch; }
.hero-mobile-break,
.hero-tiny-break { display:none; }
.hero-lead {
  max-width:34ch; margin-top:var(--s6); color:var(--cream-2);
  font-size:var(--t-lg); line-height:1.68;
}
.hero-cta { margin-top:var(--s6); }
.hero-figure { position:relative; z-index:2; justify-self:end; width:min(470px,100%); }
.hero-figure::before,
.hero-figure::after { display:none; }
.hero-photo {
  position:relative; aspect-ratio:4/5; overflow:hidden; border-radius:var(--r-lg);
  background:var(--panel-2); box-shadow:0 32px 80px -34px rgba(0,0,0,.78);
}
.hero-photo img { width:100%; height:100%; object-fit:cover; object-position:center 38%; }
.hero-photo::after {
  content:""; position:absolute; inset:auto 0 0 0; height:42%;
  background:linear-gradient(180deg, transparent, rgba(16,26,21,.78)); pointer-events:none;
}
.social-proof { display:flex; align-items:center; gap:.8rem; margin-top:var(--s6); }
.avatars { display:flex; }
.avatars span {
  width:36px; height:36px; border-radius:50%; border:2px solid var(--panel); margin-left:-10px;
  background:var(--panel-2) center/cover; display:grid; place-items:center; overflow:hidden;
}
.avatars span:first-child { margin-left:0; }
.avatars .ico { width:18px; height:18px; color:var(--gold-2); }
.proof-text { font-size:var(--t-sm); color:var(--cream-2); line-height:1.3; }
.proof-text b { color:var(--cream); display:block; font-family:var(--serif); font-size:var(--t-base); }
.stars { display:inline-flex; gap:2px; color:var(--gold-2); }
.stars .ico { width:14px; height:14px; fill:var(--gold-2); }

@media (max-width:900px){
  .hero-card { min-height:0; padding:var(--s12) var(--s5); }
  .hero-layout { grid-template-columns:1fr; gap:var(--s10); }
  .hero h1 { max-width:none; }
  .hero-figure { justify-self:center; width:min(520px,100%); }
}

@media (max-width:560px){
  .hero-mobile-break { display:block; }
  .hero-eyebrow { display:flex; flex-wrap:wrap; max-width:30ch; font-size:.74rem; letter-spacing:.11em; line-height:1.55; }
  .hero-lead { font-size:var(--t-base); }
  .hero-cta { width:100%; max-width:340px; padding-inline:1.15rem; white-space:normal; text-align:center; }
}
@media (max-width:380px){
  .hero-tiny-break { display:block; }
  .hero h1 { font-size:clamp(2.18rem,11.5vw,2.45rem); }
}

/* ---------- trust strip ---------- */
.trust {
  position:relative; z-index:4; margin-top:-3.2rem; padding:0 0 var(--s12);
  background:linear-gradient(180deg, transparent 0 48%, var(--sand) 48% 100%);
}
.trust-inner {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.85rem;
  padding:.85rem; border-radius:28px; border:1px solid rgba(244,239,227,.12);
  background:linear-gradient(135deg, rgba(28,44,36,.94), rgba(12,20,16,.92));
  box-shadow:0 30px 80px -42px rgba(0,0,0,.88), inset 0 1px 0 rgba(244,239,227,.07);
  backdrop-filter:blur(18px);
}
.trust-item {
  position:relative; isolation:isolate; min-height:116px; overflow:hidden;
  display:grid; grid-template-columns:auto 1fr; align-items:center; gap:1rem;
  padding:1.15rem; border-radius:22px; border:1px solid rgba(244,239,227,.09);
  background:linear-gradient(180deg, rgba(244,239,227,.055), rgba(244,239,227,.022));
  transition:transform .2s ease, border-color .2s ease, background .2s ease;
}
.trust-item::before {
  content:""; position:absolute; inset:0 auto 0 0; width:3px;
  background:linear-gradient(180deg, var(--gold-2), rgba(220,189,115,.12));
  opacity:.85;
}
.trust-item::after {
  content:""; position:absolute; right:-34px; top:-42px; width:112px; height:112px;
  border-radius:50%; background:rgba(220,189,115,.12); filter:blur(18px); z-index:-1;
}
.trust-item:hover {
  transform:translateY(-3px); border-color:rgba(220,189,115,.30);
  background:linear-gradient(180deg, rgba(244,239,227,.08), rgba(244,239,227,.03));
}
.trust-item .ico {
  width:48px; height:48px; padding:12px; color:var(--gold-2); flex:0 0 auto;
  border-radius:16px; background:rgba(199,162,78,.12); border:1px solid rgba(220,189,115,.22);
  box-shadow:inset 0 1px 0 rgba(244,239,227,.08);
}
.trust-item b { font-family:var(--serif); font-size:clamp(1.08rem,1.5vw,1.34rem); color:var(--cream); display:block; line-height:1.05; }
.trust-item span { display:block; margin-top:.38rem; font-size:.74rem; letter-spacing:.13em; text-transform:uppercase; color:var(--cream-2); }
.trust-div { display:none; }
@media (max-width:980px){ .trust-inner{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px){
  .trust { margin-top:-1.8rem; padding-bottom:var(--s10); }
  .trust-inner{ grid-template-columns:1fr; border-radius:22px; }
  .trust-item{ min-height:96px; }
}

/* ---------- section head ---------- */
.shead { max-width:660px; }
.shead.center { margin-inline:auto; text-align:center; }
.shead .eyebrow { margin-bottom:var(--s4); }
.shead .h2 { margin-bottom:var(--s5); }

/* ---------- sobre (cream) ---------- */
.about-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:var(--s16); align-items:center; }
.about-figure { position:relative; }
.about-photo { border-radius:240px 240px var(--r-lg) var(--r-lg); overflow:hidden; aspect-ratio:4/5; background:var(--sand-2); box-shadow:var(--sh); }
.about-photo img { width:100%; height:100%; object-fit:cover; object-position:center center; }
.cred { list-style:none; display:grid; gap:var(--s4); margin-top:var(--s8); }
.cred li { display:flex; gap:.8rem; align-items:flex-start; color:var(--ink-2); }
.cred .ico { width:20px; height:20px; color:var(--wine); flex:0 0 auto; margin-top:3px; }
.cred b { color:var(--ink); }
.signature { font-family:var(--serif); font-style:italic; font-size:1.8rem; color:var(--wine); margin-top:var(--s8); }
@media (max-width:860px){ .about-grid{ grid-template-columns:1fr; gap:var(--s10);} .about-figure{ max-width:380px;} }

/* ---------- sintomas / pains (dark botanical) ---------- */
.pains-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:var(--s16); align-items:center; }
.pains-list { display:grid; grid-template-columns:1fr 1fr; gap:var(--s4); }
.pain {
  display:flex; align-items:flex-start; gap:.8rem; background:var(--panel); border:1px solid var(--line-d);
  border-radius:var(--r); padding:var(--s5); box-shadow:var(--sh-sm);
}
.pain .ico { width:22px; height:22px; color:var(--gold-2); flex:0 0 auto; margin-top:2px; }
.pain p { font-size:var(--t-sm); color:var(--cream); font-weight:500; }
.pains-cta { margin-top:var(--s8); }
@media (max-width:860px){ .pains-grid{ grid-template-columns:1fr; gap:var(--s10);} }
@media (max-width:520px){ .pains-list{ grid-template-columns:1fr;} }

/* ---------- áreas (cream) ---------- */
#areas {
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(199,162,78,.08) 1px, transparent 1px) 50% 0 / 86px 86px,
    linear-gradient(180deg, #F4ECDD 0%, #EEE4D1 100%);
}
#areas .shead { max-width:760px; }
.area-grid {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem;
  margin-top:var(--s12); counter-reset:area;
}
.area {
  counter-increment:area; position:relative; overflow:hidden; min-height:258px;
  display:flex; flex-direction:column; align-items:flex-start;
  background:linear-gradient(145deg, rgba(255,252,245,.92), rgba(239,230,211,.72));
  border:1px solid rgba(30,42,35,.10); border-radius:24px;
  padding:1.45rem; box-shadow:0 18px 48px -38px rgba(30,42,35,.55);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.area::before {
  content:"0" counter(area); position:absolute; right:1.35rem; top:1.12rem;
  font-family:var(--serif); font-size:2.5rem; line-height:1; color:rgba(30,42,35,.07);
}
.area::after {
  content:""; position:absolute; inset:auto 1.25rem 0; height:3px; border-radius:999px 999px 0 0;
  background:linear-gradient(90deg, transparent, var(--gold), transparent); opacity:.44;
}
.area:hover {
  transform:translateY(-6px); border-color:rgba(199,162,78,.42);
  background:linear-gradient(145deg, #fffaf0, #F1E7D4);
  box-shadow:0 26px 60px -34px rgba(30,42,35,.62);
}
.area .chip {
  width:56px; height:56px; border-radius:18px; background:var(--ink);
  display:grid; place-items:center; margin-bottom:var(--s6);
  box-shadow:0 14px 28px -20px rgba(30,42,35,.8), inset 0 1px 0 rgba(244,239,227,.10);
}
.area .chip .ico { width:25px; height:25px; color:var(--gold-2); stroke-width:1.8; }
.area h3 {
  max-width:15ch; font-size:1.34rem; margin-bottom:var(--s3);
  color:var(--ink); letter-spacing:0; line-height:1.15;
}
.area p { margin-top:auto; font-size:var(--t-sm); color:var(--ink-2); line-height:1.65; }
@media (max-width:1040px){ .area-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:560px){
  #areas { background:linear-gradient(180deg, #F4ECDD 0%, #EEE4D1 100%); }
  .area-grid{ grid-template-columns:1fr; }
  .area{ min-height:220px; }
}

/* ---------- como funciona (dark) ---------- */
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:var(--s6); margin-top:var(--s12); counter-reset:step; }
.step { position:relative; padding-top:var(--s16); }
.step::before { counter-increment:step; content:"0" counter(step); font-family:var(--serif); font-size:2.6rem; color:rgba(220,189,115,.72); position:absolute; top:0; left:0; line-height:1; text-shadow:0 0 22px rgba(220,189,115,.16); }
.step .bar { height:2px; width:38px; background:var(--gold); margin:0 0 var(--s4); }
.step h3 { font-size:var(--t-lg); margin-bottom:var(--s3); color:var(--cream); }
.step p { font-size:var(--t-sm); color:var(--cream-2); }
@media (max-width:860px){ .steps{ grid-template-columns:1fr 1fr; gap:var(--s10);} }
@media (max-width:480px){ .steps{ grid-template-columns:1fr;} }

/* ---------- valores (dark botanical) ---------- */
#valores { overflow:hidden; }
.price-grid {
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem;
  margin-top:var(--s12); align-items:stretch;
}
.price {
  position:relative; overflow:hidden; min-height:520px; color:var(--ink);
  border-radius:28px; padding:1.75rem; display:flex; flex-direction:column;
  border:1px solid rgba(244,239,227,.18);
  background:linear-gradient(160deg, rgba(255,252,245,.96), rgba(236,226,207,.90));
  box-shadow:0 28px 80px -44px rgba(0,0,0,.72);
  transition:transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.price::before {
  content:""; position:absolute; inset:0 0 auto; height:7px;
  background:linear-gradient(90deg, rgba(199,162,78,.15), var(--gold), rgba(199,162,78,.15));
}
.price::after {
  content:""; position:absolute; right:-52px; top:-60px; width:180px; height:180px; border-radius:50%;
  background:rgba(199,162,78,.12); filter:blur(18px); pointer-events:none;
}
.price:hover { transform:translateY(-6px); border-color:rgba(220,189,115,.46); box-shadow:0 34px 90px -42px rgba(0,0,0,.80); }
.price.featured {
  transform:translateY(-14px); border-color:rgba(220,189,115,.72);
  background:linear-gradient(160deg, #FFF9ED, #F2E3C8);
  box-shadow:0 34px 90px -38px rgba(199,162,78,.44), 0 30px 90px -48px rgba(0,0,0,.88);
}
.price.featured:hover { transform:translateY(-20px); }
.price .tagline {
  position:absolute; top:1.25rem; right:1.25rem; z-index:2;
  background:rgba(30,42,35,.94); color:var(--gold-2); font-size:.68rem; font-weight:800;
  letter-spacing:.12em; text-transform:uppercase; padding:.42rem .72rem; border-radius:var(--r-pill);
  box-shadow:0 12px 24px -18px rgba(0,0,0,.72); white-space:nowrap;
}
.price .pico {
  width:58px; height:58px; border-radius:18px; background:var(--ink); display:grid; place-items:center;
  margin-bottom:var(--s6); box-shadow:inset 0 1px 0 rgba(244,239,227,.10), 0 14px 30px -22px rgba(0,0,0,.8);
}
.price .pico .ico { width:26px; height:26px; color:var(--gold-2); stroke-width:1.8; }
.price h3 { font-size:1.7rem; margin-bottom:var(--s2); color:var(--ink); }
.price .desc { font-size:var(--t-sm); color:var(--ink-soft); min-height:3.2em; line-height:1.55; }
.price-list { list-style:none; display:grid; gap:.72rem; margin:var(--s6) 0 var(--s6); padding-top:var(--s5); border-top:1px solid rgba(30,42,35,.10); }
.price-list li { display:flex; align-items:center; gap:.55rem; color:var(--ink-2); font-size:var(--t-sm); line-height:1.25; }
.price-list .ico { width:17px; height:17px; color:var(--wine); flex:0 0 auto; }
.price .amount {
  font-family:var(--sans); font-size:clamp(2.65rem,4vw,3.7rem); font-weight:700; color:var(--ink);
  margin:auto 0 var(--s6); line-height:1; letter-spacing:0;
}
.price .btn { min-height:58px; margin-top:0; box-shadow:none; }
.price .btn-wa { box-shadow:0 18px 36px -24px rgba(31,168,85,.8); }
@media (max-width:980px){
  .price-grid{ grid-template-columns:1fr; max-width:520px; margin-inline:auto; }
  .price,.price.featured,.price.featured:hover{ transform:none; }
  .price{ min-height:0; }
}

/* ---------- saúde em alerta (cream) ---------- */
#pacientes {
  overflow:hidden;
  background:
    radial-gradient(55% 68% at 22% 48%, rgba(30,42,35,.06), transparent 68%),
    linear-gradient(180deg, #F8F8F6, #EEEEEA);
  padding-top:calc(var(--s24) + 2rem);
}
.health-alert {
  display:grid; grid-template-columns:.95fr 1fr; gap:clamp(2rem,5vw,4.5rem);
  align-items:center; min-height:620px;
}
.heart-stage {
  position:relative; min-height:520px; display:grid; place-items:center;
}
.heart-stage::before {
  content:""; position:absolute; left:4%; top:19%; width:70%; height:54%;
  background:linear-gradient(135deg, rgba(30,42,35,.18), rgba(30,42,35,.04) 58%, transparent);
  filter:blur(8px); transform:skewX(-24deg) rotate(-12deg); opacity:.55;
}
.heart-shadow { position:absolute; inset:0; pointer-events:none; }
.beating-heart {
  position:relative; z-index:1; width:min(440px,76vw); height:auto;
  transform-origin:center; animation:heartBeat 1.35s ease-in-out infinite;
  filter:drop-shadow(0 28px 28px rgba(30,42,35,.18));
}
.health-copy {
  position:relative; max-width:650px; padding:clamp(1.5rem,3vw,2.3rem);
  border-radius:28px; border:1px solid rgba(30,42,35,.09);
  background:rgba(255,255,255,.52); box-shadow:0 24px 70px -54px rgba(30,42,35,.42);
  backdrop-filter:blur(14px);
}
.health-copy .h2 { font-family:var(--sans); font-weight:800; line-height:1.08; letter-spacing:0; max-width:15ch; font-size:clamp(2rem,3.1vw,2.9rem); }
.health-copy .lead { margin-top:var(--s4); color:var(--ink-soft); font-size:1.2rem; line-height:1.35; max-width:31ch; }
.health-list {
  list-style:none; display:grid; grid-template-columns:1fr 1fr; column-gap:1.2rem; row-gap:.8rem;
  margin:var(--s8) 0 var(--s8); font-size:1rem; font-weight:800; color:var(--ink);
}
.health-list li { display:flex; align-items:center; gap:.78rem; }
.health-list li span {
  width:6px; height:6px; border-radius:50%; background:var(--ink);
  box-shadow:0 0 0 5px rgba(30,42,35,.06); flex:0 0 auto;
}
.health-note { color:var(--ink-soft); font-size:1rem; line-height:1.45; max-width:48ch; margin-top:var(--s4); }
.health-note.strong { color:var(--ink-2); font-weight:600; }
@keyframes heartBeat {
  0%, 38%, 100% { transform:scale(1); }
  12% { transform:scale(1.075); }
  22% { transform:scale(.985); }
}
@media (max-width:900px){
  .health-alert { grid-template-columns:1fr; min-height:0; }
  .heart-stage { min-height:390px; }
  .health-copy { max-width:none; }
  .health-copy .h2 { max-width:14ch; }
}
@media (max-width:620px){
  .health-list { grid-template-columns:1fr; }
}

/* ---------- faq (cream) ---------- */
.faq-list { margin-top:var(--s10); border-top:1px solid var(--line-l); }
.faq-item { border-bottom:1px solid var(--line-l); }
.faq-q { width:100%; background:none; border:none; cursor:pointer; text-align:left; display:flex; align-items:center; justify-content:space-between; gap:var(--s5); padding:var(--s6) 0; font-family:var(--serif); font-size:var(--t-lg); color:var(--ink); }
.faq-q .ico { width:22px; height:22px; color:var(--wine); flex:0 0 auto; transition:transform .25s ease; }
.faq-item.open .faq-q .ico { transform:rotate(45deg); }
.faq-a { max-height:0; overflow:hidden; transition:max-height .3s ease; }
.faq-a-inner { padding-bottom:var(--s6); color:var(--ink-2); max-width:70ch; }
.faq-item.open .faq-a { max-height:340px; }

/* ---------- final cta + form (dark botanical) ---------- */
.final-grid { display:grid; grid-template-columns:1fr .92fr; gap:var(--s16); align-items:start; }
.contact-list { list-style:none; display:grid; gap:var(--s5); margin-top:var(--s10); }
.contact-list li { display:flex; align-items:center; gap:var(--s4); }
.contact-list .ci { width:48px; height:48px; border-radius:14px; background:var(--panel); border:1px solid var(--line-d); display:grid; place-items:center; flex:0 0 auto; }
.contact-list .ci .ico { width:22px; height:22px; color:var(--gold-2); }
.contact-list .k { font-size:var(--t-xs); letter-spacing:.08em; text-transform:uppercase; color:var(--muted-d); }
.contact-list .v { font-size:var(--t-lg); color:var(--cream); font-weight:500; font-family:var(--serif); }
.form-card { background:#FBF6EC; color:var(--ink); border-radius:var(--r-lg); padding:var(--s10); box-shadow:var(--sh); }
.form-card h3 { font-size:var(--t-xl); margin-bottom:var(--s2); color:var(--ink); }
.form-card .sub { color:var(--ink-soft); font-size:var(--t-sm); margin-bottom:var(--s8); }
.field { margin-bottom:var(--s5); }
.field label { display:block; font-size:var(--t-sm); font-weight:600; color:var(--ink-2); margin-bottom:var(--s2); }
.field input,.field select { width:100%; font-family:var(--sans); font-size:var(--t-base); color:var(--ink); padding:.85rem 1rem; border:1.5px solid var(--line-l); border-radius:var(--r-sm); background:#fff; transition:border-color .15s ease, box-shadow .15s ease; }
.field input:focus,.field select:focus { outline:none; border-color:var(--wine); box-shadow:0 0 0 3px rgba(142,65,80,.14); }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:var(--s4); }
.fineprint { font-size:var(--t-xs); color:var(--ink-soft); margin-top:var(--s4); text-align:center; }
@media (max-width:860px){ .final-grid{ grid-template-columns:1fr; gap:var(--s10);} .field-row{ grid-template-columns:1fr;} }

/* ---------- footer ---------- */
.footer { background:var(--bg-2); color:var(--cream-2); padding-block:var(--s16) var(--s8); border-top:1px solid var(--line-d); }
.footer-top { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:var(--s10); padding-bottom:var(--s10); border-bottom:1px solid var(--line-d); }
.footer .brand-name { color:var(--cream); }
.footer-blurb { margin-top:var(--s5); max-width:36ch; font-size:var(--t-sm); color:var(--muted-d); }
.footer h5 { font-family:var(--sans); font-size:var(--t-xs); letter-spacing:.12em; text-transform:uppercase; color:var(--muted-d); margin-bottom:var(--s5); }
.fnav { list-style:none; display:grid; gap:var(--s3); }
.fnav a { color:var(--cream-2); text-decoration:none; font-size:var(--t-sm); transition:color .15s ease; }
.fnav a:hover { color:var(--gold-2); }
.footer-bottom { display:flex; flex-wrap:wrap; justify-content:space-between; gap:var(--s4); padding-top:var(--s8); font-size:var(--t-xs); color:var(--muted-d); }
.footer-social { display:flex; gap:var(--s3); }
.footer-social a { width:38px; height:38px; border-radius:50%; border:1px solid var(--line-d2); display:grid; place-items:center; color:var(--cream-2); transition:all .15s ease; }
.footer-social a:hover { background:var(--gold); color:#241c08; border-color:var(--gold); }
.footer-social .ico { width:17px; height:17px; }
.footer-social .instagram-ico { fill:none; stroke:currentColor; stroke-width:1.9; stroke-linecap:round; stroke-linejoin:round; }
@media (max-width:760px){ .footer-top{ grid-template-columns:1fr; gap:var(--s8);} }

/* floating whatsapp */
.wa-float { position:fixed; right:22px; bottom:22px; z-index:70; width:60px; height:60px; border-radius:50%; background:var(--wa); color:#fff; display:grid; place-items:center; box-shadow:0 14px 30px -8px rgba(31,168,85,.6); transition:transform .2s ease; }
.wa-float:hover { transform:scale(1.08); }
.wa-float .ico { width:28px; height:28px; }

/* reveal */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s ease; }
.reveal.in { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){ .reveal{ opacity:1; transform:none; transition:none;} html{ scroll-behavior:auto;} }
