/*
  Signature Bay Homes — custom styles

  Edit this file directly for theme-specific CSS. No build step required.
  Loaded after dist/css/main.css (the compiled Tailwind + legacy SCSS bundle).
*/

:root {
  --sbh-section-max: 1180px;
  --sbh-section-pad-x: 1.375rem;
  --sbh-section-col-gap: 2rem;
  --sbh-text-lh: 1.5;
}

@media (min-width: 768px) {
  :root {
    --sbh-section-pad-x: 2.5rem;
    --sbh-section-col-gap: 4rem;
  }
}

/* Shared section content width + horizontal padding */
.service-cards__inner,
.checklist-callout__inner,
.signature-perspective__inner,
.fifty-fifty-images__inner,
.fifty-fifty-full__inner,
.four-column-flex__inner,
.comparison-table__inner,
.comparison-table-alt__inner,
.callout-numbered__inner,
.content-5050__inner,
.lifestyle-scorecard__inner,
.manifesto__inner,
.vision__inner,
.content-checklist-image__inner,
.market-outlook-cta__inner,
.guides-cards-cta__inner,
.signature-difference__inner,
.form-faq__inner,
.faq-alt__inner {
  max-width: var(--sbh-section-max) !important;
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--sbh-section-pad-x) !important;
  padding-right: var(--sbh-section-pad-x) !important;
  box-sizing: border-box;
}

.home .market-outlook-cta__inner {
  max-width: 1000px !important;
}

.cta-simple-centered__inner,
.hero-large__inner {
  padding-left: var(--sbh-section-pad-x) !important;
  padding-right: var(--sbh-section-pad-x) !important;
  box-sizing: border-box;
  margin-left: auto;
  margin-right: auto;
}

/* Shared two-column gutters */
.fifty-fifty-images__inner,
.fifty-fifty-full__inner,
.content-checklist-image__inner,
.market-outlook-cta__inner,
.form-faq__layout,
.checklist-callout__main {
  gap: var(--sbh-section-col-gap);
}

@media (min-width: 768px) {
  .fifty-fifty-images__inner,
  .fifty-fifty-full__inner,
  .content-checklist-image__inner,
  .market-outlook-cta__inner,
  .form-faq__layout,
  .checklist-callout__main {
    gap: var(--sbh-section-col-gap);
  }

  .content-checklist-image--image-left .content-checklist-image__inner {
    gap: var(--sbh-section-col-gap);
  }
}

/* Global typography — DM Sans body, Baskerville headlines */
html,
body,
a,
p,
li,
ul,
ol,
td,
th,
blockquote,
label,
input,
textarea,
select,
button,
.font-sans,
.font-serif,
.form-wrapper label,
.form-wrapper input,
.form-wrapper textarea,
.form-wrapper select {
  font-family: "DM Sans", sans-serif !important;
}

body,
p,
li,
td,
th,
blockquote,
label,
span,
.format-content,
.format-content p,
.format-content li,
.format-content a,
.format-content span,
.format-content td,
.format-content th {
  font-weight: 400;
  line-height: var(--sbh-text-lh);
}

h1,
h2,
h3,
h4,
h5,
h6,
.sec-heading {
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-weight: 400;
}

b,
strong,
.format-content b,
.format-content strong {
  font-weight: 700;
}

h1 {
  font-size: 2.5rem !important;
}

h1.hero__title {
  font-size: 62px !important;
}

h2 {
  font-size: 2rem !important;
  line-height: 1.3 !important;
}

@media (max-width: 767px) {
  h2 {
    font-size: 1.75rem !important;
  }
}

h3 {
  line-height: 1.3 !important;
}

.leading-tight {
  padding-top: 5px;
}

/* Nav links — DM Sans */
.site-header a,
.site-header button,
.site-header .header-item,
.site-header .header-button,
.site-header .header-nav-dropdown__toggle,
.site-header .header-nav-dropdown__link,
#mobile-nav a,
#mobile-nav button,
#mobile-menu-panel a,
#mobile-menu-panel button,
#mobile-menu-panel .mobile-header-item,
#mobile-menu-panel .mobile-header-button,
#mobile-menu-panel .mobile-nav-dropdown__label {
  font-family: "DM Sans", sans-serif !important;
}

/* Hero standard — default editor content below title */
.hero--standard .hero__default-content,
.hero__default-content.format-content {
  max-width: 950px;
  margin: 0.5rem auto 0;
  color: #fff;
  text-align: center;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1.0625rem !important;
  font-weight: 400;
  line-height: 1.6;
  text-transform: none;
}

.hero--standard .hero__default-content p,
.hero--standard .hero__default-content p.uppercase,
.hero--standard .hero__default-content li,
.hero--standard .hero__default-content a,
.hero--standard .hero__default-content h2,
.hero--standard .hero__default-content h3,
.hero--standard .hero__default-content h4,
.hero--standard .hero__default-content h5,
.hero--standard .hero__default-content h6,
.hero__default-content.format-content p,
.hero__default-content.format-content p.uppercase,
.hero__default-content.format-content li,
.hero__default-content.format-content a,
.hero__default-content.format-content h2,
.hero__default-content.format-content h3,
.hero__default-content.format-content h4,
.hero__default-content.format-content h5,
.hero__default-content.format-content h6 {
  color: #fff;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: 400;
  text-transform: none !important;
}

.hero--standard .hero__default-content > :last-child,
.hero__default-content.format-content > :last-child {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .hero--standard .hero__default-content,
  .hero__default-content.format-content {
    font-size: 1.1875rem !important;
  }
}

.hero--standard .hero__subtitle {
  max-width: 75rem;
  margin: 0.5rem auto 0;
  padding-left: var(--sbh-section-pad-x);
  padding-right: var(--sbh-section-pad-x);
  box-sizing: border-box;
  color: #fff !important;
  text-align: center;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 400;
  line-height: 1.6;
  text-transform: none;
}

@media (min-width: 768px) {
  .hero--standard .hero__subtitle {
    font-size: 1.0625rem !important;
  }
}

/* Homes + Floor Plans listing heroes — shared dark overlay (same .grad as home cards) */
.grad {
  background: linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.4),
    rgba(0, 0, 0, 0.05)
  );
}

.hero--listing,
.hero--standard {
  position: relative;
  background-position: center;
  background-size: cover;
  overflow: hidden;
}

.hero--listing .hero__overlay,
.hero--standard .hero__overlay {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  width: 100%;
  height: 100%;
}

.hero--listing .hero__content,
.hero--standard .hero__content {
  position: relative;
  z-index: 1;
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.hero--listing h1,
.hero--standard h1 {
  color: #fff;
  text-align: center;
  position: relative;
  z-index: 1;
}

/* Footer social links */
.footer-social-links {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.875rem;
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
  justify-content: center;
}

.footer-social-links li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-social-links__item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.1rem;
  height: 2.1rem;
  border: 1.5px solid #fff;
  border-radius: 50%;
  color: #fff !important;
  background: transparent;
  text-decoration: none;
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

.footer-social-links__item svg {
  display: block;
  width: 1.1rem;
  height: 1.1rem;
}

.footer-social-links__item:hover,
.footer-social-links__item:focus {
  background-color: #afa498;
  border-color: #afa498;
  color: #fff !important;
}

.site-footer__column--resources .footer-social-links {
  margin-top: 4.75rem;
}

@media (max-width: 767px) {
  .site-footer__column--resources .footer-social-links {
    margin-top: 2rem;
    justify-content: flex-start;
  }
}

.mobile-nav-social {
  margin-top: 2rem;
  padding-top: 2rem;
  padding-bottom: 0.5rem;
}

.mobile-nav-social .footer-social-links {
  margin-top: 0;
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 0.625rem;
}

.mobile-nav-social .footer-social-links__item {
  width: 2.125rem;
  height: 2.125rem;
  border-width: 1px;
  flex-shrink: 0;
}

.mobile-nav-social .footer-social-links__item svg {
  width: 1.05rem;
  height: 1.05rem;
}

.header-item {
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

/* Header nav dropdown */
.header-nav-dropdown {
  position: relative;
  padding-bottom: 0.75rem;
  margin-bottom: -0.75rem;
}

.header-nav-dropdown__toggle {
  position: relative;
  z-index: 21;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: "DM Sans", sans-serif;
  line-height: inherit;
  letter-spacing: inherit;
  -webkit-appearance: none;
  appearance: none;
}

.header-nav-dropdown__toggle:hover {
  color: #afa498;
}

.header-nav-dropdown__chevron {
  width: 0.625rem;
  height: 0.625rem;
  transition: transform 0.3s ease;
}

.header-nav-dropdown.is-open .header-nav-dropdown__chevron {
  transform: rotate(180deg);
}

.header-nav-dropdown__menu {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 12rem;
  margin: 0;
  padding: 0.5rem 0;
  list-style: none;
  background: #fff;
  border: 1px solid #afa498;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.2s ease, visibility 0.2s ease;
  z-index: 20;
}

@media (hover: hover) {
  .header-nav-dropdown:hover .header-nav-dropdown__menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }

  .header-nav-dropdown:hover .header-nav-dropdown__chevron {
    transform: rotate(180deg);
  }
}

.header-nav-dropdown.is-open .header-nav-dropdown__menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.header-nav-dropdown__link {
  display: block;
  padding: 0.625rem 1rem;
  font-family: "DM Sans", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  text-transform: uppercase;
  color: #333333;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease, background-color 0.2s ease;
}

.header-nav-dropdown__link:hover {
  color: #afa498;
  background-color: #faf9f7;
}

.mobile-header-item--child {
  display: block;
  font-size: 0.95rem;
  margin-bottom: 0.5rem !important;
}

.mobile-header-item--child:last-child {
  margin-bottom: 0 !important;
}

/* Mobile nav — spacing on list items, not links */
#mobile-menu-panel {
  width: 90%;
}

#mobile-menu-panel nav > ul > li {
  margin-bottom: 0.75rem;
}

#mobile-menu-panel .mobile-header-item,
#mobile-menu-panel .mobile-nav-dropdown__label {
  margin-bottom: 0;
}

.mobile-nav-dropdown__label {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.35rem;
  margin-left: auto;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: right;
  line-height: inherit;
  letter-spacing: inherit;
  -webkit-appearance: none;
  appearance: none;
  transition: color 0.3s ease;
  color: #fff;
}

.mobile-nav-dropdown__label:hover {
  color: #afa498;
}

.mobile-nav-dropdown__label.is-open {
  color: #afa498;
}

.mobile-nav-dropdown__label .header-nav-dropdown__chevron {
  width: 0.625rem;
  height: 0.625rem;
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.mobile-nav-dropdown__label.is-open .header-nav-dropdown__chevron {
  transform: rotate(180deg);
}

.mobile-nav-dropdown__menu {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  opacity: 0;
  padding-top: 0;
  transition: grid-template-rows 0.3s ease, opacity 0.3s ease, padding-top 0.3s ease;
}

.mobile-nav-dropdown__menu.is-open {
  grid-template-rows: 1fr;
  opacity: 1;
  padding-top: 0.75rem;
}

.mobile-nav-dropdown__menu-inner {
  overflow: hidden;
  min-height: 0;
}

/* Form fields — focus border */
.form-wrapper input:not([type="submit"]):not([type="button"]):focus,
.form-wrapper textarea:focus,
.form-wrapper select:focus {
  border-color: #afa498 !important;
  outline: none;
}

.border-brand-cream,
.hover\:border-brand-cream:hover,
.focus\:border-brand-cream:focus {
  border-color: #afa498 !important;
}

/* FAQ Accordion */
.faq-accordion {
  padding: 3rem 0;
}

.faq-accordion__intro {
  text-align: center;
  margin-bottom: 2.5rem;
}

@media (min-width: 768px) {
  .faq-accordion__intro {
    margin-bottom: 3.5rem;
  }
}

.faq-accordion__heading {
  color: #0b1b26;
  margin: 0 0 1rem;
}

.faq-accordion__intro-text,
.faq-accordion__group-intro {
  color: #333;
  margin: 0 auto;
  text-align: center;
  padding-top: 0.5rem;
}

.faq-accordion__intro-text > :last-child,
.faq-accordion__group-intro > :last-child {
  margin-bottom: 0;
}

.faq-accordion__group + .faq-accordion__group {
  margin-top: 4.5rem;
}

.faq-accordion__group-heading {
  color: #0b1b26 !important;
  font-size: 1.9rem;
  font-weight: 600;
  text-align: center;
  margin: 0 0 0.5rem;
}

.faq-accordion__list {
  margin: 0;
  padding: 0;
}

.faq-accordion__item {
  border-bottom: 1px solid #afa498;
  transition: border-color 0.3s ease;
}

.faq-accordion__item:has(.faq-accordion__trigger.is-open),
.faq-accordion__item:has(.faq-accordion__trigger[aria-expanded="true"]) {
  border-bottom-color: #afa498;
}

.faq-accordion__item:has(+ .faq-accordion__item .faq-accordion__trigger.is-open),
.faq-accordion__item:has(+ .faq-accordion__item .faq-accordion__trigger[aria-expanded="true"]) {
  border-bottom-color: #afa498;
}

.faq-accordion__question-heading {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

.faq-accordion__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  width: 100%;
  padding: 1.25rem 0;
  border: 0;
  background: transparent;
  color: #333;
  font: inherit;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
  transition: color 0.3s ease;
}

@media (min-width: 768px) {
  .faq-accordion__trigger {
    padding: 1.5rem 0;
  }
}

.faq-accordion__trigger:hover {
  color: #afa498;
}

.faq-accordion__trigger.is-open,
.faq-accordion__trigger[aria-expanded="true"] {
  color: #afa498;
}

.faq-accordion__trigger.is-open .faq-accordion__icon,
.faq-accordion__trigger[aria-expanded="true"] .faq-accordion__icon {
  color: #afa498;
}

.faq-accordion__trigger:focus,
.faq-accordion__trigger:focus-visible {
  outline: none;
  box-shadow: none;
}

.faq-accordion__question {
  flex: 1;
}

.faq-accordion__icon {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  color: #333333;
  transition: color 0.3s ease;
}

.faq-accordion__icon svg {
  width: 2.25rem;
  height: 2.25rem;
  transition: opacity 0.25s ease, transform 0.25s ease;
}

.faq-accordion__icon .faq-accordion__icon-plus {
  display: block;
  opacity: 1;
  transform: rotate(0deg);
}

.faq-accordion__icon .faq-accordion__icon-minus {
  display: none;
  opacity: 0;
  transform: rotate(-90deg);
}

.faq-accordion__trigger.is-open .faq-accordion__icon-plus,
.faq-accordion__trigger[aria-expanded="true"] .faq-accordion__icon-plus {
  display: none;
  opacity: 0;
  transform: rotate(90deg);
}

.faq-accordion__trigger.is-open .faq-accordion__icon-minus,
.faq-accordion__trigger[aria-expanded="true"] .faq-accordion__icon-minus {
  display: block;
  opacity: 1;
  transform: rotate(0deg);
}

.faq-accordion__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.35s ease;
}

.faq-accordion__panel.is-open {
  grid-template-rows: 1fr;
}

.faq-accordion__panel-inner {
  overflow: hidden;
  min-height: 0;
}

.faq-accordion__answer {
  padding: 0 0 1.25rem;
  color: #333;
  font-size: 1rem;
  line-height: var(--sbh-text-lh);
  opacity: 0;
  transform: translateY(-0.25rem);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.faq-accordion__panel.is-open .faq-accordion__answer {
  opacity: 1;
  transform: translateY(0);
}

@media (min-width: 768px) {
  .faq-accordion__answer {
    padding-bottom: 1.5rem;
    font-size: 1.0625rem;
  }
}

.faq-accordion__answer > :last-child {
  margin-bottom: 0;
}

.faq-accordion__answer.format-content h2,
.faq-accordion__answer.format-content h3,
.faq-accordion__answer.format-content h4,
.faq-accordion__answer.format-content h5,
.faq-accordion__answer.format-content h6 {
  padding: 15px 0;
}

.faq-accordion__answer p,
.faq-accordion__answer ul,
.faq-accordion__answer ol,
.faq-accordion__answer li {
  color: #333;
  font-family: "DM Sans", sans-serif;
  font-size: 1rem;
  line-height: var(--sbh-text-lh);
}

@media (min-width: 768px) {
  .faq-accordion__answer p,
  .faq-accordion__answer ul,
  .faq-accordion__answer ol,
  .faq-accordion__answer li {
    font-size: 1.0625rem;
  }
}

.faq-accordion__answer p + p {
  padding-top: 1rem;
}

.faq-accordion__answer ul,
.faq-accordion__answer ol {
  margin: 1rem 0;
  padding-left: 1.5rem;
}

.faq-accordion__answer ul {
  list-style-type: disc;
}

.faq-accordion__answer ol {
  list-style-type: decimal;
}

.faq-accordion__answer li {
  margin-bottom: 0.5rem;
  padding-left: 0.25rem;
}

.faq-accordion__answer li:last-child {
  margin-bottom: 0;
}

.faq-accordion__answer ul ul,
.faq-accordion__answer ol ol,
.faq-accordion__answer ul ol,
.faq-accordion__answer ol ul {
  margin: 0.5rem 0 0;
}

.faq-accordion__answer ul ul {
  list-style-type: circle;
}

.faq-accordion__answer ul ul ul {
  list-style-type: square;
}

/* Hero With Form */
.hero-with-form {
  position: relative;
  background-color: #0b1b26;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  min-height: 0;
  overflow: hidden;
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.hero-with-form::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.55) 0%,
      rgba(255, 255, 255, 0.25) 10%,
      rgba(255, 255, 255, 0) 24%
    ),
    linear-gradient(
      90deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 255, 255, 0.98) 18%,
      rgba(255, 255, 255, 0.94) 32%,
      rgba(255, 255, 255, 0.82) 46%,
      rgba(255, 255, 255, 0.55) 58%,
      rgba(255, 255, 255, 0.22) 70%,
      rgba(255, 255, 255, 0) 84%
    );
}

@media (max-width: 767px) {
  .hero-with-form::before {
    background:
      linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.98) 0%,
        rgba(255, 255, 255, 0.92) 12%,
        rgba(255, 255, 255, 0.78) 28%,
        rgba(255, 255, 255, 0.5) 45%,
        rgba(255, 255, 255, 0.2) 62%,
        rgba(255, 255, 255, 0) 78%
      ),
      linear-gradient(
        90deg,
        rgba(255, 255, 255, 1) 0%,
        rgba(255, 255, 255, 0.98) 18%,
        rgba(255, 255, 255, 0.94) 32%,
        rgba(255, 255, 255, 0.82) 46%,
        rgba(255, 255, 255, 0.55) 58%,
        rgba(255, 255, 255, 0.22) 70%,
        rgba(255, 255, 255, 0) 84%
      );
  }
}

.hero-with-form__inner {
  position: relative;
  z-index: 2;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
  display: flex;
  align-items: center;
}

.hero-with-form__layout {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  gap: 32px;
}

.hero-with-form__content {
  flex: 1 1 auto;
  color: #333;
}

.hero-with-form__title {
  color: #0b1b26 !important;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.875rem !important;
  font-weight: 600;
  line-height: 1.15;
  text-align: left;
  text-transform: uppercase;
  margin: 0 0 1rem;
  text-shadow: 0 1px 12px rgba(255, 255, 255, 0.45);
}

@media (min-width: 768px) {
  .hero-with-form__title {
    font-size: 2.8rem !important;
  }
}

.hero-with-form__text {
  max-width: 560px;
  font-family: "DM Sans", sans-serif !important;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
  margin-bottom: 1.25rem;
}

.hero-with-form__text p,
.hero-with-form__text li {
  color: #333;
  font-family: "DM Sans", sans-serif !important;
}

.hero-with-form__text a {
  color: #0b1b26;
  font-family: "DM Sans", sans-serif !important;
  text-decoration: underline;
}

.hero-with-form__text > :last-child {
  margin-bottom: 0;
}

.hero-with-form__button-wrap {
  margin-top: 0.5rem;
}

.hero-with-form__button {
  display: inline-block;
  --border-opacity: 1;
  background-color: transparent;
  border-color: #333333;
  border-color: rgba(51, 51, 51, var(--border-opacity));
  border-width: 1px;
  border-style: solid;
  border-radius: 9999px;
  padding: 0.5rem 1.5rem;
  font-family: "DM Sans", sans-serif !important;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.875rem;
  line-height: 1;
  color: #333 !important;
  text-decoration: none;
  box-shadow: none;
  transition: border-color 0.2s ease, color 0.2s ease;
}

.hero-with-form__button:hover,
.hero-with-form__button:focus {
  --border-opacity: 1;
  border-color: #afa498;
  border-color: rgba(175, 164, 152, var(--border-opacity));
  color: #afa498 !important;
  background-color: transparent;
  box-shadow: none;
}

