:root{
  --wine:#7b1e2b;
  --wine-dark:#5f1721;
  --petrol:#2f6f68;
  --petrol-dark:#245752;
  --sage:#a7bfa3;
  --sand:#faf7f2;
  --sand-strong:#f1e8dd;
  --cream:#fffdf8;
  --ink:#1f2933;
  --muted:#68727d;
  --line:rgba(31,41,51,.10);
  --site-shadow:0 24px 70px rgba(53,37,32,.12);
  --site-soft-shadow:0 14px 38px rgba(53,37,32,.09);
}

body{
  color:var(--ink);
  background:
    radial-gradient(circle at 12% 8%,rgba(167,191,163,.24),transparent 34%),
    radial-gradient(circle at 88% 14%,rgba(123,30,43,.10),transparent 28%),
    linear-gradient(180deg,#fffaf2 0%,var(--sand) 44%,#fff 100%);
}

.site-container{
  width:min(1160px,calc(100% - 40px));
  margin:0 auto;
}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(250,247,242,.86);
  border-bottom:1px solid rgba(123,30,43,.13);
  backdrop-filter:blur(18px);
}

.site-nav{
  min-height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

.site-brand{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}

.site-brand img{
  height:74px;
  width:auto;
  display:block;
  filter:drop-shadow(0 10px 18px rgba(65,39,42,.12));
}

.site-menu{
  display:flex;
  align-items:center;
  gap:8px;
  padding:7px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:999px;
  background:rgba(255,253,248,.78);
  box-shadow:0 12px 32px rgba(45,36,31,.06);
}

.site-menu a,
.site-actions a,
.site-mobile-bar a{
  text-decoration:none;
  font-weight:800;
}

.site-menu a{
  border-radius:999px;
  padding:10px 13px;
  color:#2f363f;
  font-size:14px;
  transition:.18s ease;
}

.site-menu a:hover,
.site-menu a.active{
  color:var(--petrol-dark);
  background:rgba(47,111,104,.10);
}

.site-actions{
  display:flex;
  align-items:center;
  gap:9px;
}

.site-action{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  border-radius:999px;
  padding:12px 17px;
  border:0;
  cursor:pointer;
  font:inherit;
  font-weight:850;
  white-space:nowrap;
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}

.site-action:hover{
  transform:translateY(-2px);
}

.site-action.phone{
  color:var(--petrol-dark);
  background:rgba(47,111,104,.10);
}

.site-action.whatsapp{
  color:#fff;
  background:linear-gradient(135deg,var(--petrol),var(--petrol-dark));
  box-shadow:0 14px 30px rgba(47,111,104,.22);
}

.site-action.primary{
  color:#fff;
  background:linear-gradient(135deg,var(--wine),var(--wine-dark));
  box-shadow:0 18px 38px rgba(123,30,43,.24);
}

.site-footer{
  padding:28px 0 94px;
  color:var(--muted);
  font-size:14px;
  border-top:1px solid rgba(31,41,51,.08);
  background:rgba(255,253,248,.72);
}

.site-footer-inner{
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

.site-footer a{
  color:var(--wine-dark);
  text-decoration:none;
  font-weight:800;
  margin-left:14px;
}

.site-mobile-bar{
  position:fixed;
  left:12px;
  right:12px;
  bottom:12px;
  z-index:110;
  display:none;
  gap:8px;
  padding:8px;
  border-radius:22px;
  background:rgba(255,253,248,.92);
  box-shadow:0 20px 50px rgba(31,41,51,.18);
  backdrop-filter:blur(16px);
}

.site-mobile-bar a{
  flex:1;
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  border-radius:16px;
  color:var(--petrol-dark);
  background:rgba(47,111,104,.10);
  font-size:14px;
}

.site-mobile-bar a.primary{
  color:#fff;
  background:linear-gradient(135deg,var(--wine),var(--wine-dark));
}

@media (max-width:1040px){
  .site-menu{
    display:none;
  }
}

@media (max-width:760px){
  .site-container{
    width:min(100% - 28px,1160px);
  }

  .site-nav{
    min-height:70px;
  }

  .site-brand img{
    height:62px;
  }

  .site-actions{
    display:none;
  }

  .site-mobile-bar{
    display:flex;
  }
}
