/* =========================================================
   TEMA BEGE MID (NEM CLARO NEM ESCURO)
   Roxo somente em: BOTÕES e TÍTULOS/DESTAQUES
   ========================================================= */
:root{
  /* Base BEGE mid */
  --bg-main: #c3b7ab;       /* (um pouco mais fechado) */
  --bg-soft: #c3b7ab;
  --bg-card: rgba(255, 252, 248, 0.56);
  --bg-card-strong: rgba(244, 237, 231, 0.84);
  --border-soft: rgba(40, 28, 18, 0.16);

  /* Textos */
  --ink: #1c1410;
  --ink-soft: rgba(28, 20, 16, 0.78);
  --ink-muted: rgba(28, 20, 16, 0.58);

  /* Roxo (CTA) */
  --cta: #5b3dbf;
  --cta-strong: #2f1857;

  /* Roxo/ameixa para títulos (combina com bege) */
  --title: #2e1a55;

  /* Brilhos sutis */
  --glow-warm: rgba(230, 198, 165, 0.22);
  --glow-lilac: rgba(196, 182, 230, 0.16);

  /* Sombra e raios */
  --shadow-soft: 0 22px 60px rgba(10, 7, 14, 0.22);
  --shadow-strong: 0 28px 90px rgba(10, 7, 14, 0.32);
  --radius-lg: 24px;
  --radius-md: 16px;
  --radius-pill: 999px;

  --header-height: 76px;
}

/* RESET */
*,
*::before,
*::after{ box-sizing: border-box; }

html{ scroll-behavior: smooth; }

::selection{ background: rgba(91, 61, 191, 0.18); }

body{
  margin:0;
  font-family:"Nunito",system-ui,-apple-system,BlinkMacSystemFont,sans-serif;
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
  min-height:100vh;

  background:
    radial-gradient(circle at 12% 10%, var(--glow-lilac) 0, transparent 58%),
    radial-gradient(circle at 90% 18%, var(--glow-warm) 0, transparent 62%),
    linear-gradient(180deg, var(--bg-main) 0%, #b5a89c 55%, #ab9f94 100%);
}

/* Links (neutros) */
a{ color: inherit; }
a:hover{ color: rgba(28,20,16,0.92); }

/* CONTAINER & SECTION */
.container{
  width:100%;
  max-width:1120px;
  margin:0 auto;
  padding:0 1.5rem;
}

.section{ padding: 6rem 0 5rem; }

.section-soft{
  padding: 6rem 0 5rem;
  background:
    radial-gradient(circle at 18% 22%, rgba(196,182,230,0.10) 0, transparent 62%),
    linear-gradient(180deg, rgba(163,149,136,0.92), rgba(163,149,136,0.82));
  border-top: 1px solid rgba(40,28,18,0.12);
  border-bottom: 1px solid rgba(40,28,18,0.12);
}

/* HEADER */
.main-header{
  position: sticky;
  top:0;
  z-index:50;
  backdrop-filter: blur(16px);
  background: rgba(173,159,146,0.78);
  border-bottom: 1px solid rgba(40,28,18,0.16);
}

.main-header.scrolled{
  background: rgba(173,159,146,0.92);
  box-shadow: 0 14px 48px rgba(10,7,14,0.30);
}

.header-wrapper{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height: var(--header-height);
  gap:1.5rem;
}

/* Scroll progress (CTA sutil) */
.scroll-progress{
  position:absolute;
  inset-inline:0;
  top:0;
  height:3px;
  background: linear-gradient(90deg, var(--cta), var(--cta-strong));
  transform-origin:left;
  transform: scaleX(0);
  filter: drop-shadow(0 8px 16px rgba(91,61,191,0.22));
}

/* BRAND */
.brand{ display:flex; align-items:center; gap:.75rem; }

.brand-mark{
  width:48px;
  height:48px;
  border-radius:50%;
  background: radial-gradient(circle at 20% 20%, rgba(255,255,255,0.72) 0, rgba(230, 198, 165, 0.20) 65%);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 18px 44px rgba(10,7,14,0.24);
  padding:2px;
  overflow:hidden;
  border: 1px solid rgba(40,28,18,0.14);
}

.brand-avatar{
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
  display:block;
}

.brand-text{ display:flex; flex-direction:column; }

.brand-name{
  font-family:"Poppins",system-ui,sans-serif;
  font-size:.98rem;
  font-weight:600;
  letter-spacing:.02em;
}

.brand-subtitle{
  font-size:.78rem;
  color: var(--ink-muted);
}

/* NAV (neutro) */
.nav{
  display:flex;
  align-items:center;
  gap:1.5rem;
  font-size:.92rem;
}

.nav a{
  text-decoration:none;
  color: var(--ink-soft);
  position:relative;
  padding-bottom:2px;
  transition: color .2s ease;
}

.nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:0;
  height:2px;
  border-radius:999px;
  background: rgba(28,20,16,0.55);
  transition: width .25s ease;
}

