/* =======================================
   BASE COMPONENT STYLES
   Trimmed to only what homepage currently
   uses: header/nav, footer, hero variants,
   and the feature-tabs block. Legacy styles
   for retired/unused blocks have been removed
   to avoid stray flex/padding bleed-through.
   ======================================= */

/* HEADER — search dropdown, mobile toggle, mobile menu behavior */
header#header1 .main .container #main-menu .search {
  position: relative;
}
@media (max-width: 1120px) {
  header#header1 .main .container #main-menu .search {
    display: none;
  }
}
header#header1 .main .container #main-menu .search #searchButton {
  display: block;
  transition: all 0.2s ease;
  margin-left: calc(16px * 2);
}
header#header1 .main .container #main-menu .search #searchform {
  background: #131515;
  position: absolute;
  width: 400px;
  right: 0;
  top: calc(100% + 16px);
  padding: 16px 16px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.2s ease;
}
header#header1 .main .container #main-menu .search #searchform div {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
}
@media (max-width: 1120px) {
  header#header1 .main .container #main-menu .search #searchform div {
    padding: 0 16px;
  }
}
header#header1 .main .container #main-menu .search #searchform div input[type=search] {
  width: 100%;
  background: #FFFFFF url(../img/search.svg) no-repeat 20px 12px;
  border: none;
  padding: calc(16px / 2) calc(16px / 2) calc(16px / 2) 50px;
  font-size: 17px;
  line-height: 22px;
  letter-spacing: 0.34px;
  font-family: "Source Sans Pro", "Helvetica", "Arial", sans-serif;
  font-weight: 400;
}
header#header1 .main .container #main-menu .search #searchform div input[type=submit] {
  background: #FFFFFF;
  border: none;
  margin-left: calc(16px / 2);
  padding: calc(16px / 2) 16px;
  font-weight: bold;
  text-transform: uppercase;
  cursor: pointer;
}
header#header1 .main .container #main-menu .search #searchform.active {
  visibility: visible;
  opacity: 1;
}
@media (max-width: 1120px) {
  header#header1 .main .container #main-menu {
    display: none;
  }
}
header#header1 #mobile-toggle {
  display: none;
  z-index: 999;
  margin-left: auto;
}
header#header1 #mobile-toggle a {
  position: relative;
  display: block;
  width: 30px;
  height: 26px;
}
header#header1 #mobile-toggle a span {
  visibility: hidden;
  transition: all 0.2s ease;
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  top: 0;
  width: 30px;
  height: 26px;
}
header#header1 #mobile-toggle a span.active {
  visibility: visible;
  opacity: 1;
}
header#header1 #mobile-toggle a span img {
  display: inline-block;
}
@media (max-width: 1120px) {
  header#header1 #mobile-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
header#header1 #mobile-menu {
  visibility: hidden;
  z-index: -1;
  position: absolute;
  left: 0;
  width: calc(340px - calc(16px * 2));
  background: #FFFFFF;
  padding: 16px;
  opacity: 0;
  transition: all 0.2s ease;
  height: calc(100vh - 100% - calc(16px * 2));
  top: 100%;
  overflow-y: auto;
}
header#header1 #mobile-menu .searchform input[type=submit] {
  display: none;
}
header#header1 #mobile-menu .searchform input[type=search] {
  width: 100%;
  background: #FFFFFF url(../img/search.svg) no-repeat;
  background-position: 20px 10px;
  padding: calc(16px / 2) calc(16px / 2) calc(16px / 2) 50px;
  font-size: 17px;
  line-height: 22px;
  letter-spacing: 0.34px;
  color: #FFFFFF;
  font-weight: 400;
  font-family: "Source Sans Pro", "Helvetica", "Arial", sans-serif;
}
header#header1 #mobile-menu.active {
  visibility: visible;
  opacity: 1;
  z-index: 900;
}
header#header1 #mobile-menu ul {
  padding: 0;
  margin: 16px 0 0;
}
header#header1 #mobile-menu ul li {
  list-style: none;
  display: flex;
  align-items: center;
}
header#header1 #mobile-menu ul li .sub-menu {
  display: none;
}
header#header1 #mobile-menu ul li.menu-item-has-children::after {
  content: "";
  display: inline-block;
  width: 8px;
  height: 14px;
  background: url(../img/chevron.svg) no-repeat center/contain;
  margin-left: auto;
}
header#header1 #mobile-menu ul li a {
  font-weight: bold;
  font-size: 20px;
  line-height: 20px;
  color: #000000;
  padding: 16px 0;
  display: block;
  flex-grow: 1;
  text-decoration: none;
  letter-spacing: 0.4px;
}
header#header1 #mobile-menu ul li.hidden {
  display: none;
}
header#header1 #mobile-menu ul li.expanded {
  flex-wrap: wrap;
  border: none;
}
header#header1 #mobile-menu ul li.expanded::after {
  display: none;
}
header#header1 #mobile-menu ul li.expanded a {
  padding: 16px;
  margin: 0 calc(0px - 16px) calc(0px - 16px);
}
header#header1 #mobile-menu ul li.expanded a::after {
  display: none;
}
header#header1 #mobile-menu ul li.expanded a::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 14px;
  background: url(../img/chevron.svg) no-repeat center/contain;
  margin-right: 16px;
  transform: rotate(180deg);
}
header#header1 #mobile-menu ul li.expanded .sub-menu {
  display: block;
  width: 100%;
}
header#header1 #mobile-menu ul li.expanded .sub-menu li {
  border-top: none;
}
header#header1 #mobile-menu ul li.expanded .sub-menu li::after {
  display: none;
}
header#header1 #mobile-menu ul li.expanded .sub-menu li a {
  text-transform: none !important;
  font-weight: 400;
  display: flex;
  align-items: center;
  padding: 16px 0;
  background: transparent;
  margin: 0;
  border-bottom: none;
}
header#header1 #mobile-menu ul li.expanded .sub-menu li a::before {
  display: none;
}

/* ALERT BAR */
#alert {
  display: none;
}
#alert.visible {
  display: block;
  background: #131515;
  color: #FFFFFF;
  z-index: 1;
}
#alert .container {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: calc(16px / 2) calc(16px * 3) calc(16px / 2) 16px;
  position: relative;
  max-width: calc(1200px - calc(16px * 2));
}
@media (max-width: 1120px) {
  #alert .container {
    padding: 0 16px;
  }
}
#alert .container .copy {
  margin: 0 16px;
}
#alert .container .copy p {
  margin: 0;
  line-height: 28px;
  text-transform: uppercase;
}
#alert .container .copy p a {
  color: #FFFFFF;
  text-transform: none;
  font-weight: 600;
}
#alert .container #noticeClose {
  position: absolute;
  right: 0;
  cursor: pointer;
  margin-right: 16px;
}

/* SLICK CORE — required by the icon-slider hero fade carousel */
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* HERO */
.hero {
  position: relative;
  color: var(--color-off-white);
}
.hero .container {
  position: relative;
  z-index: 2;
}
.hero .eyebrow {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 2.8px;
  text-transform: uppercase;
  color: var(--color-gold);
}
.hero h1 {
  margin: 0;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 68px;
  line-height: 76px;
  color: var(--color-off-white);
}
@media (max-width: 900px) {
  .hero h1 {
    font-size: 40px;
    line-height: 46px;
  }
}
.hero p {
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 20px;
  line-height: 28px;
}
.hero .buttons {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.hero .button.primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 20px 25px;
  border-radius: 100px;
  background: var(--color-off-white);
  box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.12);
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-charcoal);
  cursor: pointer;
  border: 0;
  transition: background-color 0.2s ease, color 0.2s ease;
}
.hero .button.primary .button-icon {
  filter: brightness(0);
  transition: filter 0.2s ease;
}
.hero .button.primary:hover {
  background: var(--color-charcoal);
  color: var(--color-off-white);
}
.hero .button.primary:hover .button-icon {
  filter: brightness(0) invert(1);
}

.hero-scroll-indicator {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 40;
  width: 72px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-apple);
  border: none;
  border-radius: 100px 100px 0 0;
  cursor: pointer;
  opacity: 1;
  transition: opacity 0.4s ease, background-color 0.2s ease;
}
.hero-scroll-indicator img {
  width: 24px;
  height: 24px;
}
.hero-scroll-indicator:hover {
  background: var(--color-plum-200);
}
.hero-scroll-indicator.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.hero-media {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 0;
  overflow: hidden;
  background-color: var(--color-plum);
}
.hero-media img,
.hero-media video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
}

.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: var(--color-plum);
  background-size: cover;
  background-position: center top;
}
.hero-bg::after {
  content: "";
  position: absolute;
  inset: 0;
}

.hero--homepage {
  background: var(--color-plum);
}
.hero--homepage .hero-media {
  position: relative;
  top: auto;
  left: auto;
}
.hero--homepage .hero-media::after {
  background: linear-gradient(to bottom, var(--color-plum) 0%, rgba(62, 32, 34, 0) 60%);
}
.hero--homepage .container {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding: 120px var(--container-padding);
  display: flex;
  justify-content: center;
}
.hero--homepage .content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  max-width: 950px;
  text-align: center;
}
.hero--homepage .eyebrow {
  margin-bottom: 32px;
}
.hero--homepage h1 {
  margin-bottom: 15px;
}
.hero--homepage .eyebrow,
.hero--homepage h1 {
  text-align: center;
}
.hero--homepage .buttons {
  margin-top: 48px;
}
@media (max-width: 900px) {
  .hero--homepage .container {
    position: relative;
    padding: 48px var(--container-padding);
  }
}
@media (min-width: 901px) {
  .hero--homepage {
    min-height: 1200px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }
}
@media (min-width: 901px) {
  .hero--homepage.has-video {
    justify-content: flex-start;
  }
  .hero--homepage.has-video .hero-media--video {
    margin-top: 560px;
  }
}

.hero--inside_page.has-bg-image {
  padding: 120px 0;
  min-height: 700px;
  display: flex;
  align-items: center;
}
.hero--inside_page.has-bg-image .hero-bg::after {
  background: rgba(26, 13, 14, 0.76);
}
.hero--inside_page.has-bg-image .content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0;
  max-width: 800px;
}
.hero--inside_page.has-bg-image .eyebrow {
  margin-bottom: 32px;
}
.hero--inside_page.has-bg-image h1 {
  margin-bottom: 8px;
}
.hero--inside_page.has-bg-image p {
  margin-bottom: 48px;
}
@media (min-width: 901px) {
  .hero--inside_page.has-bg-image {
    padding-top: 150px;
    padding-bottom: 150px;
  }
}

