/*
 Theme Name:   Divi Child — GlobalTrust Family Office
 Theme URI:    http://globaltrustfamilyoff5136.live-website.com
 Description:  Child theme for GlobalTrust Family Office site
 Author:       GlobalTrust
 Author URI:   http://globaltrustfamilyoffice.com
 Template:     Divi
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Text Domain:  divi-child-fo
*/

/* ═══════════════════════════════════════════════════════
   GLOBAL CONTAINER WIDTH
   Divi content_width set to 1320px in theme options.
   Rows use Divi's natural centering — no overrides needed.
   Header row padding (5%) sets the visual alignment guide.
   ═══════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════
   GLOBALTRUST FAMILY OFFICE — HOME PAGE STYLES
   ═══════════════════════════════════════════════════════
   Fonts: Playfair Display + Raleway (load via Divi Theme Options → Fonts)
   Colors:
     Burgundy:    #6B1A2A
     Deep burg:   #4A0F1C
     Gold:        #C8973A
     Light gold:  #E2B86A
     White:       #FFFFFF
     Cream:       #F7F0E8
   ═══════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════
   DIVI 5 COMPATIBILITY FIXES
   Divi 5 changed some internal class names and wrapper
   structure. These rules patch the delta so our fo-*
   classes keep working after the upgrade.
   ═══════════════════════════════════════════════════════ */

/* Full-width page — remove any extra padding Divi 5 adds
   to the main content wrapper on builder pages          */
body.et_pb_pagebuilder_layout #main-content .entry-content,
body.et_pb_pagebuilder_layout .entry-content {
  padding: 0 !important;
  max-width: none !important;
}
/* Divi 5 inner builder container */
.et_builder_inner_content {
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
/* Remove any gap between header and first page section */
#main-content,
.et_pb_pagebuilder_layout #main-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Blurb module — Divi 5 renamed several internal classes.
   We duplicate every fo-val-blurb / fo-travel-blurb rule
   for the new names so both Divi 4 & 5 are covered.     */

/* Image wrapper: et_pb_main_blurb_image → et_pb_blurb__image */
.fo-val-blurb .et_pb_blurb__image,
.fo-travel-blurb .et_pb_blurb__image {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  overflow: hidden;
}
.fo-val-blurb .et_pb_blurb__image .et_pb_image_wrap,
.fo-val-blurb .et_pb_blurb__image .et_pb_image__wrap,
.fo-travel-blurb .et_pb_blurb__image .et_pb_image_wrap,
.fo-travel-blurb .et_pb_blurb__image .et_pb_image__wrap {
  display: block !important;
  width: 100% !important;
  line-height: 0 !important;
}
.fo-val-blurb .et_pb_blurb__image img,
.fo-travel-blurb .et_pb_blurb__image img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}
.fo-val-blurb .et_pb_blurb__image img    { aspect-ratio: 4/3; object-fit: cover !important; transition: transform 0.6s ease; }
.fo-travel-blurb .et_pb_blurb__image img { aspect-ratio: 3/4; object-fit: cover !important; transition: transform 0.6s ease, filter 0.4s ease; }
.fo-val-blurb:hover    .et_pb_blurb__image img { transform: scale(1.05); }
.fo-travel-blurb:hover .et_pb_blurb__image img { transform: scale(1.06); filter: brightness(0.88); }

/* Text body container: et_pb_blurb_container → et_pb_blurb__body */
/* max-width: 100% override — Divi injects 550px inline */
.fo-val-blurb .et_pb_blurb__content,
.fo-travel-blurb .et_pb_blurb__content {
  max-width: 100% !important;
  width: 100% !important;
}

.fo-val-blurb .et_pb_blurb__body,
.fo-val-blurb .et_pb_blurb__content {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 28px !important;
  background: linear-gradient(to top, rgba(74,15,28,0.90) 0%, rgba(74,15,28,0) 100%) !important;
  display: flex !important;
  flex-direction: column !important;
}
.fo-travel-blurb .et_pb_blurb__body,
.fo-travel-blurb .et_pb_blurb__content {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 32px 26px 26px !important;
  background: linear-gradient(to top, rgba(74,15,28,0.92) 0%, rgba(74,15,28,0) 100%) !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Blurb title: h4.et_pb_module_header → h4.et_pb_blurb__title */
.fo-val-blurb h4.et_pb_blurb__title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  line-height: 1 !important;
  margin: 0 0 10px 0 !important;
}
.fo-val-blurb h4.et_pb_blurb__title::after {
  content: '';
  display: block;
  width: 40px;
  height: 2px;
  background: #E2B86A;
  margin-top: 10px;
  transition: width 0.4s ease;
}
.fo-val-blurb:hover h4.et_pb_blurb__title::after { width: 80px; }

.fo-travel-blurb h4.et_pb_blurb__title {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  line-height: 1.2 !important;
  margin: 0 0 18px 0 !important;
}

/* Blurb description: et_pb_blurb_description → et_pb_blurb__description */
.fo-val-blurb .et_pb_blurb__description {
  font-family: 'Raleway', sans-serif !important;
  font-size: 0.74rem !important;
  line-height: 1.85 !important;
  color: rgba(255,255,255,0.9) !important;
  font-weight: 300 !important;
  margin: 0 !important;
}
.fo-travel-blurb .et_pb_blurb__description {
  font-family: 'Raleway', sans-serif !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #E2B86A !important;
  font-weight: 600 !important;
  border-top: 1px solid rgba(200,151,58,0.4) !important;
  padding-top: 14px !important;
  margin: 0 !important;
}

/* Slider — Divi 5 renamed slide inner classes */
/* et_pb_slide_description → et_pb_slide__description */
.fo-slider .et_pb_slide__title  { display: none !important; }
.fo-slider .et_pb_slide__description {
  max-width: 820px !important;
  width: 55% !important;
  padding-left: 9% !important;
  padding-right: 3% !important;
  padding-bottom: 13% !important;
  text-align: left !important;
  margin: 0 !important;
}
.fo-slider .et_pb_slide.et_pb_media_alignment_center .et_pb_slide__description {
  text-align: left !important;
  margin: 0 !important;
}
/* et_pb_container → et_pb_slide__container */
.fo-slider .et_pb_slide__container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: bottom !important;
}
/* et_pb_slider_container_inner → et_pb_slider__container-inner */
.fo-slider .et_pb_slider__container-inner {
  text-align: left !important;
}

/* Menu — Divi 5 nav menu selectors */
.fo-header .et_pb_menu__nav > li > a,
.fo-header nav.et_pb_menu__menu > ul > li > a {
  font-family: Raleway, sans-serif !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #111111 !important;
  font-weight: 600 !important;
}
.fo-header .et_pb_menu__nav > li > a:hover,
.fo-header nav.et_pb_menu__menu > ul > li > a:hover { color: #6B1A2A !important; }

/* ─────────────────────────────────────────
   SECTION 1 — HERO SLIDER
   ───────────────────────────────────────── */

/* Hide native Divi slide title & button — we use our own HTML inside the slide body */
.fo-slider .et_pb_slide_title { display: none !important; }
.fo-slider .et_pb_button      { display: none !important; }

/* Override Divi's center-alignment — force description to left side */
.fo-slider .et_pb_slide.et_pb_media_alignment_center .et_pb_slide_description {
  text-align: left !important;
  margin: 0 !important;
}

/* Description box: left-pinned, wider content area */
.fo-slider .et_pb_slide_description {
  max-width: 820px !important;
  width: 55% !important;
  padding-left: 9% !important;
  padding-right: 3% !important;
  text-align: left !important;
  margin: 0 !important;
}

/* Container: stretch full width so description sits at left */
/* Desktop slider height: 100vh minus 100px */
.fo-slider .et_pb_slider,
.fo-slider .et_pb_fullwidth_slider_0 {
  height: calc(100vh - 100px) !important;
  min-height: calc(100vh - 100px) !important;
}
.fo-slider .et_pb_slide {
  height: calc(100vh - 100px) !important;
}

/* Anchor content from bottom — gives consistent bottom spacing on all slides */
.fo-slider .et_pb_container {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  vertical-align: bottom !important;
}
.fo-slider .et_pb_slide_description {
  padding-bottom: 13% !important;
}
.fo-slider .et_pb_slider_container_inner {
  text-align: left !important;
}

/* Eyebrow label — small gold uppercase text with line before */
.fo-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: 'Raleway', sans-serif;
  font-size: 0.6rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #E2B86A;
  font-weight: 600;
  margin-bottom: 20px;
}
.fo-eyebrow::before {
  content: '';
  display: inline-block;
  width: 32px;
  height: 2px;
  background: #E2B86A;
  flex-shrink: 0;
}