.nav a:hover{ color: rgba(28,20,16,0.92); }
.nav a:hover::after{ width:100%; }

/* MENU TOGGLE */
.menu-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(40,28,18,0.18);
  background: rgba(255,252,248,0.26);
  cursor:pointer;
  backdrop-filter: blur(10px);
}

.menu-toggle span{
  display:block;
  width:16px;
  height:2px;
  border-radius:999px;
  background: rgba(28,20,16,0.55);
  margin:0 auto;
}

/* BUTTONS (roxo só aqui) */
.btn{
  border-radius: var(--radius-pill);
  border:none;
  padding:.82rem 1.6rem;
  font-size:.9rem;
  font-weight:500;
  font-family:"Poppins",system-ui,sans-serif;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.35rem;
  transition: transform .15s ease, box-shadow .15s ease, background .2s ease, color .2s ease, border-color .2s ease;
  white-space:nowrap;
}

.btn:focus-visible{
  outline:none;
  box-shadow: 0 0 0 4px rgba(91,61,191,0.22);
}

.btn-primary{
  background: linear-gradient(135deg, var(--cta), var(--cta-strong));
  color:#fff;
  box-shadow: 0 18px 50px rgba(47,24,87,0.46);
}

.btn-primary:hover{
  transform: translateY(-1px);
  box-shadow: 0 22px 60px rgba(47,24,87,0.58);
}

.btn-ghost{
  background: rgba(255,252,248,0.22);
  border: 1px solid rgba(40,28,18,0.18);
  color: var(--ink-soft);
  backdrop-filter: blur(10px);
}

.btn-ghost:hover{
  border-color: rgba(40,28,18,0.30);
  color: rgba(28,20,16,0.92);
  transform: translateY(-1px);
}

.btn-outline{
  background: rgba(255,252,248,0.18);
  border: 1px solid rgba(40,28,18,0.18);
  color: var(--ink);
  backdrop-filter: blur(10px);
}

.btn-outline:hover{
  border-color: rgba(40,28,18,0.30);
  color: rgba(28,20,16,0.92);
}

.btn-small{ font-size:.8rem; padding:.55rem 1.2rem; }
.full-width{ width:100%; }

/* HERO */
.hero{ padding-top:7rem; }

.hero-grid{
  display:grid;
  grid-template-columns: minmax(0,1.4fr) minmax(0,1.1fr);
  gap:3.5rem;
  align-items:center;
}

.overline{
  text-transform: uppercase;
  letter-spacing:.08em;
  font-size:.75rem;
  color: var(--ink-muted);
  font-weight:800;
}

.hero h1{
  margin-top:.9rem;
  font-family:"Poppins",system-ui,sans-serif;
  font-size:2.4rem;
  line-height:1.15;
  letter-spacing:.01em;
  color: var(--ink);
}

/* destaque do título (ameixa) */
.hero h1 .highlight{ color: var(--title); }