.hero--inside_page.has-side-image {
  background: var(--color-plum);
  padding: 80px 0;
}
.hero--inside_page.has-side-image .container {
  display: flex;
  align-items: center;
  gap: 80px;
}
.hero--inside_page.has-side-image .side-image {
  flex-shrink: 0;
  width: 480px;
  max-width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 16px;
  overflow: hidden;
}
.hero--inside_page.has-side-image .side-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.hero--inside_page.has-side-image .eyebrow{
  margin-bottom: 5px;
}
.hero--inside_page.has-side-image .content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}
.hero--inside_page.has-side-image .buttons{
  margin-top:24px;
}
@media (max-width: 900px) {
  .hero--inside_page.has-side-image .container {
    flex-wrap: wrap;
  }
  .hero--inside_page.has-side-image .side-image {
    margin: 0 auto;
  }
}

.hero--inside_page:not(.has-bg-image):not(.has-side-image) {
  background: var(--color-plum);
  padding: 80px 0;
}
.hero--inside_page:not(.has-bg-image):not(.has-side-image) .content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 48px;
  max-width: 800px;
}

.hero--icon_slider {
  padding: 0;
}
.hero--icon_slider .icon-slider {
  width: 100%;
}
.hero--icon_slider .icon-slider-slides {
  width: 100%;
}
.hero--icon_slider .icon-slider-slide {
  position: relative;
  min-height: 620px;
  display: flex;
  align-items: center;
  padding: 80px 0;
  background: var(--color-plum);
}
.hero--icon_slider .icon-slider-slide .hero-bg::after {
  background: rgba(26, 13, 14, 0.76);
}
.hero--icon_slider .icon-slider-slide-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  max-width: 800px;
}
.hero--icon_slider .icon-slider-badge {
  display: inline-flex;
  align-items: center;
  padding: 6px 16px;
  border-radius: 100px;
  background: rgba(224, 165, 41, 0.15);
  border: 0.5px solid var(--color-gold);
  font-family: var(--font-family-base);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 2.8px;
  text-transform: uppercase;
  color: var(--color-off-white);
}
.hero--icon_slider .icon-slider-nav {
  background: var(--color-plum);
  border-top: 1px solid rgba(252, 250, 250, 0.12);
}
.hero--icon_slider .icon-slider-nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 16px var(--container-padding);
  flex-wrap: wrap;
}
.hero--icon_slider .icon-slider-nav-back {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  flex-shrink: 0;
}
.hero--icon_slider .icon-slider-back-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-off-white);
}
.hero--icon_slider .icon-slider-back-icon {
  display: inline-flex;
  width: 16px;
  height: 16px;
}
.hero--icon_slider .icon-slider-back-icon img {
  width: 100%;
  height: 100%;
}
.hero--icon_slider .icon-slider-nav-label {
  font-family: var(--font-family-base);
  font-size: 15px;
  letter-spacing: 0.15px;
  color: var(--color-off-white);
}
.hero--icon_slider .icon-slider-stages {
  display: flex;
  align-items: flex-start;
  gap: 0;
  flex-wrap: wrap;
  justify-content: center;
}
.hero--icon_slider .icon-slider-stage-container {
  position: relative;
  width: 56px;
  height: 71px;
  flex-shrink: 0;
}
.hero--icon_slider .icon-slider-control {
  position: absolute;
  top: 0;
  left: 0;
  width: 56px;
  height: 56px;
  border-radius: 100px;
  background: var(--color-plum-200);
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.hero--icon_slider .icon-slider-control img {
  width: 24px;
  height: 24px;
}
.hero--icon_slider .icon-slider-control.active,
.hero--icon_slider .icon-slider-control:hover {
  background: var(--color-off-white);
}
.hero--icon_slider .icon-slider-control.active img,
.hero--icon_slider .icon-slider-control:hover img {
  filter: brightness(0);
}
.hero--icon_slider .icon-slider-stage-number {
  position: absolute;
  left: 16px;
  top: 46px;
  width: 25px;
  height: 25px;
  border-radius: 100px;
  background: var(--color-plum);
  color: var(--color-off-white);
  font-family: var(--font-family-base);
  font-size: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.hero--icon_slider .icon-slider-divider {
  width: 40px;
  height: 1px;
  margin-top: 27px;
  background: rgba(252, 250, 250, 0.25);
  flex-shrink: 0;
}
.hero--icon_slider .icon-slider-progress {
  width: 190px;
  flex-shrink: 0;
}
.hero--icon_slider .icon-slider-progress-label {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-off-white);
}
.hero--icon_slider .icon-slider-progress-name {
  margin: 4px 0 0;
  font-family: var(--font-family-base);
  font-size: 15px;
  letter-spacing: 0.15px;
  color: var(--color-off-white);
}
.hero--icon_slider .icon-slider-progress-fill {
  height: 100%;
  background: var(--color-off-white);
  transition: width 0.3s ease;
}
.hero--icon_slider .icon-slider-stages-select {
  display: none;
}
.legal-content-inner .container{
  padding:0;
}
@media (max-width: 767px) {
  .hero--icon_slider  .buttons{
    margin-top:15px;
  }
}
@media (max-width: 1100px) {
  .hero--icon_slider .icon-slider-nav-inner {
    justify-content: center;
  }
  .hero--icon_slider .icon-slider-nav-back,
  .hero--icon_slider .icon-slider-progress {
    align-items: center;
    text-align: center;
    width: 100%;
  }
}
@media (max-width: 991px) {
  .hero--icon_slider .icon-slider-stages {
    display: none;
  }
  .hero--icon_slider .icon-slider-stages-select {
    display: block;
    width: 100%;
    max-width: 250px;
    margin: 0 auto;
    padding: 16px;
    border: 1px solid var(--color-stone-100);
    border-radius: 10px;
    background: var(--color-plum-200);
    font-family: var(--font-family-base);
    font-size: 15px;
    color: var(--color-off-white);
  }
  .icon-slider-progress{
    display:none;
  }
  .hero--icon_slider .icon-slider-nav-inner{
    padding-top:25px;
    padding-bottom:25px;
  }
}


/* FEATURE TABS */
.feature-tabs {
  background: var(--color-apple);
  padding: 96px 0;
  color: var(--color-off-white);
}
@media (min-width: 901px) {
  .feature-tabs {
    padding-bottom: 20px;
  }
  .feature-tabs .container {padding-right:0;}
  .feature-tabs-columns-sticky{
    padding-right:20px;
  }
}
.feature-tabs .eyebrow {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 2.8px;
  text-transform: uppercase;
  color: rgba(252, 250, 250, 0.75);
}
.feature-tabs h2 {
  margin: 0 0 10px;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 54px;
  line-height: 56px;
  color: var(--color-off-white);
}
@media (max-width: 900px) {
  .feature-tabs h2 {
    font-size: 34px;
    line-height: 40px;
  }
}
.feature-tabs p {
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 17px;
  line-height: 24px;
}
.feature-tabs .button.primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 20px 40px;
  border-radius: 100px;
  background: var(--color-off-white);
  box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.12);
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-charcoal);
}
.feature-tabs .button.primary img {
  width: 16px;
  height: 16px;
  filter: brightness(0);
  transition: filter 0.2s ease;
}
.feature-tabs .button.primary:hover {
  background: var(--color-charcoal);
  color: var(--color-off-white);
}
.feature-tabs .button.primary:hover img {
  filter: brightness(0) invert(1);
}

.feature-tabs-intro {
  display: flex;
  justify-content: space-between;
  gap: 80px;
  margin-bottom: 150px;
}

.feature-tabs-intro-media {
  flex: 1 1 586px;
  max-width: 586px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.feature-tabs-image {
  overflow: hidden;
}
.feature-tabs-image img {
  display: block;
  width: 100%;
  height: auto;
}

.feature-tabs-intro-content {
  flex: 1 1 600px;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}
.feature-tabs-intro-content p {
  margin: 0;
}

.feature-tabs-header {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: 1024px;
  margin: 0 auto 56px;
  text-align: center;
}
.feature-tabs-header *:not(h2) {
  max-width: 652px;
}
.feature-tabs-header .eyebrow,
.feature-tabs-header h2,
.feature-tabs-header p {
  text-align: center;
}

.feature-tabs-columns {
  display: flex;
  align-items: center;
  gap: 88px;
}

.feature-tabs-columns-sticky {
  display: contents;
}

.feature-tabs-list {
  display: flex;
  flex-direction: column;
  gap: 40px;
  flex: 1 1 600px;
  max-width: 600px;
}

.feature-tab {
  display: flex;
  flex-direction: column;
  text-align: left;
  justify-content:center;
}
.feature-tab .feature-tab-header {
  position: relative;
  display: block;
  width: 100%;
  background: none;
  border: none;
  border-radius: 12px;
  padding: 0;
  cursor: default;
  text-align: left;
  color: inherit;
  font-family: inherit;
}
.feature-tab .feature-tab-icon {
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 80px;
  height: 80px;
  border-radius: 20px;
  background: var(--color-brick);
}
.feature-tab .feature-tab-icon img {
  width: 40px;
  height: 40px;
}
.feature-tab .feature-tab-content {
  position: relative;
  padding-left: 104px;
  min-height: 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.feature-tab .feature-tab-heading {
  font-family: var(--font-family-base);
  font-weight: 700;
  font-size: 30px;
  line-height: normal;
  color: var(--color-off-white);
  text-decoration: none;
}
.feature-tab .feature-tab-body {
  display: none;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  margin-top: 8px;
  max-width: 496px;
}
.feature-tab .feature-tab-body a:hover {
  color:#000;
}
.feature-tab .feature-tab-body a {
  text-decoration: underline;
}
.feature-tab .feature-tab-body p {
  margin: 0;
}
.feature-tab .feature-tab-link {
  display: inline;
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-off-white);
  text-decoration: none;
}
.feature-tab .feature-tab-link img {
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-left: 8px;
  vertical-align: middle;
  transition: filter 0.2s ease;
}
.feature-tab .feature-tab-link:hover {
  opacity: 0.8;
}
.feature-tab .feature-tab-body a:hover img {
  filter: brightness(0);
}
.feature-tab.active .feature-tab-heading {
  font-family: var(--font-family-serif);
  font-size: 28px;
}
.feature-tab.active .feature-tab-body {
  display: flex;
}
/* Single-tab variant: icon moves above the heading instead of sitting beside it */
.feature-tabs-list.single-tab .feature-tab-icon {
  position: static;
  margin-bottom: 24px;
}
.feature-tabs-list.single-tab .feature-tab-content {
  padding-left: 0;
  min-height: 0;
}

.feature-tabs-support {
  position: relative;
  flex: 0 0 640px;
  width: 640px;
  height: 640px;
}

.feature-tab-support-panel {
  display: none;
  position: absolute;
  inset: 0;
  border-radius: 30px;
  box-shadow: 0px 19px 43px 0px rgba(0, 0, 0, 0.1), 0px 78px 78px 0px rgba(0, 0, 0, 0.05), 0px 80px 105px 0px rgba(0, 0, 0, 0.04);
}
.feature-tab-support-panel.active {
  display: block;
}
.feature-tab-support-panel img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 30px;
}

