.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;
}

.wfs-coming-soon {
  position: relative !important;
  overflow: hidden !important;
  min-height: 100vh !important;
  background-color: var(--background) !important;
  color: var(--foreground) !important;
  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;
}

.wfs-coming-soon__watermark {
  position: absolute !important;
  right: -12% !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 640px !important;
  max-width: 55vw !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
  object-position: left center !important;
  opacity: 0.07 !important;
  pointer-events: none !important;
  user-select: none !important;
}

@media (max-width: 767px) {
  .wfs-coming-soon__watermark {
    display: none !important;
  }
}

.wfs-coming-soon__inner {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: var(--max-width) !important;
  margin-inline: auto !important;
  padding: var(--space-6) var(--gutter) var(--space-7) !important;
  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;
  -webkit-flex: 1 !important;
  flex: 1 !important;
  grid-gap: var(--space-8) !important;
  gap: var(--space-8) !important;
}

@media (max-width: 767px) {
  .wfs-coming-soon__inner {
    grid-gap: var(--space-7) !important;
    gap: var(--space-7) !important;
    padding-block: var(--space-5) var(--space-6) !important;
  }
}

.wfs-coming-soon__header {
  padding-block: var(--space-4) !important;
}

.wfs-coming-soon__logo {
  display: block !important;
  width: 280px !important;
  max-width: 60vw !important;
  height: auto !important;
}

@media (max-width: 767px) {
  .wfs-coming-soon__logo {
    width: 220px !important;
  }
}

.wfs-coming-soon__hero {
  max-width: 640px !important;
}

.wfs-coming-soon__hero h1 {
  margin-bottom: var(--space-5) !important;
}

.wfs-coming-soon__hero .lede {
  margin-bottom: var(--space-6) !important;
}

.wfs-coming-soon__cta {
  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;
  -webkit-flex-wrap: wrap !important;
  -moz-flex-wrap: wrap !important;
  -ms-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
  margin-bottom: var(--space-7) !important;
}

@media (max-width: 480px) {
  .wfs-coming-soon__cta .btn-primary {
    width: 100% !important;
  }
}

.wfs-notify {
  max-width: 480px !important;
}

.wfs-notify__label {
  display: block !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;
  margin-bottom: var(--space-3) !important;
}

.wfs-notify .ff-el-group {
  margin-bottom: 0 !important;
}

.wfs-notify .ff-el-input--label {
  display: none !important;
}

.wfs-notify .ff_columns_total,
.wfs-notify .ff-t-container {
  display: -webkit-box !important;
  display: -moz-box !important;
  display: -ms-flexbox !important;
  display: -webkit-flex !important;
  display: flex !important;
  grid-gap: var(--space-2) !important;
  gap: var(--space-2) !important;
}

.wfs-notify .ff-el-form-control {
  width: 100% !important;
  min-height: 44px !important;
  padding: 0 16px !important;
  font-family: var(--font-sans) !important;
  font-size: var(--fs-body-sm) !important;
  color: var(--foreground) !important;
  background-color: var(--card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-button) !important;
  -webkit-transition: border-color var(--duration-fast) ease !important;
  transition: border-color var(--duration-fast) ease !important;
}

.wfs-notify .ff-el-form-control::placeholder {
  color: var(--muted-foreground) !important;
}

.wfs-notify .ff-el-form-control:focus {
  outline: 2px solid var(--ring) !important;
  outline-offset: 1px !important;
  border-color: var(--accent) !important;
}

.wfs-notify .ff-btn-submit {
  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;
  margin-top: var(--space-3) !important;
  font-family: var(--font-sans) !important;
  font-size: var(--fs-btn) !important;
  font-weight: var(--fw-medium) !important;
  letter-spacing: 0.04em !important;
  background-color: #1A1A18 !important;
  color: #FAF6F0 !important;
  border: 1px solid #1A1A18 !important;
  border-radius: var(--radius-button) !important;
  cursor: pointer !important;
  -webkit-transition: all var(--duration-fast) ease !important;
  transition: all var(--duration-fast) ease !important;
}

.wfs-notify .ff-btn-submit:hover {
  background-color: #33312E !important;
  border-color: #33312E !important;
}

.wfs-notify .ff-btn-submit:focus-visible {
  outline: 2px solid var(--ring) !important;
  outline-offset: 2px !important;
}

.wfs-notify .ff-message-success {
  margin-top: var(--space-3) !important;
  padding: var(--space-3) var(--space-4) !important;
  font-size: var(--fs-body-sm) !important;
  color: #3F6E4E !important;
  background: var(--card) !important;
  border: 1px solid #3F6E4E !important;
  border-radius: var(--radius-button) !important;
  box-shadow: none !important;
}

.wfs-notify .ff-el-is-error .ff-el-form-control {
  border-color: #B3392E !important;
}

.wfs-notify .error.text-danger {
  color: #B3392E !important;
  font-size: var(--fs-caption) !important;
}

.wfs-notify__row {
  display: -webkit-box !important;
  display: -moz-box !important;
  display: -ms-flexbox !important;
  display: -webkit-flex !important;
  display: flex !important;
  grid-gap: var(--space-2) !important;
  gap: var(--space-2) !important;
}

@media (max-width: 480px) {
  .wfs-notify__row {
    -webkit-flex-direction: column !important;
    -moz-flex-direction: column !important;
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }
}

.wfs-notify__input {
  -webkit-flex: 1 !important;
  flex: 1 !important;
  min-height: 44px !important;
  padding: 0 16px !important;
  font-family: var(--font-sans) !important;
  font-size: var(--fs-body-sm) !important;
  color: var(--foreground) !important;
  background-color: var(--card) !important;
  border: 1px solid var(--border) !important;
  border-radius: var(--radius-button) !important;
  -webkit-transition: border-color var(--duration-fast) ease !important;
  transition: border-color var(--duration-fast) ease !important;
}

.wfs-notify__input::placeholder {
  color: var(--muted-foreground) !important;
}

.wfs-notify__input:focus {
  outline: 2px solid var(--ring) !important;
  outline-offset: 1px !important;
  border-color: var(--accent) !important;
}

.wfs-notify__submit {
  -webkit-flex-shrink: 0 !important;
  flex-shrink: 0 !important;
}

.wfs-materials {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  grid-gap: var(--gutter) !important;
  gap: var(--gutter) !important;
}

@media (max-width: 767px) {
  .wfs-materials {
    grid-template-columns: 1fr !important;
    grid-gap: var(--space-4) !important;
    gap: var(--space-4) !important;
  }
}

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

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

.wfs-materials__item:hover img {
  transform: scale(1.03) !important;
}

.wfs-materials__item img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  -webkit-transition: transform 300ms ease !important;
  transition: transform 300ms ease !important;
}

@media (max-width: 767px) {
  .wfs-materials__item img {
    aspect-ratio: 16 / 9 !important;
  }
}

.wfs-materials__item figcaption {
  padding: var(--space-3) var(--space-4) !important;
  margin-top: 0 !important;
}

.wfs-coming-soon__trust {
  padding-top: var(--space-6) !important;
  border-top: 1px solid var(--border) !important;
}

.wfs-coming-soon__footer {
  margin-top: auto !important;
  padding-top: var(--space-6) !important;
  border-top: 1px solid var(--border) !important;
}

.wfs-coming-soon__footer a {
  color: var(--accent-strong) !important;
  text-decoration: none !important;
}

.wfs-coming-soon__footer a:hover {
  text-decoration: underline !important;
  text-underline-offset: 4px !important;
}