.hero-with-form__form-col {
  flex: 1 1 auto;
  width: 100%;
  position: relative;
  z-index: 2;
}

.hero-with-form__form-card {
  background: rgb(31 31 31 / 88%);
  border-radius: 2px;
  padding: 1.25rem 1.125rem;
  border: 1px solid #afa498;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
  max-width: 500px;
  width: 100%;
  margin-left: 0;
}

.hero-with-form__form-card .form-wrapper h2,
.hero-with-form__form-card .form-wrapper p {
  display: none;
}

.hero-with-form__form-header {
  margin-bottom: 0.75rem;
}

.hero-with-form__form-title {
  font-family: "Libre Baskerville", Baskerville, serif !important;
  color: #afa498 !important;
  font-size: 1.625rem;
  font-weight: 600;
  line-height: 1.3;
  text-align: left;
  margin: 0 0 0.75rem;
}

.hero-with-form__form-subtitle {
  color: #fff;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.9375rem;
  line-height: 1.45;
  text-align: left;
  margin: 0;
}

.hero-with-form__form-card .gform_fields,
.hero-with-form__form-card .form-wrapper .gform_fields {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 0.55rem !important;
  row-gap: 0.55rem !important;
  column-gap: 0.75rem !important;
}

.hero-with-form__form-card .gfield,
.hero-with-form__form-card .form-wrapper .gfield {
  margin-bottom: 0 !important;
  margin-top: 0 !important;
  width: 100% !important;
  grid-column: 1 / -1;
}

.hero-with-form__form-card .gfield_label,
.hero-with-form__form-card .form-wrapper label,
.hero-with-form__form-card .gfield_description,
.hero-with-form__form-card .gform-field-label {
  color: #fff !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 0.3rem !important;
  padding: 0 !important;
}

.hero-with-form__form-card .ginput_container input:not([type="submit"]):not([type="button"]):not([type="hidden"]),
.hero-with-form__form-card .ginput_container textarea,
.hero-with-form__form-card .ginput_container select,
.hero-with-form__form-card .form-wrapper input:not([type="submit"]):not([type="button"]):not([type="hidden"]),
.hero-with-form__form-card .form-wrapper textarea,
.hero-with-form__form-card .form-wrapper select {
  width: 100% !important;
  background: #fff !important;
  color: #333 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  text-transform: none !important;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 2px !important;
  padding: 0.55rem 0.75rem !important;
  min-height: 0 !important;
  line-height: 1.35 !important;
  box-shadow: none !important;
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.hero-with-form__form-card .ginput_container input:not([type="submit"]):not([type="button"]):not([type="hidden"]):focus,
.hero-with-form__form-card .ginput_container textarea:focus,
.hero-with-form__form-card .ginput_container select:focus,
.hero-with-form__form-card .form-wrapper input:not([type="submit"]):not([type="button"]):not([type="hidden"]):focus,
.hero-with-form__form-card .form-wrapper textarea:focus,
.hero-with-form__form-card .form-wrapper select:focus {
  border-color: #afa498 !important;
  box-shadow: 0 0 0 1px rgba(175, 164, 152, 0.35) !important;
}

.hero-with-form__form-card textarea,
.hero-with-form__form-card .gfield textarea,
.hero-with-form__form-card .form-wrapper textarea,
.hero-with-form__form-card .form-wrapper .gfield textarea {
  min-height: 64px !important;
  height: 64px !important;
  resize: vertical;
}

.hero-with-form__form-card .gform_footer,
.hero-with-form__form-card .gform_page_footer {
  margin-top: 0.35rem !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
}

.hero-with-form__form-card .gform_button,
.hero-with-form__form-card input[type="submit"],
.hero-with-form__form-card .form-wrapper .gform_button,
.hero-with-form__form-card .form-wrapper input[type="submit"] {
  display: inline-block;
  width: auto;
  min-width: 0;
  --border-opacity: 1;
  background-color: #fff !important;
  border-color: #333333;
  border-color: rgba(51, 51, 51, var(--border-opacity));
  border-width: 1px;
  border-style: solid;
  border-radius: 9999px;
  padding: 0.5rem 1.5rem;
  font-family: "DM Sans", sans-serif !important;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.875rem;
  line-height: 1;
  color: #333 !important;
  cursor: pointer;
  box-shadow: none;
  transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease;
}

.hero-with-form__form-card .gform_button:hover,
.hero-with-form__form-card .gform_button:focus,
.hero-with-form__form-card input[type="submit"]:hover,
.hero-with-form__form-card input[type="submit"]:focus,
.hero-with-form__form-card .form-wrapper .gform_button:hover,
.hero-with-form__form-card .form-wrapper .gform_button:focus,
.hero-with-form__form-card .form-wrapper input[type="submit"]:hover,
.hero-with-form__form-card .form-wrapper input[type="submit"]:focus {
  --border-opacity: 1;
  background-color: #fff !important;
  border-color: #afa498;
  border-color: rgba(175, 164, 152, var(--border-opacity));
  color: #afa498 !important;
}

.hero-with-form__form-card .gform_validation_errors,
.hero-with-form__form-card .validation_message {
  color: #f2d4d4 !important;
}

.hero-with-form__form-card .gfield_required {
  color: #afa498 !important;
}

.hero-with-form__form-card .ginput_recaptcha,
.hero-with-form__form-card .gfield--type-captcha {
  transform: scale(0.92);
  transform-origin: left top;
  margin-bottom: -0.35rem !important;
}

@media (min-width: 768px) {
  .hero-with-form__form-card .gform_fields,
  .hero-with-form__form-card .form-wrapper .gform_fields {
    grid-template-columns: 1fr 1fr;
  }

  /* Name + Email side by side (first two fields) */
  .hero-with-form__form-card .gform_fields > .gfield:nth-child(1),
  .hero-with-form__form-card .form-wrapper .gform_fields > .gfield:nth-child(1) {
    grid-column: 1;
  }

  .hero-with-form__form-card .gform_fields > .gfield:nth-child(2),
  .hero-with-form__form-card .form-wrapper .gform_fields > .gfield:nth-child(2) {
    grid-column: 2;
  }

  .hero-with-form__form-card .gform_fields > .gfield:nth-child(n + 3),
  .hero-with-form__form-card .form-wrapper .gform_fields > .gfield:nth-child(n + 3) {
    grid-column: 1 / -1;
  }

  .hero-with-form__form-card {
    padding: 1.35rem 1.25rem;
  }
}

@media (min-width: 768px) {
  .hero-with-form__inner {
    padding: 0 40px;
  }

  .hero-with-form__layout {
    gap: 40px;
  }

  .hero-with-form__text {
    font-size: 17px;
  }

  .hero-with-form__form-card {
    padding: 1.35rem 1.25rem;
    margin-left: auto;
  }
}

@media (min-width: 1024px) {
  .hero-with-form__inner {
    padding: 0 40px;
  }

  .hero-with-form__layout {
    flex-direction: row;
    align-items: center;
    gap: 56px;
  }

  .hero-with-form__content {
    flex: 0 1 55%;
  }

  .hero-with-form__form-col {
    flex: 0 1 45%;
    display: flex;
    justify-content: flex-end;
  }

  .hero-with-form__text {
    font-size: 18px;
  }
}

/* Service Cards */
.service-cards {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.service-cards__inner {
  margin: 0 auto;
}

.service-cards__header {
  text-align: center;
  margin-bottom: 2rem;
}

.service-cards__title {
  color: #0b1b26 !important;
  margin: 0 0 1rem;
}

.service-cards__intro {
  max-width: 760px;
  margin: 0 auto;
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1.125rem;
  line-height: 1.8;
}

.service-cards__intro > :last-child {
  margin-bottom: 0;
}

.service-cards__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  align-items: stretch;
}

.service-cards__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: 1px solid rgba(11, 27, 38, 0.1);
  border-radius: 2px;
  box-shadow: 0 10px 30px rgba(11, 27, 38, 0.06);
  overflow: hidden;
}

.service-cards__media {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #f4f1ec;
}

.service-cards__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width: 1024px) {
  .service-cards__media {
    aspect-ratio: auto;
    height: 200px;
  }

  .service-cards__grid--10 .service-cards__media {
    height: 145px;
  }
}

.service-cards__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 30px;
}

.service-cards__card-title {
  color: #0b1b26 !important;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.375rem;
  line-height: 1.35;
  margin: 0 0 0.875rem;
}

.service-cards__card-content {
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: 1.7;
}

.service-cards__card-content > :last-child {
  margin-bottom: 0;
}

.service-cards__footer {
  margin-top: 3rem;
  text-align: center;
}

@media (min-width: 768px) {
  .service-cards__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }

  .service-cards__header {
    margin-bottom: 2rem;
  }
}

@media (min-width: 1024px) {
  .service-cards__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }

  .service-cards__grid--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .service-cards__grid--10 {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.625rem;
  }
}

/* Checklist + Callout */
.checklist-callout {
  padding-top: 0 !important;
  padding-bottom: 3rem !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.checklist-callout--padding-top {
  padding-top: 3rem !important;
}

.checklist-callout__inner {
  margin: 0 auto;
  padding-top: 3.5rem;
  padding-bottom: 3.5rem;
  background-color: #faf9f7;
  border: 1px solid rgba(175, 164, 152, 0.55);
  border-radius: 2px;
}

.checklist-callout__main {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sbh-section-col-gap);
}

.checklist-callout__title {
  color: #0b1b26 !important;
  margin: 0 0 1.5rem;
}

.checklist-callout__content {
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: var(--sbh-text-lh);
}

.checklist-callout__content > :last-child {
  margin-bottom: 0;
}

.checklist-callout__intro-media {
  margin-top: 2rem;
}

.checklist-callout__intro-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 2px;
}

.checklist-callout__aside {
  min-width: 0;
}

.checklist-callout--checklist-left .checklist-callout__aside {
  order: -1;
}

.checklist-callout__aside-intro {
  margin-bottom: 2rem;
}

.checklist-callout__aside-title {
  margin: 0 0 1rem;
  color: #0b1b26 !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  font-weight: 400;
  line-height: 1.25;
  text-transform: none !important;
}

.checklist-callout__aside-content {
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  font-weight: 400;
  line-height: var(--sbh-text-lh);
}

.checklist-callout__aside-content > :first-child {
  margin-top: 0;
}

.checklist-callout__aside-content > :last-child {
  margin-bottom: 0;
}

.checklist-callout__checklists {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}

.checklist-callout__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.checklist-callout__item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.checklist-callout__item + .checklist-callout__item {
  margin-top: 2rem;
}

.checklist-callout__icon {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin-top: 0.2rem;
}

.checklist-callout__icon svg {
  display: block;
  width: 20px;
  height: 20px;
}

.checklist-callout__item-title {
  color: #0b1b26 !important;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 0.5rem;
}

.checklist-callout__item-content {
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.9375rem;
  line-height: var(--sbh-text-lh);
}

.checklist-callout__item-content > :last-child {
  margin-bottom: 0;
}

.checklist-callout__item-content p {
  margin: 0;
}

@media (min-width: 768px) {
  .checklist-callout {
  }

  .checklist-callout__inner {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }

  .checklist-callout__checklists {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4rem;
  }
}

@media (min-width: 1024px) {
  .checklist-callout__main {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--sbh-section-col-gap);
    align-items: start;
  }

  .checklist-callout--checklist-right .checklist-callout__aside {
    grid-column: 2 / 4;
  }

  .checklist-callout--checklist-left .checklist-callout__aside {
    grid-column: 1 / 3;
    order: -1;
  }

  .checklist-callout--checklist-left .checklist-callout__intro {
    grid-column: 3 / 4;
  }

  .checklist-callout__main--no-intro .checklist-callout__aside {
    grid-column: 1 / -1;
    order: 0;
  }
}

/* Signature Perspective */
.signature-perspective {
  position: relative;
  overflow: hidden;
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background-color: transparent;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.signature-perspective--has-image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: rgba(51, 51, 51, 0.28);
}

.signature-perspective__inner {
  position: relative;
  z-index: 1;
  margin: 0 auto;
}

.signature-perspective__bar {
  position: relative;
  padding: 2.75rem 2rem 3rem;
  background-color: #333;
  color: #fff;
  border: 0;
  border-radius: 0;
  overflow: hidden;
}

.signature-perspective__bar::after {
  content: "";
  position: absolute;
  inset: 14px;
  z-index: 1;
  pointer-events: none;
  border: 1px solid #afa498;
}

.signature-perspective__bar > * {
  position: relative;
  z-index: 2;
}

.signature-perspective__layout {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1.5rem;
}

.signature-perspective__content {
  flex: 1 1 auto;
  min-width: 0;
  text-align: center;
}

.signature-perspective__title {
  color: #fff !important;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 2rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
  margin: 0 0 1rem;
  letter-spacing: -0.01em;
  text-align: center;
  text-transform: none !important;
}

.signature-perspective__text {
  color: rgba(255, 255, 255, 0.88);
  font-family: "DM Sans", sans-serif !important;
  font-size: 1.0625rem;
  line-height: var(--sbh-text-lh);
  text-align: center;
}

.signature-perspective__text p {
  margin: 0;
}

.signature-perspective__text p + p {
  margin-top: 1rem;
}

.signature-perspective__text > :last-child {
  margin-bottom: 0;
}

.signature-perspective__text a {
  color: #afa498;
}

.signature-perspective__cta {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  gap: 0.75rem;
  padding-top: 0;
  border-top: 0;
  border-left: 0;
}

.signature-perspective__cta--dual .signature-perspective__button {
  width: 100%;
}

.signature-perspective__button.btn,
.signature-perspective__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-color: transparent !important;
  border: 1px solid rgba(255, 255, 255, 0.9) !important;
  border-radius: 9999px !important;
  color: #fff !important;
  box-shadow: none !important;
  min-height: 0;
  padding: 0.5rem 1.5rem;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: 0.875rem;
  font-weight: 400;
  letter-spacing: 0;
  text-align: center;
  text-decoration: none;
  text-transform: none;
  transition: border-color 0.2s ease, color 0.2s ease;
  white-space: nowrap;
}

.signature-perspective__button.btn:hover,
.signature-perspective__button.btn:focus,
.signature-perspective__button:hover,
.signature-perspective__button:focus {
  background-color: transparent !important;
  border-color: #afa498 !important;
  color: #afa498 !important;
  box-shadow: none !important;
}

@media (min-width: 768px) {
  .signature-perspective {
  }

  .signature-perspective__bar {
    padding: 3.5rem 3.5rem 3.75rem;
  }

  .signature-perspective__bar::after {
    inset: 18px;
  }

  .signature-perspective__layout {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
    width: 100%;
  }

  .signature-perspective__cta {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    padding-top: 0;
    padding-left: 0;
    border-top: 0;
    border-left: 0;
  }

  .signature-perspective__cta--dual .signature-perspective__button {
    width: auto;
  }
}

@media (max-width: 767px) {
  .signature-perspective__bar {
    padding: 2.25rem 1.5rem 2.5rem;
  }

  .signature-perspective__bar::after {
    inset: 10px;
  }
}

/* Gallery Overview */
.gallery-overview__title {
  text-transform: none !important;
}

/* 50/50 with Images */
.fifty-fifty-images {
  padding: 3.5rem 0;
  background-color: #fff;
  color: #333;
}

.fifty-fifty-images__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sbh-section-col-gap);
    margin: 0 auto;
}

.fifty-fifty-images__col {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.fifty-fifty-images__title {
  margin: 0 0 1rem;
  color: #333 !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  font-weight: 400;
  line-height: 1.25;
  text-align: left;
  text-transform: none !important;
}

.fifty-fifty-images__content {
  margin: 0 0 1.5rem;
  color: #333;
  font-family: "DM Sans", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: var(--sbh-text-lh);
  text-align: left;
}

.fifty-fifty-images__content > :first-child {
  margin-top: 0;
}

.fifty-fifty-images__content > :last-child {
  margin-bottom: 0;
}

.fifty-fifty-images__media {
  width: 100%;
  margin: 0;
}

.fifty-fifty-images__frame {
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: #f4f1ec;
}

.fifty-fifty-images__media:has(.fifty-fifty-images__caption) .fifty-fifty-images__frame {
  border-radius: 0.5rem 0.5rem 0 0;
}

.fifty-fifty-images__image-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.fifty-fifty-images__image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.fifty-fifty-images__caption {
  margin: 0;
  padding: 0.85rem 1.1rem;
  border-radius: 0 0 0.5rem 0.5rem;
  background-color: #f4f1ec;
  color: #333;
  font-family: "DM Sans", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  font-style: italic;
  line-height: var(--sbh-text-lh);
  text-align: left;
}

.fifty-fifty-images__actions {
  margin-top: 1.5rem;
}

.fifty-fifty-images__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: 0.55rem 1.35rem;
  border: 1px solid #333;
  border-radius: 999px;
  color: #333 !important;
  background: transparent;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.2;
  text-decoration: none;
  transition: color 0.25s ease, border-color 0.25s ease;
}

.fifty-fifty-images__button:hover,
.fifty-fifty-images__button:focus {
  color: #afa498 !important;
  border-color: #afa498;
}

@media (min-width: 768px) {
  .fifty-fifty-images {
    padding: 5rem 0;
  }

  .fifty-fifty-images__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--sbh-section-col-gap);
  }
}

/* 50/50 Full Width */
.fifty-fifty-full {
  width: 100%;
  padding: 3.5rem 0;
  background-color: #f7f4ef;
  color: #333;
}

.fifty-fifty-full__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sbh-section-col-gap);
  margin: 0 auto;
  width: 100%;
  align-items: center;
}

.fifty-fifty-full__media {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  margin: 0;
  min-width: 0;
}

.fifty-fifty-full__frame {
  overflow: hidden;
  border-radius: 0.5rem;
  background-color: transparent;
}

.fifty-fifty-full__media:has(.fifty-fifty-full__caption) .fifty-fifty-full__frame {
  border-radius: 0.5rem 0.5rem 0 0;
  background-color: #f4f1ec;
}

.fifty-fifty-full__image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 420px;
  object-fit: contain;
  object-position: center;
}

.fifty-fifty-full__caption {
  margin: 0;
  padding: 0.85rem 1.1rem;
  border-radius: 0 0 0.5rem 0.5rem;
  background-color: #f4f1ec;
  color: #333;
  font-family: "DM Sans", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  font-style: italic;
  line-height: var(--sbh-text-lh);
  text-align: center;
}

.fifty-fifty-full__content {
  display: flex;
  align-items: center;
  min-width: 0;
}

.fifty-fifty-full__content-inner {
  width: 100%;
  max-width: 32rem;
}

.fifty-fifty-full__title {
  margin: 0 0 1rem;
  color: #333 !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: clamp(1.5rem, 2.8vw, 2.25rem);
  font-weight: 400;
  line-height: 1.25;
  text-transform: none !important;
}

.fifty-fifty-full__text {
  color: #333;
  font-family: "DM Sans", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: var(--sbh-text-lh);
}

.fifty-fifty-full__text > :first-child {
  margin-top: 0;
}

.fifty-fifty-full__text > :last-child {
  margin-bottom: 0;
}

.fifty-fifty-full__actions {
  margin-top: 1.5rem;
}

.fifty-fifty-full__button {
  display: inline-block;
  --border-opacity: 1;
  border-color: #333333;
  border-color: rgba(51, 51, 51, var(--border-opacity));
  border-width: 1px;
  border-style: solid;
  border-radius: 9999px;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: #333 !important;
  background: transparent;
  font-family: "DM Sans", sans-serif !important;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.875rem;
  line-height: 1;
  text-decoration: none;
  transition: color 0.25s ease, border-color 0.25s ease;
}

.fifty-fifty-full__button:hover,
.fifty-fifty-full__button:focus {
  color: #afa498 !important;
  border-color: #afa498;
}

.fifty-fifty-full--image-right .fifty-fifty-full__media {
  order: 2;
}

.fifty-fifty-full--image-right .fifty-fifty-full__content {
  order: 1;
}

@media (min-width: 768px) {
  .fifty-fifty-full {
    padding: 5rem 0;
  }

  .fifty-fifty-full__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--sbh-section-col-gap);
  }

  .fifty-fifty-full__image {
    max-height: 520px;
  }

  .fifty-fifty-full--image-left .fifty-fifty-full__media {
    order: 1;
  }

  .fifty-fifty-full--image-left .fifty-fifty-full__content {
    order: 2;
  }
}

@media (min-width: 1024px) {
  .fifty-fifty-full {
    padding: 5.5rem 0;
  }

  .fifty-fifty-full__inner {
    gap: var(--sbh-section-col-gap);
  }

  .fifty-fifty-full__content-inner {
    max-width: 34rem;
  }

  .fifty-fifty-full__image {
    max-height: 560px;
  }
}

/* Four Column Flex */
.four-column-flex {
  padding: 3.5rem 0 4rem;
  color: #333;
}

.four-column-flex__inner {
  margin: 0 auto;
}