.feature-tab-stat {
  position: absolute;
  left: 32px;
  bottom: 32px;
  width: 230px;
  padding: 24px;
  border-radius: 15px;
  background: rgba(44, 22, 23, 0.85);
  backdrop-filter: blur(13px);
}
.feature-tab-stat .stat {
  margin: 0;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-size: 42px;
  line-height: 44px;
  color: var(--color-gold);
}
.feature-tab-stat .stat-label {
  margin: 8px 0 0;
  font-family: var(--font-family-base);
  font-weight: 500;
  font-size: 17px;
  line-height: 24px;
  color: var(--color-off-white);
}

@media (max-width: 1100px) {
  .feature-tabs-intro {
    flex-wrap: wrap;
  }
}
/* 768px AND UP (no upper bound) — scroll-locked single-item view, replacing the old
   accordion at every width from here up. See the matching comment in _feature-tabs.scss
   for the full explanation of how the scroll-lock works. */
@media (min-width: 768px) {
  .hero .button.primary {
    padding-right:40px;
    padding-left:40px;
  }
  .feature-tabs-columns {
    align-items: flex-start;
    height: calc(var(--tab-count, 1) * 100vh);
  }
  .feature-tabs-columns-sticky {
    position: sticky;
    top: 0;
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    gap: 48px;
    overflow-x: visible;
    overflow-y: hidden;
  }
  .feature-tabs-columns.feature-tabs-at-rest .feature-tabs-columns-sticky {
    transform: translateY(calc(-1 * clamp(0px, 50vh - 330px, 200px)));
  }
  .feature-tabs-columns.is-ready .feature-tabs-columns-sticky {
    transition: transform 0.5s ease;
  }
  .feature-tabs-list {
    position: relative;
    flex: 1 1 0;
    height: 100%;
    max-width: none;
    overflow: hidden;
  }
  .feature-tab {
    position: absolute;
    inset: 0;
    height: 100%;
  }
  .feature-tabs-columns.is-ready .feature-tab {
    transition: transform 0.5s ease;
  }
  .feature-tab-body {
    display: flex;
  }
  .feature-tab.active .feature-tab-heading {
    font-size: 28px;
    line-height: 44px;
  }
  .feature-tabs-support {
    position: relative;
    flex: 1 1 0;
    width: auto;
    max-width: 600px;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 0;
  }
  .feature-tab-support-panel {
    display: block;
  }
  .feature-tabs-columns.is-ready .feature-tab-support-panel {
    transition: transform 0.5s ease;
  }
}
/* MOBILE — under 768px: no accordion, no scroll-locking, each tab's image sits above its
   own icon/heading/text, all shown at once. See the matching comment in _feature-tabs.scss. */
@media (max-width: 767px) {
  .feature-tabs-columns {
    display: flex;
    flex-direction: column;
    gap: 48px;
  }
  .feature-tabs-columns-sticky,
  .feature-tabs-list,
  .feature-tabs-support {
    display: contents;
  }
  .feature-tab .feature-tab-header {
    cursor: default;
  }
  .feature-tab-body {
    display: flex !important;
  }
  .feature-tab .feature-tab-heading {
    font-family: var(--font-family-serif);
    font-size: 28px;
  }
  .feature-tab-support-panel {
    display: block !important;
    position: relative;
    width: 100%;
    max-width: 640px;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
  }
  .feature-tab[data-index="0"] { order: 1; }
  .feature-tab-support-panel[data-index="0"] { order: 0; }
  .feature-tab[data-index="1"] { order: 3; }
  .feature-tab-support-panel[data-index="1"] { order: 2; }
  .feature-tab[data-index="2"] { order: 5; }
  .feature-tab-support-panel[data-index="2"] { order: 4; }
  .feature-tab[data-index="3"] { order: 7; }
  .feature-tab-support-panel[data-index="3"] { order: 6; }
  .feature-tab[data-index="4"] { order: 9; }
  .feature-tab-support-panel[data-index="4"] { order: 8; }
  .feature-tab[data-index="5"] { order: 11; }
  .feature-tab-support-panel[data-index="5"] { order: 10; }
  .feature-tab[data-index="6"] { order: 13; }
  .feature-tab-support-panel[data-index="6"] { order: 12; }
  .feature-tab[data-index="7"] { order: 15; }
  .feature-tab-support-panel[data-index="7"] { order: 14; }
  .feature-tab[data-index="8"] { order: 17; }
  .feature-tab-support-panel[data-index="8"] { order: 16; }
  .feature-tab[data-index="9"] { order: 19; }
  .feature-tab-support-panel[data-index="9"] { order: 18; }
  .feature-tab .feature-tab-icon {
    width: 56px;
    height: 56px;
    border-radius: 14px;
  }
  .feature-tab .feature-tab-icon img {
    width: 28px;
    height: 28px;
  }
  .feature-tab .feature-tab-content {
    padding-left: 80px;
    min-height: 56px;
  }
}

/* FLEXIBLE CONTENT */
.general {
  padding: 96px 0;
  background: var(--color-off-white);
}
.general .container {
  display: flex;
  align-items: flex-start;
  gap: 99px;
}
.general .column {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.general.halves .column {
  flex: 1 1 50%;
}
.general.vertical-center .container.halves {
  align-items: center;
}
.general.smallleft .column:first-of-type {
  flex: 1 1 40%;
}
.general.smallleft .column:last-of-type {
  flex: 1 1 60%;
}
.general.smallright .column:first-of-type {
  flex: 1 1 60%;
}
.general.smallright .column:last-of-type {
  flex: 1 1 40%;
}
.general .module {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.general .module p {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 17px;
  line-height: 24px;
  color: var(--color-charcoal);
}
.general .module ul {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-left: 20px;
}
.general .module ul li {
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 17px;
  line-height: 24px;
  color: var(--color-charcoal);
  list-style: disc;
}
.general .module.text a:not(.button) {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.general .module.text h2 a:not(.button){
  text-decoration: none;
}
.general .module img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 30px;
  box-shadow: 0px 19px 43px 0px rgba(0, 0, 0, 0.1), 0px 78px 78px 0px rgba(0, 0, 0, 0.05), 0px 80px 105px 0px rgba(0, 0, 0, 0.04);
}
.general .module.heading {
  gap: 0;
}
.general .module.heading p {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 700;
  font-size: 54px;
  line-height: 56px;
  color: var(--color-plum);
}
.general .module.heading strong,
.general .module.heading b {
  font-weight: 700;
  color: var(--color-apple);
}
@media (max-width: 900px) {
  .general .module.heading p {
    font-size: 34px;
    line-height: 40px;
  }
}
.general .buttons {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 8px;
}
.general .button.primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 20px 40px;
  border-radius: 100px;
  background: var(--color-charcoal);
  box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.12);
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-off-white);
}
.general .button.primary img {
  width: 16px;
  height: 16px;
  border-radius: 0;
  transition: filter 0.2s ease;
}
.general .button.primary:hover {
  background: var(--color-off-white);
  color: var(--color-charcoal);
}
.general .button.primary:hover img {
  filter: brightness(0);
}
.general .button.secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 20px 40px;
  border-radius: 100px;
  background: var(--color-off-white);
  box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.12);
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-charcoal);
}
.general .button.secondary img {
  width: 16px;
  height: 16px;
  border-radius: 0;
  filter: brightness(0);
  transition: filter 0.2s ease;
}
.general .button.secondary:hover {
  background: var(--color-charcoal);
  color: var(--color-off-white);
}
.general .button.secondary:hover img {
  filter: brightness(0) invert(1);
}
@media (max-width: 900px) {
  .general .container {
    flex-direction: column;
    align-items: stretch;
  }
  .general .container.halves .column:last-child:has(.module.image) {
    order: -1;
  }
  .general .container.halves:has(.column:last-child .module.image) {
    gap: 20px;
  }
}

/* CTA BLOCK (DOCUSERIES) */
.cat {
  padding: 80px 0;
  background: var(--color-off-white);
}
.cat-card {
  display: flex;
  align-items: center;
  gap: 80px;
  padding: 40px 80px 40px 40px;
  border-radius: 30px;
  background: linear-gradient(107deg, var(--color-plum) 10%, #241214 130%);
  box-shadow: 0px 19px 43px 0px rgba(0, 0, 0, 0.1), 0px 78px 78px 0px rgba(0, 0, 0, 0.05), 0px 80px 105px 0px rgba(0, 0, 0, 0.04);
}
.cat-image {
  position: relative;
  flex-shrink: 0;
  width: 420px;
  height: 420px;
  border-radius: 16px;
  overflow: hidden;
  background: var(--color-apple);
}
.cat-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cat-image .tag {
  position: absolute;
  top: 24px;
  left: 24px;
  margin: 0;
  padding: 8px 16px;
  border-radius: 100px;
  background: var(--color-gold);
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 13px;
  letter-spacing: 1.9px;
  text-transform: uppercase;
  color: var(--color-charcoal);
}
.cat-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  flex: 1 1 0;
  min-width: 0;
}
.cat-content .eyebrow {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 2.8px;
  text-transform: uppercase;
  color: rgba(252, 250, 250, 0.75);
}
.cat-content h2 {
  margin: 16px 0 0;
  font-family: var(--font-family-base);
  font-weight: 700;
  font-size: 42px;
  line-height: 44px;
  color: var(--color-off-white);
}
.cat-content p {
  margin: 32px 0 0;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 17px;
  line-height: 24px;
  color: var(--color-off-white);
}
.cat-content .buttons {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 32px;
}
.cat-content .button.primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 20px 40px;
  border-radius: 100px;
  background: var(--color-off-white);
  box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.12);
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-charcoal);
}
.cat-content .button.primary .button-icon {
  filter: brightness(0);
  transition: filter 0.2s ease;
}
.cat-content .button.primary:hover {
  background: var(--color-charcoal);
  color: var(--color-off-white);
}
.cat-content .button.primary:hover .button-icon {
  filter: brightness(0) invert(1);
}
@media (max-width: 1100px) {
  .cat-card {
    flex-wrap: wrap;
    padding: 40px;
  }
  .cat-image {
    width: 100%;
    max-width: 420px;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
  }
}