/* Slide headline */
.fo-headline {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.6rem, 4vw, 4.4rem);
  font-weight: 700;
  line-height: 1.08;
  color: #FFFFFF;
  margin: 0 0 22px 0;
}
.fo-headline em {
  color: #FFFFFF;
  font-style: italic;
  font-weight: 400;
}

/* Slide subtext */
.fo-sub {
  font-family: 'Raleway', sans-serif;
  font-size: 0.82rem;
  line-height: 1.95;
  color: rgba(255, 255, 255, 0.88);
  max-width: 470px;
  margin: 0 0 38px 0;
  font-weight: 300;
}

/* Slide CTA button — white bg, dark text, gold on hover */
.fo-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-family: 'Raleway', sans-serif;
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #4A0F1C;
  background: #FFFFFF;
  padding: 15px 34px;
  text-decoration: none;
  font-weight: 700;
  border: 2px solid #FFFFFF;
  transition: background 0.25s, color 0.25s, border-color 0.25s, gap 0.25s;
}
.fo-btn:hover {
  background: #C8973A;
  color: #FFFFFF;
  border-color: #C8973A;
  gap: 20px;
}

/* Slider dots — gold active dot, pill shape */
.fo-slider .et-pb-controllers a           { background: rgba(255,255,255,0.4) !important; }
.fo-slider .et-pb-controllers a.selected  { background: #E2B86A !important; width: 28px !important; border-radius: 4px !important; }

/* Slider arrows */
.fo-slider .et-pb-arrow-prev,
.fo-slider .et-pb-arrow-next {
  background: rgba(255,255,255,0.08) !important;
  border: 1.5px solid rgba(255,255,255,0.45) !important;
  width: 48px !important;
  height: 48px !important;
}
.fo-slider .et-pb-arrow-prev:hover,
.fo-slider .et-pb-arrow-next:hover {
  background: #C8973A !important;
  border-color: #C8973A !important;
}


/* ─────────────────────────────────────────
   SECTION 2 — OUR VALUES
   ───────────────────────────────────────── */

/* ── Value Blurb Card (et_pb_blurb) ── */
/* Outer wrapper — clip image + overlay */
.fo-val-blurb {
  position: relative;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 8px 32px rgba(107, 26, 42, 0.12);
  cursor: pointer;
  background: transparent !important;
}

/* Image — fills full card, 4:3 ratio, cover crop */
.fo-val-blurb .et_pb_main_blurb_image {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.fo-val-blurb .et_pb_main_blurb_image .et_pb_image_wrap { display: block !important; }
.fo-val-blurb .et_pb_main_blurb_image img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 4 / 3;
  object-fit: cover !important;
  transition: transform 0.6s ease;
}
.fo-val-blurb:hover .et_pb_main_blurb_image img { transform: scale(1.05); }

/* Text container — absolute overlay at bottom of card */
.fo-val-blurb .et_pb_blurb_container {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 28px !important;
  background: linear-gradient(to top, rgba(74,15,28,0.90) 0%, rgba(74,15,28,0) 100%) !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Number badge */
.fo-val-blurb .fo-val-num {
  font-family: 'Playfair Display', serif;
  font-size: 3.5rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.1);
  line-height: 1;
  margin-bottom: 4px;
  display: block;
}

/* Value name (Divi h4 title) */
.fo-val-blurb h4.et_pb_module_header {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  line-height: 1 !important;
  margin: 0 0 10px 0 !important;
}

/* Gold divider line under name */
.fo-val-blurb h4.et_pb_module_header::after {
  content: '';
  display: block;
  width: 40px;
  height: 2px;
  background: #E2B86A;
  margin-top: 10px;
  transition: width 0.4s ease;
}
.fo-val-blurb:hover h4.et_pb_module_header::after { width: 80px; }

/* Description text */
.fo-val-blurb .et_pb_blurb_description {
  font-family: 'Raleway', sans-serif !important;
  font-size: 0.74rem !important;
  line-height: 1.85 !important;
  color: rgba(255, 255, 255, 0.9) !important;
  font-weight: 300 !important;
  margin: 0 !important;
}

/* Image column — corner border accents */
.fo-values-imgbox {
  position: relative !important;
  overflow: visible !important;
}
.fo-values-imgbox::before {
  content: '';
  position: absolute;
  top: -16px;
  left: -16px;
  width: 50%;
  height: 50%;
  border: 3px solid #6B1A2A;
  z-index: 0;
  pointer-events: none;
}
.fo-values-imgbox::after {
  content: '';
  position: absolute;
  bottom: -16px;
  right: -16px;
  width: 50%;
  height: 50%;
  border: 3px solid #C8973A;
  pointer-events: none;
}
.fo-values-imgbox img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  box-shadow: 0 12px 48px rgba(107, 26, 42, 0.18);
}

/* Section label */
.fo-sec-label {
  display: block;
  font-family: 'Raleway', sans-serif;
  font-size: 0.58rem;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: #6B1A2A;
  font-weight: 700;
  margin-bottom: 12px;
}

/* Section title */
.fo-sec-title {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2rem, 3.4vw, 3rem);
  font-weight: 700;
  line-height: 1.15;
  color: #1E0F14;
  margin: 0 0 18px 0;
}
.fo-sec-title em {
  color: #6B1A2A;
  font-style: italic;
  font-weight: 400;
}

/* Intro paragraph */
.fo-sec-intro {
  font-family: 'Raleway', sans-serif;
  font-size: 0.8rem;
  line-height: 2.1;
  color: #5C3A42;
  font-weight: 400;
  margin: 0;
}

/* Value cards — 2×2 grid */
.fo-values-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
}

.fo-val-card {
  position: relative;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 8px 32px rgba(107, 26, 42, 0.12);
  cursor: pointer;
}

.fo-val-bg {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.fo-val-card:hover .fo-val-bg { transform: scale(1.05); }

.fo-val-cap {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 28px;
  background: linear-gradient(to top, rgba(74,15,28,0.88) 0%, rgba(74,15,28,0) 100%);
  display: flex;
  flex-direction: column;
}

.fo-val-num {
  font-family: 'Playfair Display', serif;
  font-size: 4rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.1);
  line-height: 1;
  margin-bottom: 4px;
}

.fo-val-name {
  font-family: 'Playfair Display', serif;
  font-size: 1.8rem;
  font-weight: 700;
  color: #FFFFFF;
  line-height: 1;
}

.fo-val-divider {
  width: 40px;
  height: 2px;
  background: #E2B86A;
  margin: 10px 0;
  transition: width 0.4s ease;
}
.fo-val-card:hover .fo-val-divider { width: 80px; }

.fo-val-text {
  font-family: 'Raleway', sans-serif;
  font-size: 0.74rem;
  line-height: 1.85;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 300;
  margin: 0;
}


/* ─────────────────────────────────────────
   SECTION 3 — MISSION BAND (dark burgundy)
   ───────────────────────────────────────── */

.fo-mission-quote {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(1.7rem, 2.8vw, 2.5rem);
  font-weight: 400;
  font-style: italic;
  color: #FFFFFF;
  line-height: 1.4;
  border-left: 4px solid #C8973A;
  padding-left: 32px;
  margin: 0;
}
.fo-mission-quote strong {
  font-style: normal;
  font-weight: 700;
  color: #E2B86A;
}

