:root {
  --hsd-sandalwood: #a29061;
  --hsd-deep-earth: #69552d;
  --hsd-ivory: #f8f5ee;
  --hsd-white: #ffffff;
  --hsd-charcoal: #252525;
  --hsd-mist: #5d666a;
  --hsd-soft-gray: #909394;
  --hsd-blue: #2ea3f2;
  --hsd-blue-hover: #00386b;
  --hsd-whatsapp: #1f7a4d;
  --hsd-whatsapp-hover: #17633e;
  --hsd-border: rgba(162, 144, 97, 0.24);
  --hsd-border-soft: rgba(162, 144, 97, 0.18);
  --hsd-focus-ring: rgba(162, 144, 97, 0.42);
  --hsd-shadow: 0 24px 52px rgba(32, 29, 23, 0.14);
  --hsd-shadow-soft: 0 14px 30px rgba(32, 29, 23, 0.08);
  --hsd-heading-font: "EB Garamond", Georgia, "Times New Roman", serif;
  --hsd-body-font: "Source Sans 3", Arial, sans-serif;
  --hsd-container: 1120px;
  --hsd-container-narrow: 760px;
  --hsd-space-section: 72px;
  --hsd-radius-sm: 12px;
  --hsd-radius-md: 18px;
  --hsd-radius-lg: 24px;
  --hsd-radius-xl: 28px;
  --hsd-radius-full: 999px;
}

.hsd-sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.hsd-design-scope,
.hsd-design-scope button,
.hsd-design-scope input,
.hsd-design-scope select,
.hsd-design-scope textarea {
  font-family: var(--hsd-body-font);
}

.hsd-design-scope {
  color: var(--hsd-charcoal);
}

.hsd-design-scope a {
  color: var(--hsd-deep-earth);
  transition: color 0.18s ease;
}

.hsd-design-scope a:hover,
.hsd-design-scope a:focus {
  color: var(--hsd-sandalwood);
  text-decoration: none;
}

.hsd-heading,
.hsd-design-scope h1,
.hsd-design-scope h2,
.hsd-design-scope h3 {
  font-family: var(--hsd-heading-font);
  font-weight: 600;
  letter-spacing: 0;
}

.hsd-section {
  padding: var(--hsd-space-section) 20px;
  background: var(--hsd-ivory);
  color: var(--hsd-charcoal);
  font-family: var(--hsd-body-font);
}

.hsd-section__inner,
.hsd-container {
  max-width: var(--hsd-container);
  margin: 0 auto;
}

.hsd-container--narrow {
  max-width: var(--hsd-container-narrow);
}

.hsd-section-eyebrow,
.hsd-eyebrow {
  margin: 0 0 12px;
  color: var(--hsd-sandalwood);
  font-family: var(--hsd-body-font);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.2;
  text-transform: uppercase;
}

.hsd-surface,
.hsd-card {
  background: var(--hsd-white);
  border: 1px solid var(--hsd-border-soft);
  border-radius: var(--hsd-radius-lg);
  box-shadow: var(--hsd-shadow-soft);
  color: var(--hsd-charcoal);
}

.hsd-card {
  padding: 24px;
}

.hsd-button,
.hsd-inline-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 14px 22px;
  border: 1px solid var(--hsd-deep-earth);
  border-radius: var(--hsd-radius-full);
  background: var(--hsd-deep-earth);
  color: var(--hsd-white);
  font-family: var(--hsd-body-font);
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.1;
  text-decoration: none;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background 0.18s ease, border-color 0.18s ease;
}

.hsd-button:hover,
.hsd-button:focus,
.hsd-inline-cta:hover,
.hsd-inline-cta:focus {
  background: var(--hsd-sandalwood);
  border-color: var(--hsd-sandalwood);
  color: var(--hsd-charcoal);
  text-decoration: none;
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(105, 85, 45, 0.22);
}

.hsd-field,
.hsd-design-scope input[type="text"],
.hsd-design-scope input[type="email"],
.hsd-design-scope input[type="tel"],
.hsd-design-scope input[type="date"],
.hsd-design-scope select,
.hsd-design-scope textarea {
  border: 1px solid rgba(162, 144, 97, 0.28);
  border-radius: var(--hsd-radius-md);
  background: var(--hsd-white);
  color: var(--hsd-charcoal);
  font-family: var(--hsd-body-font);
}

.hsd-field,
.hsd-design-scope input[type="text"],
.hsd-design-scope input[type="email"],
.hsd-design-scope input[type="tel"],
.hsd-design-scope input[type="date"],
.hsd-design-scope select {
  min-height: 58px;
}

body a:focus-visible,
body button:focus-visible,
body input:focus-visible,
body select:focus-visible,
body textarea:focus-visible {
  outline: 3px solid var(--hsd-focus-ring) !important;
  outline-offset: 3px;
}

@media (max-width: 640px) {
  :root {
    --hsd-space-section: 54px;
  }

  .hsd-card {
    padding: 20px;
  }
}
