/* =========================================================
   Dra. Patrícia Oliveira — Style Premium
   Paleta principal: vinho, grafite, champagne e dourado
   ========================================================= */

:root{
  --wine:#5f2a34;
  --wine-dark:#4a1f28;
  --wine-deep:#35151d;

  --graphite:#1f1f22;
  --graphite-2:#2a292c;

  --champagne:#d8c7a1;
  --gold:#b69556;
  --gold-dark:#8e723e;
  --cream:#f8f6f3;

  --white:#ffffff;
  --black:#111111;

  --text:#262626;
  --muted:#5b5b5b;
  --muted-light:#787878;
  --line:#e4e0d8;
  --line-dark:rgba(216,199,161,.25);

  --container:1160px;
  --radius-sm:12px;
  --radius:20px;
  --radius-lg:34px;

  --shadow-sm:0 10px 28px rgba(31,31,34,.08);
  --shadow:0 22px 60px rgba(31,31,34,.12);
  --shadow-dark:0 24px 70px rgba(0,0,0,.28);

  --transition:.25s ease;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--cream);
  color:var(--text);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
button,input,textarea,select{font:inherit;}

.container{
  width:min(var(--container),calc(100% - 32px));
  margin-inline:auto;
}

/* =========================
   Header
   ========================= */
.site-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,255,255,.94);
  border-bottom:1px solid rgba(95,42,52,.10);
  backdrop-filter:blur(18px);
  box-shadow:0 8px 24px rgba(31,31,34,.04);
}
.header-inner{
  min-height:82px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.brand{
    display:flex;
    align-items:center;
}

.logo{
    width:100%;
    max-width:240px;   /* ajuste conforme desejar */
    height:auto;
    display:block;
    transition:.3s ease;
}

.logo:hover{
    transform:scale(1.02);
}
.brand-mark{
  width:50px;
  height:50px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-family:'Playfair Display',Georgia,serif;
  font-weight:800;
  letter-spacing:-.03em;
  color:var(--champagne);
  background:linear-gradient(135deg,var(--wine),var(--wine-dark));
  border:1px solid rgba(216,199,161,.45);
  box-shadow:0 12px 30px rgba(95,42,52,.24);
}
.brand-text{display:grid;line-height:1.15;}
.brand-text strong{font-size:1rem;color:var(--wine);letter-spacing:-.01em;}
.brand-text small{font-size:.77rem;color:var(--muted);font-weight:700;}
.main-nav{
  display:flex;
  align-items:center;
  gap:22px;
  font-size:.92rem;
  font-weight:800;
  color:var(--graphite);
}
.main-nav a{
  position:relative;
  transition:color var(--transition);
}
.main-nav a::after{
  content:'';
  position:absolute;
  left:0;
  bottom:-7px;
  width:0;
  height:2px;
  background:var(--gold);
  transition:width var(--transition);
}
.main-nav a:hover{color:var(--wine);}
.main-nav a:hover::after{width:100%;}
.header-actions{display:flex;align-items:center;gap:10px;}
.menu-toggle{display:none;}

/* =========================
   Botões
   ========================= */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  padding:12px 20px;
  border-radius:999px;
  border:1px solid transparent;
  font-weight:900;
  font-size:.94rem;
  cursor:pointer;
  transition:transform var(--transition),box-shadow var(--transition),background var(--transition),border-color var(--transition),color var(--transition);
}
.btn:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(31,31,34,.18);
}
.btn-primary{
  color:var(--white);
  background:linear-gradient(135deg,var(--gold),var(--gold-dark));
  border-color:rgba(255,255,255,.12);
}
.btn-primary:hover{background:linear-gradient(135deg,var(--gold-dark),#765d32);}
.btn-secondary{
  color:var(--white);
  background:linear-gradient(135deg,var(--wine),var(--wine-dark));
  border-color:rgba(216,199,161,.25);
}
.btn-outline{
  color:var(--wine);
  background:var(--white);
  border-color:rgba(95,42,52,.22);
}
.btn-outline:hover{
  color:var(--white);
  background:var(--wine);
  border-color:var(--wine);
}
.btn-light{
  color:var(--wine);
  background:var(--white);
  border-color:rgba(255,255,255,.35);
}
.btn-lg{min-height:58px;padding:16px 28px;font-size:1rem;}

/* =========================
   Tipografia e seções
   ========================= */
.section{padding:90px 0;}
.soft-bg{background:var(--white);}
.section-dark{
  color:var(--white);
  background:
    radial-gradient(circle at 15% 8%,rgba(216,199,161,.22),transparent 28%),
    radial-gradient(circle at 86% 12%,rgba(182,149,86,.15),transparent 30%),
    linear-gradient(135deg,var(--wine-deep),var(--wine) 52%,var(--wine-dark));
}
.eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  color:var(--gold);
  font-size:.78rem;
  font-weight:950;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.section:not(.section-dark) .eyebrow,.soft-bg .eyebrow{color:var(--wine);}
h1,h2,h3{
  margin:0 0 16px;
  line-height:1.08;
  color:var(--wine);
}
h1,h2{font-family:'Playfair Display',Georgia,serif;letter-spacing:-.035em;}
h1{font-size:clamp(2.55rem,5.8vw,5.2rem);max-width:880px;}
h2{font-size:clamp(2rem,4vw,3.4rem);}
h3{font-size:1.25rem;letter-spacing:-.015em;}
.section-dark h1,.section-dark h2,.section-dark h3,.light-text h2{color:var(--white);}
p{margin:0 0 18px;color:var(--muted);}
.section-dark p{color:rgba(255,255,255,.82);}
.section-heading{max-width:720px;}
.section-heading.centered,.centered{text-align:center;margin-left:auto;margin-right:auto;}
.section-heading.centered p{max-width:760px;margin-left:auto;margin-right:auto;}

/* =========================
   Hero
   ========================= */
.hero{
  position:relative;
  overflow:hidden;
  padding:94px 0 78px;
}
.hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(31,31,34,.18),transparent 46%);
  pointer-events:none;
}
.hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1.12fr) minmax(320px,.78fr);
  gap:50px;
  align-items:center;
}
.hero-text{font-size:1.17rem;max-width:700px;}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:32px 0;}
.center-actions{justify-content:center;}
.trust-bar{display:flex;flex-wrap:wrap;gap:10px;}
.trust-bar span{
  padding:10px 14px;
  border-radius:999px;
  color:rgba(255,255,255,.92);
  background:rgba(255,255,255,.08);
  border:1px solid rgba(216,199,161,.28);
  font-size:.9rem;
  font-weight:800;
}
.hero-card{
    position:relative;
    overflow:hidden;
    min-height:520px;
    border-radius:28px;
    padding:34px;
    display:flex;
    align-items:flex-end;
    background:
        linear-gradient(rgba(31,31,34,.15), rgba(31,31,34,.88)),
        url("imagens/hero-card.webp") center/cover no-repeat;
    box-shadow:0 35px 90px rgba(0,0,0,.30);
}
.hero-card::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(95,42,52,.05) 0%,rgba(53,21,29,.88) 100%);
}
.urgent-box{

    width:100%;

    background:rgba(255,255,255,.10);

    backdrop-filter:blur(14px);

    -webkit-backdrop-filter:blur(14px);

    border:1px solid rgba(255,255,255,.18);

    border-radius:18px;

    padding:30px;

}
.urgent-box strong{display:block;color:var(--champagne);font-size:1.3rem;margin-bottom:8px;}
.urgent-box ul{margin:14px 0 0;padding-left:20px;color:rgba(255,255,255,.88);}