/* Mission stats column — 2×2 grid via CSS on the column */
.fo-stats-col.et_pb_column {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  align-content: start !important;
}
.fo-stats-col .et_pb_module { margin-bottom: 0 !important; }

/* Individual stat box */
.fo-stat-box.et_pb_text_inner {
  text-align: center !important;
}
.fo-stat-box {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(200,151,58,0.25) !important;
  text-align: center !important;
}
.fo-stat-box h2 {
  font-family: 'Playfair Display', serif !important;
  font-size: 2.8rem !important;
  font-weight: 700 !important;
  color: #E2B86A !important;
  line-height: 1 !important;
  margin: 0 0 8px 0 !important;
}
.fo-stat-box p {
  font-family: Raleway, sans-serif !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.75) !important;
  font-weight: 500 !important;
  margin: 0 !important;
}

/* Stats 2×2 grid */
.fo-stats-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}

.fo-stat {
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(200, 151, 58, 0.25);
  padding: 28px 24px;
  text-align: center;
}

.fo-stat-n {
  font-family: 'Playfair Display', serif;
  font-size: 2.8rem;
  font-weight: 700;
  color: #E2B86A;
  line-height: 1;
  display: block;
}

.fo-stat-l {
  font-family: 'Raleway', sans-serif;
  font-size: 0.62rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.75);
  margin-top: 8px;
  font-weight: 500;
  display: block;
}


/* ─────────────────────────────────────────
   SECTION 4 — TRAVEL & LEISURE (cream bg)
   ───────────────────────────────────────── */

/* ── Travel Blurb Card (et_pb_blurb) ── */
.fo-travel-blurb {
  position: relative;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 8px 36px rgba(107, 26, 42, 0.14);
  cursor: pointer;
  background: transparent !important;
}

/* Image — 3:4 portrait ratio, cover crop */
.fo-travel-blurb .et_pb_main_blurb_image {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
}
.fo-travel-blurb .et_pb_main_blurb_image .et_pb_image_wrap { display: block !important; }
.fo-travel-blurb .et_pb_main_blurb_image img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 3 / 4;
  object-fit: cover !important;
  transition: transform 0.6s ease, filter 0.4s ease;
}
.fo-travel-blurb:hover .et_pb_main_blurb_image img {
  transform: scale(1.06);
  filter: brightness(0.88);
}

