.wp-block {} /*  (.wp-block {} ensures MT files load in Gutenberg editor) */

/*  MICROTHEMER STYLES  */

/*= Full Code Editor CSS ====== */

:root {
  --background: #FAF6F0 !important;
  --foreground: #1A1A18 !important;
  --card: #FFFFFF !important;
  --card-foreground: #1A1A18 !important;
  --primary: #1A1A18 !important;
  --primary-foreground: #FAF6F0 !important;
  --accent: #8B6B4A !important;
  --accent-strong: #6E5239 !important;
  --muted: #F1EAE1 !important;
  --muted-foreground: #6B6258 !important;
  --border: #E6DDD1 !important;
  --ring: #8B6B4A !important;
  --success: #3F6E4E !important;
  --destructive: #B3392E !important;
  --font-serif: 'Playfair Display', serif !important;
  --font-sans: 'Inter', sans-serif !important;
  --fw-light: 300 !important;
  --fw-regular: 400 !important;
  --fw-medium: 500 !important;
  --fw-semibold: 600 !important;
  --fw-bold: 700 !important;
  --fs-display: clamp(2.5rem, 5vw, 4.5rem) !important;
  --fs-h2: clamp(1.75rem, 3vw, 2.75rem) !important;
  --fs-h3: 1.5rem !important;
  --fs-eyebrow: 0.8125rem !important;
  --fs-body: 1.0625rem !important;
  --fs-body-sm: 0.9375rem !important;
  --fs-caption: 0.875rem !important;
  --fs-btn: 0.9375rem !important;
  --lh-display: 1.1 !important;
  --lh-h2: 1.15 !important;
  --lh-h3: 1.25 !important;
  --lh-body: 1.65 !important;
  --lh-caption: 1.5 !important;
  --space-1: 4px !important;
  --space-2: 8px !important;
  --space-3: 12px !important;
  --space-4: 16px !important;
  --space-5: 24px !important;
  --space-6: 32px !important;
  --space-7: 48px !important;
  --space-8: 64px !important;
  --space-9: 96px !important;
  --space-10: 128px !important;
  --radius-card: 8px !important;
  --radius-button: 2px !important;
  --radius-circle: 9999px !important;
  --shadow-sm: 0 1px 2px rgba(26, 26, 24, 0.06) !important;
  --shadow-lg: 0 8px 24px rgba(26, 26, 24, 0.10) !important;
  --ease-reveal: cubic-bezier(0.22, 1, 0.36, 1) !important;
  --duration-fast: 200ms !important;
  --duration-reveal: 400ms !important;
  --max-width: 1280px !important;
  --section-padding: var(--space-9) !important;
  --gutter: 24px !important;
}

body {
  background-color: var(--background) !important;
  color: var(--foreground) !important;
  font-family: var(--font-sans) !important;
  font-size: var(--fs-body) !important;
  line-height: var(--lh-body) !important;
  font-weight: var(--fw-regular) !important;
  -webkit-font-smoothing: antialiased !important;
}

.wrap,
.elementor-section-boxed > .elementor-container {
  max-width: var(--max-width) !important;
  margin-inline: auto !important;
}

section {
  padding-block: var(--section-padding) !important;
}

@media (max-width: 767px) {
  section {
    padding-block: var(--space-8) !important;
  }
}

h1,
.h1 {
  font-family: var(--font-serif) !important;
  font-size: var(--fs-display) !important;
  line-height: var(--lh-display) !important;
  font-weight: var(--fw-medium) !important;
  letter-spacing: 0.01em !important;
}

h2,
.h2 {
  font-family: var(--font-serif) !important;
  font-size: var(--fs-h2) !important;
  line-height: var(--lh-h2) !important;
  font-weight: var(--fw-medium) !important;
}

h3,
.h3 {
  font-family: var(--font-serif) !important;
  font-size: var(--fs-h3) !important;
  line-height: var(--lh-h3) !important;
  font-weight: var(--fw-semibold) !important;
}

.eyebrow {
  font-family: var(--font-sans) !important;
  font-size: var(--fs-eyebrow) !important;
  font-weight: var(--fw-semibold) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.18em !important;
  color: var(--accent-strong) !important;
  display: block !important;
  margin-bottom: var(--space-4) !important;
}

p {
  max-width: 68ch !important;
}

.lede {
  font-size: 1.1875rem !important;
  max-width: 62ch !important;
  color: var(--muted-foreground) !important;
}

.caption,
figcaption {
  font-size: var(--fs-caption) !important;
  line-height: var(--lh-caption) !important;
  color: var(--muted-foreground) !important;
  margin-top: var(--space-2) !important;
}

.btn-secondary,
.btn-primary {
  display: -webkit-inline-flexbox !important;
  display: -moz-inline-flexbox !important;
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
  -webkit-align-items: center !important;
  align-items: center !important;
  -webkit-justify-content: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0 28px !important;
  font-family: var(--font-sans) !important;
  font-size: var(--fs-btn) !important;
  font-weight: var(--fw-medium) !important;
  letter-spacing: 0.04em !important;
  border-radius: var(--radius-button) !important;
  border: 1px solid transparent !important;
  cursor: pointer !important;
  text-decoration: none !important;
  text-transform: none !important;
  -webkit-transition: all var(--duration-fast) ease !important;
  transition: all var(--duration-fast) ease !important;
}

.btn-secondary:focus-visible,
.btn-primary:focus-visible {
  outline: 2px solid var(--ring) !important;
  outline-offset: 2px !important;
}

.btn-primary {
  background-color: #1A1A18 !important;
  color: #FAF6F0 !important;
  border-color: #1A1A18 !important;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: #33312E !important;
  border-color: #33312E !important;
  color: #FAF6F0 !important;
}