.hero-subtitle{
  margin-top:1.1rem;
  font-size:1rem;
  color: var(--ink-soft);
  max-width:34rem;
}

.hero-actions{
  margin-top:1.8rem;
  display:flex;
  flex-wrap:wrap;
  gap:.9rem;
}

.hero-badges{
  margin-top:2.2rem;
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
}

/* badges neutros */
.badge{
  padding:.8rem 1rem;
  border-radius: var(--radius-pill);
  background: rgba(255,252,248,0.18);
  border: 1px solid rgba(40,28,18,0.14);
  display:flex;
  flex-direction:column;
  backdrop-filter: blur(10px);
}

.badge-title{
  font-size:.82rem;
  font-weight:800;
  color: rgba(28,20,16,0.90);
}

.badge-text{
  font-size:.78rem;
  color: var(--ink-soft);
}

/* HERO VISUAL */
.hero-visual{ position:relative; }

.hero-photo-frame{
  position:relative;
  width:100%;
  max-width:360px;
  margin-left:auto;
}

.hero-soft-bg{
  position:absolute;
  inset:-12%;
  border-radius:40px;
  background:
    radial-gradient(circle at 10% 0, rgba(230,198,165,0.22), rgba(196,182,230,0.14));
  opacity:.95;
  filter: blur(2px);
}

.hero-photo{
  position:relative;
  height:420px;
  border-radius:40px;
  background: linear-gradient(160deg, rgba(255,252,248,0.40) 0, rgba(173,159,146,0.20) 45%, rgba(163,149,136,0.35) 100%);
  border: 1px solid rgba(40,28,18,0.14);
  box-shadow: var(--shadow-soft);
  overflow:hidden;
}

.hero-photo::after{
  content:"";
  position:absolute;
  inset:0;
  background: radial-gradient(circle at 30% 20%, rgba(196,182,230,0.14), transparent 60%);
  pointer-events:none;
}

.hero-photo-img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  border-radius:32px;
  display:block;
}

/* Floating cards */
.hero-floating-card{
  position:absolute;
  left:-18%;
  right:-18%;
  margin:0 auto;
  max-width:260px;
  padding:.9rem 1.1rem;
  background: rgba(244,237,231,0.82);
  border-radius:999px;
  box-shadow: 0 20px 52px rgba(10,7,14,0.28);
  display:flex;
  flex-direction:column;
  gap:.1rem;
  border: 1px solid rgba(40,28,18,0.16);
  backdrop-filter: blur(12px);
}

.hero-floating-card--top{ top:-6%; }

.hero-floating-card--bottom{
  bottom:-4%;
  flex-direction:row;
  align-items:baseline;
  justify-content:center;
  gap:.35rem;
}

.hero-floating-card .label{
  font-size:.76rem;
  font-weight:900;
  color: rgba(28,20,16,0.88);
  text-transform: uppercase;
  letter-spacing:.09em;
}

.hero-floating-card .text{
  font-size:.82rem;
  color: var(--ink-soft);
}

.counter{
  font-family:"Poppins",system-ui,sans-serif;
  font-size:1.5rem;
  font-weight:800;
  color: rgba(28,20,16,0.90);
}

.counter-label{
  font-size:.78rem;
  color: var(--ink-soft);
}

/* SECTION HEADER */
.section-header{
  text-align:center;
  max-width:540px;
  margin:0 auto 3rem;
}

.section-header.align-left{
  text-align:left;
  margin-left:0;
}

/* títulos (ameixa) */
.section-header h2{
  margin-top:.7rem;
  font-family:"Poppins",system-ui,sans-serif;
  font-size:1.7rem;
  color: var(--title);
}

.section-subtitle{
  margin-top:.7rem;
  color: var(--ink-soft);
  font-size:.96rem;
}

/* CARDS GRID */
.cards-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap:1.5rem;
}

