/* ===== Base ===== */
body {
  min-height: max(884px, 100dvh);
}

.material-symbols-outlined {
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 24;
}

/* Color tokens (mirror Tailwind config) */
:root {
  --primary: #1A2634;
  --accent: #D6B883;
  --light: #F5F7FA;
}

/* ===== Buttons & Links ===== */
main a.button-link,
button.button-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  min-width: 5.25rem;
  padding: 0.75rem 1.25rem;
  font-weight: 700;
  border-radius: 0.75rem;
  transition: background-color 150ms ease-in-out, color 150ms ease-in-out, box-shadow 150ms;
}

.button-primary {
  background-color: var(--accent);
  color: var(--primary);
}
.button-primary:hover {
  filter: brightness(1.05);
}
.button-dark {
  background-color: var(--primary);
  color: white;
}
.button-dark:hover {
  background-color: #15202b;
}

main a.button-link:focus-visible,
button.button-link:focus-visible {
  outline: 3px solid rgba(214, 184, 131, 0.7);
  outline-offset: 3px;
}

/* ===== Eyebrow / small label ===== */
.eyebrow {
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 600;
  font-size: 0.75rem;
  color: #8C9C94; /* accent-secondary */
}

/* ===== Icon helper to unify accent color ===== */
.icon-accent {
  color: var(--accent);
}

/* ===== Cards ===== */
.card {
  border: 1px solid rgb(229 231 235);
  border-radius: 0.75rem;
  background: white;
}
.dark .card {
  border-color: rgb(55 65 81);
  background: rgb(17 24 39);
}

/* ===== Testimonial scroller (kept) ===== */
.testi-scroll {
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.testi-scroll::-webkit-scrollbar {
  display: none;
}

/* ===== Newsletter input group ===== */
.newsletter-group {
  height: 3.5rem;
  border-radius: 0.75rem;
  overflow: hidden;
}
.newsletter-input {
  border: none;
  background: var(--light);
  color: #111418;
}
.dark .newsletter-input {
  background: #1f2937;
  color: white;
}
.newsletter-input:focus {
  outline: none;
  box-shadow: none;
}

/* ===== Footer mini ===== */
.site-footer {
  border-top: 1px solid rgb(229 231 235);
  color: #6b7280;
}
.dark .site-footer {
  border-top-color: rgb(55 65 81);
  color: #9ca3af;
}

/* ===== Secondary CTA tweaks ===== */
#secondary-cta p {
  text-align: left;
}
