/* Satya — force preview look over Divi defaults. Loaded last. */

:root {
  --nuit: #1c1a24;
  --safran: #c46a2b;
  --parchemin: #f4ede2;
  --ivoire: #fbf7f0;
  --encre: #1a1714;
  --muet: #5c574f;
  --ligne: rgba(28, 26, 36, 0.12);
  --blanc: #fffdf9;
  --serif: "Fraunces", Georgia, "Times New Roman", serif;
  --sans: "Figtree", Helvetica, Arial, sans-serif;
}

html {
  background: var(--ivoire);
}

body,
body.et_divi,
#et-boc,
#et-boc .et-l,
#page-container,
#et-main-area,
#main-content,
.et_pb_text,
.et_pb_blurb,
.et_pb_module,
input,
textarea,
select,
.et_pb_contact_form p input,
.et_pb_contact_form p textarea {
  font-family: var(--sans) !important;
  color: var(--encre);
}

body,
#page-container,
#et-main-area,
#main-content,
.page.et_pb_pagebuilder_layout #main-content {
  background-color: var(--ivoire) !important;
}

h1, h2, h3, h4, h5, h6,
.et_pb_module h1,
.et_pb_module h2,
.et_pb_module h3,
.et_pb_module h4,
.et_pb_text h1,
.et_pb_text h2,
.et_pb_blurb h4,
.et_pb_cta_description h2,
.et_pb_promo_description h2 {
  font-family: var(--serif) !important;
  font-weight: 500 !important;
  letter-spacing: -0.03em;
  line-height: 1.2 !important;
}

.et_pb_bg_layout_light h1,
.et_pb_bg_layout_light h2,
.et_pb_bg_layout_light h3,
.et_pb_bg_layout_light h4,
.et_pb_blurb h4,
.et_pb_blurb_container h4 {
  color: var(--encre) !important;
}

.et_pb_bg_layout_dark h1,
.et_pb_bg_layout_dark h2,
.et_pb_bg_layout_dark h3,
.et_pb_bg_layout_dark h4,
.et_pb_promo.et_pb_bg_layout_dark h2,
.et_pb_cta.et_pb_bg_layout_dark h2,
.et_pb_promo.et_pb_bg_layout_dark .et_pb_promo_description,
.et_pb_promo.et_pb_bg_layout_dark .et_pb_promo_description p,
.et_pb_cta_0.et_pb_promo h2,
.et_pb_cta_0 .et_pb_promo_description,
.et_pb_cta_0 .et_pb_promo_description p {
  color: var(--ivoire) !important;
}

p,
.et_pb_text p,
.et_pb_blurb_description,
.et_pb_promo_description p {
  color: var(--muet);
  font-size: 17px;
  line-height: 1.65;
}

a,
#top-menu a:hover,
#footer-widgets .footer-widget a:hover {
  color: var(--safran);
}

/* Header — parchment, no Divi blue */

#main-header,
#main-header.et-fixed-header,
.et_fixed_nav #main-header,
.et_header_style_left #main-header {
  background-color: var(--ivoire) !important;
  box-shadow: none !important;
  border-bottom: 1px solid var(--ligne);
}

#top-menu a,
#et-top-navigation a,
#et-top-navigation .et-cart-info,
.et_mobile_menu li a {
  color: var(--encre) !important;
  font-family: var(--sans) !important;
  font-weight: 500 !important;
  font-size: 15px !important;
  letter-spacing: 0.01em;
}

#top-menu li.current-menu-item > a,
#top-menu li.current-menu-ancestor > a,
#top-menu a:hover,
.mobile_menu_bar:before {
  color: var(--safran) !important;
}

.nav li ul,
.et_mobile_menu {
  border-color: var(--safran) !important;
  background: var(--ivoire) !important;
}

#et_search_icon:before,
#et_top_search {
  color: var(--encre) !important;
}

/* Buttons — safran, no Divi arrow */

.et_pb_button,
.et_pb_module .et_pb_button,
.et_pb_button:hover,
.et_pb_module .et_pb_button:hover,
.et_pb_contact_submit,
.et_pb_newsletter_button,
.et_pb_promo_button,
.et_pb_cta .et_pb_button {
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  background-color: var(--safran) !important;
  color: var(--blanc) !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 14px 24px !important;
  line-height: 1.2 !important;
}

.et_pb_button:after,
.et_pb_button:before,
.et_pb_button:hover:after,
.et_pb_promo_button:after,
.et_pb_cta .et_pb_button:after {
  display: none !important;
}

.et_pb_button:hover,
.et_pb_module .et_pb_button:hover {
  background-color: #a85622 !important;
  padding: 14px 24px !important;
}

/* Kicker */

.satya-kicker {
  display: inline-block !important;
  font-family: var(--sans) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--safran) !important;
  margin-bottom: 10px !important;
}