.four-column-flex__header {
  max-width: 760px;
  margin: 0 auto 3.5rem;
  text-align: center;
}

.four-column-flex__title {
  margin: 0 0 1.25rem;
  color: #333 !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 400;
  line-height: 1.25;
  text-transform: none !important;
}

.four-column-flex__intro {
  margin: 0;
  color: #333;
  font-family: "DM Sans", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: var(--sbh-text-lh);
}

.four-column-flex__columns {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
}

.four-column-flex__column {
  flex: 1 1 0;
  width: 100%;
  min-width: 0;
  padding: 1.75rem 1.5rem;
  background-color: #faf9f7;
  border: 1px solid rgba(175, 164, 152, 0.35);
  text-align: left;
}

.four-column-flex__heading {
  margin: 0 0 1rem;
  color: #333 !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 400;
  line-height: 1.3;
  text-transform: none !important;
}

.four-column-flex__column-intro,
.four-column-flex__body,
.four-column-flex__closing,
.four-column-flex__list-label {
  color: #333;
  font-family: "DM Sans", sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: var(--sbh-text-lh);
}

.four-column-flex__column-intro,
.four-column-flex__body {
  margin: 0 0 1rem;
}

.four-column-flex__column-intro > :first-child,
.four-column-flex__body > :first-child,
.four-column-flex__closing > :first-child {
  margin-top: 0;
}

.four-column-flex__column-intro > :last-child,
.four-column-flex__body > :last-child,
.four-column-flex__closing > :last-child {
  margin-bottom: 0;
}

.four-column-flex__body.format-content h2,
.four-column-flex__body.format-content h3,
.four-column-flex__body.format-content h4,
.four-column-flex__body.format-content h5,
.four-column-flex__body.format-content h6 {
  padding: 15px 0;
}

.four-column-flex__list-label {
  margin: 0 0 0.75rem;
}

.four-column-flex__list {
  list-style: none;
  margin: 0 0 1.25rem;
  padding: 0;
}

.four-column-flex__list-item {
  display: flex;
  align-items: flex-start;
  gap: 0.65rem;
}

.four-column-flex__list-item + .four-column-flex__list-item {
  margin-top: 0.75rem;
}

.four-column-flex__check {
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  margin-top: 0.2rem;
  color: #afa498;
}

.four-column-flex__check svg {
  display: block;
  width: 16px;
  height: 16px;
}

.four-column-flex__list-text {
  flex: 1;
  min-width: 0;
  color: #333;
  font-family: "DM Sans", sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.55;
}

.four-column-flex__closing {
  margin: 0.25rem 0 0;
}

.four-column-flex__group {
  margin-top: 1.5rem;
}

.four-column-flex__group:first-of-type {
  margin-top: 0.5rem;
}

.four-column-flex__subheading {
  margin: 0 0 0.85rem;
  color: #afa498 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase !important;
}

@media (min-width: 768px) {
  .four-column-flex {
    padding: 5rem 0;
  }

  .four-column-flex__header {
    margin-bottom: 4rem;
  }

  .four-column-flex__columns {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 1rem;
  }

  .four-column-flex__column {
    flex: 1 1 calc(50% - 0.5rem);
    max-width: calc(50% - 0.5rem);
    padding: 2rem 1.75rem;
  }
}

@media (min-width: 1024px) {
  .four-column-flex {
    padding: 5.5rem 0 6rem;
  }

  .four-column-flex__header {
    margin-bottom: 4.5rem;
  }

  .four-column-flex__columns {
    flex-wrap: nowrap;
    gap: 1rem;
  }

  .four-column-flex__column {
    flex: 1 1 0;
    max-width: none;
    padding: 2.25rem 2rem;
  }
}

/* Featured Homes */
.featured-homes__mobile-button {
  padding-bottom: 3rem;
}

@media (min-width: 768px) {
  .featured-homes__mobile-button {
    padding-bottom: 0;
  }
}

/* Signature Difference */
.signature-difference {
  margin-top: 3rem;
  padding-top: 3rem !important;
  padding-bottom: 4rem !important;
  background-color: #f7ead7;
  color: #333;
}

.signature-difference__header {
  margin-bottom: 2rem;
}

.signature-difference__title {
  margin: 0;
  color: #333 !important;
}

.signature-difference__content {
  color: #333;
}

.signature-difference__content a {
  color: #333;
}

.signature-difference__panels {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  width: 100%;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

body.page-template-default .signature-difference__panels {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.signature-difference__dot {
  padding: 0;
  background: transparent;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  box-shadow: none;
}

.signature-difference__dot:focus,
.signature-difference__dot:focus-visible,
.signature-difference__dot:active {
  outline: none;
  box-shadow: none;
}

.signature-difference__panel {
  display: block;
  flex: 0 0 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
  overflow: visible;
  cursor: pointer;
  transition:
    flex-grow 0.65s cubic-bezier(0.4, 0, 0.2, 1),
    flex-basis 0.65s cubic-bezier(0.4, 0, 0.2, 1),
    margin-top 0.65s cubic-bezier(0.4, 0, 0.2, 1);
}

.signature-difference__media {
  width: 100%;
  height: 280px;
  background-color: #d9cbb8;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
}

.signature-difference__meta {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 1.25rem 0 0;
  color: #333;
}

.signature-difference__item-title {
  margin: 0;
  text-transform: none;
  white-space: normal;
  color: #333 !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: 1.0625rem !important;
  font-weight: 400;
  line-height: 1.35;
}

.signature-difference__subtitle {
  margin: 0;
  max-height: none;
  opacity: 1;
  overflow: visible;
  line-height: 1.35;
  color: #333;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif;
  font-size: 1.0625rem;
  transition: opacity 0.45s ease, max-height 0.55s ease, margin 0.45s ease;
}

@media (min-width: 768px) {
  .signature-difference__header {
    margin-bottom: 2.5rem;
  }

  .signature-difference__panels {
    flex-direction: row;
    align-items: flex-start;
    gap: 1.25rem;
    padding-left: 0;
    padding-right: 0;
  }

  .signature-difference__panel {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
  }

  /* Staggered column rhythm */
  .signature-difference__panel:nth-child(odd) {
    margin-top: 0;
  }

  .signature-difference__panel:nth-child(even) {
    margin-top: 4.5rem;
  }

  .signature-difference__panel:nth-child(1) .signature-difference__media {
    height: 460px;
  }

  .signature-difference__panel:nth-child(2) .signature-difference__media {
    height: 520px;
  }

  .signature-difference__panel:nth-child(3) .signature-difference__media {
    height: 500px;
  }

  .signature-difference__panel:nth-child(4) .signature-difference__media,
  .signature-difference__panel:nth-child(n + 4) .signature-difference__media {
    height: 480px;
  }

  .signature-difference__meta {
    flex-direction: column;
    align-items: flex-start;
    margin-top: 0.75rem;
    padding: 0 0.25rem 0;
    gap: 0.35rem;
  }

  .signature-difference__item-title {
    white-space: normal;
  }

  .signature-difference__subtitle {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    margin-left: 0;
  }

  .signature-difference__panel:hover .signature-difference__subtitle,
  .signature-difference__panel:focus-visible .signature-difference__subtitle,
  .signature-difference__panel.is-active .signature-difference__subtitle {
    max-height: 12rem;
    opacity: 1;
    overflow: visible;
  }
}

@media (min-width: 1200px) {
  .signature-difference__meta {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: baseline;
    gap: 0;
  }

  .signature-difference__item-title {
    flex: 0 0 auto;
    white-space: nowrap;
    font-size: 1.0625rem !important;
  }

  .signature-difference__subtitle {
    flex: 1 1 auto;
    min-width: 0;
    white-space: normal;
  }

  .signature-difference__panel:hover .signature-difference__subtitle,
  .signature-difference__panel:focus-visible .signature-difference__subtitle,
  .signature-difference__panel.is-active .signature-difference__subtitle {
    margin-left: 0.65rem;
  }
}

/* Comparison Table */
.comparison-table {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.comparison-table__inner {
  margin: 0 auto;
}

.comparison-table__header {
  text-align: center;
  margin-bottom: 2.5rem;
}

.comparison-table__title {
  color: #333 !important;
  margin: 0 0 1.5rem;
}

.comparison-table__intro {
  max-width: 900px;
  margin: 0 auto;
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: var(--sbh-text-lh);
}

.comparison-table__intro > :last-child {
  margin-bottom: 0;
}

.comparison-table__scroll {
  overflow-x: visible;
}

.comparison-table__table {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-width: 0;
  border: 0;
}

.comparison-table__row {
  display: flex;
  flex-direction: column;
}

.comparison-table__row--head {
  display: none;
}

.comparison-table__row:not(.comparison-table__row--head) {
  margin-bottom: 1.25rem;
  border: 1px solid rgba(175, 164, 152, 0.45);
  overflow: hidden;
}

.comparison-table__cell {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 1.25rem;
  border: 0;
  text-align: center;
}

.comparison-table__row:not(.comparison-table__row--head) .comparison-table__cell {
  width: 100%;
  border-bottom: 1px solid rgba(175, 164, 152, 0.25);
}

.comparison-table__row:not(.comparison-table__row--head) .comparison-table__cell:last-child {
  border-bottom: 0;
}

.comparison-table__row:not(.comparison-table__row--head) .comparison-table__cell--label {
  text-align: center;
}

.comparison-table__row:not(.comparison-table__row--head) .comparison-table__cell--is-empty {
  display: none;
}

.comparison-table__cell--left::before,
.comparison-table__cell--right::before {
  content: attr(data-column);
  display: block;
  margin-bottom: 0.625rem;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.35;
  text-transform: uppercase;
  color: #333;
}

@media (min-width: 768px) {
  .comparison-table {
  }

  .comparison-table__scroll {
    overflow: visible;
  }

  .comparison-table__table {
    display: block;
    min-width: 0;
    width: 100%;
    border: 1px solid rgba(175, 164, 152, 0.45);
  }

  .comparison-table__row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .comparison-table--cols-2 .comparison-table__row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .comparison-table__row--head {
    display: grid;
  }

  .comparison-table__row:not(.comparison-table__row--head) {
    margin-bottom: 0;
    border: 0;
    overflow: visible;
  }

  .comparison-table__cell {
    min-height: 100%;
    padding: 1.5rem;
    border: 1px solid rgba(175, 164, 152, 0.35);
    margin: 0 0 -1px -1px;
  }

  .comparison-table__row:not(.comparison-table__row--head) .comparison-table__cell {
    width: auto;
    border-bottom: 1px solid rgba(175, 164, 152, 0.35);
  }

  .comparison-table__row:not(.comparison-table__row--head) .comparison-table__cell--is-empty {
    display: flex;
  }

  .comparison-table__cell--left::before,
  .comparison-table__cell--right::before {
    content: none;
    display: none;
  }

  .comparison-table__stack--has-top-cta .comparison-table__table {
    border-top: 0;
  }

  .comparison-table__stack--has-cta .comparison-table__table {
    border-bottom: 0;
  }

  .comparison-table__preface {
    margin-bottom: 0;
    padding: 2.25rem 2rem;
    border-bottom: 0;
  }

  .comparison-table__footer {
    margin-top: 0;
    padding: 2.25rem 2rem;
    border-top: 0;
  }

  .comparison-table__cta {
    margin-top: 1.35rem;
  }
}

.comparison-table__cell--head {
  padding: 1rem 1.25rem;
}

.comparison-table__cell--head-label {
  background-color: #afa498;
  color: #fff;
}

.comparison-table__cell--head-left {
  background-color: #333;
  color: #fff;
}

.comparison-table__cell--head-right {
  background-color: #d9d0c6;
  color: #333;
}

.comparison-table__head-text {
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.35;
  text-transform: uppercase;
}

.comparison-table__cell--label {
  background-color: #faf9f7;
  color: #333;
}

.comparison-table__cell--left {
  background-color: #f3f5f6;
  color: #4a4a4a;
  justify-content: flex-start;
  text-align: left;
}

.comparison-table__cell--right {
  background-color: #f5f1eb;
  color: #4a4a4a;
  justify-content: flex-start;
  text-align: left;
}

.comparison-table__label {
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.4;
}

.comparison-table__content {
  width: 100%;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.9375rem;
  line-height: var(--sbh-text-lh);
}

.comparison-table__content > :last-child {
  margin-bottom: 0;
}

.comparison-table__content p {
  margin: 0;
}

.comparison-table__preface,
.comparison-table__footer {
  margin-top: 1.25rem;
  padding: 2rem 1.5rem;
  text-align: center;
  background-color: #faf9f7;
  border: 1px solid rgba(175, 164, 152, 0.45);
}

.comparison-table__preface {
  margin-top: 0;
  margin-bottom: 1.25rem;
}

.comparison-table__closing {
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: 1.7;
  text-align: center;
}

.comparison-table__closing > :last-child {
  margin-bottom: 0;
}

.comparison-table__cta {
  margin-top: 1.25rem;
}

.comparison-table__button {
  display: inline-block;
  width: auto;
  max-width: 100%;
  text-align: center;
  background-color: transparent !important;
  border-color: #333 !important;
  color: #333 !important;
  border-radius: 9999px;
  padding: 0.5rem 1.5rem;
  letter-spacing: 0.06em;
  box-shadow: none !important;
}

.comparison-table__button:hover,
.comparison-table__button:focus {
  background-color: transparent !important;
  border-color: #afa498 !important;
  color: #afa498 !important;
}

/* Comparison Table (Alt Style) */
.comparison-table-alt {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
  background-color: rgba(247, 234, 215, 0.5) !important;
  color: #333;
}

.comparison-table-alt__inner {
  margin: 0 auto;
}

.comparison-table-alt__table {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  width: 100%;
}

.comparison-table-alt__col {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.comparison-table-alt__cell {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding: 0.85rem 0.75rem;
  text-align: left;
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: var(--sbh-text-lh);
  border-top: 1px solid #333;
}

.comparison-table-alt__col .comparison-table-alt__cell:last-child {
  border-bottom: 0;
}

.comparison-table-alt__cell--head {
  border-top: 0;
  border-bottom: 1px solid #333;
  padding: 0 0.5rem 1rem;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: clamp(1rem, 3.5vw, 1.375rem);
  font-weight: 400;
  line-height: 1.25;
}

.comparison-table-alt__cell--head + .comparison-table-alt__cell {
  border-top: 0;
}

.comparison-table-alt__cell.is-empty {
  display: none;
}

@media (min-width: 768px) {
  .comparison-table-alt {
    padding-top: 4.5rem !important;
    padding-bottom: 4.5rem !important;
  }

  .comparison-table-alt__table {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
  }

  .comparison-table-alt__col--left .comparison-table-alt__cell {
    border-right: 1px solid #333;
  }

  .comparison-table-alt__cell {
    justify-content: center;
    padding: 1.5rem 1rem;
    font-size: 1rem;
    line-height: var(--sbh-text-lh);
    text-align: center;
  }

  .comparison-table-alt__cell--head {
    justify-content: center;
    padding: 0 2rem 1.5rem;
    font-size: clamp(1.25rem, 2vw, 1.625rem);
    line-height: 1.3;
    text-align: center;
  }

  .comparison-table-alt__cell.is-empty {
    display: flex;
  }
}

/* CTA Simple Centered */
.cta-simple-centered {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
}

.cta-simple-centered__inner {
  max-width: 950px;
  margin: 0 auto;
  text-align: center;
}

.cta-simple-centered__heading {
  color: #333 !important;
  margin: 0 0 24px;
}

.cta-simple-centered__content {
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: var(--sbh-text-lh);
}

.cta-simple-centered__content ul,
.cta-simple-centered__content ol {
  display: inline-block;
  text-align: left;
  margin: 1rem auto;
  padding-left: 1.5rem;
}

.cta-simple-centered__content ul {
  list-style-type: disc;
}

.cta-simple-centered__content ol {
  list-style-type: decimal;
}

.cta-simple-centered__content li {
  margin-bottom: 0.5rem;
  padding-left: 0.25rem;
}

.cta-simple-centered__content li:last-child {
  margin-bottom: 0;
}

.cta-simple-centered__content ul ul,
.cta-simple-centered__content ol ol,
.cta-simple-centered__content ul ol,
.cta-simple-centered__content ol ul {
  margin: 0.5rem 0 0;
  display: block;
}

.cta-simple-centered__content ul ul {
  list-style-type: circle;
}

.cta-simple-centered__content ul ul ul {
  list-style-type: square;
}

.cta-simple-centered__content > :last-child {
  margin-bottom: 0;
}

.cta-simple-centered__footer {
  margin-top: 36px;
}

.cta-simple-centered__button {
  display: inline-block;
  --border-opacity: 1;
  background-color: transparent;
  border-color: #333333;
  border-color: rgba(51, 51, 51, var(--border-opacity));
  border-width: 1px;
  border-style: solid;
  border-radius: 9999px;
  padding: 0.5rem 1.5rem;
  font-family: "DM Sans", sans-serif !important;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 0.875rem;
  line-height: 1;
  color: #333 !important;
  text-decoration: none;
  box-shadow: none;
  transition: border-color 0.2s ease, color 0.2s ease;
}

.cta-simple-centered__button:hover,
.cta-simple-centered__button:focus {
  --border-opacity: 1;
  border-color: #afa498;
  border-color: rgba(175, 164, 152, var(--border-opacity));
  color: #afa498 !important;
  background-color: transparent;
  box-shadow: none;
}

@media (max-width: 767px) {
}

/* Callout Numbered */
.callout-numbered {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.callout-numbered__inner {
  margin: 0 auto;
}

.callout-numbered__panel {
  position: relative;
  overflow: hidden;
  background-color: #333;
  border: 0;
}

.callout-numbered__panel::after {
  content: "";
  position: absolute;
  inset: 14px;
  z-index: 2;
  pointer-events: none;
  border: 1px solid #afa498;
}

.callout-numbered__layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr;
  min-height: 0;
}

.callout-numbered__media {
  position: relative;
  min-height: 240px;
  overflow: hidden;
}

.callout-numbered__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.callout-numbered__content {
  position: relative;
  z-index: 3;
  padding: 2.25rem 1.75rem 2.5rem;
  text-align: left;
  color: #fff;
}

.callout-numbered__header {
  max-width: none;
  margin: 0;
  text-align: left;
}

.callout-numbered__title {
  color: #fff !important;
  margin: 0 0 1rem;
  letter-spacing: -0.01em;
  text-align: left;
}

.callout-numbered__intro {
  color: rgba(255, 255, 255, 0.88);
  font-family: "DM Sans", sans-serif !important;
  font-size: 1.0625rem;
  line-height: var(--sbh-text-lh);
  text-align: left;
}

.callout-numbered__intro > :last-child {
  margin-bottom: 0;
}

.callout-numbered__intro a {
  color: #afa498;
}

.callout-numbered__list-wrap {
  position: relative;
  max-width: none;
  margin: 1.75rem 0 0;
  padding: 0;
  background: transparent;
  border: 0;
}

.callout-numbered__list {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left;
}

.callout-numbered__item {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  padding: 1.1rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  transition: transform 0.25s ease, border-color 0.25s ease;
}

.callout-numbered__item:first-child {
  padding-top: 0;
}

.callout-numbered__item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.callout-numbered__item:hover {
  transform: translateX(4px);
  border-bottom-color: rgba(175, 164, 152, 0.55);
}

.callout-numbered__item:last-child:hover {
  border-bottom-color: transparent;
}

.callout-numbered__number {
  display: block;
  width: auto;
  height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #afa498;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: 0.06em;
  transition: color 0.25s ease;
}

.callout-numbered__item:hover .callout-numbered__number {
  color: #fff;
}

.callout-numbered__item-body {
  display: block;
  min-width: 0;
  color: #fff;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: 1.6;
  text-align: left;
}

.callout-numbered__item-title {
  color: #fff;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: -0.01em;
}

.callout-numbered__item-sep {
  margin: 0 0.4em;
  color: rgba(255, 255, 255, 0.75);
}

.callout-numbered__item-content {
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.975rem;
  line-height: var(--sbh-text-lh);
}

.callout-numbered--stacked .callout-numbered__item-body,
.callout-numbered__layout--stacked .callout-numbered__item-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
}

.callout-numbered--stacked .callout-numbered__item-title,
.callout-numbered--stacked .callout-numbered__item-content,
.callout-numbered__layout--stacked .callout-numbered__item-title,
.callout-numbered__layout--stacked .callout-numbered__item-content {
  display: block;
  width: 100%;
}

.callout-numbered--stacked .callout-numbered__item-sep,
.callout-numbered__layout--stacked .callout-numbered__item-sep {
  display: none;
}

.callout-numbered__footer {
  max-width: 900px;
  margin: 2.5rem auto 0;
  padding: 2rem 1.5rem;
  text-align: center;
  background-color: #faf9f7;
  border: 1px solid rgba(175, 164, 152, 0.55);
}

.callout-numbered__closing {
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1.0625rem;
  line-height: 1.7;
  text-align: center;
}

.callout-numbered__closing > :last-child {
  margin-bottom: 0;
}

.callout-numbered__closing a {
  color: #afa498;
}

.callout-numbered__cta {
  margin-top: 1.5rem;
}

.callout-numbered__cta .btn {
  background-color: transparent !important;
  border: 1px solid #333 !important;
  color: #333 !important;
  box-shadow: none !important;
}

.callout-numbered__cta .btn:hover,
.callout-numbered__cta .btn:focus {
  background-color: transparent !important;
  border-color: #afa498 !important;
  color: #afa498 !important;
}

@media (min-width: 768px) {
  .callout-numbered {
  }

  .callout-numbered__panel::after {
    inset: 18px;
  }

  .callout-numbered__layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    min-height: 560px;
  }

  .callout-numbered__panel--no-image .callout-numbered__layout {
    grid-template-columns: 1fr;
  }

  .callout-numbered__media {
    min-height: 100%;
  }

  .callout-numbered__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 3rem 3rem 3.25rem 2.5rem;
  }

  .callout-numbered__list-wrap {
    margin-top: 2rem;
  }

  .callout-numbered__item {
    grid-template-columns: 3.5rem minmax(0, 1fr);
    gap: 1.25rem;
    padding: 1.25rem 0;
  }

  .callout-numbered__number {
    font-size: 1.75rem;
  }

  .callout-numbered__item-title {
    font-size: 1.25rem;
  }

  .callout-numbered__item-content {
    font-size: 1rem;
  }

  .callout-numbered__footer {
    margin-top: 2.75rem;
    padding: 2.5rem 2.5rem;
  }
}

@media (max-width: 767px) {
  .callout-numbered__panel::after {
    inset: 10px;
  }

  .callout-numbered__item:hover {
    transform: none;
  }
}

/* Form + FAQ */
.form-faq {
  position: relative;
  overflow: hidden;
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background-color: #faf9f7;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.form-faq--has-image::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: rgba(255, 255, 255, 0.88);
}

@media (max-width: 767px) {
  .form-faq--has-image::before {
    background: rgba(255, 255, 255, 0.88);
  }
}

.form-faq__inner {
  position: relative;
  z-index: 2;
  margin: 0 auto;
}

.form-faq__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sbh-section-col-gap);
  align-items: start;
}

