:root{
  --brand:#9e3f56;
  --brand-dark:#6f2136;
  --brand-soft:#f6e2e7;
  --accent:#547c42;
  --accent-soft:#dce9d2;
  --ink:#24171b;
  --muted:#69575d;
  --line:#ead8de;
  --bg:#fffdf9;
  --surface:#ffffff;
  --surface-soft:#f9f3ef;
  --surface-alt:#f5eeea;
  --radius:8px;
  --shadow-sm:0 12px 28px rgba(36,23,27,.06);
  --shadow-md:0 24px 48px rgba(36,23,27,.09);
  --max:1200px;
}

*{box-sizing:border-box}

html{
  scroll-behavior:smooth;
}

body{
  margin:0;
  padding:0;
  background:linear-gradient(180deg,#fffdf9 0%,#fffaf4 100%);
  color:var(--ink);
  font-family:Inter,system-ui,Arial,sans-serif;
  overflow-x:hidden;
}

body.lightbox-open{overflow:hidden}

img{max-width:100%;display:block}

h1,h2,h3{
  font-family:Poppins,Inter,system-ui,Arial,sans-serif;
  margin:0 0 .5rem;
  letter-spacing:0;
  overflow-wrap:anywhere;
}

h1{font-size:clamp(2.4rem,4vw,4.4rem);line-height:1.02}
h2{font-size:clamp(1.8rem,2.8vw,3rem);line-height:1.1}
h3{font-size:1.1rem;line-height:1.3}

p,li{
  font-size:1rem;
  line-height:1.65;
  overflow-wrap:anywhere;
}

a{
  color:var(--brand);
  text-decoration:none;
  overflow-wrap:anywhere;
}

a:hover{color:var(--brand-dark)}

.section{
  padding:72px 20px;
  max-width:var(--max);
  margin:auto;
}

.page{
  max-width:var(--max);
  margin:auto;
  padding:36px 20px;
}

.btn-primary,
.btn-outline,
.btn-whatsapp,
.btn-footer{
  min-height:48px;
  padding:12px 18px;
  border-radius:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  font-weight:700;
  transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;
  cursor:pointer;
}

.btn-primary{
  background:var(--brand);
  color:#fff;
  border:1px solid var(--brand);
  box-shadow:0 14px 26px rgba(158,63,86,.18);
}

.btn-primary:hover{
  background:var(--brand-dark);
  color:#fff;
  transform:translateY(-1px);
}

.btn-primary:visited,
.btn-primary:active,
.nav .btn-primary,
.nav .btn-primary:visited,
.nav .btn-primary:hover{
  color:#fff;
}

.btn-outline{
  border:1px solid rgba(158,63,86,.28);
  color:var(--brand);
  background:#fff;
}

.btn-outline:hover{
  background:var(--brand-soft);
  color:var(--brand-dark);
  border-color:rgba(158,63,86,.4);
}

.btn-whatsapp{
  background:#1fb45b;
  color:#fff;
  border:1px solid #1fb45b;
}

.btn-whatsapp:hover{
  background:#16984a;
  color:#fff;
  border-color:#16984a;
}

.card{
  background:var(--surface);
  border-radius:var(--radius);
  padding:24px;
  border:1px solid rgba(158,63,86,.1);
  box-shadow:var(--shadow-sm);
}

.card-grid{
  display:grid;
  gap:18px;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
}

.pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(84,124,66,.18);
  padding:10px 14px;
  border-radius:8px;
  margin:6px 6px 0 0;
  background:#fff;
  color:var(--accent);
  font-weight:600;
}

.check{
  padding-left:18px;
}

.check li{
  margin:.45rem 0;
}
