/* Dra. Tuany Rodrigues — protótipo de prospecção (Click Marketing). */

:root{
  --bg: #F8F1E6;
  --surface: #FFFDF9;
  --panel: #2B1B13;
  --ink: #3A2A20;
  --muted: #7C6754;
  --muted-2: #6A5540;
  --accent: #B23D6E;
  --accent-dark: #8C2C54;
  --accent-soft: #F4DCE6;
  --gold: #B58A61;
  --line: #E6D9C8;
  --ease-premium: cubic-bezier(0.4, 0, 0.2, 1);
  --display: "Playfair Display", serif;
  --body: "Inter", sans-serif;
}

*{ margin:0; padding:0; box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  font-family: var(--body);
  color: var(--ink);
  background: var(--bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ol,ul{ list-style:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
:focus-visible{ outline: 2px solid var(--accent); outline-offset: 3px; }
section{ padding-block: clamp(3.5rem, 3rem + 3vw, 6.5rem); }
.eyebrow{
  font-size:.8rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
  color: var(--accent-dark); margin-bottom: .9rem;
}

@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto }
  *{ animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important }
}

/* ---------- aviso de protótipo ---------- */
.demo-bar{
  background: var(--panel); color: #E9D9C9; font-size:.76rem; line-height:1.4;
  text-align:center; padding:9px 1.5rem;
}
.demo-bar strong{ color: var(--gold); font-weight:700; }

/* ---------- botões ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding: 1rem 1.7rem; border-radius: 999px; font-weight:600; font-size:.98rem;
  position:relative; overflow:hidden; white-space:nowrap;
  transition: transform .5s var(--ease-premium), box-shadow .5s var(--ease-premium);
}
.btn--solid{ background: var(--accent); color:#fff; box-shadow: 0 18px 34px -16px rgba(178,61,110,.55); }
.btn--solid::after, .btn--gold::after{
  content:""; position:absolute; top:-50%; left:-60%; width:20%; height:200%;
  background: rgba(255,255,255,.22); transform: rotate(30deg); pointer-events:none;
  transition: transform .7s var(--ease-premium);
}
.btn--solid:hover::after, .btn--gold:hover::after{ transform: translate(600%,0) rotate(30deg); }
.btn--solid:hover, .btn--gold:hover{ transform: scale(1.02); }
.btn--gold{ background: var(--gold); color:#fff; box-shadow: 0 18px 34px -16px rgba(169,124,85,.55); }
.btn--nav{ padding:.7rem 1.3rem; font-size:.88rem; }

/* ---------- nav ---------- */
.nav{
  position: sticky; top:0; z-index:40; background: var(--bg);
  transition: background-color .4s var(--ease-premium), box-shadow .4s var(--ease-premium);
}
.nav.is-scrolled{ box-shadow: 0 10px 30px -22px rgba(43,27,19,.45); }
.nav__inner{
  max-width:1180px; margin-inline:auto; padding: 1.1rem 1.5rem;
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  transition: padding-block .4s var(--ease-premium);
}
.nav.is-scrolled .nav__inner{ padding-block: .65rem; }
.nav__brand{ display:flex; align-items:baseline; gap:.4rem; flex-wrap:wrap; line-height:1; }
.nav__brand-dra{ font-size:.85rem; color: var(--muted); }
.nav__brand-name{ font-family: var(--display); font-style:italic; font-weight:600; font-size:1.28rem; color: var(--ink); }
.nav__brand-tag{
  font-size:.62rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  background: var(--panel); color: var(--gold); padding:.2rem .55rem; border-radius:999px;
  display:none;
}
.nav__links{ display:flex; align-items:center; gap:1.8rem; }
.nav__links a:not(.btn){ position:relative; font-size:.94rem; color: var(--ink); }
.nav__links a:not(.btn)::after{
  content:""; position:absolute; left:0; bottom:-5px; width:0; height:1.5px;
  background: var(--accent); transition: width .35s var(--ease-premium);
}
.nav__links a:not(.btn):hover::after{ width:100%; }
.nav__burger{ display:flex; flex-direction:column; justify-content:center; gap:5px; width:44px; height:44px; }
.nav__burger span{ width:22px; height:2px; background: var(--ink); border-radius:2px; }

@media (max-width: 759px){
  .nav__brand-tag{ display:none; }
  .nav__burger{ display:flex; }
  .nav__backdrop{
    position:fixed; inset:0; background: rgba(43,27,19,.42); z-index:39;
    opacity:0; pointer-events:none; transition: opacity .35s var(--ease-premium);
  }
  .nav__backdrop.is-open{ opacity:1; pointer-events:auto; }
  .nav__links{
    position:fixed; inset: 0 0 auto auto; top: 64px; right:0; width: min(78vw, 320px);
    background: var(--surface); flex-direction:column; align-items:flex-start; gap:0;
    padding: 1.2rem 1.4rem 1.6rem; border-radius: 0 0 0 18px;
    box-shadow: -20px 30px 60px -30px rgba(43,27,19,.4);
    transform: translateX(110%); transition: transform .4s var(--ease-premium);
  }
  .nav__links.is-open{ transform: translateX(0); }
  .nav__links a:not(.btn){ padding: .8rem 0; width:100%; border-bottom:1px solid var(--line); }
  .nav__links .btn{ margin-top: 1rem; width:100%; }
  .wa-float.is-hidden{ opacity:0; pointer-events:none; transform: scale(.85); }
}
@media (min-width: 760px){
  .nav__brand-tag{ display:inline-block; }
}

/* ---------- hero ---------- */
.hero__inner{
  max-width:1180px; margin-inline:auto; padding: clamp(2.5rem, 2rem + 2vw, 4rem) 1.5rem 1rem;
  display:grid; gap: 2.5rem; align-items:center;
}
.hero__title{
  font-family: var(--display); font-weight:600; line-height:1.12;
  font-size: clamp(2.1rem, 1.6rem + 2.4vw, 3.3rem); max-width: 16ch;
}
.hero__title em{ font-style:italic; color: var(--accent); font-weight:600; }
.hero__lead{ margin-top:1.3rem; color: var(--muted); max-width:48ch; font-size:1.05rem; }
.hero__actions{ margin-top: 2rem; display:flex; flex-direction:column; align-items:flex-start; gap: .9rem; }
.hero__local{ font-size:.85rem; color: var(--muted-2); }

.hero-foto{ position:relative; justify-self:center; margin-bottom: 1.5rem; }
.hero-foto__frame{
  width: min(340px, 78vw); aspect-ratio: 603 / 1148; overflow:hidden;
  border-radius: 14px; border-top-left-radius: 120px;
  border: 10px solid var(--surface); box-shadow: 0 44px 70px -32px rgba(43,27,19,.45);
  transition: transform .6s var(--ease-premium);
}
.hero-foto__frame:hover{ transform: scale(1.015); }
.hero-foto__frame img{ width:100%; height:100%; object-fit:cover; object-position: 50% 15%; }
.hero-foto__badge{
  position:absolute; left:50%; bottom: -16px; transform: translateX(-50%);
  background: var(--panel); color: var(--gold); text-align:center;
  font-size:.66rem; font-weight:700; letter-spacing:.05em; padding: .55rem 1rem;
  border-radius: 10px; box-shadow: 0 20px 30px -18px rgba(43,27,19,.5);
  width: max-content; max-width: 92%;
}

@media (min-width: 900px){
  .hero__inner{ grid-template-columns: 1.15fr .85fr; gap: 3rem; }
  .hero-foto{ justify-self:end; }
}

/* ---------- método / declaração editorial ---------- */
.metodo{ background: var(--panel); color: #F3E9DC; }
.metodo__inner{ max-width: 760px; margin-inline:auto; padding-inline: 1.5rem; text-align:center; }
.metodo__texto{
  font-family: var(--display); font-weight:500; font-style:italic;
  font-size: clamp(1.4rem, 1.15rem + 1.3vw, 2rem); line-height:1.4; color:#FBF3E9;
}
.metodo__apoio{ margin-top: 1.6rem; color: #D9C3AC; font-size:1rem; max-width: 56ch; margin-inline:auto; }
.metodo__apoio em{ font-style:italic; color: var(--gold); }

/* ---------- processo ---------- */
.processo{ max-width:1180px; margin-inline:auto; padding-inline: 1.5rem; }
.processo__head{ max-width: 620px; }
.processo__titulo{ font-family: var(--display); font-weight:600; font-size: clamp(1.5rem, 1.3rem + 1vw, 2.1rem); }
.processo__lista{
  margin-top: 2.6rem; display:grid; gap: 1.6rem;
  grid-template-columns: 1fr;
}
.processo__item{
  background: var(--surface); border: 1px solid var(--line); border-radius: 16px;
  padding: 1.8rem 1.6rem; transition: transform .5s var(--ease-premium), box-shadow .5s var(--ease-premium);
}
.processo__item:hover{ transform: translateY(-6px); box-shadow: 0 24px 44px -26px rgba(43,27,19,.3); }
.processo__num{
  font-family: var(--display); font-style:italic; font-weight:600; color: var(--accent);
  font-size:1.8rem; display:block; margin-bottom:.6rem;
}
.processo__item h3{ font-size:1.08rem; margin-bottom:.5rem; }
.processo__item p{ color: var(--muted); font-size:.95rem; }

@media (min-width: 700px){
  .processo__lista{ grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1024px){
  .processo__lista{ grid-template-columns: repeat(4, 1fr); }
}

/* ---------- sobre ---------- */
.sobre{ background: var(--surface); border-block: 1px solid var(--line); }
.sobre__inner{ max-width: 760px; margin-inline:auto; padding-inline: 1.5rem; }
.sobre__titulo{ font-family: var(--display); font-style:italic; font-weight:600; font-size: clamp(1.7rem, 1.4rem + 1.2vw, 2.4rem); margin-bottom: 1.2rem; }
.sobre__texto{ color: var(--muted); margin-bottom: 1.1rem; font-size:1.02rem; }
.nota-ilustrativa{ font-size:.82rem; color: var(--muted-2); }
.sobre__credenciais{ margin-top: 1.6rem; display:flex; flex-wrap:wrap; gap:.7rem; }
.sobre__credenciais span{
  border: 1px solid var(--line); border-radius: 999px; padding: .5rem 1rem;
  font-size:.82rem; font-weight:600; color: var(--ink); background: var(--bg);
}

/* ---------- FAQ ---------- */
.faq-section{ max-width: 820px; margin-inline:auto; padding-inline: 1.5rem; }
.faq-section__titulo{ font-family: var(--display); font-weight:600; font-size: clamp(1.5rem, 1.3rem + 1vw, 2.1rem); }
.faq-lista{ margin-top: 2.2rem; display:flex; flex-direction:column; gap: .9rem; }
.faq__item{ border: 1px solid var(--line); border-radius: 14px; background: var(--surface); overflow:hidden; }
.faq__toggle{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding: 1.2rem 1.4rem; text-align:left; font-weight:600; font-size:1rem;
}
.faq__icone{ position:relative; width:18px; height:18px; flex:none; }
.faq__icone::before, .faq__icone::after{
  content:""; position:absolute; background: var(--accent); border-radius:2px;
  transition: transform .3s var(--ease-premium);
}
.faq__icone::before{ width:100%; height:2px; top:8px; left:0; }
.faq__icone::after{ width:2px; height:100%; top:0; left:8px; }
.faq__item.is-open .faq__icone::after{ transform: rotate(90deg); opacity:0; }
.faq__panel{ display:grid; grid-template-rows: 0fr; transition: grid-template-rows .35s var(--ease-premium); }
.faq__item.is-open .faq__panel{ grid-template-rows: 1fr; }
.faq__panel-inner{ overflow:hidden; }
.faq__panel-inner p{ padding: 0 1.4rem 1.3rem; color: var(--muted); font-size:.96rem; }

/* ---------- CTA final ---------- */
.cta-final{ background: var(--accent); color:#fff; }
.cta-final__inner{ max-width: 680px; margin-inline:auto; padding-inline: 1.5rem; text-align:center; }
.cta-final__inner h2{ font-family: var(--display); font-weight:600; font-size: clamp(1.6rem, 1.35rem + 1.3vw, 2.3rem); margin-bottom: 1.8rem; }
.cta-final .btn--gold{ background: var(--panel); }

/* ---------- footer ---------- */
.footer{ background: var(--panel); color: #D9C3AC; }
.footer__inner{ max-width:1180px; margin-inline:auto; padding: 3rem 1.5rem 2.2rem; }
.footer__marca-nome{ font-family: var(--display); font-style:italic; font-weight:600; font-size:1.3rem; color:#F8F1E6; display:block; }
.footer__marca-tag{ font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color: var(--gold); }
.footer__info{ margin-top: 1.4rem; font-size:.9rem; display:flex; flex-direction:column; gap:.3rem; }
.footer__info a{ color: var(--gold); width:fit-content; }
.footer__note{
  border-top: 1px solid rgba(217,195,172,.25); margin-top: 1.6rem; padding-top: 1.3rem;
  font-size:.74rem; line-height:1.6; color: #B49E86; max-width: 68ch;
}

/* ---------- WhatsApp flutuante ---------- */
.wa-float{
  position: fixed; right: 28px; bottom: 28px; z-index: 50;
  width: 80px; height: 80px; border-radius: 999px; background: var(--accent); color:#fff;
  display: grid; place-items: center;
  animation: pulse-whatsapp 2.4s infinite var(--ease-premium);
  transition: transform .3s var(--ease-premium), opacity .3s var(--ease-premium);
}
.wa-float svg{ width: 40px; height: 40px; }
@keyframes pulse-whatsapp{
  0%   { box-shadow: 0 0 0 0 rgba(178,61,110,.5); }
  70%  { box-shadow: 0 0 0 16px rgba(178,61,110,0); }
  100% { box-shadow: 0 0 0 0 rgba(178,61,110,0); }
}
.wa-float:hover{ transform: scale(1.08); }
.wa-float:active{ transform: scale(.96); }
.wa-float__tip{
  position:absolute; right: calc(100% + 14px); white-space:nowrap; background:#fff; color: var(--ink);
  padding: .5rem .85rem; border-radius:10px; opacity:0; transform: translateX(6px); pointer-events:none;
  transition: opacity .3s var(--ease-premium), transform .3s var(--ease-premium);
  font-size:.85rem; font-weight:600;
}
.wa-float:hover .wa-float__tip{ opacity:1; transform: translateX(0); }
@media (max-width: 759px){
  .wa-float{ width: 68px; height: 68px; right: 18px; bottom: 18px; }
  .wa-float svg{ width: 34px; height: 34px; }
  .wa-float__tip{ display:none; }
}