.form-faq__headline {
  color: #333 !important;
  margin: 0 0 1.25rem;
}

.form-faq__copy {
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: var(--sbh-text-lh);
  margin-bottom: 1.75rem;
}

.form-faq__copy > :last-child {
  margin-bottom: 0;
}

.form-faq__form-col .hero-with-form__form-card {
  max-width: 100%;
  margin: 0;
}

.form-faq__faq-title {
  color: #333 !important;
  margin: 0 0 1.5rem;
  text-align: left;
}

.form-faq__right .faq-accordion__list {
  margin: 0;
}

.form-faq__cta {
  margin-top: 1.5rem;
  padding-top: 0;
}

.form-faq__cta-title {
  color: #333;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.25rem;
  line-height: 1.4;
  margin: 0 0 0.75rem;
}

@media (min-width: 768px) {
  .form-faq {
  }
}

@media (min-width: 1024px) {
  .form-faq__layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--sbh-section-col-gap);
  }
}

/* New flexible layouts — left-align text on mobile */
@media (max-width: 767px) {
  .faq-accordion__intro,
  .faq-accordion__intro-text,
  .faq-accordion__group-heading,
  .faq-accordion__group-intro,
  .hero-with-form__content,
  .hero-with-form__title,
  .hero-with-form__text,
  .hero-with-form__button-wrap,
  .service-cards__header,
  .service-cards__title,
  .service-cards__intro,
  .service-cards__footer,
  .checklist-callout__title,
  .checklist-callout__content,
  .checklist-callout__item-title,
  .checklist-callout__item-content,
  .signature-difference,
  .signature-difference__content,
  .comparison-table__header,
  .comparison-table__title,
  .comparison-table__intro,
  .comparison-table__cell,
  .comparison-table__cell--label,
  .comparison-table__head-text,
  .cta-simple-centered__inner,
  .cta-simple-centered__heading,
  .cta-simple-centered__content,
  .cta-simple-centered__footer,
  .callout-numbered__title,
  .callout-numbered__intro,
  .form-faq,
  .form-faq__headline,
  .form-faq__copy,
  .form-faq__faq-title,
  .form-faq__cta,
  .form-faq__cta-title,
  .form-faq .faq-accordion__question,
  .form-faq .faq-accordion__answer,
  .content-5050__title,
  .content-5050__text,
  .content-5050__cta,
  .lifestyle-scorecard__intro,
  .lifestyle-scorecard__title,
  .lifestyle-scorecard__content,
  .lifestyle-scorecard__dimensions-title,
  .lifestyle-scorecard__card,
  .lifestyle-scorecard__card-title,
  .lifestyle-scorecard__card-intro,
  .lifestyle-scorecard__consider,
  .lifestyle-scorecard__score,
  .lifestyle-scorecard__calculator-intro,
  .lifestyle-scorecard__calculator-title,
  .lifestyle-scorecard__calculator-content,
  .insights-featured,
  .insights-market__title,
  .insights-market__content,
  .insights-market__cta,
  .insights-feed__intro,
  .insights-feed__title,
  .insights-feed__content {
    text-align: left !important;
  }
}

/* Content 50/50 */
.content-5050 {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.content-5050__inner {
  margin: 0 auto;
}

.content-5050__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sbh-section-col-gap);
  align-items: stretch;
}

.content-5050__col {
  min-width: 0;
  padding: 2rem 1.5rem;
  background-color: #faf9f7;
  border: 1px solid rgba(175, 164, 152, 0.55);
}

.content-5050__title {
  color: #333 !important;
  margin: 0 0 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #afa498;
  line-height: 1.25 !important;
}

.content-5050__text {
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: var(--sbh-text-lh);
}

.content-5050__text > :last-child {
  margin-bottom: 0;
}

.content-5050__text p {
  margin: 0 0 1rem;
}

.content-5050__text p + ul,
.content-5050__text p + ol {
  margin-top: 0.25rem;
}

.content-5050__text ul,
.content-5050__text ol {
  margin: 0 0 1.25rem;
  padding-left: 1.25rem;
}

.content-5050__text ul {
  list-style-type: disc;
}

.content-5050__text ol {
  list-style-type: decimal;
}

.content-5050__text li {
  margin-bottom: 0.85rem;
  padding-left: 0.25rem;
}

.content-5050__text li:last-child {
  margin-bottom: 0;
}

.content-5050__text li strong,
.content-5050__text li b,
.content-5050__text strong,
.content-5050__text b {
  color: #333;
  font-weight: 700;
}

.content-5050__cta {
  margin-top: 1.75rem;
}

@media (min-width: 768px) {
  .content-5050 {
  }

  .content-5050__col {
    padding: 2.5rem 2.25rem;
  }
}

@media (min-width: 1024px) {
  .content-5050__layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0;
  }

  .content-5050__col--left {
    border-right: 0;
  }

  .content-5050__col--right {
    border-left: 1px solid rgba(175, 164, 152, 0.55);
  }

  .content-5050__col {
    padding: 2.75rem 2.75rem;
  }
}

/* Lifestyle Scorecard */
.lifestyle-scorecard {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  background-color: #faf9f7;
}

.lifestyle-scorecard__inner {
  margin: 0 auto;
}

.lifestyle-scorecard__intro {
  max-width: 850px;
  margin: 0 auto 3rem;
  text-align: center;
}

.lifestyle-scorecard__title {
  color: #333 !important;
  margin: 0 0 1.25rem;
}

.lifestyle-scorecard__content {
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: var(--sbh-text-lh);
}

.lifestyle-scorecard__content > :last-child {
  margin-bottom: 0;
}

.lifestyle-scorecard__dimensions-title {
  max-width: 850px;
  margin: 0 auto 2.5rem;
  color: #333 !important;
  text-align: center;
}

.lifestyle-scorecard__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: stretch;
}

.lifestyle-scorecard__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 32px;
  background-color: #fff;
  border: 1px solid rgba(51, 51, 51, 0.12);
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(11, 27, 38, 0.06);
  text-align: center;
}

.lifestyle-scorecard__number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0 auto 1.25rem;
  border-radius: 50%;
  background-color: #afa498;
  color: #fff;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1;
}

.lifestyle-scorecard__card-title {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  margin: 0 0 1rem;
  color: #333 !important;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.35;
  text-align: left;
}

.lifestyle-scorecard__star {
  display: inline-flex;
  flex-shrink: 0;
  color: #afa498;
}

.lifestyle-scorecard__star svg {
  width: 1.125rem;
  height: 1.125rem;
}

.lifestyle-scorecard__card-intro {
  margin-bottom: 1.25rem;
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.9375rem;
  line-height: var(--sbh-text-lh);
  text-align: left;
}

.lifestyle-scorecard__card-intro > :last-child {
  margin-bottom: 0;
}

.lifestyle-scorecard__consider {
  margin-bottom: 1.5rem;
  text-align: left;
}

.lifestyle-scorecard__consider-label {
  margin: 0 0 0.5rem;
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.9375rem;
  font-weight: 700;
  line-height: 1.5;
}

.lifestyle-scorecard__consider-list {
  margin: 0;
  padding: 0 0 0 1.35rem;
  list-style: disc outside !important;
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.9375rem;
  line-height: 1.6;
}

.lifestyle-scorecard__consider-list li {
  list-style: disc outside !important;
  display: list-item;
}

.lifestyle-scorecard__consider-list li + li {
  margin-top: 0.35rem;
}

.lifestyle-scorecard__score {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: auto;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(175, 164, 152, 0.35);
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1;
}

.lifestyle-scorecard__calculator {
  margin-top: 3.5rem;
}

.lifestyle-scorecard__calculator-intro {
  max-width: 850px;
  margin: 0 auto 2.5rem;
  text-align: center;
}

.lifestyle-scorecard__calculator-title {
  color: #333 !important;
  margin: 0 0 1.25rem;
}

.lifestyle-scorecard__calculator-content {
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: 1.75;
}

.lifestyle-scorecard__calculator-content > :last-child {
  margin-bottom: 0;
}

.lifestyle-scorecard__table-wrap {
  overflow: visible;
}

.lifestyle-scorecard__table {
  width: 100%;
  min-width: 0;
  border-collapse: collapse;
  background-color: transparent;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: #333;
}

.lifestyle-scorecard__table thead {
  display: none;
}

.lifestyle-scorecard__table,
.lifestyle-scorecard__table tbody,
.lifestyle-scorecard__table tfoot,
.lifestyle-scorecard__table tr,
.lifestyle-scorecard__table th,
.lifestyle-scorecard__table td {
  display: block;
  width: 100%;
}

.lifestyle-scorecard__table tbody tr,
.lifestyle-scorecard__table tfoot tr {
  margin-bottom: 1.25rem;
  border: 1px solid rgba(175, 164, 152, 0.45);
  background-color: #fff;
  overflow: hidden;
}

.lifestyle-scorecard__table th,
.lifestyle-scorecard__table td {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  padding: 1rem 1.25rem;
  border: 0;
  border-bottom: 1px solid rgba(175, 164, 152, 0.25);
  text-align: center;
  vertical-align: middle;
}

.lifestyle-scorecard__table tr > *:last-child {
  border-bottom: 0;
}

.lifestyle-scorecard__table td:first-child,
.lifestyle-scorecard__table th[scope="row"] {
  background-color: #faf9f7;
  font-weight: 700;
  color: #333;
}

.lifestyle-scorecard__table td:not(:first-child)::before,
.lifestyle-scorecard__total-row td::before {
  content: attr(data-label);
  display: block;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  line-height: 1.35;
  text-transform: uppercase;
  color: #333;
}

.lifestyle-scorecard__total-row th,
.lifestyle-scorecard__total-row td {
  background-color: #ebe4db;
  font-weight: 700;
}

.lifestyle-scorecard__weighted-input {
  display: inline-block;
  width: 4.5rem;
  margin: 0 auto;
  padding: 0.25rem 0.35rem;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: center;
}

.lifestyle-scorecard__weighted-input:focus {
  outline: none;
}

.lifestyle-scorecard__total-value {
  font-weight: 700;
}

@media (min-width: 768px) {
  .lifestyle-scorecard {
  }

  .lifestyle-scorecard__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.75rem;
  }

  .lifestyle-scorecard__intro {
    margin-bottom: 3.5rem;
  }

  .lifestyle-scorecard__calculator {
    margin-top: 4.5rem;
  }

  .lifestyle-scorecard__table-wrap {
    overflow-x: visible;
  }

  .lifestyle-scorecard__table {
    display: table;
    width: 100%;
    min-width: 0;
    background-color: #fff;
    border: 1px solid rgba(175, 164, 152, 0.35);
  }

  .lifestyle-scorecard__table thead {
    display: table-header-group;
  }

  .lifestyle-scorecard__table tbody {
    display: table-row-group;
  }

  .lifestyle-scorecard__table tfoot {
    display: table-footer-group;
  }

  .lifestyle-scorecard__table tr {
    display: table-row;
  }

  .lifestyle-scorecard__table th,
  .lifestyle-scorecard__table td {
    display: table-cell;
    width: auto;
    padding: 1.1rem 1.25rem;
    border: 1px solid rgba(175, 164, 152, 0.35);
    text-align: center;
    vertical-align: middle;
  }

  .lifestyle-scorecard__table th:first-child,
  .lifestyle-scorecard__table td:first-child {
    text-align: left;
  }

  .lifestyle-scorecard__table thead th {
    background-color: #0b1b26;
    color: #fff;
    font-weight: 600;
    border-color: #0b1b26;
  }

  .lifestyle-scorecard__table tbody tr,
  .lifestyle-scorecard__table tfoot tr {
    margin-bottom: 0;
    border: 0;
    background-color: transparent;
    overflow: visible;
  }

  .lifestyle-scorecard__table tbody tr:nth-child(even) {
    background-color: #faf9f7;
  }

  .lifestyle-scorecard__table td:first-child,
  .lifestyle-scorecard__table th[scope="row"] {
    background-color: transparent;
    font-weight: inherit;
  }

  .lifestyle-scorecard__table tbody tr:nth-child(even) td:first-child {
    background-color: #faf9f7;
  }

  .lifestyle-scorecard__table td:not(:first-child)::before,
  .lifestyle-scorecard__total-row td::before {
    content: none;
    display: none;
  }

  .lifestyle-scorecard__total-row th,
  .lifestyle-scorecard__total-row td {
    background-color: #ebe4db;
    font-weight: 700;
  }

  .lifestyle-scorecard__table th[scope="row"] {
    font-weight: 700;
    text-align: left;
  }
}

@media (min-width: 1024px) {
  .lifestyle-scorecard__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
  }
}

/* Insights & Intelligence page */
.insights-page {
  background-color: #fff;
}

.insights-featured {
  padding: 3rem var(--sbh-section-pad-x);
  background-color: #fff;
}

.insights-featured__inner {
  max-width: 1440px;
  margin: 0 auto;
  overflow: visible;
}

.insights-featured__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  align-items: start;
}

.insights-market__panel {
  padding: 1.75rem 1.5rem;
  background-color: #fff;
  border: 1px solid rgba(51, 51, 51, 0.12);
  height: auto;
  max-height: none;
  overflow: visible;
}

.insights-market__title {
  margin: 0 0 1rem;
  color: #333 !important;
  font-size: 1.75rem !important;
  line-height: 1.35 !important;
}

.insights-market__content {
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: var(--sbh-text-lh);
}

.insights-market__content > :last-child {
  margin-bottom: 0;
}

.insights-market__image-wrap {
  margin-top: 1.5rem;
}

.insights-market__image-link {
  position: relative;
  display: block;
  overflow: hidden;
  cursor: pointer;
  border-radius: 2px;
}

.insights-market__image {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.45s ease;
}

.insights-market__image-link:hover .insights-market__image,
.insights-market__image-link:focus .insights-market__image,
.insights-market__image-link:focus-visible .insights-market__image {
  transform: scale(1.04);
}

.insights-market__image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 27, 38, 0.05) 35%, rgba(11, 27, 38, 0.72) 100%);
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}

.insights-market__image-link:hover .insights-market__image-overlay,
.insights-market__image-link:focus .insights-market__image-overlay,
.insights-market__image-link:focus-visible .insights-market__image-overlay {
  opacity: 1;
}

.insights-market__embed {
  margin-top: 1.5rem;
}

.insights-market__embed iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  border: 0;
}

.insights-market__cta {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-top: 1.75rem;
}

.insights-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  border-color: #afa498 !important;
  color: #afa498 !important;
  background: transparent !important;
}

.insights-btn:hover,
.insights-btn:focus {
  border-color: #333 !important;
  color: #333 !important;
}

.insights-btn .insights-arrow {
  display: inline-block;
  flex-shrink: 0;
}

.insights-market__cta .insights-btn {
  width: 100%;
  border-color: #333 !important;
  color: #333 !important;
}

.insights-market__cta .insights-btn:hover,
.insights-market__cta .insights-btn:focus {
  border-color: #afa498 !important;
  color: #afa498 !important;
}

.insights-guides__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}

.insights-guides__heading {
  margin: 0 0 1rem;
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
  text-align: left;
}

.insights-guides__card {
  position: relative;
  display: block;
  height: 334px;
  overflow: hidden;
  border-radius: 2px;
  color: #fff;
  text-decoration: none;
  background-color: #0b1b26;
}

a.insights-guides__card {
  cursor: pointer;
}

a.insights-guides__card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
}

.insights-guides__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
  pointer-events: none;
}

.insights-guides__card:hover .insights-guides__image,
.insights-guides__card:focus .insights-guides__image,
.insights-guides__card:focus-visible .insights-guides__image {
  transform: scale(1.04);
}

.insights-guides__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 27, 38, 0.05) 35%, rgba(11, 27, 38, 0.72) 100%);
  pointer-events: none;
}

.insights-guides__footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.85rem;
  padding: 1.25rem;
  pointer-events: none;
}

.insights-guides__title {
  max-width: 90%;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.35;
  color: #fff;
}

.insights-guides__meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
  min-height: 14px;
}

.insights-guides__arrow {
  display: inline-flex;
  align-items: center;
  color: #afa498;
  flex-shrink: 0;
  line-height: 0;
  margin-left: auto;
}

.insights-guides__arrow-icon {
  display: block;
  width: 32px;
  height: 14px;
  transition: transform 0.3s ease;
}

.insights-guides__card:hover .insights-guides__arrow-icon,
.insights-guides__card:focus .insights-guides__arrow-icon,
.insights-guides__card:focus-visible .insights-guides__arrow-icon {
  transform: translateX(4px);
}

.insights-feed {
  padding: 4rem var(--sbh-section-pad-x) 3rem;
  background-color: #faf9f7;
}

.insights-feed__inner {
  max-width: 1440px;
  margin: 0 auto;
}

.insights-feed__intro {
  max-width: 760px;
  margin: 0 auto 1.25rem;
  text-align: center;
}

.insights-feed__title {
  margin: 0 0 1rem;
  color: #333 !important;
}

.insights-feed__content {
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: var(--sbh-text-lh);
}

.insights-feed__content > :last-child {
  margin-bottom: 0;
}

.insights-feed__filters {
  margin-bottom: 2rem;
}

.insights-feed__filters-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: visible;
}

.insights-feed__filters-item {
  flex: 0 0 auto;
}

.insights-feed__filter {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 1.15rem;
  border: 1px solid rgba(51, 51, 51, 0.28);
  border-radius: 999px;
  background-color: #fff;
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  transition: color 0.25s ease, border-color 0.25s ease, background-color 0.25s ease;
}

.insights-feed__filter:hover,
.insights-feed__filter:focus {
  border-color: #afa498;
  color: #afa498;
}

.insights-feed__filter.is-active {
  border-color: #afa498;
  background-color: #afa498;
  color: #fff;
}

.insights-feed__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

.insights-feed__item {
  min-width: 0;
  background-color: #fff;
  border: 1px solid rgba(51, 51, 51, 0.12);
}

.insights-feed__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.insights-feed__media {
  overflow: hidden;
  flex-shrink: 0;
  aspect-ratio: 16 / 10;
  background-color: #f3f1ee;
}

.insights-feed__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.insights-feed__link:hover .insights-feed__image,
.insights-feed__link:focus .insights-feed__image {
  transform: scale(1.04);
}

.insights-feed__body {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 1.5rem 1.5rem 1.35rem;
}

.insights-feed__category {
  display: inline-block;
  margin-bottom: 0.75rem;
  color: #afa498;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.4;
  text-transform: uppercase;
}

.insights-feed__card-title {
  margin: 0 0 0.85rem;
  color: #333 !important;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.35;
}

