:root {
  --bg:#f7f2eb;
  --surface:#fffdfa;
  --surface-alt:#efe3d4;
  --text:#1e1b18;
  --muted:#6e6257;
  --line:rgba(30,27,24,0.12);
  --accent:#b88a5a;
  --accent-dark:#8a6239;
  --white:#ffffff;
  --shadow:0 18px 45px rgba(33,22,12,0.08);
  --radius-lg:28px;
  --radius-md:18px;
  --radius-sm:12px;
  --container:min(1160px, calc(100% - 2rem));
}

* { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }

body {
  font-family:'Inter',sans-serif;
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
}

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

.container { width:var(--container); margin:0 auto; }

.site-header {
  position:absolute;
  inset:0 0 auto 0;
  z-index:20;
  padding-top:1rem;
}

.solid-header {
  position:sticky;
  top:0;
  background:rgba(247,242,235,0.92);
  backdrop-filter:blur(18px);
  border-bottom:1px solid var(--line);
}

.navbar {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:1rem 1.25rem;
  border-radius:999px;
  background:rgba(255,255,255,0.14);
  border:1px solid rgba(255,255,255,0.24);
  backdrop-filter:blur(18px);
}

.solid-header .navbar {
  background:rgba(255,255,255,0.72);
  border:1px solid var(--line);
}

.brand {
  font-family:'Cormorant Garamond',serif;
  font-size:2rem;
  font-weight:700;
  color:var(--white);
  letter-spacing:.03em;
}

.dark-brand { color:var(--text); }

.nav-links {
  display:flex;
  align-items:center;
  gap:1.5rem;
  color:rgba(255,255,255,0.92);
}

.dark-links { color:var(--text); }

.nav-links a {
  font-size:.96rem;
  font-weight:500;
}

.nav-links .active,
.active-link {
  color:var(--accent);
}

.nav-btn, .btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:none;
  cursor:pointer;
  transition:.3s ease;
}

.nav-btn {
  padding:.9rem 1.35rem;
  border-radius:999px;
  background:var(--accent);
  color:var(--white);
  box-shadow:0 10px 30px rgba(184,138,90,0.3);
}

.btn {
  padding:.95rem 1.4rem;
  border-radius:999px;
  font-weight:600;
}

.btn-primary {
  background:var(--accent);
  color:var(--white);
}

.btn-primary:hover,
.nav-btn:hover {
  background:var(--accent-dark);
  transform:translateY(-2px);
}

.btn-secondary {
  background:rgba(255,255,255,0.12);
  color:var(--white);
  border:1px solid rgba(255,255,255,0.24);
}

.dark-outline {
  background:transparent;
  color:var(--text);
  border:1px solid var(--line);
}

.full { width:100%; }

.section { padding:5.5rem 0; }

.eyebrow {
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.78rem;
  font-weight:700;
  margin-bottom:1rem;
  color:rgba(255,255,255,0.78);
}

.eyebrow.dark { color:var(--accent-dark); }

h1, h2, h3 {
  font-family:'Cormorant Garamond',serif;
  line-height:1.05;
  font-weight:700;
}

h1 { font-size:clamp(3rem, 8vw, 5.8rem); }
h2 { font-size:clamp(2.2rem, 5vw, 3.5rem); }
h3 { font-size:1.7rem; }

p { color:var(--muted); }

.section-heading {
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:1rem;
  margin-bottom:2.5rem;
}

.split { align-items:center; }

.text-link {
  font-weight:700;
  color:var(--accent-dark);
}

.page-offset { padding-top:3rem; }

.page-hero {
  padding:8rem 0 3rem;
  background:linear-gradient(180deg, rgba(239,227,212,0.55), rgba(247,242,235,0.9));
}

.page-hero p:last-child {
  margin-top:1rem;
  max-width:650px;
}

.card-surface {
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:24px;
  box-shadow:var(--shadow);
}

.whatsapp-float {
  position: fixed;
  right: 24px;
  bottom: 24px;
  background: #25D366;
  color: #fff;
  padding: 0.95rem 1.2rem;
  border-radius: 999px;
  font-weight: 700;
  box-shadow: 0 14px 30px rgba(37, 211, 102, 0.3);
  z-index: 999;
}

.whatsapp-float:hover {
  transform: translateY(-2px);
  background: #1ebe5d;
}

.ai-chat-widget {
  position: fixed;
  right: 24px;
  bottom: 90px;
  z-index: 1000;
}

.ai-chat-toggle {
  background: #1e1b18;
  color: #fff;
  border: none;
  border-radius: 999px;
  padding: 0.95rem 1.2rem;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 14px 30px rgba(30, 27, 24, 0.22);
}

.ai-chat-box {
  width: 340px;
  max-width: calc(100vw - 2rem);
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: 24px;
  overflow: hidden;
  margin-top: 0.75rem;
  display: none;
}

.ai-chat-box.active {
  display: block;
}

.ai-chat-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1rem 0.9rem;
  background: #1e1b18;
  color: #fff;
}

.ai-chat-header strong {
  display: block;
  font-size: 0.98rem;
}

.ai-chat-header span {
  font-size: 0.8rem;
  opacity: 0.75;
}

.ai-chat-close {
  background: transparent;
  border: none;
  color: #fff;
  font-size: 1.3rem;
  cursor: pointer;
}

.ai-chat-body {
  padding: 1rem;
  max-height: 280px;
  overflow-y: auto;
  background: #fcfaf7;
}

.ai-message {
  max-width: 85%;
  padding: 0.8rem 0.95rem;
  border-radius: 16px;
  margin-bottom: 0.75rem;
  font-size: 0.93rem;
  line-height: 1.5;
}

.ai-message.bot {
  background: #efe3d4;
  color: var(--text);
  border-bottom-left-radius: 6px;
}

.ai-message.user {
  background: var(--accent);
  color: #fff;
  margin-left: auto;
  border-bottom-right-radius: 6px;
}

.ai-chat-suggestions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 0 1rem 1rem;
  background: #fcfaf7;
}

.suggestion-btn {
  border: 1px solid var(--line);
  background: #fff;
  color: var(--text);
  border-radius: 999px;
  padding: 0.55rem 0.85rem;
  font-size: 0.82rem;
  cursor: pointer;
}

.ai-chat-input-wrap {
  display: flex;
  gap: 0.5rem;
  padding: 1rem;
  border-top: 1px solid var(--line);
  background: #fff;
}

.ai-chat-input-wrap input {
  flex: 1;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0.85rem 1rem;
  outline: none;
}

.ai-chat-input-wrap button {
  border: none;
  background: var(--accent);
  color: #fff;
  padding: 0.85rem 1rem;
  border-radius: 999px;
  font-weight: 700;
  cursor: pointer;
}

@media (max-width:900px) {
  .navbar, .nav-links { flex-wrap:wrap; }
  .navbar { border-radius:28px; }
}

@media (max-width:768px) {
  .ai-chat-widget {
    right: 16px;
    bottom: 84px;
  }

  .ai-chat-box {
    width: min(340px, calc(100vw - 1.5rem));
  }

  .whatsapp-float {
    right: 16px;
    bottom: 16px;
  }
}

@media (max-width:720px) {
  .nav-links {
    width:100%;
    justify-content:space-between;
    gap:1rem;
  }

  .brand { font-size:1.75rem; }
  .section { padding:4rem 0; }
  .page-offset { padding-top:2rem; }
}