/* DETAIL CAROUSEL */
.detail-carousel {
  padding: 96px 0;
  overflow: hidden;
  background-image: linear-gradient(161deg, var(--color-plum) 33%, #241214 81%);
}
.detail-carousel-intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: 880px;
  margin: 0 auto;
  text-align: center;
}
.detail-carousel-intro .eyebrow {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 2.8px;
  text-transform: uppercase;
  color: rgba(252, 250, 250, 0.75);
}
.detail-carousel-intro h2 {
  margin: 0 0 8px;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-size: 54px;
  line-height: 61px;
  color: var(--color-off-white);
}
.detail-carousel-intro p {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 17px;
  line-height: 24px;
  color: var(--color-off-white);
}
.detail-carousel-intro .buttons {
  margin-top: 8px;
}
.detail-carousel-intro .button.primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 20px 40px;
  border-radius: 100px;
  background: var(--color-off-white);
  box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.12);
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-charcoal);
}
.detail-carousel-intro .button.primary .button-icon {
  filter: brightness(0);
  transition: filter 0.2s ease;
}
.detail-carousel-intro .button.primary:hover {
  background: var(--color-charcoal);
  color: var(--color-off-white);
}
.detail-carousel-intro .button.primary:hover .button-icon {
  filter: brightness(0) invert(1);
}
@media (max-width: 900px) {
  .detail-carousel-intro h2 {
    font-size: 34px;
    line-height: 40px;
  }
}
.detail-carousel-nav {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin-top: 48px;
}
.detail-carousel-arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 15px;
  border: 0.5px solid var(--color-off-white);
  background: transparent;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.detail-carousel-arrow img {
  width: 16px;
  height: 16px;
}
.detail-carousel-arrow--prev img {
  transform: rotate(180deg);
}
.detail-carousel-arrow:hover {
  background: rgba(252, 250, 250, 0.12);
}
.detail-carousel-slider {
  padding-top: 80px;
  margin-bottom: 80px;
}
.detail-carousel-slider .slick-list {
  margin-top: -40px;
}
.detail-carousel-slider .slick-track {
  display: flex;
  margin-top: 40px;
  align-items: center;
}
.detail-carousel-slider .slick-slide {
  opacity: 0.5;
  transition: opacity 0.3s ease;
  margin: 0 24px;
}
.detail-carousel-slider .slick-slide.slick-center {
  opacity: 1;
}
.detail-carousel-slider .slick-slide.slick-center .detail-carousel-card {
  transform: translateY(-35px);
}
.detail-carousel-card {
  display: flex;
  align-items: center;
  gap: 48px;
  width: 778px;
  max-width: 84vw;
  padding-right: 48px;
  border-radius: 30px;
  transition: transform 0.3s ease;
  border: 0.5px solid var(--color-off-white);
  background: var(--color-off-white);
  overflow: hidden;
}
.detail-carousel-image {
  flex-shrink: 0;
  width: 300px;
  height: 300px;
}
.detail-carousel-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.detail-carousel-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  flex: 1 1 0;
  min-width: 0;
}
.detail-carousel-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 20px;
  background: var(--color-stone-200);
}
.detail-carousel-icon img {
  width: 32px;
  height: 32px;
  filter: brightness(0);
}
.detail-carousel-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.detail-carousel-text h3 {
  margin: 0;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-size: 28px;
  line-height: 30px;
  color: var(--color-charcoal);
}
.detail-carousel-text p {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 17px;
  line-height: 24px;
  color: var(--color-stone-400);
}
@media (max-width: 700px) {
  .detail-carousel-card {
    flex-direction: column;
    align-items: stretch;
    gap: 24px;
    width: 300px;
    max-width: 80vw;
    padding-right: 0;
  }
  .detail-carousel-content {
    padding: 0 24px 24px;
  }
}

/* PLEDGE CTA */
.pledge-cta {
  position: relative;
  padding: 96px 0;
  background: var(--color-apple);
  overflow: hidden;
}
.pledge-cta-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}
.pledge-cta-bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pledge-cta .container {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 56px;
}
.pledge-cta-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: 800px;
  text-align: center;
}
.pledge-cta-copy .eyebrow {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 2.8px;
  text-transform: uppercase;
  color: rgba(252, 250, 250, 0.75);
}
.pledge-cta-copy h2 {
  margin: 0;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-size: 42px;
  line-height: 44px;
  color: var(--color-off-white);
}
.pledge-cta-copy p {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 17px;
  line-height: 24px;
  color: var(--color-off-white);
}
@media (max-width: 900px) {
  .pledge-cta-copy h2 {
    font-size: 30px;
    line-height: 36px;
  }
}
.pledge-cta .buttons {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}
.pledge-cta .button.primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 20px 40px;
  border-radius: 100px;
  background: var(--color-charcoal);
  box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.12);
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-off-white);
}
.pledge-cta .button.primary .button-icon {
  width: 16px;
  height: 16px;
  transition: filter 0.2s ease;
}
.pledge-cta .button.primary:hover {
  background: var(--color-off-white);
  color: var(--color-charcoal);
}
.pledge-cta .button.primary:hover .button-icon {
  filter: brightness(0);
}
.pledge-cta .button.secondary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 20px 40px;
  border-radius: 100px;
  background: var(--color-off-white);
  box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.12);
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-charcoal);
}
.pledge-cta .button.secondary .button-icon {
  filter: brightness(0);
  transition: filter 0.2s ease;
}
.pledge-cta .button.secondary:hover {
  background: var(--color-charcoal);
  color: var(--color-off-white);
}
.pledge-cta .button.secondary:hover .button-icon {
  filter: brightness(0) invert(1);
}

/* BUTTON ICONS — sizes for the named icons selectable via "Add Icon?" on any button/link field. Each button variant is responsible for adding filter: brightness(0) when it sits on a light background (see flint_render_button() in functions.php). */
.button-icon--mic {
  width: 14px;
  height: 19px;
}
.button-icon--pledge {
  width: 20px;
  height: 20px;
}
.button-icon--explore {
  width: 20px;
  height: 20px;
}
.button-icon--anchor {
  width: 16px;
  height: 16px;
}
.button-icon--spotify {
  width: 20px;
  height: 20px;
}

/* BODY BASE HELPERS */
body.active {
  overflow-y: hidden;
}
body section *:first-child {
  margin-top: 0;
}
body section *:last-child {
  margin-bottom: 0;
}
body section.gray {
  background: #EDEFF0;
}
body section.tan {
  background: #FAF2F2;
}
body section.notop {
  padding-top: 0;
}
body section.nobottom {
  padding-bottom: 0;
}
body section img {
  display: block;
}

/* HERO CTA */
.hero-cta {
  background: var(--color-scarlet);
}
.hero-cta .hero-cta-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 56px;
  padding: 40px var(--container-padding);
  flex-wrap: wrap;
}
.hero-cta .hero-cta-message {
  display: flex;
  align-items: center;
  gap: 16px;
  flex: 1 0 0;
  min-width: 260px;
}
.hero-cta .hero-cta-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 20px;
  background: var(--color-off-white);
}
.hero-cta .hero-cta-icon img {
  width: 23px;
  height: 29px;
}
.hero-cta p {
  margin: 0;
  flex: 1 0 0;
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 20px;
  line-height: 28px;
  color: var(--color-off-white);
}
.hero-cta .button.dark {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  padding: 16px 32px;
  border-radius: 100px;
  background: var(--color-charcoal);
  box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.12);
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-off-white);
}
.hero-cta .button.dark .button-icon {
  transition: filter 0.2s ease;
}
.hero-cta .button.dark:hover {
  background: var(--color-off-white);
  color: var(--color-charcoal);
}
.hero-cta .button.dark:hover .button-icon {
  filter: brightness(0);
}

/* ============================================
   EXPLORE THE FOOD SYSTEM PAGE — mobile-first
   (base rules = mobile, min-width = tablet/desktop/large)
   ============================================ */

/* FLEXIBLE CONTENT: tan-w-image background + rich text (eyebrow/h2/blockquote) */
.general.tan-w-image {
  position: relative;
  overflow: hidden;
  background: #FAF2F2;
}
.general-bg {
  position: absolute;
  top: -60%;
  left: 35%;
  width: 160%;
  max-width: none;
  pointer-events: none;
  z-index: 0;
  transform: scaleX(-1);
}
.general-bg img {
  display: block;
  width: 100%;
  height: auto;
}
.general.tan-w-image .container {
  position: relative;
  z-index: 1;
}
.general .module .eyebrow {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-stone-400);
}
.general .module h2 {
  margin: 0;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 30px;
  line-height: 36px;
  color: var(--color-plum);
}
.general .module blockquote {
  margin: 24px 0 0;
  padding-top: 24px;
  border-top: 2px solid #E2D4D4;
}
.general .module blockquote p strong{
  font-family: var(--font-family-base);
  font-weight: 500;
}
.general .module blockquote p {
  margin: 0 0 16px;
  font-family: var(--font-family-base);
  font-weight: 200;
  font-size: 18px;
  line-height: 26px;
  color: var(--color-charcoal);
}
.general .module blockquote p:last-child {
  margin-bottom: 0;
}
.general .module blockquote strong,
.general .module blockquote b {
  font-weight: 700;
  font-size: 17px;
}
@media (min-width: 700px) {
  .general-bg {
    top: -80%;
    left: 45%;
    width: 140%;
  }
}
@media (min-width: 900px) {
  .general .module .eyebrow {
    font-size: 14px;
    letter-spacing: 2.8px;
  }
  .general .module h2 {
    font-size: 54px;
    line-height: 56px;
  }
  .general .module blockquote {
    margin-top: 32px;
    padding-top: 24px;
  }
  .general .module blockquote p {
    font-size: 23px;
    line-height: 32px;
  }
}

/* FLEXIBLE CONTENT: Stats layout */
.general .module.stats-module {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.stats {
  display: flex;
  flex-direction: column;
  gap: 16px;
  width: 100%;
}
.stat-card {
  flex: 1 1 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
  border-radius: 15px;
  background: #2C1617;
}
.general .module .stat-value {
  margin: 0;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 32px;
  line-height: 36px;
  color: var(--color-gold);
}
.general .module .stat-label {
  margin: 4px 0 0;
  font-family: var(--font-family-base);
  font-weight: 500;
  font-size: 16px;
  line-height: 22px;
  color: var(--color-off-white);
}
.general .module .stat-sublabel {
  margin: 2px 0 0;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 14px;
  line-height: 18px;
  letter-spacing: 0.15px;
  color: var(--color-stone-100);
}
.stats-image {
  width: 100%;
  aspect-ratio: 299 / 488;
  border-radius: 15px;
  overflow: hidden;
}
.general .module .stats-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 15px;
}
@media (min-width: 700px) {
  .general .module.stats-module {
    flex-direction: row;
    align-items: stretch;
    gap: 16px;
  }
  .stats {
    flex: 0 0 300px;
    width: 300px;
  }
  .stat-card {
    padding: 32px;
  }
  .general .module .stat-value {
    font-size: 42px;
    line-height: 44px;
  }
  .general .module .stat-label {
    font-size: 17px;
    line-height: 24px;
  }
  .general .module .stat-sublabel {
    font-size: 15px;
    line-height: 20px;
  }
  .stats-image {
    flex: 0 0 299px;
    width: 299px;
    height: auto;
  }
}