/* =========================
   Faixa de conversão
   ========================= */
.conversion-strip{
  padding:20px 0;
  color:var(--white);
  background:linear-gradient(135deg,var(--graphite),var(--wine-dark));
  border-top:1px solid rgba(216,199,161,.2);
  border-bottom:1px solid rgba(216,199,161,.2);
}
.strip-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;}
.strip-inner span{font-weight:800;color:rgba(255,255,255,.88);}

/* =========================
   Cards e grids
   ========================= */
.service-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:42px;
}
.service-card{
  position:relative;
  overflow:hidden;
  padding:30px;
  border-radius:var(--radius);
  background:var(--white);
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
  transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);
}
.service-card::before{
  content:'';
  position:absolute;
  inset:0 0 auto 0;
  height:4px;
  background:linear-gradient(90deg,var(--wine),var(--gold));
  opacity:.9;
}
.service-card:hover{
  transform:translateY(-7px);
  border-color:rgba(182,149,86,.55);
  box-shadow:var(--shadow);
}
.card-number{
  display:inline-block;
  margin-bottom:10px;
  color:var(--gold);
  font-size:.82rem;
  font-weight:950;
  letter-spacing:.12em;
}
.service-card a{
  display:inline-flex;
  margin-top:6px;
  color:var(--wine);
  font-weight:950;
  border-bottom:2px solid var(--gold);
}
.two-col,.about-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:56px;
  align-items:center;
}
.feature-list{display:grid;gap:16px;}
.feature-list div{
  padding:24px;
  border-radius:var(--radius);
  background:var(--white);
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
}
.feature-list strong{display:block;margin-bottom:6px;color:var(--wine);font-size:1.1rem;}
.feature-list span{color:var(--muted);}
.portrait{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:center;
}

.portrait img{
    width:100%;
    max-width:480px;
    border-radius:18px;
    object-fit:cover;
    display:block;
    border:6px solid #fff;
    box-shadow:0 30px 70px rgba(0,0,0,.18);
    transition:.35s ease;
}