.card{
  background: var(--bg-card);
  border-radius: var(--radius-lg);
  padding: 1.5rem 1.6rem;
  box-shadow: var(--shadow-soft);
  border: 1px solid var(--border-soft);
  backdrop-filter: blur(12px);
}

.service-card h3,
.diff-card h3{
  margin-top:0;
  font-family:"Poppins",system-ui,sans-serif;
  font-size:1.05rem;
  color: rgba(28,20,16,0.92);
}

.service-card p,
.diff-card p{
  margin-top:.6rem;
  font-size:.9rem;
  color: var(--ink-soft);
}

/* TWO COLUMNS */
.two-columns{
  display:grid;
  grid-template-columns: minmax(0,1.3fr) minmax(0,1fr);
  gap:2.5rem;
  align-items:center;
}

.list-check{
  list-style:none;
  padding:0;
  margin:2rem 0 0;
  display:flex;
  flex-direction:column;
  gap:.95rem;
}

.list-check li{
  position:relative;
  padding-left:1.8rem;
  font-size:.96rem;
  color: var(--ink-soft);
}

.list-check li::before{
  content:"✦";
  position:absolute;
  left:.2rem;
  top:0;
  font-size:.8rem;
  color: rgba(28,20,16,0.70);
}

/* SOFT CARD */
.soft-card{
  background: linear-gradient(145deg, rgba(244,237,231,0.86), rgba(230,198,165,0.10));
  border-radius: var(--radius-lg);
  padding: 1.8rem 1.6rem 1.6rem;
  border: 1px solid rgba(40,28,18,0.16);
  box-shadow: var(--shadow-soft);
  backdrop-filter: blur(12px);
}

.soft-card h3{
  margin-top:0;
  font-family:"Poppins",system-ui,sans-serif;
  color: rgba(28,20,16,0.92);
}

.soft-card p{
  margin-top:.7rem;
  font-size:.9rem;
  color: var(--ink-soft);
}

/* CONTATO */
.contact-grid{
  display:grid;
  grid-template-columns: minmax(0,1.3fr) minmax(0,1fr);
  gap:2.5rem;
  align-items:flex-start;
}

.contact-list{
  list-style:none;
  padding:0;
  margin:2rem 0 0;
  display:flex;
  flex-direction:column;
  gap:1rem;
}

.contact-label{
  display:block;
  font-size:.8rem;
  text-transform: uppercase;
  letter-spacing:.09em;
  color: var(--ink-muted);
}

.contact-value{
  font-size:.96rem;
  color: var(--ink);
}

.contact-value:hover{ color: rgba(28,20,16,0.92); }

.contact-actions{ margin-top:2rem; }

/* MAP */
.map-embed{
  width:100%;
  height:320px;
  overflow:hidden;
  border-radius:16px;
  box-shadow: 0 16px 52px rgba(10,7,14,0.28);
  border: 1px solid rgba(40,28,18,0.16);
  background: rgba(255,252,248,0.18);
  backdrop-filter: blur(10px);
}

.note-card{
  margin-top:1.2rem;
  padding:1rem 1.2rem;
  border-radius:18px;
  background: rgba(255,252,248,0.18);
  font-size:.88rem;
  color: var(--ink-soft);
  border: 1px solid rgba(40,28,18,0.14);
  backdrop-filter: blur(10px);
}

/* POPUP */
.lead-popup{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:80;
}

.lead-popup.active{ display:flex; }

.lead-popup-overlay{
  position:absolute;
  inset:0;
  background: rgba(10,7,14,0.54);
  backdrop-filter: blur(6px);
}

.lead-popup-inner{
  position:relative;
  z-index:1;
  width: min(420px, 90vw);
  background: rgba(244,237,231,0.92);
  border-radius:24px;
  padding: 1.9rem 1.7rem 1.6rem;
  box-shadow: var(--shadow-strong);
  border: 1px solid rgba(40,28,18,0.18);
  backdrop-filter: blur(14px);
}