.insights-feed__excerpt {
  margin: 0;
  padding-bottom: 20px;
  color: #6b6b6b;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.9375rem;
  line-height: 1.65;
}

.insights-feed__meta {
  margin-top: auto;
  padding-top: 1.25rem;
  border-top: 1px solid rgba(51, 51, 51, 0.12);
}

.insights-feed__date {
  display: block;
  color: #8a8a8a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.insights-feed__empty {
  grid-column: 1 / -1;
  margin: 0;
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  text-align: center;
}

.insights-feed__actions {
  display: flex;
  justify-content: center;
  margin-top: 3rem;
}

.insights-feed__load-more.is-hidden,
.insights-feed__load-more[hidden] {
  display: none !important;
}

.insights-feed__load-more.is-loading {
  opacity: 0.65;
  pointer-events: none;
}

@media (min-width: 768px) {
  .insights-featured {
    padding: 3rem var(--sbh-section-pad-x);
  }

  .insights-featured__layout {
    gap: 2rem;
  }

  .insights-market__panel {
    padding: 2rem;
  }

  .insights-guides__grid {
    gap: 0.75rem;
  }

  .insights-guides__card {
    height: 334px;
  }

  .insights-guides__title {
    font-size: 1.1875rem;
  }

  .insights-feed {
    padding: 5rem var(--sbh-section-pad-x) 4rem;
  }

  .insights-feed__intro {
    margin-bottom: 1.5rem;
  }

  .insights-feed__filters {
    margin-bottom: 2.25rem;
  }

  .insights-feed__filters-list {
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    overflow: visible;
  }

  .insights-feed__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.75rem;
  }

  .insights-feed__body {
    padding: 1.75rem 1.75rem 1.5rem;
  }

  .insights-feed__card-title {
    font-size: 1.375rem;
  }
}

@media (min-width: 1024px) {
  .insights-featured__layout {
    grid-template-columns: minmax(0, 0.4fr) minmax(0, 0.6fr);
    gap: 2.5rem;
    align-items: start;
  }

  .insights-guides__card {
    height: 334px;
  }

  .insights-market__panel {
    height: auto;
    max-height: none;
    overflow: visible;
    padding: 2.25rem;
  }

  .insights-feed__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.75rem;
  }
}

@media (max-width: 767px) {
  .insights-guides__grid {
    grid-template-columns: 1fr;
  }
}

/* Single article template */
.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.article-single {
  background-color: #fff;
  overflow: visible;
}

.article-hero {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: 450px;
  padding: 4rem var(--sbh-section-pad-x) 3rem;
  background-color: #0b1b26;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #fff;
}

.article-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(11, 27, 38, 0.82) 0%,
    rgba(11, 27, 38, 0.68) 42%,
    rgba(11, 27, 38, 0.28) 100%
  );
}

.article-hero__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1280px;
  margin: 0 auto;
  text-align: left;
}

.article-hero__category {
  margin: 0 0 0.85rem;
  color: #afa498;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
  text-align: left;
}

.article-hero__title {
  margin: 0 0 1rem;
  max-width: 27ch;
  color: #fff !important;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 2rem !important;
  font-weight: 400;
  line-height: 1.25 !important;
  text-align: left !important;
}

.article-hero__meta {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.5;
  text-transform: uppercase;
  text-align: left;
}

/* The byline is the only route to the author archive from an article, so it has
   to look clickable against the hero image. */
.article-hero__author-link {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.45);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.article-hero__author-link:hover,
.article-hero__author-link:focus-visible {
  color: #fff;
  text-decoration-color: currentColor;
}

.article-summary {
  margin: 0 0 2.5rem;
  padding: 1.75rem 1.35rem;
  background-color: #f4f1ec;
}

.article-summary__heading {
  margin: 0 0 1.25rem;
  color: #333 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
  text-align: left !important;
}

.article-summary__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.85rem;
}

.article-summary__card {
  padding: 1.35rem 1.15rem;
  background-color: #ebe6de;
  border: 0;
  text-align: left;
}

.article-summary__icon {
  display: block;
  width: 2rem;
  height: 2rem;
  margin: 0 0 0.85rem;
  object-fit: contain;
}

.article-summary__title {
  margin: 0 0 0.65rem;
  color: #333 !important;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.0625rem !important;
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
}

.article-summary__text {
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: var(--sbh-text-lh);
  text-align: left;
}

.article-summary__text > :last-child {
  margin-bottom: 0;
}

.article-layout {
  padding: 3rem var(--sbh-section-pad-x) 4rem;
  background-color: #fff;
  overflow: visible;
}

.article-layout__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  max-width: 1280px;
  margin: 0 auto;
  overflow: visible;
}

.article-toc {
  min-width: 0;
}

.article-sidebar {
  min-width: 0;
}

.article-sidebar__inner {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.article-sidebar-guides__heading {
  margin: 0 0 1rem;
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
  text-align: left;
}

.article-sidebar-guides {
  padding-top: 0.25rem;
}

.article-sidebar-guides__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}

.article-sidebar-guides__card {
  height: 285px;
}

/* Safari: any non-visible overflow on #page/html/body breaks position:sticky.
   Absolute #page also prevents sticky from tracking viewport scroll in Safari. */
html:has(body.single-post),
body.single-post {
  overflow-x: visible;
}

body.single-post #page {
  position: relative;
  overflow: visible;
}

.article-toc__toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 1rem 1.15rem;
  border: 1px solid rgba(51, 51, 51, 0.18);
  background-color: #f4f1ec;
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
}

.article-toc__toggle-icon {
  position: relative;
  width: 0.65rem;
  height: 0.65rem;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
  transition: transform 0.25s ease;
}

.article-toc__toggle[aria-expanded="true"] .article-toc__toggle-icon {
  transform: rotate(225deg);
  margin-top: 0.25rem;
}

.article-toc__panel {
  display: none;
  margin-top: 0.75rem;
  padding: 1.25rem 1.1rem 1.1rem;
  border: 1px solid rgba(51, 51, 51, 0.14);
  border-top: 3px solid #afa498;
  background-color: #faf9f7;
}

.article-toc__panel.is-open {
  display: block;
}

.article-toc__label {
  display: none;
  margin: 0 0 1.25rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid rgba(51, 51, 51, 0.12);
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.article-toc__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.article-toc__item + .article-toc__item {
  margin-top: 0.35rem;
}

.article-toc__link {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  padding: 0.5rem 0.35rem;
  border-left: 2px solid transparent;
  color: #333;
  text-decoration: none;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.875rem;
  line-height: 1.45;
  transition: color 0.25s ease, border-color 0.25s ease, background-color 0.25s ease;
}

.article-toc__link:hover,
.article-toc__link:focus {
  border-left-color: transparent;
  background-color: rgba(175, 164, 152, 0.12);
  color: #333;
}

.article-toc__link.is-active {
  border-left-color: transparent;
  background-color: rgba(175, 164, 152, 0.18);
  color: #333;
}

.article-toc__number {
  flex-shrink: 0;
  min-width: 1.5rem;
  color: #afa498;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.article-main {
  min-width: 0;
}

.article-content {
  color: #333;
  font-family: "DM Sans", sans-serif;
  font-size: 1.0625rem;
  line-height: 1.7;
}

.article-content > *:first-child {
  margin-top: 0;
}

/* Measure. Capped on the text elements and not on the wrapper, so tables,
   charts and images keep the full width of the column. 47.5rem = 760px is
   about 69 characters at 17px DM Sans. */
.article-content > p,
.article-content > ul,
.article-content > ol,
.article-content > h2,
.article-content > h3,
.article-content > h4,
.article-content > blockquote {
  max-width: 47.5rem;
}

/* Type scale: 25/20/16/17 on mobile, 30/22/17/17 from 768px up. The globals
   h1/h2 { font-size: ... !important } and h3 { line-height: 1.3 !important }
   force !important here. */
.article-content h2,
.article-content h3,
.article-content h4 {
  color: #333 !important;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-weight: 400;
  scroll-margin-top: 7.75rem;
}

.article-content h2 {
  margin: 3rem 0 1rem;
  font-size: 1.5625rem !important;
  line-height: 1.25 !important;
}

.article-content h3 {
  margin: 2.25rem 0 0.75rem;
  font-size: 1.25rem !important;
  letter-spacing: normal;
  line-height: 1.35 !important;
  text-transform: none;
}

.article-content h4 {
  margin: 1.75rem 0 0.625rem;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

/* Body copy. The .format-content variants are needed because
   .format-content p { line-height: var(--sbh-text-lh) } matches p directly and
   would otherwise beat the value inherited from .article-content. The plain
   .article-content selectors already outrank main.css's
   @media (max-width: 800px) p { font-size: 1rem }, which is what dropped the
   body to 16px on mobile. */
.article-content p,
.article-content li,
.article-content p a,
.article-content li a,
.article-content.format-content p,
.article-content.format-content li,
.article-content.format-content p a,
.article-content.format-content li a {
  font-family: "DM Sans", sans-serif;
  font-size: 1.0625rem;
  line-height: 1.7;
}

.article-content p,
.article-content ul,
.article-content ol,
.article-content blockquote,
.article-content table,
.article-content .wp-block-image,
.article-content .wp-block-gallery,
.article-content .wp-block-embed {
  margin-bottom: 1.5rem;
}

.article-content ul,
.article-content ol,
.article-content .wp-block-list {
  margin-top: 0;
  padding-left: 1.5rem;
}

.article-content ul {
  list-style: disc outside !important;
  padding-top: 1rem;
}

.article-content ol {
  list-style: decimal outside !important;
}

.article-content li {
  display: list-item;
  margin-bottom: 0.5rem;
  padding-left: 0.25rem;
}

.article-content li:last-child {
  margin-bottom: 0;
}

.article-content ul ul,
.article-content ol ol,
.article-content ul ol,
.article-content ol ul {
  margin: 0.5rem 0 0;
}

.article-content ul ul {
  list-style-type: circle !important;
}

.article-content ul ul ul {
  list-style-type: square !important;
}

.article-content ol ol {
  list-style-type: lower-alpha !important;
}

.article-content blockquote {
  margin-top: 2.25rem;
  padding: 0.25rem 0 0.25rem 1.375rem;
  border-left: 2px solid #afa498;
  color: #333;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.1875rem;
  line-height: 1.55;
}

.article-content blockquote p,
.article-content.format-content blockquote p {
  margin-bottom: 0.75rem;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.1875rem;
  line-height: 1.55;
}

.article-content blockquote p:last-child {
  margin-bottom: 0;
}

/* Inline links. Was #afa498 with no underline: 2.45:1 against white, below
   WCAG AA and effectively invisible, so the internal links in the articles
   read as plain text. #7f7160 keeps the taupe and measures 4.74:1. */
.article-content a {
  color: #7f7160;
  text-decoration: underline;
  text-decoration-color: rgba(127, 113, 96, 0.45);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.article-content a:hover,
.article-content a:focus-visible {
  color: #333;
  text-decoration-color: currentColor;
}

.article-content hr {
  margin: 2.5rem 0;
  border: 0;
  border-top: 1px solid rgba(51, 51, 51, 0.12);
}

@media (min-width: 768px) {
  .article-content h2 {
    margin: 3.5rem 0 1rem;
    font-size: 1.875rem !important;
  }

  .article-content h3 {
    margin: 2.5rem 0 0.75rem;
    font-size: 1.375rem !important;
  }

  .article-content h4 {
    font-size: 1.0625rem !important;
  }

  .article-content p,
  .article-content ul,
  .article-content ol,
  .article-content blockquote,
  .article-content table,
  .article-content .wp-block-image,
  .article-content .wp-block-gallery,
  .article-content .wp-block-embed {
    margin-bottom: 1.75rem;
  }

  .article-content blockquote {
    font-size: 1.25rem;
  }

  .article-content blockquote p,
  .article-content.format-content blockquote p {
    font-size: 1.25rem;
  }
}

/* Article content inserts (tables + image charts) */
.article-content .article-insert,
.article-insert {
  margin: 2.25rem 0 2.5rem;
  padding: 0;
  border: 0;
  max-width: 100%;
}

.article-module--content {
  margin: 0;
}

.article-module--content > *:first-child {
  margin-top: 0;
}

.article-module--content > *:last-child {
  margin-bottom: 0;
}

.article-insert__embed {
  width: 100%;
  overflow: hidden;
}

.article-insert__embed iframe {
  display: block;
  width: 100%;
  max-width: 100%;
  border: 0;
}

.article-insert__title {
  margin: 0 0 0.75rem;
  color: #333 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
}

.article-insert__scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
}

.article-insert__table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.9375rem;
  line-height: 1.45;
  background: transparent;
}

/* 3-column tables stay fully visible (no horizontal scroll) */
.article-insert--cols-3 .article-insert__table {
  min-width: 0;
  table-layout: fixed;
}

/* 4+ columns can scroll horizontally when needed */
.article-insert--cols-4 .article-insert__table,
.article-insert--cols-5 .article-insert__table {
  min-width: 36rem;
}

.article-insert__th,
.article-insert__td {
  padding: 0.85rem 0.65rem;
  border: 0;
  border-bottom: 1px solid #e6e2dc;
  vertical-align: middle;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.8125rem !important;
  font-weight: 400;
  color: #333;
  background: transparent;
}

.article-insert__th {
  background-color: #f5f1ee !important;
  border-bottom: 3px solid #afa498 !important;
  font-weight: 700 !important;
  color: #333 !important;
}

.article-insert__th--col-1,
.article-insert__td--col-1 {
  text-align: left;
  padding-left: 0.75rem;
}

/* Default: non-first columns right-aligned */
.article-insert__th:not(.article-insert__th--col-1),
.article-insert__td:not(.article-insert__td--col-1) {
  text-align: right;
  padding-right: 0.75rem;
  white-space: nowrap;
}

/* 3-column market tables: Metric left, Current center, vs last month right */
.article-insert--cols-3 .article-insert__th--col-1,
.article-insert--cols-3 .article-insert__td--col-1 {
  width: 48%;
  white-space: normal;
  word-break: break-word;
  hyphens: auto;
}

.article-insert--cols-3 .article-insert__th--col-2,
.article-insert--cols-3 .article-insert__td--col-2 {
  width: 24%;
  text-align: center;
  padding-left: 0.4rem;
  padding-right: 0.4rem;
  white-space: normal;
}

.article-insert--cols-3 .article-insert__th--col-3,
.article-insert--cols-3 .article-insert__td--col-3 {
  width: 28%;
  text-align: right;
  padding-right: 0.75rem;
  white-space: normal;
}

.article-insert__td--col-1 {
  white-space: normal;
  min-width: 0;
}

.article-insert__table tbody tr:last-child .article-insert__td {
  border-bottom: 1px solid #e6e2dc;
}

.article-insert__media {
  margin: 0;
  overflow: hidden;
  background-color: #f7f4ef;
}

.article-insert__image {
  display: block;
  width: 100%;
  height: auto;
}

.article-insert__caption {
  margin: 0.65rem 0 0;
  color: #666;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.875rem;
  line-height: 1.5;
}

.article-content .article-insert__title {
  color: #333 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.article-content .article-insert__table,
.article-content .article-insert__th,
.article-content .article-insert__td {
  font-family: "DM Sans", sans-serif !important;
}

@media (min-width: 768px) {
  .article-insert--cols-4 .article-insert__table,
  .article-insert--cols-5 .article-insert__table {
    min-width: 0;
  }

  .article-insert__th,
  .article-insert__td {
    padding: 1.05rem 1.35rem;
    font-size: 1rem !important;
  }

  .article-insert__th--col-1,
  .article-insert__td--col-1 {
    padding-left: 1.35rem;
  }

  .article-insert__th:not(.article-insert__th--col-1),
  .article-insert__td:not(.article-insert__td--col-1) {
    padding-right: 1.35rem;
  }

  .article-insert--cols-3 .article-insert__th--col-2,
  .article-insert--cols-3 .article-insert__td--col-2 {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
    white-space: nowrap;
  }

  .article-insert--cols-3 .article-insert__th--col-3,
  .article-insert--cols-3 .article-insert__td--col-3 {
    white-space: nowrap;
  }
}

.article-cta {
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(51, 51, 51, 0.12);
  text-align: center;
}

.article-cta__heading {
  margin: 0 0 0.75rem;
  color: #333 !important;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.5rem !important;
  font-weight: 400;
}

.article-cta__text {
  max-width: 40rem;
  margin: 0 auto 1.5rem;
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: var(--sbh-text-lh);
}

.article-cta__text > :last-child {
  margin-bottom: 0;
}

.article-share {
  margin-top: 3rem;
  padding-top: 2rem;
  padding-bottom: 0 !important;
  border-top: 1px solid rgba(51, 51, 51, 0.12);
}

.article-share__heading {
  margin: 0 0 1rem;
  color: #333 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
  text-align: left !important;
}

.article-share__tools {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.article-share__link,
.article-share__copy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.55rem 1.15rem;
  border: 1px solid rgba(51, 51, 51, 0.28);
  border-radius: 999px;
  background-color: #fff;
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  transition: color 0.25s ease, border-color 0.25s ease, background-color 0.25s ease;
}

.article-share__link:hover,
.article-share__link:focus,
.article-share__copy:hover,
.article-share__copy:focus {
  border-color: #afa498;
  color: #afa498;
}

.article-share__copy[aria-pressed="true"] {
  border-color: #afa498;
  background-color: #afa498;
  color: #fff;
}

.article-related {
  margin-top: 0;
  padding-top: 2.5rem;
  padding-bottom: 2rem !important;
  border-top: 1px solid rgba(51, 51, 51, 0.12);
}

.article-related__heading {
  margin: 0 0 1.5rem;
  color: #333 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
  text-align: left !important;
}

.article-related__grid {
  gap: 1.25rem;
}

.article-related .insights-feed__item {
  background-color: #fff;
}

.article-author {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-top: 3rem;
  padding: 1.75rem;
  background-color: #f4f1ec;
}

.article-author__photo {
  display: block;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  object-fit: cover;
}

.article-author__label {
  margin: 0 0 0.5rem;
  color: #afa498;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.article-author__name {
  margin: 0 0 0.35rem;
  color: #333 !important;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.375rem !important;
  font-weight: 400;
  line-height: 1.3;
}

.article-author__job {
  margin: 0 0 0.85rem;
  color: #6b6b6b;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.875rem;
}

.article-author__bio {
  margin-bottom: 1rem;
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.9375rem;
  line-height: 1.7;
}

.article-author__bio > :last-child {
  margin-bottom: 0;
}

.article-author__link {
  color: #afa498;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-decoration: none;
  text-transform: uppercase;
}

.article-author__link:hover,
.article-author__link:focus {
  color: #333;
}

.article-guides {
  padding: 3rem var(--sbh-section-pad-x) 4rem;
  background-color: #fff;
}

.article-guides__inner {
  max-width: 1440px;
  margin: 0 auto;
}

.article-guides__heading {
  margin: 0 0 1.5rem;
  color: #333 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.article-guides__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.75rem;
}

.article-guides__card {
  position: relative;
  display: block;
  height: 280px;
  overflow: hidden;
  color: #fff;
  text-decoration: none;
  background-color: #0b1b26;
}

a.article-guides__card {
  cursor: pointer;
}

.article-guides__image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.article-guides__card:hover .article-guides__image,
.article-guides__card:focus .article-guides__image {
  transform: scale(1.04);
}

.article-guides__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(11, 27, 38, 0.05) 35%, rgba(11, 27, 38, 0.72) 100%);
  pointer-events: none;
}

.article-guides__footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.25rem;
  pointer-events: none;
}

.article-guides__title {
  max-width: 85%;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.35;
  color: #fff;
}

.article-guides__arrow {
  display: inline-flex;
  color: #afa498;
  flex-shrink: 0;
  line-height: 0;
}

.article-guides__arrow .insights-guides__arrow-icon {
  width: 32px;
  height: 14px;
  transition: transform 0.3s ease;
}

.article-guides__card:hover .insights-guides__arrow-icon,
.article-guides__card:focus .insights-guides__arrow-icon {
  transform: translateX(4px);
}

@media (min-width: 768px) {
  .article-hero {
    min-height: 450px;
    padding: 4rem var(--sbh-section-pad-x) 4rem;
  }

  .article-hero__title {
    max-width: 27ch;
    font-size: 2.75rem !important;
  }

  .article-summary {
    margin-bottom: 3rem;
    padding: 2rem 1.5rem;
  }

  .article-summary__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
  }

  .article-layout {
    padding: 4rem var(--sbh-section-pad-x) 5rem;
  }

  .article-author {
    grid-template-columns: 120px minmax(0, 1fr);
    gap: 1.75rem;
    align-items: start;
    padding: 2rem;
  }

  .article-related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .article-author__photo {
    width: 120px;
    height: 120px;
  }

  .article-guides {
    padding: 4rem var(--sbh-section-pad-x) 5rem;
  }

  .article-guides__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
  }

  .article-guides__card {
    height: 320px;
  }
}