.btn-secondary {
  background-color: transparent !important;
  color: #1A1A18 !important;
  border-color: #1A1A18 !important;
}

.btn-secondary:hover,
.btn-secondary:focus {
  background-color: #1A1A18 !important;
  color: #FAF6F0 !important;
}

.btn-link {
  font-family: var(--font-sans) !important;
  font-size: var(--fs-btn) !important;
  font-weight: var(--fw-medium) !important;
  color: var(--accent-strong) !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

.btn-link:hover {
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}

.dark-section {
  background-color: #121210 !important;
  color: #FAF6F0 !important;
  --background: #121210 !important;
  --foreground: #FAF6F0 !important;
  --accent: #A98A66 !important;
  --accent-strong: #A98A66 !important;
  --border: #2E2C28 !important;
  --muted-foreground: #C9C2B6 !important;
}

.dark-section .eyebrow {
  color: #A98A66 !important;
}

.dark-section p {
  color: #C9C2B6 !important;
}

.dark-section .btn-primary {
  background-color: #FAF6F0 !important;
  color: #1A1A18 !important;
  border-color: #FAF6F0 !important;
}

.dark-section .btn-primary:hover {
  background-color: #f2e8d9 !important;
}

.dark-section .btn-secondary {
  color: #FAF6F0 !important;
  border-color: #FAF6F0 !important;
}

.dark-section .btn-secondary:hover {
  background-color: #FAF6F0 !important;
  color: #121210 !important;
}

.card {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-card) !important;
  padding: 28px !important;
  box-shadow: var(--shadow-sm) !important;
  -webkit-transition: box-shadow var(--duration-fast) ease !important;
  transition: box-shadow var(--duration-fast) ease !important;
}

.card:hover {
  box-shadow: var(--shadow-lg) !important;
}

.trust-strip {
  display: -webkit-box !important;
  display: -moz-box !important;
  display: -ms-flexbox !important;
  display: -webkit-flex !important;
  display: flex !important;
  grid-gap: var(--space-7) !important;
  gap: var(--space-7) !important;
  -webkit-flex-wrap: wrap !important;
  -moz-flex-wrap: wrap !important;
  -ms-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
}

@media (max-width: 767px) {
  .trust-strip {
    grid-gap: var(--space-6) !important;
    gap: var(--space-6) !important;
  }
}

.trust-strip__item {
  display: -webkit-box !important;
  display: -moz-box !important;
  display: -ms-flexbox !important;
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-flex-direction: column !important;
  -moz-flex-direction: column !important;
  -ms-flex-direction: column !important;
  flex-direction: column !important;
  grid-gap: 2px !important;
  gap: 2px !important;
}

.trust-strip__value {
  font-family: var(--font-serif) !important;
  font-size: 1.75rem !important;
  font-weight: var(--fw-semibold) !important;
  line-height: 1 !important;
  color: var(--foreground) !important;
}

.trust-strip__value span {
  color: var(--accent) !important;
}

.trust-strip__label {
  font-size: 0.78rem !important;
  font-weight: var(--fw-semibold) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
  color: var(--muted-foreground) !important;
}

.project-card {
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-card) !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-sm) !important;
  -webkit-transition: box-shadow 300ms ease !important;
  transition: box-shadow 300ms ease !important;
}

.project-card:hover {
  box-shadow: var(--shadow-lg) !important;
}

.project-card:hover .project-card__img img {
  transform: scale(1.03) !important;
}

.project-card__img {
  height: 240px !important;
  overflow: hidden !important;
}

.project-card__img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  -webkit-transition: transform 300ms ease !important;
  transition: transform 300ms ease !important;
}

.project-card__body {
  padding: 22px !important;
}

.project-card__title {
  font-family: var(--font-serif) !important;
  font-size: 1.25rem !important;
  font-weight: var(--fw-semibold) !important;
}

.project-card__meta {
  font-size: var(--fs-caption) !important;
  color: var(--muted-foreground) !important;
  margin-top: 6px !important;
}

@media (prefers-reduced-motion: no-preference) {
  .reveal {
    opacity: 0 !important;
    transform: translateY(16px) !important;
    -webkit-transition: opacity var(--duration-reveal) var(--ease-reveal), transform var(--duration-reveal) var(--ease-reveal) !important;
    transition: opacity var(--duration-reveal) var(--ease-reveal), transform var(--duration-reveal) var(--ease-reveal) !important;
  }

  .reveal.is-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
  }
}

.text-umber {
  color: var(--accent-strong) !important;
}

.text-muted {
  color: var(--muted-foreground) !important;
}

.text-ink {
  color: #1A1A18 !important;
}

.text-cream {
  color: #FAF6F0 !important;
}

.bg-cream {
  background-color: #FAF6F0 !important;
}

.bg-muted {
  background-color: #F1EAE1 !important;
}

.bg-ink {
  background-color: #1A1A18 !important;
}

.grain-divider {
  display: -webkit-box !important;
  display: -moz-box !important;
  display: -ms-flexbox !important;
  display: -webkit-flex !important;
  display: flex !important;
  -webkit-align-items: center !important;
  align-items: center !important;
  grid-gap: var(--space-5) !important;
  gap: var(--space-5) !important;
  max-width: 520px !important;
  margin-inline: auto !important;
}

.grain-divider::before,
.grain-divider::after {
  content: '' !important;
  -webkit-flex: 1 !important;
  flex: 1 !important;
  height: 1px !important;
  background: var(--border) !important;
}

.debug-white-bg [style*="background:#fff"],
.debug-white-bg [style*="background: #fff"],
.debug-white-bg [style*="background-color: #ffffff"],
.debug-white-bg [style*="background-color:#ffffff"] {
  outline: 2px dashed #B3392E !important;
}