/* SECTION PAGES BLOCK */
.section-pages {
  position: relative;
  overflow: hidden;
  padding: 64px 0;
  background-image: linear-gradient(171deg, var(--color-plum) 6.7%, #241213 143.5%);
}
.section-pages-intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: 880px;
  margin: 0 auto 48px;
  text-align: center;
}
.section-pages-intro .eyebrow {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(252, 250, 250, 0.75);
}
.section-pages-intro h2 {
  margin: 0 0 16px;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 32px;
  line-height: 36px;
  color: var(--color-off-white);
}
.section-pages-intro p {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 15px;
  line-height: 22px;
  color: var(--color-off-white);
}
.section-pages-pills {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
}
.section-pages-select-label {
  display: block;
  width: 100%;
  max-width: 300px;
  margin: 0 0 8px;
  font-family: var(--font-family-base);
  font-weight: 700;
  font-size: 18px;
  color: var(--color-off-white);
  text-align: center;
}
.section-pages-pill {
  display: none;
  padding: 8px 16px;
  border-radius: 100px;
  border: 1px solid #663335;
  background: transparent;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 13px;
  color: var(--color-stone-100);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.section-pages-pill:hover,
.section-pages-pill.active {
  background: var(--color-stone-100);
  border-color: var(--color-stone-100);
  color: var(--color-charcoal);
}
.section-pages-select {
  display: block;
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
  padding: 16px;
  border-radius: 10px;
  border: 1px solid var(--color-stone-100);
  background: var(--color-plum-200);
  font-family: var(--font-family-base);
  font-size: 15px;
  color: var(--color-off-white);
  cursor: pointer;
}
.section-pages-details {
  position: relative;
  max-width: 1104px;
  margin: 32px auto 0;
}
.section-pages-details-bg {
  position: absolute;
  top: 16px;
  left: 16px;
  right: -16px;
  bottom: -16px;
  background: #241213;
  border-radius: 30px;
  z-index: 0;
}
.section-pages-card {
  position: relative;
  z-index: 1;
  display: none;
  flex-direction: column;
  background: var(--color-off-white);
  border: 1px solid var(--color-stone-400);
  border-radius: 20px;
  overflow: hidden;
}
.section-pages-card.active {
  display: flex;
}
.section-pages-card-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  padding: 32px;
}
.section-pages-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 16px;
  background: var(--color-stone-200);
}
.section-pages-icon img {
  width: 28px;
  height: 28px;
  filter: brightness(0);
}
.section-pages-text h3 {
  margin: 0 0 16px;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 24px;
  line-height: 28px;
  color: var(--color-charcoal);
}
.section-pages-text p {
  margin: 0 0 16px;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0.1px;
  color: var(--color-stone-400);
}
.section-pages-text a:hover{
  text-decoration: underline;
  color:#000;
}
.section-pages-text a{
  text-decoration: underline;
}
.section-pages-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  padding: 16px 28px;
  border-radius: 100px;
  background: var(--color-charcoal);
  box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.12);
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 15px;
  color: var(--color-off-white);
}
.section-pages-button img {
  width: 14px;
  height: 14px;
  transition: filter 0.2s ease;
}
.section-pages-button:hover {
  background: var(--color-off-white);
  color: var(--color-charcoal);
}
.section-pages-button:hover img {
  filter: brightness(0);
}
.section-pages-image {
  width: 100%;
  aspect-ratio: 1 / 1;
}
.section-pages-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 600px) {
  .section-pages-pill {
    font-size: 15px;
  }
}
@media (min-width: 768px) {
  .section-pages-pills {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 32px;
  }
  .section-pages-select-label {
    display: none;
  }
  .section-pages-pill {
    display: inline-block;
  }
  .section-pages-select {
    display: none;
  }
}
@media (min-width: 900px) {
  .section-pages {
    padding: 96px 0;
  }
  .section-pages-intro h2 {
    font-size: 54px;
    line-height: 61px;
  }
  .section-pages-intro p {
    font-size: 17px;
    line-height: 24px;
  }
  .section-pages-intro .eyebrow {
    font-size: 14px;
    letter-spacing: 2.8px;
  }
  .section-pages-details-bg {
    top: 32px;
    left: 33px;
    right: -33px;
    bottom: -32px;
    border-radius: 50px;
  }
  .section-pages-card {
    flex-direction: row;
    align-items: center;
    gap: 56px;
    border-radius: 30px;
  }
  .section-pages-card-content {
    flex: 1 1 0;
    min-width: 0;
    padding: 56px 0 56px 56px;
    gap: 32px;
  }
  .section-pages-icon {
    width: 64px;
    height: 64px;
    border-radius: 20px;
  }
  .section-pages-icon img {
    width: 32px;
    height: 32px;
  }
  .section-pages-text h3 {
    margin-bottom: 24px;
    font-size: 42px;
    line-height: 44px;
  }
  .section-pages-text p {
    margin-bottom: 24px;
    font-size: 15px;
    line-height: 20px;
  }
  .section-pages-button {
    padding: 20px 40px;
    font-size: 16px;
  }
  .section-pages-button img {
    width: 16px;
    height: 16px;
  }
  .section-pages-image {
    width: 493px;
    flex-shrink: 0;
    align-self: stretch;
    height: auto;
    aspect-ratio: auto;
  }
}

/* FAQS BLOCK */
.faqs {
  background: var(--color-off-white);
  padding: 48px 0;
}
.faqs h2 {
  margin: 0 0 32px;
  text-align: center;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 28px;
  line-height: 32px;
  color: var(--color-charcoal);
}
.faqs-columns {
  display: flex;
  flex-direction: column;
  gap: 32px;
}
.faqs-image {
  width: 100%;
  border-radius: 15px;
  overflow: hidden;
  box-shadow: 0px 19px 43px 0px rgba(0, 0, 0, 0.1), 0px 78px 78px 0px rgba(0, 0, 0, 0.05), 0px 80px 105px 0px rgba(0, 0, 0, 0.04);
}
.faqs-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.faqs-list {
  display: flex;
  flex-direction: column;
}
.faqs-item {
  border-bottom: 1px solid var(--color-stone-200);
  padding: 20px 0;
}
.faqs-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
  padding: 0;
  border: none;
  background: none;
  cursor: pointer;
  text-align: left;
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  line-height: 24px;
  color: var(--color-charcoal);
}
.faqs-chevron {
  flex-shrink: 0;
  width: 16px;
  height: auto;
  transition: transform 0.2s ease;
}
.faqs-item.active .faqs-chevron {
  transform: rotate(180deg);
}
.faqs-answer {
  margin-top: 16px;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 15px;
  line-height: 22px;
  color: var(--color-charcoal);
}
.faqs-answer p{
  margin-bottom:16px;
}
.faqs-answer p:first-child {
  margin-top: 0;
}
.faqs-answer p:last-child {
  margin-bottom: 0;
}

@media (min-width: 900px) {
  .faqs {
    padding: 96px 0;
  }
  .faqs h2 {
    margin-bottom: 69px;
    font-size: 42px;
    line-height: 44px;
  }
  .faqs-columns {
    flex-direction: row;
    align-items: center;
    gap: 120px;
  }
  .faqs-image {
    flex: 0 0 453px;
    width: 453px;
  }
  .faqs-list {
    flex: 1 1 0;
    min-width: 0;
  }
  .faqs-question {
    font-size: 20px;
    line-height: 28px;
  }
  .faqs-answer {
    font-size: 17px;
    line-height: 24px;
  }
}

/* ============================================
   CARDS BLOCK — Small Cards layout, mobile-first
   ============================================ */
.cards {
  padding: 64px 0;
  background: var(--color-off-white);
}
.cards-intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  max-width: 720px;
  margin: 0 auto 32px;
  text-align: center;
}
.cards--small_cards.white {
  background-color:#FAF2F2;
}
.cards--small_cards .cards-intro{
  max-width: 780px;
  margin-bottom: 56px;
}
.cards-intro .eyebrow {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-stone-400);
}
.cards-intro h2 {
  margin: 0;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 30px;
  line-height: 36px;
  color: var(--color-plum);
}
.cards-intro p {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 17px;
  line-height: 22px;
  color: var(--color-charcoal);
}
.small-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.small-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  padding: 24px;
  border-radius: 20px;
  background: var(--color-off-white);
  border: 1px solid var(--color-stone-100);
}
.small-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  border-radius: 20px;
  background: #EDF8F7;
}
.small-cards .small-card:nth-child(5n+2) .small-card-icon {
  background: #FEF0E8;
}
.small-cards .small-card:nth-child(5n+3) .small-card-icon {
  background: #E1F4E0;
}
.small-cards .small-card:nth-child(5n+4) .small-card-icon {
  background: #FDF3DE;
}
.small-cards .small-card:nth-child(5n+5) .small-card-icon {
  background: #FDE8E6;
}
.small-card-icon img {
  width: 32px;
  height: 32px;
}
.small-card h3 {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 700;
  font-size: 17px;
  line-height: 21px;
  color: var(--color-charcoal);
}
.small-card p {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 17px;
  line-height: 20px;
  letter-spacing: 0.15px;
  color: var(--color-stone-400);
}
.cards--image_cards.has-intro .cards-intro {
  text-align: left;
  margin-left:0;
  max-width:100%;
  align-items:flex-start;
  gap:8px;
  margin-bottom:56px;
}
.cards--image_cards.has-intro .cards-intro h2{
  font-size:42px;
  margin-bottom:8px;
}
@media (min-width: 560px) {
  .small-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 700px) {
  .cards-intro h2 {
    font-size: 42px;
    line-height: 44px;
    margin-bottom:16px;
  }
  .cards-intro .eyebrow {
    font-size: 14px;
    letter-spacing: 2.8px;
  }
  .small-cards {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1000px) {
  .cards-intro h2 {
    font-size: 54px;
    line-height: 56px;
  }
  .small-cards {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
  }
  .small-card {
    flex: 1 1 0;
  }
  .small-cards--cols-4,
  .small-cards--cols-5 {
    flex-wrap: wrap;
  }
  .small-cards--cols-4 .small-card {
    flex: 0 0 calc((100% - 3 * 16px) / 4);
  }
  .small-cards--cols-5 .small-card {
    flex: 0 0 calc((100% - 4 * 16px) / 5);
  }
}

/* ============================================
   POSTS / INSIGHTS BLOCK — mobile-first
   ============================================ */
.posts {
  padding: 64px 0;
  background: var(--color-off-white);
}
@media (min-width: 901px) {
  .posts {
    padding-top: 96px;
    padding-bottom: 96px;
  }
}
.posts-intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  max-width: 880px;
  margin: 0 0 32px;
  text-align: left;
}
.posts-intro .eyebrow {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-stone-400);
}
.posts-intro h2 {
  margin: 0;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 30px;
  line-height: 36px;
  color: var(--color-plum);
}
.posts-intro p {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 15px;
  line-height: 22px;
  color: var(--color-charcoal);
}
.posts .columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
.card-article {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 30px;
  background: var(--color-off-white);
  border: 0.5px solid var(--color-stone-400);
  text-decoration: none;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.card-article:hover {
  box-shadow: 0px 19px 43px 0px rgba(0, 0, 0, 0.1), 0px 10px 20px 0px rgba(0, 0, 0, 0.06);
  transform: translateY(-4px);
}
.card-article-image {
  position: relative;
  width: 100%;
  height: 220px;
  overflow: hidden;
}
.card-article-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.card-article-badge {
  position: absolute;
  top: 16px;
  right: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 100px;
  background: #FAF2F2;
}
.card-article-badge img {
  width: 16px;
  height: 16px;
}
.card-article-content {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  padding-bottom: 64px;
  flex: 1 1 auto;
}
.card-article-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.card-article-eyebrow {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.14px;
  color: var(--color-stone-400);
}
.card-article-title {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 700;
  font-size: 20px;
  line-height: 26px;
  color: var(--color-charcoal);
}
.card-article-excerpt {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 15px;
  line-height: 20px;
  letter-spacing: 0.15px;
  color: var(--color-charcoal);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card-article-link {
  position: absolute;
  left: 24px;
  bottom: 24px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-charcoal);
}
.card-article-link img {
  width: 16px;
  height: 16px;
}
.card-article:hover .card-article-link {
  text-decoration: underline;
}
@media (min-width: 700px) {
  .posts-intro .eyebrow {
    font-size: 14px;
    letter-spacing: 2.8px;
  }
  .posts-intro h2 {
    font-size: 42px;
    line-height: 44px;
  }
  .posts-intro p {
    font-size: 17px;
    line-height: 24px;
  }
  .posts .columns {
    grid-template-columns: repeat(2, 1fr);
  }
  .card-article-image {
    height: 260px;
  }
}
@media (min-width: 1000px) {
  .posts .columns {
    grid-template-columns: repeat(3, 1fr);
  }
  .card-article-image {
    height: 300px;
  }
}

/* ============================================
   STAGE NAV — prev/next between icon_slider sibling pages, mobile-first
   ============================================ */
.stage-nav {
  background: #FAF2F2;
  border-top: 1px solid var(--color-stone-100);
}
.stage-nav-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 24px 0;
  text-align: center;
}
.stage-nav-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 14px;
  color: var(--color-charcoal);
  text-decoration: none;
}
.stage-nav-link img {
  width: 16px;
  height: 16px;
}
.stage-nav-next img {
  transform: scaleX(-1);
}
.stage-nav-link:hover {
  opacity: 0.7;
}
.stage-nav-current {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 700;
  font-size: 15px;
  color: var(--color-charcoal);
}
@media (min-width: 700px) {
  .stage-nav-inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding: 28px 0;
  }
  .stage-nav-prev {
    justify-self: start;
  }
  .stage-nav-next {
    justify-self: end;
  }
  .stage-nav-link {
    font-size: 15px;
  }
}