/* Home split hero only — do not restyle inner-page dark heroes */

body.home .et_pb_section_0.et_pb_section {
  background-color: var(--parchemin) !important;
  min-height: calc(100svh - 84px);
}

body.home .et_pb_section_0 h1 {
  font-size: clamp(2.6rem, 5.4vw, 5.2rem) !important;
  max-width: 12ch;
  color: var(--encre) !important;
}

body.home .et_pb_section_0 .et_pb_text p:not(.satya-kicker) {
  max-width: 42ch;
  color: var(--muet) !important;
}

body.home .et_pb_section_0 .et_pb_image,
body.home .et_pb_section_0 .et_pb_image_wrap,
body.home .et_pb_section_0 .et_pb_image img {
  width: 100%;
}

body.home .et_pb_section_0 .et_pb_image img {
  min-height: 460px;
  object-fit: cover;
  height: 100%;
}

/* Inner page heroes: dark full-bleed, no cream card, titles always ivory */

body:not(.home) .et_pb_section_0.et_pb_section {
  background-color: #1c1a24 !important;
}

body:not(.home) .et_pb_section_0 .et_pb_row,
body:not(.home) .et_pb_section_0 .et_pb_column,
body:not(.home) .et_pb_section_0 .et_pb_module,
body:not(.home) .et_pb_section_0 .et_pb_text,
body:not(.home) .et_pb_section_0 .et_pb_text_inner {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

body:not(.home) .et_pb_section_0 .et_pb_row {
  width: 100% !important;
  max-width: 1180px !important;
}

body:not(.home) .et_pb_section_0 .et_pb_text_inner {
  padding: 12px 0 0 !important;
}

body:not(.home) .et_pb_section_0 .et_pb_text h1,
body:not(.home) .et_pb_section_0 .et_pb_text h2,
body:not(.home) .et_pb_section_0 .et_pb_text_0 h1,
body:not(.home) .et_pb_section_0 .et_pb_bg_layout_light h1,
body:not(.home) .et_pb_section_0 .et_pb_bg_layout_dark h1 {
  color: #fbf7f0 !important;
  -webkit-text-fill-color: #fbf7f0 !important;
}

body:not(.home) .et_pb_section_0 .et_pb_text p:not(.satya-kicker) {
  color: rgba(251, 247, 240, 0.78) !important;
}

body:not(.home) .et_pb_section_0 .satya-kicker {
  color: var(--safran) !important;
}

body:not(.home) .et_pb_section_0 h1 {
  font-size: clamp(2.4rem, 5vw, 4.4rem) !important;
  max-width: 18ch;
}

/* Blurbs */

.et_pb_blurb h4,
.et_pb_blurb_container h4 {
  font-family: var(--serif) !important;
  font-size: 1.7rem !important;
  color: var(--encre) !important;
}

.et_pb_blurb {
  padding: 8px 4px 0 0;
}

/* Lists */

.et_pb_text ul {
  list-style: none !important;
  padding-left: 0 !important;
}

.et_pb_text ul li {
  padding: 12px 0;
  border-top: 1px solid var(--ligne);
  line-height: 1.5 !important;
}

.et_pb_text ul li:last-child {
  border-bottom: 1px solid var(--ligne);
}

/* Testimonials */

.et_pb_testimonial {
  border: 0 !important;
  background: transparent !important;
  padding-left: 0 !important;
}

.et_pb_testimonial:before {
  display: none !important;
}

.et_pb_testimonial_content,
.et_pb_testimonial_description {
  font-family: var(--serif) !important;
  font-size: 1.45rem !important;
  font-style: italic;
  line-height: 1.3 !important;
  color: var(--encre) !important;
}

/* Contact form */

.et_pb_contact_form_label,
.et_pb_contact_form p input,
.et_pb_contact_form p textarea,
.et_pb_contact_form p select {
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ligne) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Footer */

#main-footer,
#footer-bottom,
#et-footer-nav {
  background-color: var(--nuit) !important;
}

#footer-widgets .footer-widget h4,
#main-footer .widgettitle,
.footer-widget h4 {
  font-family: var(--sans) !important;
  font-size: 12px !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--safran) !important;
}

#footer-widgets .footer-widget a,
#footer-info,
#footer-info a,
.bottom-nav a {
  color: rgba(251, 247, 240, 0.78) !important;
}

.footer-widget li:before {
  border-color: var(--safran) !important;
}

/* Images */

.et_pb_image img {
  object-fit: cover;
}

@media (max-width: 980px) {
  body.home .et_pb_section_0 h1,
  body:not(.home) .et_pb_section_0 h1 {
    font-size: 2.4rem !important;
  }

  body.home .et_pb_section_0 .et_pb_image img {
    min-height: 280px;
  }
}