.portrait img:hover{
    transform:translateY(-8px);
}
.portrait-placeholder span{
  padding:14px 20px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  border:1px solid rgba(95,42,52,.16);
  box-shadow:var(--shadow-sm);
}
.landing-pages{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
  margin-top:42px;
}
.mini-page{
  padding:34px;
  border-radius:26px;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(216,199,161,.24);
  box-shadow:0 18px 44px rgba(0,0,0,.12);
}
.mini-page .btn{margin-top:10px;}

/* =========================
   FAQ
   ========================= */
.faq-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:16px;
  margin-top:36px;
}
details{
  padding:20px 22px;
  border-radius:18px;
  background:var(--white);
  border:1px solid var(--line);
  box-shadow:var(--shadow-sm);
}
summary{
  color:var(--wine);
  cursor:pointer;
  font-weight:950;
}
details p{margin-top:12px;margin-bottom:0;}

/* =========================
   CTA final e rodapé
   ========================= */
.final-cta{padding:82px 0;}
.final-cta p{max-width:640px;margin-left:auto;margin-right:auto;}
.site-footer{
  padding:66px 0 32px;
  color:var(--white);
  background:
    radial-gradient(circle at 12% 8%,rgba(182,149,86,.16),transparent 28%),
    linear-gradient(135deg,var(--graphite),var(--wine-deep));
}
.footer-grid{
  display:grid;
  grid-template-columns:1.4fr 1fr 1fr 1fr;
  gap:36px;
}
.footer-grid h3{color:var(--champagne);font-size:1rem;}
.footer-grid p,.footer-grid a{display:block;margin-bottom:10px;color:rgba(255,255,255,.76);}
.footer-grid a:hover{color:var(--champagne);}
.footer-brand{margin-bottom:18px;}
.footer-brand .brand-text strong{color:var(--white);}
.footer-brand .brand-text small{color:var(--champagne);}
.footer-bottom{
  display:flex;
  justify-content:space-between;
  gap:20px;
  margin-top:42px;
  padding-top:22px;
  color:rgba(255,255,255,.58);
  border-top:1px solid rgba(216,199,161,.20);
}

/* =========================
   Ações flutuantes
   ========================= */
.floating-actions{
  position:fixed;
  z-index:60;
  right:18px;
  bottom:18px;
  display:flex;
  gap:10px;
}
.floating-actions a{
  padding:13px 18px;
  border-radius:999px;
  color:var(--white);
  font-weight:950;
  background:linear-gradient(135deg,var(--wine),var(--wine-dark));
  border:1px solid rgba(216,199,161,.35);
  box-shadow:0 16px 36px rgba(0,0,0,.24);
}
.floating-actions a:hover{background:linear-gradient(135deg,var(--gold),var(--gold-dark));}
.float-whatsapp{background:linear-gradient(135deg,var(--gold),var(--gold-dark))!important;}

/* =========================
   Animações
   ========================= */
.reveal{animation:fadeUp .8s ease both;}
.delay-1{animation-delay:.18s;}
@keyframes fadeUp{
  from{opacity:0;transform:translateY(20px);}
  to{opacity:1;transform:translateY(0);}
}

/* =========================
   Páginas internas
   ========================= */
main .section:first-child.section-dark,
.page-hero{
  padding-top:96px;
  padding-bottom:78px;
}
.breadcrumb,
.breadcrumb a{
  color:rgba(255,255,255,.72);
  font-weight:800;
  font-size:.9rem;
}
.breadcrumb{margin-bottom:18px;}

/* =========================
   Responsivo
   ========================= */
@media (max-width:1040px){
  .header-actions{display:none;}
  .service-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:820px){
  .menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    border-radius:12px;
    border:1px solid rgba(95,42,52,.18);
    background:var(--white);
    color:var(--wine);
    font-size:1.2rem;
  }
  .main-nav{
    position:absolute;
    left:16px;
    right:16px;
    top:82px;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:16px;
    padding:20px;
    border-radius:20px;
    background:var(--white);
    border:1px solid rgba(95,42,52,.13);
    box-shadow:var(--shadow);
  }
  .main-nav.active{display:flex;}
  .hero{padding:66px 0 54px;}
  .hero-grid,.two-col,.about-grid,.landing-pages,.faq-grid{grid-template-columns:1fr;}
  .hero-card{min-height:390px;}
  .strip-inner{flex-direction:column;align-items:flex-start;}
  .service-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;}
  .floating-actions{left:14px;right:14px;bottom:14px;}
  .floating-actions a{flex:1;text-align:center;padding:12px 10px;}
}
@media (max-width:520px){
  .container{width:min(100% - 24px,var(--container));}
  .brand-text strong{font-size:.92rem;}
  .brand-text small{font-size:.72rem;}
  .section{padding:64px 0;}
  .hero-actions .btn,.center-actions .btn{width:100%;}
  .trust-bar span{width:calc(50% - 5px);text-align:center;}
  .portrait-placeholder{min-height:360px;}
  .mini-page,.service-card{padding:24px;}
  .floating-actions{font-size:.86rem;}
}