/* ============================================
   CARDS BLOCK — Feature Cards layout, mobile-first
   ============================================ */
.feature-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 24px;
}
.feature-card {
  position: relative;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 30px;
  background: var(--color-apple);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.feature-card:has(.feature-card-button):hover {
  box-shadow: 0px 19px 43px 0px rgba(0, 0, 0, 0.1), 0px 10px 20px 0px rgba(0, 0, 0, 0.06);
  transform: translateY(-4px);
}
.feature-card-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  padding: 24px;
}
.feature-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 16px;
  background: var(--color-brick);
}
.feature-card-icon img {
  width: 32px;
  height: 32px;
}
.feature-card-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.feature-card-text h4 {
  margin: 0;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 22px;
  line-height: 26px;
  color: var(--color-off-white);
}
.feature-card-text p {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 15px;
  line-height: 22px;
  color: var(--color-off-white);
}
.feature-card-text p a:hover {
  color:#000;
}
.feature-card-text a {
  position: relative;
  z-index: 1;
  color: inherit;
  text-decoration: underline;
}
.feature-card-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 15px;
  color: var(--color-off-white);
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.feature-card-button img {
  width: 14px;
  height: 14px;
}
.feature-card-button::after {
  content: '';
  position: absolute;
  inset: 0;
}
.feature-card-button:hover {
  opacity: 0.85;
}
.feature-card-image {
  width: 100%;
  height: 220px;
}
.feature-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 700px) {
  .feature-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
  }
  .feature-card-content {
    gap: 24px;
    padding: 32px;
  }
  .feature-card-icon {
    width: 80px;
    height: 80px;
    border-radius: 20px;
  }
  .feature-card-icon img {
    width: 40px;
    height: 40px;
  }
  .feature-card-text h4 {
    font-size: 28px;
    line-height: 30px;
  }
  .feature-card-text p {
    font-size: 17px;
    line-height: 24px;
  }
  .feature-card-button {
    font-size: 16px;
  }
  .feature-card-button img {
    width: 16px;
    height: 16px;
  }
  .feature-card-image {
    height: 320px;
  }
}

/* ============================================
   TESTIMONIALS BLOCK — mobile-first
   ============================================ */
.testimonials {
  padding: 48px 0;
  background: var(--color-off-white);
}
.testimonials-intro {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  max-width: 880px;
  margin: 0 0 32px;
  text-align: left;
}
.testimonials-intro .eyebrow {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-stone-400);
}
.testimonials-intro h2 {
  margin: 0;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 30px;
  line-height: 36px;
  color: var(--color-plum);
}
.testimonials-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.testimonial-card {
  display: flex;
  flex-direction: column;
  gap: 24px;
  padding: 24px;
  border-radius: 30px;
  background: #EE6E23;
}
.testimonials-list .testimonial-card:nth-child(3n+2) {
  background: var(--color-gold);
}
.testimonials-list .testimonial-card:nth-child(3n+3) {
  background: #619560;
}
.testimonial-card-author {
  display: flex;
  align-items: center;
  gap: 16px;
}
.testimonial-card-thumbnail {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: 100px;
  overflow: hidden;
}
.testimonial-card-thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.testimonial-card-name {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 700;
  font-size: 17px;
  line-height: 24px;
  color: var(--color-charcoal);
}
.testimonial-card-title {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 15px;
  line-height: 20px;
  letter-spacing: 0.15px;
  color: var(--color-charcoal);
}
.testimonial-card-text {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 18px;
  line-height: 26px;
  color: var(--color-charcoal);
}
@media (min-width: 700px) {
  .testimonials {
    padding: 80px 0;
  }
  .testimonials-intro .eyebrow {
    font-size: 14px;
    letter-spacing: 2.8px;
  }
  .testimonials-intro h2 {
    font-size: 42px;
    line-height: 44px;
  }
  .testimonials-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .testimonial-card {
    padding: 32px;
    gap: 32px;
  }
  .testimonial-card-text {
    font-size: 24px;
    line-height: 33px;
  }
}
@media (min-width: 1000px) {
  .testimonials-list {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ============================================
   CARDS BLOCK — Image Cards layout, mobile-first
   ============================================ */
.image-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
.image-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 24px;
  padding: 24px;
  border-radius: 20px;
  background: var(--color-off-white);
  border: 1px solid var(--color-stone-100);
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.image-card:has(.image-card-link):hover {
  box-shadow: 0px 19px 43px 0px rgba(0, 0, 0, 0.1), 0px 10px 20px 0px rgba(0, 0, 0, 0.06);
  transform: translateY(-4px);
}
.image-card-image {
  height: 56px;
}
.image-card-image img {
  display: block;
  width: auto;
  height: 100%;
  max-width: 100%;
}
.image-card--full-width .image-card-image {
  height: auto;
  width: 100%;
}
.image-card--full-width .image-card-image img {
  width: 100%;
  height: auto;
  border-radius: 16px;
}
.image-card-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.image-card-content h3 {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 700;
  font-size: 20px;
  line-height: 26px;
  color: var(--color-charcoal);
}
.image-card-content p {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 15px;
  line-height: 20px;
  letter-spacing: 0.15px;
  color: var(--color-stone-400);
}
.image-card-content a {
  position: relative;
  z-index: 1;
}
.image-card-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-charcoal);
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.image-card-link img {
  width: 16px;
  height: 16px;
}
.image-card-link::after {
  content: '';
  position: absolute;
  inset: 0;
}
.image-card-link:hover {
  opacity: 0.8;
}
@media (min-width: 700px) {
  .image-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1000px) {
  .image-cards {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
  }
  .image-card {
    flex: 1 1 0;
  }
  .image-cards--cols-4 {
    flex-wrap: wrap;
  }
  .image-cards--cols-4 .image-card {
    flex: 0 0 calc((100% - 3 * 16px) / 3);
  }
}

/* Economy & Jobs "Career Types" cards — explicit per-card badge tints matching Figma exactly
   (Food Service=gold, Processing=pink, Retail=green — the generic 5-color nth-child cycle
   lands on the wrong tint for these 3 positions in a 6-card set). */
#career-types .small-card:nth-child(3) .small-card-icon {
  background: #FDF3DE;
}
#career-types .small-card:nth-child(4) .small-card-icon {
  background: #FDE8E6;
}
#career-types .small-card:nth-child(5) .small-card-icon {
  background: #E1F4E0;
}