@media (min-width: 1024px) {
  .article-layout__inner {
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.32fr);
    gap: 2.75rem;
    align-items: start;
  }

  .article-sidebar {
    grid-column: 2;
    grid-row: 1;
    align-self: start;
    overflow: visible;
  }

  .article-sidebar__inner {
    gap: 2.25rem;
    overflow: visible;
    max-height: none;
  }

  .article-toc {
    grid-column: auto;
    grid-row: auto;
    position: static;
    overflow: visible;
  }

  .article-sidebar-guides {
    position: relative;
  }

  .article-main {
    grid-column: 1;
    grid-row: 1;
  }

  .article-sidebar-guides__card {
    height: 285px;
  }

  .article-toc__toggle {
    display: none;
  }

  .article-toc__panel,
  .article-toc__panel.is-open {
    display: block;
    margin-top: 0;
    padding: 1.35rem 1.15rem 1.15rem;
  }

  .article-toc__label {
    display: block;
  }

  .article-related__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .article-guides__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .article-guides__card {
    height: 352px;
  }
}

@media (max-width: 767px) {
  .article-hero,
  .article-layout,
  .article-guides {
    padding-left: var(--sbh-section-pad-x);
    padding-right: var(--sbh-section-pad-x);
  }

  .article-hero__title,
  .article-share,
  .article-author,
  .article-guides__heading {
    text-align: left !important;
  }
}

/* Hero Large */
.hero-large {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 650px;
  min-height: 650px;
  padding: 2.75rem 0;
  background-color: #0b1b26;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #fff;
  text-align: center;
  overflow: hidden;
}

.hero-large__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: rgba(11, 27, 38, 0.48);
}

.hero-large__inner {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 845px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

.hero-large__title {
  margin: 0;
  color: #fff !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: clamp(2rem, 5vw, 3.65rem) !important;
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: 0.01em;
  text-align: center;
}

.hero-large__content {
  max-width: 40rem;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.92);
  font-family: "DM Sans", sans-serif;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: var(--sbh-text-lh);
  text-align: center;
}

.hero-large__content > :first-child {
  margin-top: 0;
}

.hero-large__content > :last-child {
  margin-bottom: 0;
}

.hero-large__content a {
  color: #afa498;
}

@media (min-width: 768px) {
  .hero-large {
    height: 650px;
    min-height: 650px;
    padding: 3.25rem 0;
  }
}

@media (max-width: 767px) {
  .hero-large {
    height: auto;
    min-height: 420px;
  }
}

/* Manifesto */
.manifesto {
  border-bottom: 1px solid #f7ead7;
}

.manifesto__inner {
  display: flex;
  flex-direction: column;
  margin-left: auto;
  margin-right: auto;
}

.manifesto__title {
  width: 100%;
  margin: 0;
}

.manifesto__content {
  width: 100%;
  margin-top: 1.5rem;
  line-height: var(--sbh-text-lh);
}

.manifesto__content > :first-child {
  margin-top: 0;
}

.manifesto__content > :last-child {
  margin-bottom: 0;
}

.manifesto__content.format-content p + p,
.manifesto__content p + p {
  padding-top: 1rem;
}

@media (min-width: 768px) {
  .manifesto__inner {
    flex-direction: row;
  }

  .manifesto__title {
    width: 50%;
    padding-right: 3rem;
  }

  .manifesto__content {
    width: 58%;
    margin-top: 0;
  }
}

/* Vision */
.vision {
  position: relative;
  isolation: isolate;
  padding: 4rem 0;
  background-color: #383634;
  color: #fff;
  overflow: hidden;
}

.vision::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: var(--vision-pattern);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 1;
}

.vision::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-color: #383634;
  opacity: 0.97;
}

.vision__inner {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.vision__row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4rem;
  align-items: center;
}

.vision__row--bottom {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 0.85rem;
}

.vision__row--bottom .vision__quote {
  order: 0;
  flex: 1;
  min-width: 0;
}

.vision__media {
  margin: 0;
  min-width: 0;
}

.vision__image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.vision__media--top .vision__image {
  aspect-ratio: 16 / 10;
}

.vision__media--middle .vision__image,
.vision__media--bottom .vision__image {
  aspect-ratio: 1 / 1;
}

.vision__media--bottom {
  display: block;
  flex: 0 0 3.25rem;
  width: 3.25rem;
  max-width: 3.25rem;
  margin: 0;
}

.vision__media--bottom .vision__image {
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 9999px;
  object-fit: cover;
}

.vision__title {
  margin: 0 0 1.25rem;
  color: #fff !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: clamp(1.75rem, 3.2vw, 2.75rem);
  font-weight: 400;
  line-height: 1.2;
}

.vision__content {
  color: rgba(255, 255, 255, 0.92);
  font-family: "DM Sans", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: var(--sbh-text-lh);
}

.vision__content > :first-child {
  margin-top: 0;
}

.vision__content > :last-child {
  margin-bottom: 0;
}

.vision__content a {
  color: #afa498;
}

.vision__content.format-content {
  padding-bottom: 1rem;
}

.vision__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.vision__list-item {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.65rem;
  padding: 1.35rem 0;
  border-bottom: 1px solid #f7ead7;
}

.vision__list-item:first-child {
  padding-top: 0;
}

.vision__list-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.vision__list-title {
  margin: 0;
  color: #fff !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: clamp(1.125rem, 1.8vw, 1.375rem);
  font-weight: 400;
  line-height: 1.2;
}

.vision__list-content {
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  font-family: "DM Sans", sans-serif;
  font-size: 1rem;
  line-height: var(--sbh-text-lh);
}

.vision__quote {
  position: relative;
  margin: 0;
  padding: 0;
  max-width: 100%;
}

.vision__quote-mark {
  position: absolute;
  top: 2rem;
  left: -0.12em;
  z-index: 0;
  display: block;
  margin: 0;
  color: rgba(255, 255, 255, 0.28);
  font-family: "Libre Baskerville", Baskerville, Georgia, serif;
  font-size: clamp(8rem, 14vw, 12.5rem);
  font-weight: 400;
  line-height: 0.7;
  pointer-events: none;
  user-select: none;
}

.vision__quote-body {
  position: relative;
  z-index: 1;
  margin-top: 0.85rem;
}

.vision__quote-content {
  margin: 0 18px 1.5rem;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: var(--sbh-text-lh);
}

.vision__quote-footer {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin: 0;
}

.vision__quote-rule {
  display: block;
  flex: 1 1 auto;
  min-width: 2rem;
  height: 1px;
  background-color: #fff;
}

.vision__quote-author {
  flex: 0 0 auto;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 0.9375rem;
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.02em;
  white-space: nowrap;
  line-height: 1;
}

.vision__cta {
  display: flex;
  justify-content: center;
  padding-top: 2rem;
}

.vision__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: 0.55rem 1.35rem;
  border: 1px solid #fff;
  border-radius: 999px;
  color: #fff !important;
  background: transparent;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.2;
  text-decoration: none;
  transition: color 0.25s ease, border-color 0.25s ease, background-color 0.25s ease;
}

.vision__button:hover,
.vision__button:focus {
  color: #afa498 !important;
  border-color: #afa498;
  background: transparent;
}

/* Hero - 50/50 */
.hero-5050 {
  position: relative;
  isolation: isolate;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  background-color: #383634;
  color: #fff;
  overflow: hidden;
}

.hero-5050__inner {
  display: grid;
  grid-template-columns: 1fr;
  min-height: 0;
}

.hero-5050__media {
  margin: 0;
  min-width: 0;
  min-height: 280px;
  overflow: hidden;
}

.hero-5050__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-5050__copy {
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: center;
  background-color: #383634;
  color: #fff;
  padding: 2.5rem 1.5rem;
  overflow: hidden;
}

.hero-5050__copy::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: var(--vision-pattern);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 1;
}

.hero-5050__copy::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-color: #383634;
  opacity: 0.97;
}

.hero-5050__copy-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 34rem;
}

.hero-5050__title {
  margin: 0 0 1.25rem;
  color: #fff !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: clamp(1.75rem, 2.4vw, 2.5rem);
  font-weight: 400;
  line-height: 1.25;
}

.hero-5050__content {
  color: rgba(255, 255, 255, 0.92);
  font-family: "DM Sans", sans-serif !important;
  font-size: 1.0625rem;
  line-height: var(--sbh-text-lh);
}

.hero-5050__content.format-content,
.hero-5050__content.format-content p {
  color: rgba(255, 255, 255, 0.92);
  font-family: "DM Sans", sans-serif !important;
  font-size: 1.0625rem;
  line-height: var(--sbh-text-lh);
}

.hero-5050__content > :first-child {
  margin-top: 0;
}

.hero-5050__content > :last-child {
  margin-bottom: 0;
}

.hero-5050__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-top: 2rem;
  min-height: 2.5rem;
  padding: 0.6rem 1.5rem;
  border: 1px solid #fff;
  border-radius: 999px;
  color: #fff !important;
  background: transparent;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.2;
  text-decoration: none;
  transition: color 0.25s ease, border-color 0.25s ease, background-color 0.25s ease;
}

.hero-5050__button:hover,
.hero-5050__button:focus {
  color: #afa498 !important;
  border-color: #afa498;
  background: transparent;
}

@media (min-width: 768px) {
  .hero-5050__inner {
    grid-template-columns: 1fr 1fr;
    min-height: 460px;
  }

  .hero-5050__media {
    min-height: 460px;
    height: 100%;
  }

  .hero-5050__copy {
    min-height: 460px;
    padding: 0 4rem;
  }

  .hero-5050__copy-inner {
    max-width: 34rem;
  }
}

@media (min-width: 1024px) {
  .hero-5050__copy {
    padding: 0 5rem;
  }

  .hero-5050__title {
    font-size: 2.5rem;
  }
}

/* Content | Checklist & Image */
.content-checklist-image {
  padding-top: 3rem !important;
  padding-bottom: 3rem !important;
  background: #fff;
  color: #333;
  border-bottom: 1px solid #f7ead7;
}

.content-checklist-image__inner {
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sbh-section-col-gap);
  align-items: start;
}

.content-checklist-image__title {
  margin: 0 0 0.5rem;
  color: #333 !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: clamp(1.75rem, 2.4vw, 2.375rem);
  font-weight: 400;
  line-height: 1.25;
}

.content-checklist-image__subtitle {
  margin: 0 0 1.75rem;
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.3;
}

.content-checklist-image__list-heading {
  margin: 0 0 1rem;
  color: #333 !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.4;
}

.content-checklist-image__list {
  list-style: none;
  margin: 0;
  padding: 0;
  background: none;
  border-top: 0;
}

.content-checklist-image__item {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin: 0;
  padding: 0.7rem 0;
  background: none;
  border-top: 1px solid #f7ead7;
  border-bottom: 0;
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: var(--sbh-text-lh);
}

.content-checklist-image__item:first-child {
  border-top: 0;
}

.content-checklist-image__item:last-child {
  border-bottom: 1px solid #f7ead7;
}

.content-checklist-image__icon {
  display: inline-flex;
  flex-shrink: 0;
  width: 1.375rem;
  height: 1.375rem;
}

.content-checklist-image__icon-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.content-checklist-image__item-text {
  min-width: 0;
}

.content-checklist-image__content {
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1.0625rem;
  line-height: var(--sbh-text-lh);
}

.content-checklist-image__content.format-content,
.content-checklist-image__content.format-content p {
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1.0625rem;
  line-height: var(--sbh-text-lh);
}

.content-checklist-image__content > :first-child {
  margin-top: 0;
}

.content-checklist-image__content > :last-child {
  margin-bottom: 0;
}

.content-checklist-image__media {
  margin: 1.5rem 0 0;
}

.content-checklist-image__image {
  display: block;
  width: 100%;
  height: 280px;
  object-fit: cover;
}

@media (min-width: 768px) {
  .content-checklist-image__image {
    height: auto;
  }
}

@media (min-width: 768px) {
  .content-checklist-image {
    padding-top: 4.5rem !important;
    padding-bottom: 4.5rem !important;
  }

  .content-checklist-image__inner {
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
    gap: var(--sbh-section-col-gap);
    align-items: start;
  }

  .content-checklist-image--image-left .content-checklist-image__inner {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1.55fr);
  }

  /* Large Image: top row matches default title/content; bottom row expands image only */
  .content-checklist-image--large-image .content-checklist-image__inner {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
  }

  .content-checklist-image--large-image .content-checklist-image__top {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
  }

  .content-checklist-image--large-image .content-checklist-image__heading {
    width: 85%;
  }

  .content-checklist-image--large-image.content-checklist-image--image-left .content-checklist-image__top {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1.55fr);
  }

  .content-checklist-image--large-image .content-checklist-image__bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.9fr);
    gap: var(--sbh-section-col-gap);
    align-items: start;
  }

  .content-checklist-image--large-image.content-checklist-image--image-left .content-checklist-image__bottom {
    grid-template-columns: minmax(0, 1.9fr) minmax(0, 1fr);
  }

  .content-checklist-image--large-image.content-checklist-image--image-left .content-checklist-image__checklist-block {
    order: 2;
  }

  .content-checklist-image--large-image.content-checklist-image--image-left .content-checklist-image__media-block {
    order: 1;
  }

  .content-checklist-image--large-image .content-checklist-image__subtitle {
    margin-bottom: 0;
  }

  .content-checklist-image--large-image .content-checklist-image__media {
    margin-top: 0;
    margin-bottom: 0;
  }

  .content-checklist-image__subtitle {
    margin-bottom: 2rem;
  }

  .content-checklist-image__media {
    margin-top: 1.5rem;
    margin-bottom: 0.75rem;
  }

  .content-checklist-image--image-left .content-checklist-image__list-heading {
    margin-top: 1.75rem;
  }
}

@media (min-width: 1024px) {
  .content-checklist-image__inner {
    gap: var(--sbh-section-col-gap);
  }

  .content-checklist-image__title {
    font-size: 2.375rem;
  }
}

@media (min-width: 768px) {
  .vision {
    padding: 5.5rem 0;
  }

  .vision__inner {
    gap: 0.5rem;
  }

  .vision__content.format-content {
    padding-bottom: 0;
  }

  .vision__row--top {
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.95fr);
    gap: 3rem;
    align-items: center;
  }

  .vision__copy--top {
    max-width: 26rem;
  }

  .vision__row--middle {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.85fr);
    gap: 3rem;
    align-items: center;
  }

  .vision__media--middle {
    max-width: 420px;
    width: 100%;
    justify-self: end;
  }

  .vision__row--bottom {
    display: grid;
    grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.72fr);
    gap: 2.75rem;
    align-items: center;
  }

  .vision__row--bottom .vision__quote {
    order: 0;
    flex: none;
  }

  .vision__media--bottom {
    display: block;
    flex: none;
    width: 100%;
    max-width: 340px;
    margin: 0;
  }

  .vision__media--bottom .vision__image {
    width: 100%;
    height: auto;
    border-radius: 0;
  }

  .vision__quote {
    max-width: 100%;
  }

  .vision__cta {
    padding-top: 0.5rem;
  }

  .vision__list-item {
    grid-template-columns: 8.5rem minmax(0, 1fr);
    gap: 1rem 1.5rem;
    align-items: baseline;
    padding: 1.5rem 0;
  }

  .vision__quote-mark {
    font-size: clamp(10rem, 12vw, 14rem);
    top: -0.18em;
    left: -0.1em;
  }

  .vision__quote-body {
    margin-top: 1.15rem;
  }

  .vision__quote-content {
    margin-top: -60px;
    font-size: 1.125rem;
    max-width: none;
  }
}

@media (min-width: 1024px) {
  .vision__inner {
    gap: 0.5rem;
  }

  .vision__row--top {
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.9fr);
    gap: 3.5rem;
  }

  .vision__row--middle {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr);
    gap: 3.5rem;
  }

  .vision__row--bottom {
    grid-template-columns: minmax(0, 0.34fr) minmax(0, 0.66fr);
    gap: 3.5rem;
  }

  .vision__media--bottom {
    max-width: 360px;
  }

  .vision__quote {
    max-width: 100%;
  }
}

/* Market Outlook CTA */
.market-outlook-cta {
  padding: 3rem 0;
  background-color: #fff;
  color: #333;
}

.market-outlook-cta__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--sbh-section-col-gap);
  margin: 0 auto;
  align-items: center;
}

.market-outlook-cta__media {
  position: relative;
  margin: 0;
  overflow: hidden;
  background-color: #0b1b26;
}

.market-outlook-cta__image-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.market-outlook-cta__image {
  display: block;
  width: 100%;
  height: 420px;
  object-fit: cover;
}

.market-outlook-cta__copy {
  min-width: 0;
  max-width: 50rem;
}

.market-outlook-cta__title {
  margin: 0 0 0.75rem;
  color: #333 !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 400;
  line-height: 1.2;
}

.market-outlook-cta__date {
  margin: 0 0 1rem;
  color: #333;
  font-family: "DM Sans", sans-serif;
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  line-height: var(--sbh-text-lh);
  text-transform: uppercase;
}

.market-outlook-cta__content {
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: var(--sbh-text-lh);
}

.market-outlook-cta__content.format-content,
.market-outlook-cta__content.format-content p {
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: var(--sbh-text-lh);
}

.market-outlook-cta__content > :first-child {
  margin-top: 0;
}

.market-outlook-cta__content > :last-child {
  margin-bottom: 0;
}

.market-outlook-cta__content.format-content p + p,
.market-outlook-cta__content p + p {
  padding-top: 1rem;
}

.market-outlook-cta__actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.85rem;
  margin-top: 1.5rem;
}

.market-outlook-cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: 0.55rem 1.35rem;
  border: 1px solid #333;
  border-radius: 999px;
  color: #333 !important;
  background: transparent;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.2;
  text-decoration: none;
  transition: color 0.25s ease, border-color 0.25s ease;
}

.market-outlook-cta__button:hover,
.market-outlook-cta__button:focus {
  color: #afa498 !important;
  border-color: #afa498;
}

@media (min-width: 768px) {
  .market-outlook-cta {
    padding: 4rem 0;
  }

  .market-outlook-cta__inner {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1.55fr);
    gap: var(--sbh-section-col-gap);
  }

  .market-outlook-cta__copy {
    max-width: 50rem;
  }
}

@media (min-width: 1024px) {
  .market-outlook-cta__inner {
    gap: var(--sbh-section-col-gap);
  }
}

/* Guides Cards CTA */
.guides-cards-cta {
  padding: 5rem 0 3.5rem;
  background-color: #f7f4ef;
  color: #333;
}

.guides-cards-cta__inner {
  margin: 0 auto;
}

.guides-cards-cta__header {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  margin-bottom: 2.5rem;
  align-items: start;
}

.guides-cards-cta__title {
  margin: 0;
  color: #333 !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 400;
  line-height: 1.2;
  text-align: left;
}

.guides-cards-cta__content {
  color: #333;
  font-family: "DM Sans", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: var(--sbh-text-lh);
  text-align: left !important;
}

.guides-cards-cta__content.format-content,
.guides-cards-cta__content.format-content p {
  text-align: left !important;
}

.guides-cards-cta__content > :first-child {
  margin-top: 0;
}

.guides-cards-cta__content > :last-child {
  margin-bottom: 0;
}

.guides-cards-cta__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem 1.25rem;
}

.guides-cards-cta__card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  min-width: 0;
}

.guides-cards-cta__media {
  position: relative;
  width: 100%;
  margin: 0 0 1rem;
  overflow: hidden;
  background-color: #0b1b26;
}

.guides-cards-cta__image-link {
  display: block;
  color: inherit;
  text-decoration: none;
}

.guides-cards-cta__image {
  display: block;
  width: 100%;
  height: 310px;
  object-fit: cover;
}

.guides-cards-cta__grid--cols-3 .guides-cards-cta__image {
  height: 420px;
}

.guides-cards-cta__card-title {
  margin: 0 0 0.85rem;
  color: #333 !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
}

.guides-cards-cta__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.25rem;
  padding: 0.5rem 1.25rem;
  border: 1px solid #333;
  border-radius: 999px;
  color: #333 !important;
  background: transparent;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: 0.8125rem;
  font-weight: 400;
  line-height: 1.2;
  text-decoration: none;
  transition: color 0.25s ease, border-color 0.25s ease;
}

.guides-cards-cta__button:hover,
.guides-cards-cta__button:focus {
  color: #afa498 !important;
  border-color: #afa498;
}

@media (min-width: 640px) {
  .guides-cards-cta__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .guides-cards-cta__grid--cols-1 {
    grid-template-columns: minmax(0, 1fr);
  }

  .guides-cards-cta__grid--cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .guides-cards-cta__card {
    align-items: center;
    text-align: center;
  }

  .guides-cards-cta__card-title {
    text-align: center;
  }
}