/* Text overlay at bottom of card */
.fo-travel-blurb .et_pb_blurb_container {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  padding: 32px 26px 26px !important;
  background: linear-gradient(to top, rgba(74,15,28,0.92) 0%, rgba(74,15,28,0) 100%) !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Tag label (in blurb body) */
.fo-travel-blurb .fo-travel-tag {
  font-family: 'Raleway', sans-serif;
  font-size: 0.54rem;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: #E2B86A;
  font-weight: 600;
  margin-bottom: 8px;
  display: block;
}

/* Card title (Divi h4) */
.fo-travel-blurb h4.et_pb_module_header {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  line-height: 1.2 !important;
  margin: 0 0 18px 0 !important;
}

/* Read More link (in blurb description area) */
.fo-travel-blurb .et_pb_blurb_description {
  font-family: 'Raleway', sans-serif !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #E2B86A !important;
  font-weight: 600 !important;
  border-top: 1px solid rgba(200, 151, 58, 0.4) !important;
  padding-top: 14px !important;
  margin: 0 !important;
}


/* ─────────────────────────────────────────
   RESPONSIVE
   ───────────────────────────────────────── */

/* ─────────────────────────────────────────
   SECTION 3 — MISSION STATS (number counters)
   ───────────────────────────────────────── */

/* Stat counter box */
.fo-stat-counter {
  background: rgba(255, 255, 255, 0.06) !important;
  border: 1px solid rgba(200, 151, 58, 0.25) !important;
  padding: 28px 24px !important;
  text-align: center !important;
}

/* Hide the progress bar — we only want the number + label */
.fo-stat-counter .et_pb_counter_container { display: none !important; }

/* Number */
.fo-stat-counter .percent {
  font-family: 'Playfair Display', serif !important;
  font-size: 2.8rem !important;
  font-weight: 700 !important;
  color: #E2B86A !important;
  line-height: 1 !important;
}

/* Label */
.fo-stat-counter .et_pb_counter_title {
  font-family: 'Raleway', sans-serif !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(255, 255, 255, 0.75) !important;
  font-weight: 500 !important;
  margin-top: 8px !important;
  display: block !important;
}


/* ─────────────────────────────────────────
   FIX: BLURB CARDS — image + fallback bg
   Deep burgundy background shows when image
   hasn't loaded; photo renders on top of it.
   ───────────────────────────────────────── */

/* Fallback background — deep burgundy (matches design system) */
.fo-val-blurb    { background-color: #4A0F1C !important; }
.fo-travel-blurb { background-color: #4A0F1C !important; }

/* Force every element in the blurb image chain to block + full width */
.fo-val-blurb .et_pb_blurb_content,
.fo-travel-blurb .et_pb_blurb_content {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  position: relative !important;
}
.fo-val-blurb .et_pb_main_blurb_image,
.fo-travel-blurb .et_pb_main_blurb_image {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}
.fo-val-blurb .et_pb_main_blurb_image .et_pb_image_wrap,
.fo-travel-blurb .et_pb_main_blurb_image .et_pb_image_wrap {
  display: block !important;
  width: 100% !important;
  line-height: 0 !important;
}
.fo-val-blurb .et_pb_main_blurb_image img,
.fo-travel-blurb .et_pb_main_blurb_image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
}


/* ─────────────────────────────────────────
   MOBILE MENU
   ───────────────────────────────────────── */

/* Hamburger icon — burgundy */
.fo-header .et_pb_menu__hamburger span {
  background-color: #6B1A2A !important;
}
.fo-header .et_pb_menu__hamburger:hover span { background-color: #C8973A !important; }

/* ── MOBILE MENU: Full-screen overlay popup ── */

/* The menu module wrapper becomes the overlay backdrop */
.fo-header .et_pb_menu--style-centered .et_pb_menu__menu,
.fo-header .et_mobile_nav {
  position: static !important;
}

/* Overlay panel — slides in from right */
.fo-header .et_mobile_menu {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  width: 80vw !important;
  max-width: 320px !important;
  height: 100vh !important;
  background: #4A0F1C !important;
  border-top: none !important;
  border-left: 4px solid #6B1A2A !important;
  box-shadow: -8px 0 40px rgba(0,0,0,0.35) !important;
  padding: 72px 0 40px 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  z-index: 9999 !important;
  box-sizing: border-box !important;
}

/* Top-level items */
.fo-header .et_mobile_menu li a {
  font-family: Raleway, sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.90) !important;
  padding: 16px 32px !important;
  border-bottom: 1px solid rgba(200,151,58,0.15) !important;
  display: block !important;
  transition: color 0.2s, padding-left 0.2s !important;
  background: transparent !important;
  text-decoration: none !important;
}
.fo-header .et_mobile_menu li a:hover {
  color: #FFFFFF !important;
  padding-left: 40px !important;
  background: rgba(107,26,42,0.55) !important;
}

/* Active item — burgundy left accent */
.fo-header .et_mobile_menu li.current-menu-item > a,
.fo-header .et_mobile_menu li.current_page_item > a {
  color: #FFFFFF !important;
  border-left: 3px solid #6B1A2A !important;
  background: rgba(107,26,42,0.45) !important;
  padding-left: 29px !important;
}

/* Sub-menu */
.fo-header .et_mobile_menu .sub-menu {
  background: rgba(0,0,0,0.20) !important;
}
.fo-header .et_mobile_menu .sub-menu a {
  padding-left: 48px !important;
  font-size: 0.65rem !important;
  font-weight: 400 !important;
  color: rgba(255,255,255,0.65) !important;
  letter-spacing: 0.12em !important;
}
.fo-header .et_mobile_menu .sub-menu a:hover {
  color: #FFFFFF !important;
  background: rgba(107,26,42,0.55) !important;
  padding-left: 54px !important;
}

/* Hamburger lines — white on dark header */
.fo-header .et_pb_menu__hamburger span {
  background-color: #6B1A2A !important;
  height: 2px !important;
  width: 22px !important;
  margin: 4px 0 !important;
}
.fo-header .et_pb_menu__hamburger:hover span { background-color: #C8973A !important; }


/* ─────────────────────────────────────────
   GLOBAL HEADER
   ───────────────────────────────────────── */

/* Section wrapper — sticky, white bg, burgundy bottom border, shadow */
.fo-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
}
/* Theme Builder header wrapper — must not add height */
/* Override Divi's body:not(.home) .et_pb_section { padding: 44px } rule */
body .fo-header.et_pb_section,
body .et_pb_section.fo-header,
body:not(.home) .fo-header.et_pb_section,
body:not(.home) .et_pb_section.fo-header {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Row — full width, vertically centered, 80px tall */
.fo-header .et_pb_row {
  max-width: 100% !important;
  display: flex !important;
  align-items: center !important;
  min-height: 80px !important;
}

/* Logo + name flex row */
.fo-header-brand {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  text-decoration: none !important;
  height: 80px !important;
}
.fo-hb-logo {
  width: 46px !important;
  height: 46px !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
  display: block !important;
}
.fo-hb-name {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: #6B1A2A !important;
  letter-spacing: 0.02em !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  display: block !important;
}
.fo-hb-tag {
  font-family: Raleway, sans-serif !important;
  font-size: 0.5rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: #555555 !important;
  margin-top: 3px !important;
  white-space: nowrap !important;
  font-weight: 500 !important;
  display: block !important;
}

/* Menu links in header */
.fo-header .et_pb_menu .et-menu > li > a {
  font-family: Raleway, sans-serif !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #111111 !important;
  font-weight: 600 !important;
}
.fo-header .et_pb_menu .et-menu > li > a:hover { color: #6B1A2A !important; }


/* ─────────────────────────────────────────
   GLOBAL FOOTER
   ───────────────────────────────────────── */

.fo-footer-inner {
  display: grid !important;
  grid-template-columns: 2fr 1fr 1fr 1fr !important;
  gap: 56px !important;
  margin-bottom: 56px !important;
}
.fo-ft-logo-row {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 18px !important;
}
.fo-ft-logo {
  width: 44px !important;
  height: 44px !important;
  object-fit: contain !important;
  filter: brightness(0) invert(1) !important;
  opacity: 0.85 !important;
  flex-shrink: 0 !important;
}

/* ── Footer logo image module: constrain to 44px, float left so name sits beside it ── */
.fo-footer .fo-ft-logo-img { margin-bottom: 0 !important; }
.fo-footer .fo-ft-logo-img img {
  width: 44px !important;
  max-width: 44px !important;
  height: 44px !important;
  object-fit: contain !important;
  filter: none !important;
  opacity: 1 !important;
  float: left !important;
  margin-right: 14px !important;
  margin-top: 3px !important;
}

/* Brand name module: sit beside the floated logo */
.fo-footer .et_pb_column:first-child .et_pb_module:nth-child(2) {
  overflow: hidden !important; /* clearfix for float */
  margin-bottom: 0 !important;
}
.fo-footer .et_pb_column:first-child .et_pb_module:nth-child(2) h3 {
  margin: 0 0 4px 0 !important;
  font-size: 17px !important;
  color: #E2B86A !important;
}

/* Fix ALL footer text + link colors */
.fo-footer a,
.fo-footer .et_pb_text a,
.fo-footer p a,
.fo-footer span a {
  color: rgba(255,255,255,0.90) !important;
  text-decoration: none !important;
  transition: color 0.25s !important;
}
.fo-footer a:hover,
.fo-footer .et_pb_text a:hover,
.fo-footer p a:hover { color: #E2B86A !important; }

/* Logo — add spacing below */
.fo-footer .fo-ft-logo-img {
  margin-bottom: 16px !important;
}

/* Tagline: muted but visible, no blue auto-links */
.fo-footer .et_pb_column:first-child .et_pb_module:nth-child(2) p {
  color: rgba(255,255,255,0.70) !important;
  font-size: 0.5rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
}
.fo-footer .et_pb_column:first-child .et_pb_module:nth-child(2) p a {
  color: rgba(255,255,255,0.70) !important;
  pointer-events: none !important;
}

/* Description paragraph */
.fo-footer .et_pb_column:first-child .et_pb_module:nth-child(3) p {
  color: rgba(255,255,255,0.90) !important;
}

/* "Questions?" label */
.fo-footer .et_pb_column:first-child .et_pb_module:nth-child(4) p {
  color: #E2B86A !important;
}

/* Nav column headings (OFFICE / FOCUS / CONNECT) — gold */
.fo-footer .et_pb_column:not(:first-child) .et_pb_text h4 {
  color: #E2B86A !important;
}

/* Nav link columns — bright white */
.fo-footer .et_pb_column:not(:first-child) .et_pb_text p,
.fo-footer .et_pb_column:not(:first-child) .et_pb_text p a {
  color: rgba(255,255,255,0.90) !important;
}

/* Copyright bar — visible but subtle */
.fo-footer .et_pb_row:last-child p,
.fo-footer .et_pb_row:last-child span {
  color: rgba(255,255,255,0.65) !important;
}
.fo-footer .et_pb_row:last-child a {
  color: rgba(255,255,255,0.65) !important;
}
.fo-footer .et_pb_row:last-child a:hover { color: #E2B86A !important; }

/* Copyright bar links */
.fo-footer .et_pb_row:last-child a {
  color: rgba(255,255,255,0.50) !important;
}
.fo-footer .et_pb_row:last-child a:hover { color: #E2B86A !important; }

/* Contact Us button — gold bg, not blue */
.fo-footer .et_pb_button_module_wrapper .et_pb_button {
  color: #4A0F1C !important;
  background-color: #C8973A !important;
  border-color: #C8973A !important;
}
.fo-footer .et_pb_button_module_wrapper .et_pb_button:hover {
  color: #C8973A !important;
  background-color: transparent !important;
}
.fo-ft-name {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: #E2B86A !important;
  line-height: 1.1 !important;
}
.fo-ft-desc {
  font-family: Raleway, sans-serif !important;
  font-size: 0.73rem !important;
  line-height: 1.9 !important;
  color: rgba(255,255,255,0.80) !important;
  font-weight: 300 !important;
  max-width: 290px !important;
  margin: 0 0 26px 0 !important;
}
.fo-ft-connect-label {
  font-family: Raleway, sans-serif !important;
  font-size: 0.58rem !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: #E2B86A !important;
  margin-bottom: 12px !important;
  font-weight: 700 !important;
}
.fo-ft-cta {
  display: inline-block !important;
  font-family: Raleway, sans-serif !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #4A0F1C !important;
  background: #C8973A !important;
  padding: 12px 28px !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  border: 2px solid #C8973A !important;
  transition: background 0.25s, color 0.25s !important;
}
.fo-ft-cta:hover {
  background: transparent !important;
  color: #C8973A !important;
}
.fo-ft-col h4 {
  font-family: Raleway, sans-serif !important;
  font-size: 0.58rem !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: #E2B86A !important;
  margin: 0 0 20px 0 !important;
  font-weight: 700 !important;
  padding-bottom: 12px !important;
  border-bottom: 1px solid rgba(200,151,58,0.25) !important;
}
.fo-ft-col ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.fo-ft-col li { margin-bottom: 10px !important; }
.fo-ft-col a,
.fo-ft-link {
  font-family: Raleway, sans-serif !important;
  font-size: 0.73rem !important;
  color: rgba(255,255,255,0.80) !important;
  text-decoration: none !important;
  display: block !important;
  transition: color 0.25s !important;
  font-weight: 400 !important;
}
.fo-ft-col a:hover,
.fo-ft-link:hover { color: #E2B86A !important; }
.fo-ft-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  border-top: 1px solid rgba(255,255,255,0.10) !important;
  padding-top: 28px !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}
.fo-ft-copy {
  font-family: Raleway, sans-serif !important;
  font-size: 0.65rem !important;
  color: rgba(255,255,255,0.60) !important;
}
.fo-ft-legal { display: flex !important; gap: 28px !important; }
.fo-ft-legal a {
  font-family: Raleway, sans-serif !important;
  font-size: 0.65rem !important;
  color: rgba(255,255,255,0.60) !important;
  text-decoration: none !important;
}
.fo-ft-legal a:hover { color: #E2B86A !important; }


/* ─────────────────────────────────────────
   RESPONSIVE
   ───────────────────────────────────────── */

/* ── TABLET (980px and below) ── */
@media (max-width: 980px) {

  /* Travel cards: shorter aspect ratio so they don't dominate the screen */
  .fo-travel-blurb .et_pb_main_blurb_image img {
    aspect-ratio: 4 / 3 !important;
    max-height: 320px !important;
  }

  /* Value cards: force card to hold image height so overlay stays in position */
  .fo-val-blurb {
    min-height: 320px !important;
  }
  .fo-val-blurb .et_pb_blurb_content {
    min-height: 320px !important;
  }
  .fo-val-blurb .et_pb_main_blurb_image img {
    aspect-ratio: 4 / 3 !important;
    min-height: 320px !important;
    object-fit: cover !important;
  }
  /* Ensure gradient overlay always covers bottom of card */
  .fo-val-blurb .et_pb_blurb_container {
    position: absolute !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    background: linear-gradient(to top, rgba(74,15,28,0.95) 0%, rgba(74,15,28,0.60) 50%, rgba(74,15,28,0) 100%) !important;
  }

  /* Slider: shorter height on tablet */
  .fo-slider .et_pb_fullwidth_slider_0,
  .fo-slider .et_pb_slider {
    height: 580px !important;
    min-height: 580px !important;
  }
  .fo-slider .et_pb_slide {
    height: 580px !important;
  }

  .fo-headline { font-size: clamp(2rem, 5vw, 3.2rem); }

  /* Slider description: wider on tablet */
  .fo-slider .et_pb_slide_description {
    width: 75% !important;
    max-width: 100% !important;
  }

  /* ── Header tablet fix ── */
  /* Keep header row as flex, don't let Divi stack it */
  .fo-header .et_pb_row {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }
  /* Logo col: allow full logo to show, no clipping */
  .fo-header .et_pb_column.et_pb_column_1_4:first-child {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    overflow: visible !important;
    order: 1 !important;
  }
  /* Logo name: allow wrap to 2 lines on tablet */
  .fo-header .et_pb_column.et_pb_column_1_4:first-child a > div > div:first-child {
    font-size: 14px !important;
    white-space: normal !important;
    overflow: visible !important;
    max-width: 160px !important;
  }
  /* Contact button col: order 2 — comes before hamburger */
  .fo-header .et_pb_column.et_pb_column_1_4:last-child {
    flex: 0 0 auto !important;
    width: auto !important;
    order: 2 !important;
  }
  .fo-header .et_pb_column.et_pb_column_1_4:last-child .et_pb_button {
    padding: 10px 20px !important;
    font-size: 10px !important;
  }
  /* Menu col: order 3 — hamburger sits right after CONTACT */
  .fo-header .et_pb_column.et_pb_column_1_2 {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    order: 3 !important;
  }

  /* Hamburger icon: same burgundy style as phone */
  .fo-header .mobile_menu_bar,
  .fo-header .et_pb_menu .mobile_menu_bar {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    background-color: #6B1A2A !important;
    border-radius: 2px !important;
    box-sizing: border-box !important;
    margin-left: 8px !important;
    cursor: pointer !important;
  }
  .fo-header .mobile_menu_bar::before,
  .fo-header .et_pb_menu .mobile_menu_bar::before {
    color: #FFFFFF !important;
    font-size: 1.4rem !important;
  }

  /* Footer grid: 2 columns on tablet */
  .fo-footer .et_pb_row:first-child { }
  .fo-footer-inner { grid-template-columns: 1fr 1fr !important; }

  /* Stats col: keep 2x2 */
  .fo-stats-col.et_pb_column {
    grid-template-columns: 1fr 1fr !important;
  }
}

/* ── MOBILE (768px and below) ── */
@media (max-width: 768px) {

  /* Reduce section & row horizontal padding on phone
     (exclude slider, header, footer — they must be full-width) */
  .et_pb_section:not(.fo-header):not(.fo-footer):not(.fo-slider) {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .et_pb_row:not(.fo-header .et_pb_row):not(.fo-footer .et_pb_row):not(.fo-slider .et_pb_row) {
    padding-left: 5px !important;
    padding-right: 5px !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Slider: true full-width edge to edge on mobile */
  .fo-slider,
  .fo-slider.et_pb_section,
  .fo-slider.et_pb_fullwidth_section {
    padding: 0 !important;
    margin: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    left: 0 !important;
    right: 0 !important;
    position: relative !important;
  }
  .fo-slider .et_pb_slider,
  .fo-slider .et_pb_fullwidth_slider_0 {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  .fo-slider .et_pb_slide {
    width: 100% !important;
  }

  /* ── Header: collapse to exactly row height ── */
  .fo-header,
  .fo-header.et_pb_section,
  .et_pb_section.fo-header {
    padding: 0 !important;
    margin: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    display: block !important;
    overflow: visible !important;
  }
  .fo-header .et_pb_row {
    padding: 0 16px !important;
    min-height: 60px !important;
    height: 60px !important;
    margin: 0 !important;
  }
  /* Kill any extra bottom padding/margin on header columns */
  .fo-header .et_pb_column,
  .fo-header [class*="et_pb_column"] {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
  }
  .fo-header-brand {
    height: 64px !important;
    gap: 10px !important;
  }
  .fo-hb-logo {
    width: 34px !important;
    height: 34px !important;
  }
  .fo-hb-name {
    font-size: 0.72rem !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    max-width: none !important;
    line-height: 1.25 !important;
  }
  .fo-hb-tag { display: none !important; }

  /* ── Mobile header: nuclear reset ── */
  .fo-header .et_pb_row,
  .fo-header .et_pb_row.et_pb_row_0_tb_header {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    padding: 6px 12px !important;
    min-height: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Kill ALL Divi column sizing in header */
  .fo-header .et_pb_column,
  .fo-header .et_pb_column.et_pb_column_1_3,
  .fo-header .et_pb_column.et_pb_column_1_2,
  .fo-header .et_pb_column.et_pb_column_1_6,
  .fo-header [class*="et_pb_column"] {
    float: none !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Col 1 (logo) — left, takes all free space */
  .fo-header .et_pb_column:first-child {
    flex: 1 1 auto !important;
    order: 1 !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
  /* Logo image: smaller on phone */
  .fo-header .et_pb_column:first-child img {
    width: 30px !important;
    height: 30px !important;
    flex-shrink: 0 !important;
  }
  /* Logo flex wrapper: tighter gap, allow overflow */
  .fo-header .et_pb_column:first-child a {
    gap: 7px !important;
    overflow: visible !important;
  }
  /* Logo text container: allow overflow */
  .fo-header .et_pb_column:first-child a > div {
    overflow: visible !important;
  }
  /* Logo name: wrap to 2 lines, fit full name */
  .fo-header .et_pb_column:first-child a > div > div:first-child {
    font-size: 10.5px !important;
    white-space: normal !important;
    line-height: 1.3 !important;
    max-width: none !important;
    overflow: visible !important;
    word-break: normal !important;
  }
  /* Tagline: hide on phone to save space */
  .fo-header .et_pb_column:first-child a > div > div:last-child {
    display: none !important;
  }

  /* Col 3 (CONTACT) — right, shrink to content */
  .fo-header .et_pb_column:last-child {
    flex: 0 0 auto !important;
    order: 2 !important;
  }
  .fo-header .et_pb_column:last-child .et_pb_button {
    font-size: 9px !important;
    padding: 8px 12px !important;
    letter-spacing: 1px !important;
    white-space: nowrap !important;
    background-color: #6B1A2A !important;
    color: #FFFFFF !important;
    border-color: #6B1A2A !important;
  }

  /* Col 2 (hamburger) — far right after CONTACT */
  .fo-header .et_pb_column:nth-child(2) {
    flex: 0 0 auto !important;
    order: 3 !important;
    display: flex !important;
    align-items: center !important;
  }
  .fo-header .et_pb_column:nth-child(2) .et_pb_menu__nav,
  .fo-header .et_pb_column:nth-child(2) .et_pb_menu__menu { display: none !important; }

  /* Hamburger — matches CONTACT button */
  .fo-header .et_pb_menu__hamburger {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    width: 38px !important;
    height: 38px !important;
    cursor: pointer !important;
    background-color: #6B1A2A !important;
    border-radius: 2px !important;
    padding: 8px !important;
    box-sizing: border-box !important;
    margin-left: 8px !important;
  }
  .fo-header .et_pb_menu__hamburger span {
    background-color: #FFFFFF !important;
    width: 18px !important;
    height: 2px !important;
    margin: 2px 0 !important;
    display: block !important;
    border-radius: 1px !important;
  }

  /* Hamburger span + icon — match CONTACT button exactly */
  .fo-header .mobile_menu_bar,
  .fo-header .et_pb_menu .mobile_menu_bar,
  .fo-header .et_mobile_nav_menu .mobile_menu_bar {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    background-color: #6B1A2A !important;
    border-radius: 2px !important;
    box-sizing: border-box !important;
    margin-left: 8px !important;
    cursor: pointer !important;
  }
  .fo-header .mobile_menu_bar::before,
  .fo-header .et_pb_menu .mobile_menu_bar::before,
  .fo-header .et_mobile_nav_menu .mobile_menu_bar::before {
    color: #FFFFFF !important;
    font-size: 1.4rem !important;
    line-height: 1 !important;
    background-color: transparent !important;
  }

  /* ── Slider: shorter on phone, text fits better ── */
  .fo-slider .et_pb_fullwidth_slider_0,
  .fo-slider .et_pb_slider {
    height: 420px !important;
    min-height: 420px !important;
  }
  .fo-slider .et_pb_slide { height: 420px !important; }
  .fo-slider .et_pb_slide_description {
    padding-left: 5% !important;
    padding-right: 5% !important;
    width: 92% !important;
  }
  .fo-headline { font-size: clamp(1.5rem, 7vw, 2.2rem); }
  .fo-sub {
    font-size: 0.72rem !important;
    line-height: 1.7 !important;
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  /* Slider CTA button — smaller on phone */
  .fo-btn {
    font-size: 0.55rem !important;
    padding: 10px 20px !important;
    letter-spacing: 0.15em !important;
  }

  /* Travel cards — taller on mobile */
  .fo-travel-blurb .et_pb_main_blurb_image img {
    aspect-ratio: 3 / 2 !important;
    min-height: 240px !important;
  }
  .fo-travel-blurb { min-height: 240px !important; }
  .fo-travel-blurb .et_pb_blurb_content { min-height: 240px !important; }

  /* Travel card text — smaller, tighter on mobile */
  .fo-travel-blurb h4.et_pb_module_header {
    font-size: 1rem !important;
    line-height: 1.25em !important;
    margin: 0 0 8px 0 !important;
  }
  .fo-travel-blurb .fo-travel-tag {
    font-size: 0.48rem !important;
    margin-bottom: 5px !important;
  }
  .fo-travel-blurb .et_pb_blurb_container {
    padding: 20px 16px 16px !important;
  }

  /* ── Section padding: 80px top/bottom, 20px sides on phone ── */
  .et_pb_section:not(.fo-header):not(.fo-footer):not(.et_pb_fullwidth_section) {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  /* Remove Divi's default row top/bottom padding */
  .et_pb_row {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* Tighten module bottom margins */
  .et_pb_module {
    margin-bottom: 16px !important;
  }
  .et_pb_module:last-child {
    margin-bottom: 0 !important;
  }
  .fo-header .et_pb_row { padding-left: 12px !important; padding-right: 12px !important; }
  .fo-footer { padding-left: 12px !important; padding-right: 12px !important; }

  /* ── Value cards: fix image + overlay on mobile ── */
  .fo-val-blurb {
    min-height: 320px !important;
    position: relative !important;
    overflow: hidden !important;
    display: block !important;
  }
  .fo-val-blurb .et_pb_blurb_content {
    display: block !important;
    width: 100% !important;
    position: relative !important;
    min-height: 320px !important;
  }
  .fo-val-blurb .et_pb_main_blurb_image {
    display: block !important;
    width: 100% !important;
    line-height: 0 !important;
    position: absolute !important;
    top: 0 !important; left: 0 !important; right: 0 !important; bottom: 0 !important;
  }
  .fo-val-blurb .et_pb_main_blurb_image .et_pb_image_wrap { display: block !important; height: 100% !important; }
  .fo-val-blurb .et_pb_main_blurb_image img {
    width: 100% !important;
    height: 100% !important;
    min-height: 320px !important;
    object-fit: cover !important;
    aspect-ratio: unset !important;
  }
  /* Overlay — bottom 50% of card */
  .fo-val-blurb .et_pb_blurb_container {
    position: absolute !important;
    bottom: 0 !important; left: 0 !important; right: 0 !important;
    top: auto !important;
    background: linear-gradient(to top, rgba(74,15,28,0.97) 0%, rgba(74,15,28,0.70) 60%, rgba(74,15,28,0) 100%) !important;
    padding: 20px 18px !important;
    z-index: 2 !important;
  }
  .fo-val-blurb .fo-val-num { font-size: 2.2rem !important; }

  /* Hide decorative borders on mobile */
  .fo-values-imgbox::before,
  .fo-values-imgbox::after { display: none; }

  /* Mission section: stack columns full width on mobile */
  #mission .et_pb_column {
    width: 100% !important;
    flex: 0 0 100% !important;
  }
  /* Stats grid: 2 col, full width, no overflow */
  .fo-stats-col.et_pb_column {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    width: 100% !important;
    overflow: hidden !important;
    margin-top: 24px !important;
  }
  .fo-stat-box {
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .fo-stat-box h2 {
    font-size: 1.8rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
  .fo-stat-box p { font-size: 0.52rem !important; }

  /* Footer: single column */
  .fo-footer-inner { grid-template-columns: 1fr !important; gap: 32px !important; }
  .fo-ft-bottom { flex-direction: column !important; text-align: center !important; }
  .fo-ft-legal { justify-content: center !important; }
}

/* ═══════════════════════════════════════════════════════
   INNER PAGES — Force section background colors
   Divi 5 block format doesn't reliably render background
   colors from JSON on the frontend — CSS is the fix.
═══════════════════════════════════════════════════════ */

/* Hero sections + all dark sections */
#about-hero,
#mission-hero,
#mandate-hero,
#impact-hero,
#insights-hero,
#contact-hero,
.fo-section-dark {
  background-color: #4A0F1C !important;
}

/* Cream sections */
.fo-section-cream {
  background-color: #F7F0E8 !important;
}

/* Light gray sections */
.fo-section-lightgray {
  background-color: #F2F2F2 !important;
}

/* ── Global button override (Divi ignores custom_button in raw shortcode) ── */
.et_pb_button,
.et_pb_button:visited {
  background-color: #6B1A2A !important;
  border-color: #6B1A2A !important;
  color: #FFFFFF !important;
  font-family: Raleway, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  border-radius: 0 !important;
  padding: 14px 32px !important;
  text-transform: uppercase !important;
}
.et_pb_button:hover {
  background-color: #4A0F1C !important;
  border-color: #4A0F1C !important;
  color: #FFFFFF !important;
}
/* Keep CONTACT header button consistent */
.fo-header .et_pb_button {
  padding: 12px 28px !important;
}

/* ═══════════════════════════════════════════════════════
   INNER PAGES — Shared Typography (dark section)
═══════════════════════════════════════════════════════ */
.fo-page-eyebrow {
  font-family: Raleway, sans-serif !important;
  font-size: 9px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: #E2B86A !important;
  margin: 0 0 18px 0 !important;
}
.fo-page-h1 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 3rem !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  line-height: 1.2 !important;
  margin: 0 0 28px 0 !important;
}
.fo-page-h2 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  line-height: 1.3 !important;
  margin: 0 0 22px 0 !important;
}
.fo-page-intro {
  font-family: Raleway, sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.9 !important;
  color: rgba(255,255,255,0.80) !important;
  font-weight: 300 !important;
  max-width: 780px !important;
  margin: 0 0 20px 0 !important;
}
.fo-page-body {
  font-family: Raleway, sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1.9 !important;
  color: rgba(255,255,255,0.75) !important;
  font-weight: 300 !important;
  margin: 0 0 16px 0 !important;
}

/* ── Light section typography ── */
.fo-sec-eyebrow-dark {
  font-family: Raleway, sans-serif !important;
  font-size: 9px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: #6B1A2A !important;
  margin: 0 0 14px 0 !important;
}
.fo-sec-h2-dark {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  color: #2C1A1E !important;
  line-height: 1.3 !important;
  margin: 0 0 22px 0 !important;
}
.fo-sec-body-dark {
  font-family: Raleway, sans-serif !important;
  font-size: 0.95rem !important;
  line-height: 1.9 !important;
  color: #5C3A42 !important;
  font-weight: 400 !important;
  margin: 0 0 14px 0 !important;
}

/* ── Pull quote ── */
.fo-pull-quote {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.2rem !important;
  font-style: italic !important;
  line-height: 1.75 !important;
  color: #2C1A1E !important;
  border-left: 4px solid #C8973A !important;
  padding: 16px 0 16px 28px !important;
  margin: 0 0 28px 0 !important;
}

/* ── Mission statement (large centered quote) ── */
.fo-mission-statement {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.35rem !important;
  font-style: italic !important;
  line-height: 1.85 !important;
  color: #2C1A1E !important;
  border-left: 5px solid #C8973A !important;
  padding: 28px 0 28px 44px !important;
  margin: 0 auto !important;
  max-width: 860px !important;
}

/* ── Who We Serve cards ── */
.fo-serve-card {
  background: #FFFFFF !important;
  border-top: 3px solid #6B1A2A !important;
  padding: 28px 22px !important;
  box-shadow: 0 2px 20px rgba(0,0,0,0.07) !important;
  height: 100% !important;
  box-sizing: border-box !important;
}
.fo-serve-num {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  color: rgba(107,26,42,0.12) !important;
  line-height: 1 !important;
  margin-bottom: 14px !important;
}
.fo-serve-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #2C1A1E !important;
  margin: 0 0 12px 0 !important;
}
.fo-serve-body {
  font-family: Raleway, sans-serif !important;
  font-size: 0.85rem !important;
  line-height: 1.8 !important;
  color: #5C3A42 !important;
  font-weight: 400 !important;
  margin: 0 !important;
}

/* ── Values cards on dark bg ── */
.fo-value-card {
  background: rgba(255,255,255,0.06) !important;
  border-top: 3px solid #C8973A !important;
  padding: 28px 22px !important;
}
.fo-value-name {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #E2B86A !important;
  margin: 0 0 14px 0 !important;
}
.fo-value-desc {
  font-family: Raleway, sans-serif !important;
  font-size: 0.85rem !important;
  line-height: 1.8 !important;
  color: rgba(255,255,255,0.70) !important;
  font-weight: 300 !important;
  margin: 0 !important;
}

/* ── Mandate stat boxes ── */
.fo-mandate-stat-box {
  text-align: center !important;
  padding: 28px 20px !important;
  border: 1px solid #EAE0D5 !important;
}
.fo-mandate-stat-num {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 3rem !important;
  font-weight: 700 !important;
  color: #6B1A2A !important;
  line-height: 1 !important;
  margin-bottom: 10px !important;
}
.fo-mandate-stat-label {
  font-family: Raleway, sans-serif !important;
  font-size: 0.75rem !important;
  letter-spacing: 1px !important;
  color: #5C3A42 !important;
  font-weight: 500 !important;
}

/* ── Insight cards ── */
.fo-insight-card {
  background: #FFFFFF !important;
  border-top: 3px solid #6B1A2A !important;
  padding: 36px 32px !important;
  box-shadow: 0 2px 20px rgba(0,0,0,0.06) !important;
  transition: box-shadow 0.3s !important;
  display: block !important;
}
.fo-insight-card:hover {
  box-shadow: 0 8px 40px rgba(107,26,42,0.12) !important;
}
.fo-insight-num {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 2.2rem !important;
  font-weight: 700 !important;
  color: rgba(107,26,42,0.10) !important;
  line-height: 1 !important;
  margin-bottom: 10px !important;
}
.fo-insight-cat {
  font-family: Raleway, sans-serif !important;
  font-size: 8px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: #C8973A !important;
  margin: 0 0 12px 0 !important;
}
.fo-insight-title {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  color: #2C1A1E !important;
  line-height: 1.4 !important;
  margin: 0 0 14px 0 !important;
}
.fo-insight-excerpt {
  font-family: Raleway, sans-serif !important;
  font-size: 0.875rem !important;
  line-height: 1.8 !important;
  color: #5C3A42 !important;
  font-weight: 400 !important;
  margin: 0 0 24px 0 !important;
}
.fo-insight-btn {
  display: inline-block !important;
  font-family: Raleway, sans-serif !important;
  font-size: 0.65rem !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: #6B1A2A !important;
  text-decoration: none !important;
  border-bottom: 1.5px solid #C8973A !important;
  padding-bottom: 3px !important;
  transition: color 0.2s !important;
}
.fo-insight-btn:hover { color: #C8973A !important; }

/* ── Divi Contact Form — minimal 2-col layout ── */
.et_pb_contact_form_container {
  padding: 0 !important;
}
/* 2-col grid on the form */
.et_pb_contact_form_container form {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 28px !important;
}
/* Message field + submit button = full width */
.et_pb_contact_form_container form p:nth-child(n+5),
.et_pb_contact_form_container form p:has(textarea),
.et_pb_contact_form_container .et_pb_contact_field:has(textarea),
.et_contact_bottom_container {
  grid-column: 1 / -1 !important;
}
/* Each field wrapper */
.et_pb_contact_form_container .et_pb_contact_field {
  margin-bottom: 20px !important;
  float: none !important;
  width: auto !important;
  padding: 0 !important;
}
/* Field label */
.et_pb_contact_field_label {
  font-family: Raleway, sans-serif !important;
  font-size: 8px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: #9A7A82 !important;
  margin-bottom: 6px !important;
  display: block !important;
}
.et_pb_contact_field_label .required_mark { color: #C8973A !important; }
/* Inputs — minimal bottom-border only */
.et_pb_contact_form_container .input,
.et_pb_contact_form_container input[type="text"],
.et_pb_contact_form_container input[type="email"],
.et_pb_contact_form_container textarea {
  background: transparent !important;
  border: none !important;
  border-bottom: 1.5px solid #DDD4D6 !important;
  border-radius: 0 !important;
  padding: 9px 0 !important;
  font-family: Raleway, sans-serif !important;
  font-size: 0.88rem !important;
  color: #2C1A1E !important;
  font-weight: 400 !important;
  box-shadow: none !important;
  outline: none !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s !important;
}
.et_pb_contact_form_container .input:focus,
.et_pb_contact_form_container input:focus,
.et_pb_contact_form_container textarea:focus {
  border-bottom-color: #6B1A2A !important;
  background: transparent !important;
  outline: none !important;
}
.et_pb_contact_form_container textarea {
  min-height: 110px !important;
  resize: vertical !important;
}
/* Submit button */
.et_contact_bottom_container {
  margin-top: 4px !important;
}
.et_contact_bottom_container .et_pb_contact_submit {
  border-radius: 0 !important;
  letter-spacing: 3px !important;
  font-family: Raleway, sans-serif !important;
  font-size: 11px !important;
}
/* Success / error messages */
.et_pb_contact_form p.et_pb_contact_message {
  font-family: Raleway, sans-serif !important;
  font-size: 0.875rem !important;
  padding: 14px 18px !important;
  border-left: 3px solid #C8973A !important;
  background: rgba(200,151,58,0.08) !important;
  color: #2C1A1E !important;
  border-top: none !important;
  border-right: none !important;
  border-bottom: none !important;
  grid-column: 1 / -1 !important;
}
/* Mobile: single column */
@media (max-width: 767px) {
  .et_pb_contact_form_container form {
    grid-template-columns: 1fr !important;
  }
  .et_pb_contact_form_container form p:nth-child(n+5),
  .et_contact_bottom_container {
    grid-column: 1 !important;
  }
}

/* ── Contact ── */
.fo-contact-link {
  color: #6B1A2A !important;
  text-decoration: none !important;
  font-weight: 500 !important;
  display: block !important;
  margin-bottom: 6px !important;
}
.fo-contact-link:hover { color: #C8973A !important; }

/* ── Contact Form (CF7 + custom HTML) ── */
.fo-form-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 24px !important;
  margin-bottom: 24px !important;
}
.fo-form-group {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  margin-bottom: 24px !important;
}
.fo-form-label {
  font-family: Raleway, sans-serif !important;
  font-size: 9px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: #6B1A2A !important;
}
.fo-form-req { color: #C8973A !important; }
/* CF7 — override Divi parent theme which makes text inputs invisible */
html body .wpcf7 span.wpcf7-form-control-wrap {
  display: block !important;
  width: 100% !important;
}
html body .et_pb_section .wpcf7 input[type="text"],
html body .et_pb_section .wpcf7 input[type="email"],
html body .et_pb_section .wpcf7 input[type="tel"],
html body .et_pb_section .wpcf7 input[type="url"],
html body .et_pb_section .wpcf7 input[type="search"],
html body .et_pb_section .wpcf7 textarea,
html body .et_pb_code .wpcf7 input[type="text"],
html body .et_pb_code .wpcf7 input[type="email"],
html body .et_pb_code .wpcf7 input[type="tel"],
html body .et_pb_code .wpcf7 textarea {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  height: auto !important;
  min-height: 48px !important;
  max-height: none !important;
  background-color: #F8F8F8 !important;
  border: 1px solid #DDD4D6 !important;
  border-bottom: 2px solid #C8973A !important;
  border-radius: 0 !important;
  padding: 12px 14px !important;
  font-family: Raleway, sans-serif !important;
  font-size: 0.9rem !important;
  color: #2C1A1E !important;
  font-weight: 400 !important;
  outline: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  clip: auto !important;
  position: static !important;
  margin-top: 6px !important;
  transition: border-color 0.2s, background 0.2s !important;
}
html body .et_pb_section .wpcf7 input[type="text"]:focus,
html body .et_pb_section .wpcf7 input[type="email"]:focus,
html body .et_pb_section .wpcf7 input[type="tel"]:focus,
html body .et_pb_section .wpcf7 textarea:focus,
html body .et_pb_code .wpcf7 input:focus,
html body .et_pb_code .wpcf7 textarea:focus {
  border-bottom-color: #6B1A2A !important;
  background-color: #FFFFFF !important;
  outline: none !important;
}
html body .et_pb_section .wpcf7 textarea,
html body .et_pb_code .wpcf7 textarea {
  min-height: 130px !important;
  resize: vertical !important;
}
.fo-form-submit,
.wpcf7 input[type="submit"],
.wpcf7 .wpcf7-submit {
  display: inline-block !important;
  visibility: visible !important;
  font-family: Raleway, sans-serif !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  background: #6B1A2A !important;
  color: #FFFFFF !important;
  border: none !important;
  padding: 16px 44px !important;
  cursor: pointer !important;
  margin-top: 12px !important;
  transition: background 0.2s !important;
  border-radius: 0 !important;
  width: auto !important;
  height: auto !important;
}
.fo-form-submit:hover,
.wpcf7 input[type="submit"]:hover,
.wpcf7 .wpcf7-submit:hover {
  background: #4A0F1C !important;
}
/* CF7 response messages */
.wpcf7-response-output {
  font-family: Raleway, sans-serif !important;
  font-size: 0.875rem !important;
  padding: 12px 16px !important;
  margin-top: 16px !important;
  border: none !important;
  border-left: 3px solid #C8973A !important;
  background: rgba(200,151,58,0.08) !important;
  color: #2C1A1E !important;
}
.wpcf7-not-valid-tip {
  font-family: Raleway, sans-serif !important;
  font-size: 0.75rem !important;
  color: #C0392B !important;
}
/* Mobile */
@media (max-width: 767px) {
  .fo-form-row { grid-template-columns: 1fr !important; gap: 0 !important; }
}

/* ── Constitution list ── */
.fo-constitution-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  counter-reset: fo-constitution !important;
}
.fo-constitution-list li {
  counter-increment: fo-constitution !important;
  font-family: Raleway, sans-serif !important;
  font-size: 0.875rem !important;
  color: rgba(255,255,255,0.80) !important;
  font-weight: 400 !important;
  padding: 13px 0 13px 48px !important;
  border-bottom: 1px solid rgba(200,151,58,0.15) !important;
  position: relative !important;
  line-height: 1.5 !important;
}
.fo-constitution-list li::before {
  content: counter(fo-constitution, decimal-leading-zero) !important;
  position: absolute !important;
  left: 0 !important;
  top: 13px !important;
  font-family: 'Playfair Display', serif !important;
  font-weight: 700 !important;
  color: #C8973A !important;
  font-size: 0.85rem !important;
}

/* Alternating section backgrounds removed — each section now uses
   its own background_color set directly in the Divi shortcode.
   This avoids !important overrides that conflict with the Divi 5 builder. */
/* Always keep footer dark, header white */
.fo-footer { background-color: #4A0F1C !important; }
.fo-header { background-color: #FFFFFF !important; }

/* ── Inner pages tablet ── */
@media (max-width: 980px) {
  body:not(.home) .et_pb_section {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  body:not(.home) #about-hero,
  body:not(.home) #mission-hero,
  body:not(.home) #mandate-hero,
  body:not(.home) #impact-hero,
  body:not(.home) #insights-hero,
  body:not(.home) #contact-hero {
    padding-top: 80px !important;
    padding-bottom: 70px !important;
  }
}

/* ── Inner pages mobile ── */
@media (max-width: 767px) {
  body:not(.home) .et_pb_section {
    padding-top: 44px !important;
    padding-bottom: 44px !important;
    padding-left: 6% !important;
    padding-right: 6% !important;
  }
  body:not(.home) #about-hero,
  body:not(.home) #mission-hero,
  body:not(.home) #mandate-hero,
  body:not(.home) #impact-hero,
  body:not(.home) #insights-hero,
  body:not(.home) #contact-hero {
    padding-top: 60px !important;
    padding-bottom: 50px !important;
  }
  .fo-page-h1 { font-size: 2rem !important; }
  .fo-page-h2 { font-size: 1.6rem !important; }
  .fo-sec-h2-dark { font-size: 1.6rem !important; }
  .fo-mission-statement {
    font-size: 1.05rem !important;
    padding: 20px 0 20px 20px !important;
  }
  .fo-pull-quote {
    font-size: 1rem !important;
    padding: 14px 0 14px 20px !important;
  }
  .fo-insight-card { padding: 24px 18px !important; }
  .fo-insight-title { font-size: 1.15rem !important; }
  .fo-mandate-stat-num { font-size: 2.2rem !important; }
}