/* VIDEO BLOCK — mobile-first */
.video-block {
  padding: 48px 0;
  background: var(--color-apple);
}
.video-block-intro {
  display: flex;
  flex-direction: column;
  gap: 24px;
  margin-bottom: 32px;
}
.video-block-heading .eyebrow {
  margin: 0 0 8px;
  font-family: var(--font-family-base);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(252, 250, 250, 0.75);
}
.video-block-heading h2 {
  margin: 0;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 32px;
  line-height: 36px;
  color: var(--color-off-white);
}
.video-block-text p {
  margin: 0 0 16px;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 15px;
  line-height: 22px;
  color: var(--color-off-white);
}
.video-block-text p:last-child {
  margin-bottom: 0;
}
.video-block-player {
  position: relative;
  width: 100%;
  aspect-ratio: 638 / 358;
  border-radius: 20px;
  overflow: hidden;
  margin-bottom: 32px;
  background: var(--color-charcoal);
  box-shadow: 0px 19px 43px 0px rgba(0, 0, 0, 0.1), 0px 78px 78px 0px rgba(0, 0, 0, 0.05), 0px 80px 105px 0px rgba(0, 0, 0, 0.04);
}
.video-block-thumbnail {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: none;
  cursor: pointer;
}
.video-block-thumbnail > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: filter 0.2s ease;
}
.video-block-thumbnail:hover > img {
  filter: brightness(0.85);
}
.video-block-thumbnail:hover .video-block-play {
  transform: scale(1.08);
  background: var(--color-gold);
}
.video-block-play {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 300px;
  background: var(--color-off-white);
  box-shadow: 0px 4px 12px 0px rgba(0, 0, 0, 0.25);
  transition: transform 0.2s ease, background-color 0.2s ease;
}
.video-block-play img {
  width: 18px;
  height: auto;
  margin-left: 3px;
}
.video-block-embed {
  position: absolute;
  inset: 0;
}
.video-block-embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.video-block-player.is-playing .video-block-thumbnail {
  display: none;
}
.video-block .buttons {
  display: flex;
  justify-content: center;
}
.video-block .button.primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 16px 32px;
  border-radius: 100px;
  background: var(--color-off-white);
  box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.12);
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-charcoal);
}
.video-block .button.primary .button-icon {
  filter: brightness(0);
  transition: filter 0.2s ease;
}
.video-block .button.primary:hover {
  background: var(--color-charcoal);
  color: var(--color-off-white);
}
.video-block .button.primary:hover .button-icon {
  filter: brightness(0) invert(1);
}
@media (min-width: 700px) {
  .video-block {
    padding: 64px 0;
  }
  .video-block-heading .eyebrow {
    font-size: 14px;
    letter-spacing: 2.8px;
  }
  .video-block-heading h2 {
    font-size: 42px;
    line-height: 46px;
  }
  .video-block-text p {
    font-size: 17px;
    line-height: 24px;
  }
  .video-block-player {
    border-radius: 30px;
    margin-bottom: 40px;
  }
  .video-block-play {
    width: 72px;
    height: 72px;
  }
  .video-block-play img {
    width: 24px;
  }
  .video-block .button.primary {
    padding: 20px 40px;
  }
}
@media (min-width: 1000px) {
  .video-block {
    padding: 96px 0;
  }
  .video-block-intro {
    flex-direction: row;
    align-items: flex-start;
    gap: 80px;
    margin-bottom: 48px;
  }
  .video-block-heading {
    flex: 0 0 auto;
    width: 45%;
  }
  .video-block-heading h2 {
    font-size: 54px;
    line-height: 56px;
  }
  .video-block-text {
    flex: 1 1 0;
    min-width: 0;
  }
  .video-block-play {
    width: 80px;
    height: 80px;
  }
  .video-block-play img {
    width: 28px;
  }
}

/* LOGO SLIDER — mobile-first, continuous marquee (Slick: autoplaySpeed 0 + linear ease) */
.logo-slider {
  overflow: hidden;
  padding: 40px 0;
  background: var(--color-plum);
}
.logo-slider-track {
  display: flex;
}
.logo-slider-track .slick-track {
  display: flex;
  align-items: center;
}
.logo-slider-item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 72px;
  margin: 0 18px;
}
.logo-slider-item img {
  display: block;
  height: 100%;
  width: auto;
  max-width: none;
}
@media (min-width: 700px) {
  .logo-slider {
    padding: 56px 0;
  }
  .logo-slider-item {
    height: 104px;
    margin: 0 24px;
  }
}
@media (min-width: 1000px) {
  .logo-slider {
    padding: 64px 0;
  }
  .logo-slider-item {
    height: 138px;
    margin: 0 32px;
  }
}

/* NEWS ARCHIVE/TAXONOMY/SINGLE — compact hero, mobile-first */
.news-hero {
  padding: 48px 0;
  background: var(--color-plum);
}
.news-hero .eyebrow {
  margin: 0 0 16px;
  font-family: var(--font-family-base);
  font-weight: 500;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-gold);
}
.news-hero h1 {
  margin: 0 0 8px;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 36px;
  line-height: 40px;
  color: var(--color-off-white);
}
.news-hero-text {
  margin: 0;
  max-width: 800px;
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 17px;
  line-height: 24px;
  color: var(--color-off-white);
}
@media (min-width: 700px) {
  .news-hero {
    padding: 64px 0;
  }
  .news-hero h1 {
    font-size: 52px;
    line-height: 58px;
  }
  .news-hero-text {
    font-size: 20px;
    line-height: 28px;
  }
}
@media (min-width: 1000px) {
  .news-hero {
    padding: 80px 0;
  }
  .news-hero h1 {
    font-size: 68px;
    line-height: 76px;
  }
}
.news-archive .nav-links,
.news-archive .pagination-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin-top: 40px;
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 15px;
}
.news-archive a.page-numbers,
.news-archive .nav-links a {
  color: var(--color-plum);
  text-decoration: underline;
}
.news-archive span.page-numbers.current {
  color: var(--color-stone-400);
}
.news-single-image {
  margin-bottom: 32px;
  border-radius: 30px;
  overflow: hidden;
}
.news-single-image img {
  display: block;
  width: 100%;
  height: auto;
}
.news-single-content {
  max-width: 800px;
  margin: 0 auto;
  font-family: var(--font-family-base);
  font-size: 17px;
  line-height: 26px;
  color: var(--color-charcoal);
}
.news-single-content .buttons {
  margin-top: 24px;
}
.news-single .button.primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 20px 40px;
  border-radius: 100px;
  background: var(--color-plum);
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-off-white);
  text-decoration: none;
}
.news-single .button.primary:hover {
  opacity: 0.85;
}

/* ============================================
   FORM BLOCK — Gutenberg block wrapping a Gravity Form, mobile-first
   ============================================ */
.form-block {
  padding: 64px 0;
  background: var(--color-off-white);
}
.form-block .container {
  max-width: 887px;
}
.form-block-intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  margin-bottom: 40px;
  text-align: center;
}
.form-block-leaf img {
  display: block;
  width: 40px;
  height: auto;
}
.form-block-intro h1 {
  margin: 0;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 36px;
  line-height: 40px;
  color: var(--color-plum);
}
.form-block-text {
  max-width: 700px;
}
.form-block-text p {
  margin: 0 0 12px;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: var(--color-charcoal);
}
.form-block-text p:last-child {
  margin-bottom: 0;
}
.form-block-text strong {
  font-weight: 700;
}
@media (min-width: 700px) {
  .form-block {
    padding: 96px 0;
  }
  .form-block-leaf img {
    width: 56px;
  }
  .form-block-intro h1 {
    font-size: 54px;
    line-height: 56px;
  }
  .form-block-text p {
    font-size: 17px;
    line-height: 24px;
  }
}

/* Gravity Forms style override — scoped under body + the plugin's own wrapper/field
   classes so these rules out-specificity the plugin's shipped CSS without !important. */
body .form-block .gform_wrapper.gravity-theme {
  --gf-color-primary: var(--color-plum);
  margin: 0;
}
body .form-block .gform_wrapper.gravity-theme .gform_heading,
body .form-block .gform_wrapper.gravity-theme .gform_description {
  display: none;
}
body .form-block .gform_wrapper.gravity-theme .gform_fields {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  row-gap: 24px;
}
body .form-block .gform_wrapper.gravity-theme .gfield {
  width: 100%;
  max-width: 100%;
}
body .form-block .gform_wrapper.gravity-theme .gfield.gf_left_half,
body .form-block .gform_wrapper.gravity-theme .gfield.gf_right_half {
  width: 100%;
}
body .form-block .gform_wrapper.gravity-theme .gfield_label,
body .form-block .gform_wrapper.gravity-theme legend.gfield_label {
  margin: 0 0 8px;
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.15px;
  color: var(--color-charcoal);
}
body .form-block .gform_wrapper.gravity-theme .gfield_required {
  color: var(--color-apple);
}
body .form-block .gform_wrapper.gravity-theme input[type="text"],
body .form-block .gform_wrapper.gravity-theme input[type="email"],
body .form-block .gform_wrapper.gravity-theme input[type="tel"],
body .form-block .gform_wrapper.gravity-theme input[type="number"],
body .form-block .gform_wrapper.gravity-theme select,
body .form-block .gform_wrapper.gravity-theme textarea {
  width: 100%;
  padding: 16px;
  border: 1px solid var(--color-stone-100);
  border-radius: 10px;
  background: var(--color-off-white);
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 17px;
  line-height: 24px;
  color: var(--color-charcoal);
  box-shadow: none;
}
body .form-block .gform_wrapper.gravity-theme textarea {
  min-height: 130px;
  resize: vertical;
}
body .form-block .gform_wrapper.gravity-theme input:focus,
body .form-block .gform_wrapper.gravity-theme select:focus,
body .form-block .gform_wrapper.gravity-theme textarea:focus {
  outline: none;
  border-color: var(--color-stone-400);
}
body .form-block .gform_wrapper.gravity-theme .ginput_counter {
  margin-top: 8px;
  font-family: var(--font-family-base);
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-charcoal);
}
body .form-block .gform_wrapper.gravity-theme .name_first,
body .form-block .gform_wrapper.gravity-theme .name_last {
  width: 100%;
}
body .form-block .gform_wrapper.gravity-theme .ginput_complex {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  width: 100%;
}
body .form-block .gform_wrapper.gravity-theme .ginput_complex > span {
  flex: 1 1 220px;
}
body .form-block .gform_wrapper.gravity-theme fieldset.gfield {
  border: 0;
  margin: 0;
  padding: 0;
}
body .form-block .gform_wrapper.gravity-theme .gfield--type-checkbox legend.gfield_label,
body .form-block .gform_wrapper.gravity-theme .gfield--type-checkbox > .gfield_label {
  display: none;
}
body .form-block .gform_wrapper.gravity-theme .gfield_checkbox {
  display: flex;
  flex-direction: column;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}
body .form-block .gform_wrapper.gravity-theme .gchoice {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
body .form-block .gform_wrapper.gravity-theme .gchoice input[type="checkbox"] {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  border: 1px solid var(--color-stone-400);
  border-radius: 5px;
  accent-color: var(--color-plum);
}
body .form-block .gform_wrapper.gravity-theme .gchoice label {
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 15px;
  line-height: 20px;
  letter-spacing: 0.15px;
  color: #292929;
}
body .form-block .gform_wrapper.gravity-theme .gform-field-label__text a {
  color: inherit;
}
body .form-block .gform_wrapper.gravity-theme .gform-field-label__text a:hover {
  color: #000;
  text-decoration: underline;
}
body .form-block .gform_wrapper.gravity-theme .gform_footer {
  margin: 32px 0 0;
  padding: 0;
  display: flex;
  justify-content: center;
}
body .form-block .gform_wrapper.gravity-theme .gform_footer button.button.primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 20px 40px;
  border: 0;
  border-radius: 100px;
  background: var(--color-charcoal);
  box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.12);
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-off-white);
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}
body .form-block .gform_wrapper.gravity-theme .gform_footer button.button.primary .button-icon {
  width: 20px;
  height: 20px;
  transition: filter 0.2s ease;
}
body .form-block .gform_wrapper.gravity-theme .gform_footer button.button.primary:hover {
  background: var(--color-off-white);
  color: var(--color-charcoal);
}
body .form-block .gform_wrapper.gravity-theme .gform_footer button.button.primary:hover .button-icon {
  filter: brightness(0);
}
body .form-block .gform_wrapper.gravity-theme .validation_error {
  margin: 0 0 24px;
  padding: 16px;
  border: 1px solid var(--color-apple);
  border-radius: 10px;
  color: var(--color-apple);
  font-family: var(--font-family-base);
  font-weight: 600;
}
body .form-block .gform_wrapper.gravity-theme .gfield_validation_message,
body .form-block .gform_wrapper.gravity-theme .validation_message {
  margin-top: 8px;
  color: var(--color-apple);
  font-family: var(--font-family-base);
  font-size: 14px;
}
body .form-block .gform_wrapper.gravity-theme .gfield_error input,
body .form-block .gform_wrapper.gravity-theme .gfield_error select,
body .form-block .gform_wrapper.gravity-theme .gfield_error textarea {
  border-color: var(--color-apple);
}
body .form-block .gform_confirmation_wrapper,
body .form-block .gform_confirmation_message {
  text-align: center;
  font-family: var(--font-family-base);
  font-size: 17px;
  color: var(--color-charcoal);
}