@media (min-width: 768px) {
  .guides-cards-cta {
    padding: 6.5rem 0 4.5rem;
  }

  .guides-cards-cta__header {
    grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
    gap: 2.5rem;
    margin-bottom: 3rem;
    align-items: start;
  }

  .guides-cards-cta__content {
    max-width: 34rem;
    justify-self: end;
  }
}

@media (min-width: 1024px) {
  .guides-cards-cta__grid {
    gap: 1.5rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .guides-cards-cta__grid--cols-1 {
    grid-template-columns: minmax(0, 1fr);
  }

  .guides-cards-cta__grid--cols-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .guides-cards-cta__grid--cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .guides-cards-cta__grid--cols-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* Contact Form CTA */
.contact-form-cta {
  position: relative;
  z-index: 4;
  margin-bottom: -6rem;
  padding: 3.5rem var(--sbh-section-pad-x) 0;
  background: transparent;
}

.contact-form-cta__frame {
  max-width: var(--sbh-section-max);
  margin: 0 auto;
  padding: 1rem;
  border: none;
  background-color: #383634;
  color: #fff;
}

.contact-form-cta__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  padding: 2rem 1.25rem;
  border: 1px solid #f7ead7;
}

.contact-form-cta__left {
  min-width: 0;
}

.contact-form-cta__title {
  margin: 0 0 1rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid #f7ead7;
  color: #fff !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: clamp(1.375rem, 2.4vw, 1.75rem) !important;
  font-weight: 400;
  line-height: 1.2;
}

.contact-form-cta__content {
  margin: 0 0 1.5rem;
  color: rgba(255, 255, 255, 0.92);
  font-family: "DM Sans", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: var(--sbh-text-lh);
}

.contact-form-cta__content > :first-child {
  margin-top: 0;
}

.contact-form-cta__content > :last-child {
  margin-bottom: 0;
}

.contact-form-cta__content a {
  color: #afa498;
}

.contact-form-cta__media {
  margin: 0;
}

.contact-form-cta__image {
  display: block;
  width: 100%;
  height: 320px;
  object-fit: cover;
}

.contact-form-cta__form {
  min-width: 0;
}

.contact-form-cta__form .form-wrapper h2,
.contact-form-cta__form .form-wrapper > p {
  display: none;
}

.contact-form-cta__form .gform_fields,
.contact-form-cta__form .form-wrapper .gform_fields {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.contact-form-cta__form .form-wrapper .gfield,
.contact-form-cta__form .gfield {
  margin-bottom: 1.35rem !important;
}

.contact-form-cta__form .form-wrapper label,
.contact-form-cta__form .gfield_label,
.contact-form-cta__form .gform-field-label {
  display: block;
  margin-bottom: 0.35rem;
  color: #fff !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.8125rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em;
  text-transform: none !important;
}

.contact-form-cta__form .form-wrapper input:not([type="submit"]):not([type="button"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.contact-form-cta__form .form-wrapper select,
.contact-form-cta__form input:not([type="submit"]):not([type="button"]):not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.contact-form-cta__form select {
  width: 100%;
  padding: 0.35rem 0 0.55rem !important;
  border: 0 !important;
  border-bottom: 1px solid #f7ead7 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.9375rem !important;
  box-shadow: none !important;
}

.contact-form-cta__form .ginput_container_textarea {
  max-height: 5rem;
}

.contact-form-cta__form .form-wrapper textarea,
.contact-form-cta__form textarea {
  width: 100%;
  min-height: 3.5rem !important;
  max-height: 5rem !important;
  padding: 0.75rem !important;
  border: 1px solid #f7ead7 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.9375rem !important;
  box-shadow: none !important;
  resize: vertical;
}

.contact-form-cta__form .form-wrapper input::placeholder,
.contact-form-cta__form .form-wrapper textarea::placeholder,
.contact-form-cta__form input::placeholder,
.contact-form-cta__form textarea::placeholder {
  color: rgba(255, 255, 255, 0.45) !important;
}

.contact-form-cta__form .form-wrapper input:focus,
.contact-form-cta__form .form-wrapper textarea:focus,
.contact-form-cta__form .form-wrapper select:focus,
.contact-form-cta__form input:focus,
.contact-form-cta__form textarea:focus,
.contact-form-cta__form select:focus {
  outline: none !important;
  border-color: #afa498 !important;
}

.contact-form-cta__form .gform_footer,
.contact-form-cta__form .gform_page_footer {
  margin-top: 0.75rem !important;
  padding: 0 !important;
}

.contact-form-cta__form .gform_button,
.contact-form-cta__form input[type="submit"],
.contact-form-cta__form .form-wrapper .gform_button,
.contact-form-cta__form .form-wrapper input[type="submit"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  min-height: 2.35rem;
  padding: 0.55rem 1.5rem !important;
  border: 1px solid #fff !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #fff !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  letter-spacing: 0;
  text-transform: none !important;
  line-height: 1.2 !important;
  cursor: pointer;
  box-shadow: none !important;
  transition: color 0.25s ease, border-color 0.25s ease;
}

.contact-form-cta__form .gform_button:hover,
.contact-form-cta__form .gform_button:focus,
.contact-form-cta__form input[type="submit"]:hover,
.contact-form-cta__form input[type="submit"]:focus,
.contact-form-cta__form .form-wrapper .gform_button:hover,
.contact-form-cta__form .form-wrapper .gform_button:focus,
.contact-form-cta__form .form-wrapper input[type="submit"]:hover,
.contact-form-cta__form .form-wrapper input[type="submit"]:focus {
  color: #afa498 !important;
  border-color: #afa498 !important;
  background: transparent !important;
}

.contact-form-cta__form .gform_validation_errors,
.contact-form-cta__form .validation_message {
  color: #f4c7c3 !important;
}

@media (min-width: 768px) {
  .contact-form-cta {
    margin-bottom: -8rem;
    padding: 3.5rem var(--sbh-section-pad-x) 0;
  }

  .contact-form-cta__frame {
    padding: 1.15rem;
  }

  .contact-form-cta__inner {
    grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.62fr);
    gap: 5rem;
    padding: 2.5rem 2rem;
    align-items: start;
  }

  .contact-form-cta__image {
    height: 490px;
  }
}

@media (min-width: 1024px) {
  .contact-form-cta {
    margin-bottom: -9rem;
  }

  .contact-form-cta__inner {
    gap: 5rem;
    padding: 2.75rem 2.5rem;
  }

  .contact-form-cta__image {
    height: 490px;
  }
}

body:has(.contact-form-cta) .site-footer {
  padding-top: 170px;
}

/* Site Footer */
.site-footer {
  position: relative;
  padding: 4rem 2rem 4.5rem;
  background-color: #1a1816;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  color: #fff;
}

.site-footer__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.75rem;
  width: 100%;
  max-width: none;
  margin: 0;
}

.site-footer__logo {
  display: block;
  flex-shrink: 0;
  width: auto;
  height: 3rem;
  margin: 0;
}

.site-footer__brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3rem;
  padding-left: 0;
}

.site-footer__brand-text {
  min-width: 0;
  width: 100%;
  flex: 1;
  padding-left: 0;
}

.site-footer__heading {
  margin: 0 0 1rem;
  color: #fff !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: 1.3;
  text-transform: none !important;
  letter-spacing: normal;
}

.site-footer__copy,
.site-footer__copy p {
  margin: 0;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: var(--sbh-text-lh);
}

.site-footer__copy > :not(:last-child) {
  margin-bottom: 0.85rem;
}

.site-footer__note {
  margin: 1.25rem 0 0;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
}

.site-footer__locations,
.site-footer__locations p,
.site-footer__locations ul,
.site-footer__locations li {
  margin: 0;
  padding: 0;
  color: #fff;
  font-family: "DM Sans", sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.45;
  list-style: none;
}

.site-footer__locations ul {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-left: 0.35rem;
  padding-left: 0.25rem;
}

.site-footer__locations li {
  position: relative;
  padding-left: 1rem;
  line-height: 1.45;
}

.site-footer__locations li::before {
  content: "";
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 0.3rem;
  height: 0.3rem;
  border-radius: 50%;
  background-color: #fff;
}

.site-footer__links {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-footer__links a {
  display: inline;
  color: #fff !important;
  font-family: "DM Sans", sans-serif;
  font-size: 0.9375rem;
  font-weight: 400;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 0.2em;
  transition: color 0.25s ease;
}

.site-footer__links a:hover,
.site-footer__links a:focus {
  color: #afa498 !important;
}

@media (min-width: 768px) {
  body:has(.contact-form-cta) .site-footer {
    padding-top: 225px;
  }

  .site-footer {
    padding: 5rem 5rem 5.5rem;
  }

  .site-footer__inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 3rem 2.5rem;
  }

  .site-footer__brand {
    flex-direction: row;
    gap: 1.25rem;
  }

  .site-footer__logo {
    height: 3.75rem;
  }
}

@media (min-width: 1024px) {
  .site-footer__inner {
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.85fr) minmax(0, 0.9fr) minmax(0, 1fr);
    gap: 2.5rem 2rem;
    align-items: start;
  }

  .site-footer__logo {
    height: 4.25rem;
  }

  .site-footer__heading {
    font-size: 1.125rem;
  }

  .site-footer__brand {
    gap: 1.5rem;
    padding-right: 0.5rem;
  }
}


/* FAQ (Alt Style) */
.faq-alt {
  position: relative;
  isolation: isolate;
  padding-top: 3.5rem !important;
  padding-bottom: 3.5rem !important;
  background-color: #383634;
  color: #fff;
  overflow: hidden;
}

.faq-alt::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: var(--vision-pattern);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  opacity: 1;
}

.faq-alt::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-color: #383634;
  opacity: 0.97;
}

.faq-alt__inner {
  position: relative;
  z-index: 1;
  margin: 0 auto;
}

.faq-alt__header {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  margin-bottom: 2.5rem;
}

.faq-alt__title {
  margin: 0 0 1rem;
  color: #fff !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: clamp(1.75rem, 2.6vw, 2.5rem);
  font-weight: 400;
  line-height: 1.25;
}

.faq-alt__subtitle {
  margin: 0;
  color: #fff;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1.0625rem;
  font-weight: 400;
  line-height: var(--sbh-text-lh);
}

.faq-alt__content {
  color: #fff;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1.0625rem;
  line-height: var(--sbh-text-lh);
}

.faq-alt__content.format-content,
.faq-alt__content.format-content p {
  color: #fff;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1.0625rem;
  line-height: var(--sbh-text-lh);
}

.faq-alt__content > :first-child {
  margin-top: 0;
}

.faq-alt__content > :last-child {
  margin-bottom: 0;
}

.faq-alt__list {
  border-top: 1px solid #f7ead7;
}

.faq-alt__item {
  border-bottom: 1px solid #f7ead7;
}

.faq-alt__question-heading {
  margin: 0;
  font-size: inherit;
  font-weight: inherit;
}

.faq-alt__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  width: 100%;
  margin: 0;
  padding: 1.15rem 0;
  border: 0;
  background: transparent;
  color: #fff;
  text-align: left;
  cursor: pointer;
  appearance: none;
}

.faq-alt__trigger:hover .faq-alt__question,
.faq-alt__trigger:focus-visible .faq-alt__question {
  color: #f7ead7;
}

.faq-alt__trigger:focus,
.faq-alt__trigger:focus-visible {
  outline: none;
}

.faq-alt__question {
  flex: 1 1 auto;
  min-width: 0;
  color: #fff;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  font-weight: 400;
  line-height: var(--sbh-text-lh);
  transition: color 0.2s ease;
}

.faq-alt__icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: auto;
  color: #fff;
  transition: transform 0.3s ease;
}

.faq-alt__icon-img {
  display: block;
  width: 1.5rem;
  height: auto;
}

.faq-alt__trigger.is-open .faq-alt__icon,
.faq-alt__trigger[aria-expanded="true"] .faq-alt__icon {
  transform: rotate(180deg);
}

.faq-alt__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.35s ease;
}

.faq-alt__panel.is-open {
  grid-template-rows: 1fr;
}

.faq-alt__panel-inner {
  overflow: hidden;
  min-height: 0;
}

.faq-alt__answer {
  padding: 0 0 1.25rem;
  color: #fff;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: var(--sbh-text-lh);
  opacity: 0;
  transform: translateY(-0.25rem);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.faq-alt__item:has(.faq-alt__panel.is-open),
.faq-alt__item:has(.faq-alt__trigger.is-open) {
  border-bottom-color: #f7ead7;
}

.faq-alt__panel.is-open .faq-alt__answer {
  opacity: 1;
  transform: translateY(0);
}

.faq-alt__answer > :last-child {
  margin-bottom: 0;
}

.faq-alt__answer.format-content,
.faq-alt__answer.format-content p {
  color: #fff;
  font-family: "DM Sans", sans-serif !important;
}

.faq-alt__cta {
  display: block;
  width: 100%;
  margin-top: 2.5rem;
}

.faq-alt__button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: none;
  min-height: 6rem;
  padding: 1.35rem 2rem;
  border: 1px solid #afa498;
  outline: 1px solid #afa498;
  outline-offset: -15px;
  border-radius: 0;
  background-color: #f7ead7;
  color: #333 !important;
  font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
  font-size: clamp(0.9375rem, 1.4vw, 1.125rem);
  font-weight: 400;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

.faq-alt__button:hover,
.faq-alt__button:focus {
  background-color: #fff;
  color: #333 !important;
  border-color: #afa498;
  outline-color: #afa498;
}

@media (min-width: 768px) {
  .faq-alt {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
  }

  .faq-alt__header {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: var(--sbh-section-col-gap);
    align-items: start;
    margin-bottom: 3rem;
  }

  .faq-alt__title {
    margin-bottom: 1.25rem;
  }

  .faq-alt__trigger {
    padding: 1.35rem 0;
  }

  .faq-alt__question {
    font-size: 1.0625rem;
  }

  .faq-alt__answer {
    padding-bottom: 1.5rem;
    font-size: 1.0625rem;
  }

  .faq-alt__cta {
    margin-top: 3rem;
  }

  .faq-alt__button {
    min-height: 6rem;
    padding: 1.5rem 2.75rem;
  }
}

/* ---------------------------------------------------------------------------
   Author archive — /author/{slug}/ ONLY.

   Tweaks over the existing .article-author block. Every selector is scoped to
   .author-archive, printed solely by the is_author() branch of archive.php, so
   nothing here reaches the Insights index or any other template.
--------------------------------------------------------------------------- */

/* 1 — Tighten the gap between the header and the author box.
   The base rules stack .insights-feed padding-top (4rem, 5rem >=768px) on top
   of .article-author margin-top (3rem). Collapse the second one. */
/* Match the guides' section structure exactly: the horizontal padding lives
   inside __inner, next to max-width and box-sizing: border-box, not on the
   section. Same content edges at every width (170-1270 at 1440px). */
.author-archive .insights-feed {
  padding-top: 2rem;
  padding-left: 0;
  padding-right: 0;
}

.author-archive .insights-feed__inner {
  max-width: var(--sbh-section-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--sbh-section-pad-x);
  padding-right: var(--sbh-section-pad-x);
  box-sizing: border-box;
}

.author-archive .article-author {
  margin-top: 0;
}

/* 2 — One shared left edge for the whole page: author box, section heading and
   cards all start on the same vertical line. main.css centres .article-author
   on desktop, so the override has to be explicit on each child. */
.author-archive .article-author,
.author-archive .article-author__label,
.author-archive .article-author__name,
.author-archive .article-author__job,
.author-archive .article-author__bio {
  text-align: left !important;
}

.author-archive .article-author__media {
  justify-self: start;
}

/* The job title is an <h2> for document outline reasons, so the base h2 rules
   (2rem !important, line-height 1.3 !important) have to be neutralised to keep
   the exact same look it had as a <p>: 14px / 21px DM Sans in #6b6b6b. */
.author-archive h2.article-author__job {
  margin: 0 0 0.85rem;
  color: #6b6b6b;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  letter-spacing: normal;
  line-height: 1.5 !important;
  text-transform: none;
}

/* 3 — Author name a step up from the 1.375rem in-article size. */
.author-archive .article-author__name {
  font-size: 1.5rem !important;
}

/* 4 — Clear separation between the author box and the articles block. */
.author-archive .insights-feed__intro {
  max-width: none;
  margin: 3rem 0 1.25rem;
  text-align: left !important;
}

/* 5 — Section heading: smaller and aligned to the grid edge. */
.author-archive .insights-feed__title {
  margin: 0;
  font-size: 1.125rem !important;
  line-height: 1.4 !important;
  text-align: left !important;
}

/* 6 — Article cards a touch more compact. */
.author-archive .insights-feed__card-title {
  font-size: 1.125rem !important;
  line-height: 1.35;
}

.author-archive .insights-feed__excerpt {
  font-size: 0.875rem;
}

.author-archive .insights-feed__body {
  padding: 1.25rem 1.25rem 1.15rem;
}

.author-archive .insights-feed__empty {
  text-align: left;
}

/* Mobile: bleed the cream field to the viewport edges so the box padding stops
   pushing the text inward and the name lines up with the heading and cards. */
@media (max-width: 767px) {
  .author-archive .article-author {
    gap: 1.25rem;
    margin-right: calc(var(--sbh-section-pad-x) * -1);
    margin-left: calc(var(--sbh-section-pad-x) * -1);
    padding: 1.75rem var(--sbh-section-pad-x);
  }
}

@media (min-width: 768px) {
  .author-archive .insights-feed {
    padding-top: 2.5rem;
  }

  /* Align every section of the page to the same content column the guides use
     (--sbh-section-max, 1180px centred), so the author box, the section heading
     and the card grid share the exact left and right edges of the rest of the
     site. .insights-feed__inner defaults to 1440px, which is wider. */
  /* Photo and copy read as one unit instead of a portrait stranded beside a
     very long centred paragraph: bigger portrait, tighter gutter, and the copy
     column capped so the box can span the full width without the bio running
     to a 130-character measure. */
  .author-archive .article-author {
    grid-template-columns: 148px minmax(0, 1fr);
    gap: 2.25rem;
    align-items: start;
    padding: 2.25rem 2.5rem;
  }

  /* The bio runs to the same 40px inset the portrait has on the left, so the
     copy is not stranded 236px short of the box edge and takes fewer lines. */
  .author-archive .article-author__body {
    max-width: none;
  }

  .author-archive .article-author__photo {
    width: 148px;
    height: 148px;
  }

  .author-archive .article-author__name {
    font-size: 1.625rem !important;
  }

  .author-archive .insights-feed__intro {
    margin: 4rem 0 1.5rem;
  }

  .author-archive .insights-feed__title {
    font-size: 1.25rem !important;
  }

  .author-archive .insights-feed__card-title {
    font-size: 1.1875rem !important;
  }

  .author-archive .insights-feed__body {
    padding: 1.5rem 1.5rem 1.3rem;
  }
}

/* ---------------------------------------------------------------------------
   Home hero title is an <h1> (front page only). The base h2 rule was applying
   line-height: 1.3 !important on top of the theme's 1.12, so the tag swap alone
   would have tightened the hero by ~21px per line. Pin it to the value the
   design has been rendering at, so nothing moves.
--------------------------------------------------------------------------- */
h1.hero-large__title {
  line-height: 1.3 !important;
  text-transform: none !important;
}

/* ---------------------------------------------------------------------------
   Breadcrumbs de artículo — solo en single.php, justo bajo el hero.
   Deliberadamente discretas: usan el mismo eyebrow del sitio (DM Sans, 600,
   letter-spacing .12em, mayúsculas, taupe #afa498) pero un punto más pequeño
   que .article-hero__category, y se alinean con .article-layout__inner (1280px).
--------------------------------------------------------------------------- */

.article-breadcrumbs {
  padding: 1.25rem var(--sbh-section-pad-x) 0;
  background-color: #fff;
}

.article-breadcrumbs__inner {
  max-width: 1280px;
  margin: 0 auto;
}

.article-breadcrumbs__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.article-breadcrumbs__item {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  color: #afa498;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

.article-breadcrumbs__item + .article-breadcrumbs__item::before {
  content: "\203A";
  opacity: 0.55;
  font-weight: 400;
}

.article-breadcrumbs__item a {
  color: inherit;
  text-decoration: none;
  transition: color 0.25s ease;
}

.article-breadcrumbs__item a:hover,
.article-breadcrumbs__item a:focus {
  color: #333;
}

.article-breadcrumbs__item--current {
  max-width: 34ch;
  overflow: hidden;
  color: #8a8a8a;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* En móvil el título del artículo ya está en el H1 justo encima: mostrarlo otra
   vez en las migas es ruido, así que se deja solo la ruta. */
@media (max-width: 767px) {
  .article-breadcrumbs {
    padding-top: 1rem;
  }

  .article-breadcrumbs__item--current {
    display: none;
  }
}

/* Enlaces a la ficha desde las tarjetas del listado de /homes/. */
.home-card__link {
  color: inherit;
  text-decoration: none;
  transition: color 0.25s ease;
}

.home-card__link:hover,
.home-card__link:focus {
  color: #afa498;
}

.home-card__more {
  color: #afa498;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.home-card__more:hover,
.home-card__more:focus {
  color: #333;
}

/* ---------------------------------------------------------------------------
   Ficha de propiedad v2 — estructura de portal inmobiliario con el lenguaje
   visual del sitio: mosaico de fotos a sangre, panel de precio fijo al scroll,
   datos en Libre Baskerville y etiquetas en DM Sans taupe.
--------------------------------------------------------------------------- */

.home-single .home-crumbs {
  padding-top: 1.5rem;
}

/* Mosaico: 1 grande + 4 en rejilla, como los portales. */
.home-mosaic {
  padding: 1rem var(--sbh-section-pad-x) 0;
}

.home-mosaic__grid {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
  max-width: var(--sbh-section-max);
  margin: 0 auto;
}

.home-mosaic__item {
  overflow: hidden;
  margin: 0;
  background-color: #f3f1ee;
  cursor: pointer;
  outline: none !important;
  box-shadow: none !important;
}

.home-mosaic__item:focus,
.home-mosaic__item:focus-visible,
.home-mosaic__item:active {
  outline: none !important;
  box-shadow: none !important;
}

.home-mosaic__item img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  transition: transform 0.6s ease;
  outline: none !important;
}

.home-mosaic__item:hover img {
  transform: scale(1.03);
}

.home-mosaic__item--1,
.home-mosaic__item--2,
.home-mosaic__item--3,
.home-mosaic__item--4 {
  display: none;
}

.home-mosaic__all {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  padding: 0.7rem 1.2rem;
  border: 0;
  background-color: #fff;
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  outline: none !important;
  box-shadow: none !important;
  transition: color 0.25s ease;
}

.home-mosaic__all:hover,
.home-mosaic__all:focus,
.home-mosaic__all:focus-visible,
.home-mosaic__all:active {
  color: #afa498;
  outline: none !important;
  box-shadow: none !important;
}

/* Cuerpo: contenido + panel */
.home-body {
  padding: 2.5rem var(--sbh-section-pad-x) 3rem;
}

.home-body__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2.5rem;
  max-width: var(--sbh-section-max);
  margin: 0 auto;
}

.home-badge {
  display: inline-block;
  margin: 0 0 0.9rem;
  padding: 0.4rem 0.8rem;
  background-color: #f4f1ec;
  color: #afa498;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.4;
  text-transform: uppercase;
}

.home-title {
  /* main.css centra los titulares; aquí todo el bloque va alineado a la izquierda. */
  text-align: left !important;
  margin: 0 0 0.5rem;
  color: #333 !important;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 2rem !important;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.15 !important;
  text-transform: none !important;
}

.home-address {
  margin: 0 0 2rem;
  color: #6b6b6b;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: 1.5;
}

.home-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.5rem 1rem;
  margin: 0 0 2.5rem;
  padding: 1.75rem 0;
  border-top: 1px solid rgba(51, 51, 51, 0.12);
  border-bottom: 1px solid rgba(51, 51, 51, 0.12);
  list-style: none;
}

.home-facts__item {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  margin: 0;
}

.home-facts__value {
  color: #333;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.625rem;
  line-height: 1.15;
}

.home-facts__label {
  color: #afa498;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.home-area__heading {
  text-align: left !important;
  margin: 0 0 0.9rem;
  color: #333 !important;
  font-size: 1.25rem !important;
  line-height: 1.3 !important;
}

.home-area__text {
  max-width: 62ch;
  margin: 0 0 1rem;
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: 1.7;
}

.home-area__link,
.home-panel__link {
  display: inline-block;
  color: #afa498;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-decoration: none;
  text-transform: uppercase;
}

.home-area__link:hover,
.home-area__link:focus,
.home-panel__link:hover,
.home-panel__link:focus {
  color: #333;
}

/* Panel de precio */
.home-panel__card {
  padding: 1.75rem;
  background-color: #f4f1ec;
}

.home-panel__price {
  margin: 0 0 1.25rem;
  color: #333;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.75rem;
  line-height: 1.2;
}

.home-panel__meta {
  margin: 0 0 1.5rem;
  padding: 1.25rem 0 0;
  border-top: 1px solid rgba(51, 51, 51, 0.12);
}

.home-panel__row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 0;
}