.lead-popup-close{
  position:absolute;
  top:.85rem;
  right:.85rem;
  width:28px;
  height:28px;
  border-radius:999px;
  border:none;
  background: rgba(255,252,248,0.22);
  cursor:pointer;
  font-size:.9rem;
  color: var(--ink-soft);
}

.lead-popup-title{
  margin:0;
  font-family:"Poppins",system-ui,sans-serif;
  font-size:1.1rem;
  color: rgba(28,20,16,0.92);
}

.lead-popup-text{
  margin-top:.7rem;
  font-size:.9rem;
  color: var(--ink-soft);
}

/* WHATSAPP FLOAT */
.whatsapp-float{
  position:fixed;
  right:1.4rem;
  bottom:1.4rem;
  width:52px;
  height:52px;
  border-radius:50%;
  background: rgba(244,237,231,0.86);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: 0 22px 70px rgba(10,7,14,0.34);
  text-decoration:none;
  z-index:70;
  border: 1px solid rgba(40,28,18,0.16);
  backdrop-filter: blur(12px);
}

.whatsapp-float:hover{
  transform: translateY(-1px);
  box-shadow: 0 26px 80px rgba(10,7,14,0.38);
}

.whatsapp-icon{ font-size:1.9rem; }

/* FOOTER */
.footer{
  padding:1.4rem 0 1.6rem;
  background: rgba(173,159,146,0.86);
  border-top: 1px solid rgba(40,28,18,0.16);
  backdrop-filter: blur(14px);
}

.footer-content{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  align-items:center;
  justify-content:space-between;
  font-size:.8rem;
  color: var(--ink-soft);
}

.footer-credit{ opacity:.9; }

/* ANIMAÇÕES */
.animate-on-scroll{
  opacity:0;
  transform: translateY(18px);
  transition: opacity .7s ease, transform .7s ease;
}

.animate-on-scroll[data-animation="fade-left"]{ transform: translateX(20px); }
.animate-on-scroll[data-animation="fade-right"]{ transform: translateX(-20px); }

.animate-on-scroll.in-view{
  opacity:1;
  transform: translate(0,0);
}

/* RESPONSIVO */
@media (max-width: 992px){
  .hero-grid{ grid-template-columns: minmax(0,1.1fr); }
  .hero-visual{ order:-1; }
  .hero-photo-frame{ margin-inline:auto; }
  .cards-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); }
  .two-columns, .contact-grid{ grid-template-columns: minmax(0,1fr); }
  .contact-extra{ order:-1; }
}

@media (max-width: 768px){
  .header-wrapper{ gap:.8rem; }

  .nav{
    position:fixed;
    inset-inline:0;
    top: var(--header-height);
    background: rgba(173,159,146,0.95);
    padding: 1.2rem 1.5rem 1.6rem;
    flex-direction:column;
    align-items:flex-start;
    gap:.9rem;
    transform-origin: top;
    transform: scaleY(0);
    opacity:0;
    pointer-events:none;
    border-bottom: 1px solid rgba(40,28,18,0.16);
    backdrop-filter: blur(16px);
  }

  .nav.open{
    transform: scaleY(1);
    opacity:1;
    pointer-events:auto;
  }

  .btn-outline.btn-small{ display:none; }
  .menu-toggle{ display:flex; }

  .section, .section-soft{ padding: 4.5rem 0 4rem; }
  .hero{ padding-top: 5.5rem; }
}

@media (max-width: 640px){
  .hero h1{ font-size: 1.9rem; }
  .cards-grid{ grid-template-columns: minmax(0,1fr); }
  .card{ padding: 1.35rem 1.3rem; }

  .footer-content{
    flex-direction:column;
    align-items:flex-start;
  }

  .whatsapp-float{
    right:1rem;
    bottom:1rem;
    width:48px;
    height:48px;
  }

  .whatsapp-icon{ font-size: 1.7rem; }
}