/* ============================================
   THANK YOU PAGE TEMPLATE — mobile-first
   ============================================ */
.thank-you-page {
  padding: 64px 0;
  background: #FAF2F2;
  text-align: center;
}
.thank-you-page .container {
  max-width: 887px;
}
.thank-you-leaf img {
  display: block;
  width: 40px;
  height: auto;
  margin: 0 auto 16px;
}
.thank-you-page h1 {
  margin: 0 0 16px;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 36px;
  line-height: 40px;
  color: var(--color-plum);
}
.thank-you-text {
  margin: 0 0 32px;
}
.thank-you-text p {
  margin: 0 0 12px;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 16px;
  line-height: 24px;
  color: var(--color-charcoal);
}
.thank-you-text p:last-child {
  margin-bottom: 0;
}
.thank-you-text strong {
  font-weight: 700;
}
.thank-you-page .buttons {
  display: flex;
  justify-content: center;
}
.thank-you-page .button.primary {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 20px 40px;
  border-radius: 100px;
  background: var(--color-charcoal);
  box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.12);
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-off-white);
  text-decoration: none;
}
.thank-you-page .button.primary .button-icon {
  filter: brightness(0) invert(1);
  width: 16px;
  height: 16px;
  transition: filter 0.2s ease;
}
.thank-you-page .button.primary:hover {
  background: var(--color-off-white);
  color: var(--color-charcoal);
}
.thank-you-page .button.primary:hover .button-icon {
  filter: brightness(0);
}
@media (min-width: 700px) {
  .thank-you-page {
    padding: 96px 0;
  }
  .thank-you-leaf img {
    width: 56px;
  }
  .thank-you-page h1 {
    font-size: 54px;
    line-height: 56px;
  }
  .thank-you-text p {
    font-size: 17px;
    line-height: 24px;
  }
}
@media (min-width: 700px) {
  body .form-block .gform_wrapper.gravity-theme .gfield.gf_left_half,
  body .form-block .gform_wrapper.gravity-theme .gfield.gf_right_half {
    width: calc(50% - 12px);
  }
}


/* ============================================
   DOCUSERIES ARCHIVE — hero episode-count badge, episode list, card-podcast
   ============================================ */
.docuseries-hero .side-image {
  position: relative;
}
.docuseries-hero .docuseries-hero-badge {
  position: absolute;
  top: 24px;
  left: 24px;
  display: inline-flex;
  align-items: center;
  padding: 8px 16px;
  border-radius: 100px;
  background: var(--color-gold);
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 12px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--color-charcoal);
}
.docuseries-episodes {
  padding: 96px 0;
}
.docuseries-episodes-inner {
  max-width: 1104px;
  margin: 0 auto;
}
.docuseries-episodes-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
}
.docuseries-episodes-header h2 {
  margin: 0;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 42px;
  line-height: 44px;
  color: var(--color-plum);
}
.docuseries-episodes-header .docuseries-episodes-count {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: #3F2021;
  white-space: nowrap;
}
.docuseries-episodes-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.card-podcast {
  display: flex;
  align-items: stretch;
  overflow: hidden;
  border-radius: 30px;
  background: var(--color-off-white);
  border: 0.5px solid var(--color-stone-400);
  text-decoration: none;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.card-podcast:hover {
  box-shadow: 0px 19px 43px 0px rgba(0, 0, 0, 0.1), 0px 10px 20px 0px rgba(0, 0, 0, 0.06);
  transform: translateY(-4px);
}
.card-podcast:hover .card-podcast-link {
  text-decoration: underline;
}
.card-podcast-image {
  position: relative;
  flex: 0 0 430px;
  width: 430px;
  background-size: cover;
  background-position: center;
}
.card-podcast-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 100px;
  background: var(--color-stone-200);
}
.card-podcast-badge img {
  width: 16px;
  height: 16px;
}
.card-podcast-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  flex: 1 1 0;
  min-width: 0;
  padding: 56px;
}
.card-podcast-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.card-podcast-heading-group {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.card-podcast-meta {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 14px;
  letter-spacing: 0.14px;
  color: var(--color-stone-400);
}
.card-podcast-title {
  margin: 0;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 28px;
  line-height: 30px;
  color: var(--color-charcoal);
}
.card-podcast-excerpt {
  margin: 0;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 15px;
  line-height: 20px;
  letter-spacing: 0.15px;
  color: var(--color-charcoal);
}
.card-podcast-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-charcoal);
}
.card-podcast-link img {
  width: 16px;
  height: 16px;
}
@media (max-width: 1100px) {
  .card-podcast {
    flex-direction: column;
  }
  .card-podcast-image {
    width: 100%;
    height: 260px;
    flex: 0 0 auto;
  }
  .card-podcast-content {
    padding: 32px;
  }
  .docuseries-episodes-header {
    flex-wrap: wrap;
  }
}
@media (max-width: 700px) {
  .card-podcast-content {
    padding: 24px;
  }
  .card-podcast-title {
    font-size: 24px;
    line-height: 28px;
  }
}

/* ============================================
   LEGAL / BASIC CONTENT PAGE TEMPLATE — plain WYSIWYG text (no ACF blocks), so it needs
   its own heading hierarchy and body typography (reset.css flattens h1-h6/lists sitewide).
   ============================================ */
.legal-content {
  padding: 80px 0 96px;
}
.legal-content-inner {
  max-width: 760px;
  margin: 0 auto;
}
.legal-content-inner > h1 {
  margin: 0 0 40px;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 54px;
  line-height: 56px;
  color: var(--color-plum);
}
@media (max-width: 700px) {
  .legal-content-inner > h1 {
    font-size: 36px;
    line-height: 40px;
  }
}
.legal-content-body {
  display: flex;
  flex-direction: column;
  gap: 20px;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
  color: var(--color-charcoal);
}
.legal-content-body > *:first-child {
  margin-top: 0;
}
.legal-content-body h2 {
  margin: 24px 0 4px;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 30px;
  line-height: 36px;
  color: var(--color-plum);
}
.legal-content-body h3 {
  margin: 16px 0 0;
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 22px;
  line-height: 28px;
  color: var(--color-plum);
}
.legal-content-body h4 {
  margin: 8px 0 0;
  font-family: var(--font-family-base);
  font-weight: 700;
  font-size: 17px;
  line-height: 24px;
  color: var(--color-charcoal);
}
.legal-content-body p {
  margin: 0;
}
.legal-content-body a {
  color: var(--color-apple);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.legal-content-body a:hover {
  color: var(--color-brick);
}
.legal-content-body strong,
.legal-content-body b {
  font-weight: 700;
}
.legal-content-body ul,
.legal-content-body ol {
  margin: 0;
  padding-left: 24px;
}
.legal-content-body ul li,
.legal-content-body ol li {
  margin-bottom: 8px;
}
.legal-content-body ul li {
  list-style: disc;
}
.legal-content-body ol li {
  list-style: decimal;
}
.legal-content-body blockquote {
  margin: 0;
  padding-left: 20px;
  border-left: 3px solid var(--color-stone-100);
  font-style: italic;
  color: var(--color-stone-400);
}
.legal-content-body hr {
  margin: 8px 0;
  border: none;
  border-top: 1px solid var(--color-stone-100);
}
.legal-content-body table {
  width: 100%;
  border-collapse: collapse;
}
.legal-content-body th,
.legal-content-body td {
  padding: 12px;
  border: 1px solid var(--color-stone-100);
  text-align: left;
}
.legal-content-body th {
  font-weight: 700;
}

/* Search results — reuses .legal-content/.legal-content-inner (and its H1) for the
   "Search Results for: ..." heading and container; this is just the result list itself. */
.search-results-list {
  display: flex;
  flex-direction: column;
  gap: 40px;
  margin-top: 40px;
}
.search-result h2 {
  margin: 0 0 8px;
}
.search-result h2 a {
  font-family: var(--font-family-serif);
  font-weight: 700;
  font-style: normal;
  font-size: 30px;
  line-height: 36px;
  color: var(--color-plum);
  text-decoration: none;
}
.search-result h2 a:hover {
  text-decoration: underline;
}
.search-result p {
  margin: 0 0 12px;
  font-family: var(--font-family-base);
  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
  color: var(--color-charcoal);
}
.search-result-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 16px;
  color: var(--color-charcoal);
  text-decoration: none;
}
.search-result-link img {
  width: 16px;
  height: 16px;
  filter: brightness(0);
}
.search-result-link:hover {
  text-decoration: underline;
}
.search-results .pagination {
  margin-top: 48px;
}
.search-results .pagination .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}
.search-results .pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  padding: 0 4px;
  border-radius: 100px;
  font-family: var(--font-family-base);
  font-weight: 600;
  font-size: 15px;
  color: var(--color-charcoal);
  text-decoration: none;
}
.search-results .pagination a.page-numbers:hover {
  background: var(--color-stone-200);
}
.search-results .pagination .page-numbers.current {
  background: var(--color-plum);
  color: var(--color-off-white);
}
.search-results .pagination .page-numbers.dots {
  color: var(--color-stone-400);
}
.search-results .pagination .prev,
.search-results .pagination .next {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: auto;
  min-width: 0;
  padding: 0 16px;
  font-weight: 600;
}
.search-results .pagination .prev::before,
.search-results .pagination .prev::after,
.search-results .pagination .next::before,
.search-results .pagination .next::after {
  content: '';
  width: 16px;
  height: 16px;
  background: url(../img/icon-arrow-right-small.svg) no-repeat center/contain;
  filter: brightness(0);
}
.search-results .pagination .prev {
  margin-right: 8px;
}
.search-results .pagination .prev::after {
  display: none;
}
.search-results .pagination .prev::before {
  transform: rotate(180deg);
}
.search-results .pagination .next {
  margin-left: 8px;
}
.search-results .pagination .next::before {
  display: none;
}
@media (max-width: 700px) {
  .search-results .pagination .page-numbers:not(.prev):not(.next) {
    display: none;
  }
  .search-results .pagination .page-numbers.current {
    display: inline-flex;
  }
}