.home-panel__row dt {
  margin: 0;
  color: #afa498;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.home-panel__row dd {
  margin: 0;
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.875rem;
  text-align: right;
}

.home-panel__cta {
  display: block;
  width: 100%;
  margin-bottom: 0.9rem;
  text-align: center;
}

.home-panel__link {
  display: block;
  text-align: center;
}

/* Galería completa */
.home-gallery {
  padding: 3rem var(--sbh-section-pad-x) 4rem;
  background-color: #faf9f7;
}

.home-gallery__inner {
  max-width: var(--sbh-section-max);
  margin: 0 auto;
}

.home-gallery__heading {
  text-align: left !important;
  margin: 0 0 1.75rem;
  color: #333 !important;
  font-size: 1.375rem !important;
  line-height: 1.3 !important;
}

.home-gallery__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.home-gallery__item {
  overflow: hidden;
  margin: 0;
  background-color: #f3f1ee;
}

.home-gallery__item img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

@media (min-width: 768px) {
  .home-mosaic {
    padding-top: 1.5rem;
  }

  .home-mosaic__grid {
    grid-template-columns: 2fr 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 0.65rem;
  }

  .home-mosaic__item--0 {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  .home-mosaic__item--1,
  .home-mosaic__item--2,
  .home-mosaic__item--3,
  .home-mosaic__item--4 {
    display: block;
  }

  .home-mosaic__item--0 img {
    aspect-ratio: 4 / 3;
  }

  .home-mosaic__item--1 img,
  .home-mosaic__item--2 img,
  .home-mosaic__item--3 img,
  .home-mosaic__item--4 img {
    aspect-ratio: 3 / 2;
  }

  .home-body__inner {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.36fr);
    gap: 3.5rem;
    align-items: start;
  }

  .home-title {
    font-size: 2.75rem !important;
  }

  .home-facts {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 2rem;
  }

  .home-facts__value {
    font-size: 1.875rem;
  }

  .home-panel__card {
    position: sticky;
    top: 6.5rem;
    padding: 2rem;
  }

  .home-panel__price {
    font-size: 2rem;
  }

  .home-gallery__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }
}

/* Migas alineadas con el mosaico: usan var(--sbh-section-max), no los 1280px
   por defecto de .article-breadcrumbs__inner, que las dejaba descuadradas. */
.home-single .article-breadcrumbs {
  padding: 1.5rem var(--sbh-section-pad-x) 0;
}

.home-single .article-breadcrumbs__inner {
  max-width: var(--sbh-section-max);
}

/* Bloque de zona, debajo de la galería */
.home-area {
  padding: 3.5rem var(--sbh-section-pad-x) 4rem;
  background-color: #fff;
}

.home-area__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  max-width: var(--sbh-section-max);
  margin: 0 auto;
}

.home-area__eyebrow {
  margin: 0 0 0.75rem;
  color: #afa498;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.home-area__heading {
  text-align: left !important;
  margin: 0 0 1.15rem;
  color: #333 !important;
  font-size: 1.625rem !important;
  line-height: 1.25 !important;
}

.home-area__text {
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1rem;
  line-height: 1.75;
}

.home-area__text p {
  margin: 0 0 1rem;
}

.home-area__facts {
  margin: 1.75rem 0;
  padding: 1.5rem 0 0;
  border-top: 1px solid rgba(51, 51, 51, 0.12);
  list-style: none;
}

.home-area__facts li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(51, 51, 51, 0.08);
}

.home-area__facts span {
  color: #afa498;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.home-area__facts strong {
  color: #333;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.875rem;
  font-weight: 500;
  text-align: right;
}

.home-area__media {
  overflow: hidden;
  margin: 0;
  background-color: #f3f1ee;
}

.home-area__media img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.home-area__others {
  max-width: var(--sbh-section-max);
  margin: 2.5rem auto 0;
  padding-top: 2rem;
  border-top: 1px solid rgba(51, 51, 51, 0.12);
}

.home-area__others-label {
  margin: 0 0 0.9rem;
  color: #afa498;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.home-area__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-area__chips li {
  padding: 0.45rem 0.85rem;
  border: 1px solid rgba(51, 51, 51, 0.15);
  color: #4a4a4a;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.75rem;
  line-height: 1.3;
}

@media (min-width: 768px) {
  .home-area__inner {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 3.5rem;
    align-items: start;
  }

  .home-area__heading {
    font-size: 1.875rem !important;
  }
}

/* ---------------------------------------------------------------------------
   /custom-homes/ : el hero pasa a ser el H1 de la pagina. Estos valores son los
   mismos que ya tenia como h2 (32px desktop / 28px movil, line-height 1.3),
   y neutralizan la regla global "h1 { font-size: 2.5rem !important }".
   --------------------------------------------------------------------------- */
h1.hero-5050__title {
	font-size: 32px !important;
	line-height: 1.3 !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	text-align: left !important;
}
@media (max-width: 767px) {
	h1.hero-5050__title { font-size: 28px !important; }
}

/* ---------------------------------------------------------------------------
   Tablas dentro del cuerpo de un articulo.
   El tema solo declaraba "table { border-collapse: collapse }" y el reset de
   Tailwind aplica "border: 0", asi que no se pintaba ninguna linea. Aqui se
   replica el mismo lenguaje visual del modulo .comparison-table-alt: cabecera
   en Libre Baskerville con filete de 1px #333 y celdas en DM Sans.
   Scoped a .article-content para no afectar a los modulos de pagina.
   --------------------------------------------------------------------------- */
/* Las tablas se alinean con la columna de texto (47.5rem = 760px) en vez de
   ocupar todo el ancho disponible. Con width:100% una tabla de dos columnas
   repartia 936px entre dos celdas de treinta caracteres, y la linea de dentro
   salia mas larga que la del propio articulo. */
.article-content .table-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	max-width: 47.5rem;
	margin: 2.25rem 0 1.5rem;
}

.article-content table {
	width: auto;
	max-width: 100%;
	min-width: 30rem;
	border-collapse: collapse;
	text-align: left;
}

/* Ninguna celda pasa de una medida comoda. Con dos columnas el navegador
   reparte a partes iguales y el texto largo se queda sin freno. */
.article-content table th,
.article-content table td {
	max-width: 22rem;
}

.article-content .table-scroll > table {
	margin-bottom: 0;
}

.article-content table th {
	padding: 0 0.75rem 0.85rem;
	text-align: left;
	vertical-align: bottom;
	color: #333;
	font-family: "Libre Baskerville", Baskerville, "Times New Roman", serif !important;
	font-size: 1.0625rem;
	font-weight: 400;
	line-height: 1.25;
	border-bottom: 1px solid #333;
}

.article-content table td {
	padding: 0.85rem 0.75rem;
	text-align: left;
	vertical-align: top;
	color: #333;
	font-family: "DM Sans", sans-serif !important;
	font-size: 0.9375rem;
	font-weight: 400;
	line-height: var(--sbh-text-lh);
	border-top: 1px solid rgba(51, 51, 51, 0.18);
}

.article-content table thead + tbody tr:first-child td {
	border-top: 0;
}

.article-content table tbody tr:last-child td {
	border-bottom: 1px solid rgba(51, 51, 51, 0.18);
}

.article-content table th:first-child,
.article-content table td:first-child {
	padding-left: 0;
}

.article-content table caption {
	caption-side: bottom;
	padding-top: 0.85rem;
	color: #6b6b6b;
	font-family: "DM Sans", sans-serif !important;
	font-size: 0.8125rem;
	line-height: 1.5;
	text-align: left;
}

@media (max-width: 767px) {
	.article-content table th { font-size: 1rem; }
	.article-content table td { font-size: 0.875rem; }
}

/* —— Floor Plan single —— */
.floor-plan-single__inner {
  max-width: var(--sbh-section-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--sbh-section-pad-x);
  padding-right: var(--sbh-section-pad-x);
  box-sizing: border-box;
}

.floor-plan-single__intro {
  padding: 3rem 0 2rem;
  background: #f7ead7;
}

.floor-plan-single__eyebrow {
  margin: 0 0 0.75rem;
  font-family: "DM Sans", sans-serif;
  font-size: 0.8125rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #383634;
}

.floor-plan-single__eyebrow a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid #afa498;
}

.floor-plan-single__eyebrow a:hover {
  color: #afa498;
}

.floor-plan-single__title {
  margin: 0;
  font-family: "Libre Baskerville", serif;
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 400;
  line-height: 1.2;
  color: #333;
  text-transform: none;
}

.floor-plan-single__specs {
  margin: 1rem 0 0;
  font-family: "DM Sans", sans-serif;
  font-size: 1.0625rem;
  line-height: var(--sbh-text-lh);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #afa498;
}

.floor-plan-single__gallery {
  padding: 2.5rem 0 3rem;
  background: #fff;
}

.floor-plan-single__gallery-main {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  background: #f0ebe3;
  overflow: hidden;
  cursor: zoom-in;
}

.floor-plan-single__gallery-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.floor-plan-single__gallery-image.is-active {
  opacity: 1;
  pointer-events: auto;
}

.floor-plan-single__thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1rem;
}

.floor-plan-single__thumb {
  display: block;
  padding: 0;
  width: 4.5rem;
  height: 4.5rem;
  border: 1px solid transparent;
  background: #f0ebe3;
  cursor: pointer;
  overflow: hidden;
}

.floor-plan-single__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.floor-plan-single__thumb.is-active {
  border-color: #afa498;
}

.floor-plan-single__lightbox {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: none;
  align-items: center;
  justify-content: center;
}

.floor-plan-single__lightbox-bg {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(2px);
}

.floor-plan-single__lightbox-close {
  position: absolute;
  top: 1.5rem;
  right: 1.5rem;
  z-index: 2;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.floor-plan-single__lightbox-nav {
  position: relative;
  z-index: 2;
  padding: 0 1.5rem;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.floor-plan-single__lightbox-stage {
  position: relative;
  z-index: 2;
  height: 80vh;
  width: 80vw;
}

.floor-plan-single__lightbox-stage img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: none;
}

.floor-plan-single__lightbox-stage img.is-active {
  display: block;
}

.floor-plan-single__floors {
  padding: 3rem 0 4rem;
  background: #383634;
  color: #fff;
}

.floor-plan-single__floors-title {
  margin: 0 0 1.75rem;
  font-family: "Libre Baskerville", serif;
  font-size: clamp(1.5rem, 3vw, 2rem);
  font-weight: 400;
  line-height: 1.25;
  color: #fff;
  text-transform: none;
  text-align: center;
}

.floor-plan-single__floor-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-bottom: 2rem;
}

.floor-plan-single__floor-tab {
  font-family: "DM Sans", sans-serif;
  font-size: 0.875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #f7ead7;
  background: transparent;
  border: 1px solid #afa498;
  padding: 0.75rem 1.5rem;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.floor-plan-single__floor-tab:hover {
  background: rgba(175, 164, 152, 0.2);
}

.floor-plan-single__floor-tab.is-active {
  background: #afa498;
  border-color: #afa498;
  color: #333;
}

.floor-plan-single__floor-stage {
  position: relative;
  width: 100%;
  min-height: 16rem;
  background: #fff;
  padding: 1.25rem;
  box-sizing: border-box;
}

.floor-plan-single__floor-image {
  display: none;
  width: 100%;
  height: auto;
  max-height: 70vh;
  object-fit: contain;
  margin: 0 auto;
}

.floor-plan-single__floor-image.is-active {
  display: block;
}

@media (min-width: 768px) {
  .floor-plan-single__intro {
    padding: 4rem 0 2.5rem;
  }

  .floor-plan-single__gallery {
    padding: 3rem 0 4rem;
  }

  .floor-plan-single__floors {
    padding: 4rem 0 5rem;
  }

  .floor-plan-single__floor-stage {
    padding: 2rem;
  }

  .floor-plan-single__thumb {
    width: 5.5rem;
    height: 5.5rem;
  }
}

/* —— Floor Plan single (extends home-single) —— */
.floor-plan-description {
  margin-top: 0.5rem;
  max-width: 42rem;
  color: #383634;
  font-family: "DM Sans", sans-serif !important;
  font-size: 1.0625rem;
  line-height: var(--sbh-text-lh, 1.5);
}

.floor-plan-description p,
.floor-plan-description li {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit;
  color: inherit;
}

.floor-plan-description > :last-child {
  margin-bottom: 0;
}

.floor-plan-panel__specs {
  margin: 0 0 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(51, 51, 51, 0.12);
  color: #6b6b6b;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.8125rem;
  letter-spacing: 0.04em;
  line-height: 1.5;
  text-transform: uppercase;
}

.floor-plan-single .home-panel__link + .home-panel__link {
  margin-top: 0.75rem;
}

/* Floor plan tabs — inside home-body, brand-aligned */
.floor-plan-tabs {
  max-width: var(--sbh-section-max);
  margin: 2.5rem auto 0;
  padding: 2rem 0 0;
  border-top: 1px solid rgba(51, 51, 51, 0.12);
  background: transparent;
  scroll-margin-top: 6rem;
}

.floor-plan-tabs__inner {
  max-width: none;
  margin: 0;
}

.floor-plan-tabs__title {
  margin: 0 0 1.25rem;
  color: #333;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1.2;
  text-transform: none;
  letter-spacing: normal;
}

@media (min-width: 768px) {
  .floor-plan-tabs__title {
    font-size: 2rem;
  }
}

.floor-plan-tabs__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  width: 100%;
  margin: 0 0 1.5rem;
  padding: 0;
  border: 0;
}

.floor-plan-tabs__tab {
  margin: 0;
  padding: 0.7rem 1.25rem;
  border: 1px solid rgba(175, 164, 152, 0.45);
  background: transparent;
  color: #6b6b6b;
  font-family: "DM Sans", sans-serif;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: 1.3;
  text-transform: uppercase;
  cursor: pointer;
  outline: none !important;
  box-shadow: none !important;
  transition: color 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.floor-plan-tabs__tab::-moz-focus-inner {
  border: 0;
  padding: 0;
}

.floor-plan-tabs__tab:focus,
.floor-plan-tabs__tab:focus-visible,
.floor-plan-tabs__tab:active,
.floor-plan-tabs__tab:-moz-focusring {
  outline: none !important;
  box-shadow: none !important;
}

.floor-plan-tabs__tab:hover {
  color: #333;
  border-color: #afa498;
}

.floor-plan-tabs__tab.is-active {
  color: #fff;
  background: #383634;
  border-color: #383634;
  cursor: default;
  outline: none !important;
  box-shadow: none !important;
}

.floor-plan-tabs__tab span {
  border: 0;
  padding: 0;
}

.floor-plan-tabs__stage {
  position: relative;
  width: 100%;
  min-height: 0;
  background: none;
  padding: 0;
  box-sizing: border-box;
  text-align: left;
}

.floor-plan-tabs__image {
  display: none;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 70vh;
  object-fit: contain;
  margin: 0;
}

.floor-plan-tabs__image.is-active {
  display: block;
}

@media (min-width: 768px) {
  .floor-plan-tabs {
    margin-top: 3rem;
    padding-top: 2.5rem;
  }

  .floor-plan-tabs__nav {
    margin-bottom: 1.75rem;
  }
}

/* Spec icons — beds / baths / lot / sq ft */
.spec-icons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 1.75rem 2.5rem;
  margin: 0 0 2.5rem;
  padding: 1.75rem 0;
  border-top: 1px solid rgba(51, 51, 51, 0.12);
  border-bottom: 1px solid rgba(51, 51, 51, 0.12);
  list-style: none;
}

.spec-icons__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  margin: 0;
  min-width: 4rem;
}

.spec-icons__icon-wrap {
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 1.5rem;
  overflow: hidden;
  line-height: 0;
  margin-bottom: 0.15rem;
}

.spec-icons__icon {
  display: block;
  width: 1.5rem !important;
  height: 1.5rem !important;
  max-width: 1.5rem !important;
  max-height: 1.5rem !important;
  color: #383634;
}

.spec-icons__value {
  color: #333;
  font-family: "Libre Baskerville", Baskerville, serif !important;
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 1.15;
}

.spec-icons__label {
  color: #afa498;
  font-family: "DM Sans", sans-serif !important;
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

@media (min-width: 768px) {
  .spec-icons {
    gap: 2rem 3rem;
  }

  .spec-icons__icon-wrap {
    width: 1.75rem;
    height: 1.75rem;
    flex-basis: 1.75rem;
  }

  .spec-icons__icon {
    width: 1.75rem !important;
    height: 1.75rem !important;
    max-width: 1.75rem !important;
    max-height: 1.75rem !important;
  }
}
