/*------------------------------------*\
    $MODULES — The Coquinas
    Layer 6 of 6. PROJECT FILE. Loads last.

    Built section-by-section alongside the Build Sheet. This file grows
    as each row is confirmed — do not treat gaps as bugs, they're
    sections not yet reached.
\*------------------------------------*/

/*------------------------------------*\
    $BUTTONS
\*------------------------------------*/
:where(.fl-builder-content, .fl-page) :is(a[href], button, input, select, textarea, [tabindex]:not([tabindex="-1"])):focus
 {
    outline-style: none !important;
}

.coq_btn .pp-button,
.coq_btn.fl-module a.pp-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--jcd-font-sans);
  font-weight: var(--jcd-btn-weight);
  text-transform: var(--jcd-btn-transform);
  letter-spacing: var(--jcd-btn-tracking);
  border-radius: var(--jcd-radius-none);
  border-width: 2px;
  border-style: solid;
  padding: var(--jcd-space-xs) var(--jcd-space-lg);
  transition:
    background-color var(--jcd-duration-base) ease-out,
    border-color var(--jcd-duration-base) ease-out,
    color var(--jcd-duration-base) ease-out;
}
 
/* --- Outline: transparent fill, gold border + text ---------------------- */
.coq_btn_outline .pp-button,
.coq_btn_outline.fl-module a.pp-button {
  background-color: transparent;
  border-color: var(--jcd-color-accent);
  color: var(--jcd-color-accent-text);
}

.coq_btn_outline .pp-button:hover,
.coq_btn_outline .pp-button:focus-visible {
  background-color: var(--jcd-color-accent) !important;
  border-color: var(--jcd-color-accent) !important;
  color: var(--jcd-color-cta-fg) !important;
}
 
/* --- Solid: filled accent gold -------------------------------------- */
.coq_btn_solid .pp-button,
.coq_btn_solid.fl-module a.pp-button {
  background-color: var(--jcd-color-accent);
  border-color: var(--jcd-color-accent);
  color: var(--jcd-color-cta-fg);
}

.coq_btn_solid .pp-button:hover,
.coq_btn_solid .pp-button:focus-visible {
  background-color: var(--jcd-color-accent-hover) !important;
  border-color: var(--jcd-color-accent-hover) !important;
}
 
/* --- Focus ring, both variants ------------------------------------------- */
.coq_btn .pp-button:focus-visible {
  outline: 2px solid transparent;
}

/*------------------------------------*\
    $HOME — HERO
\*------------------------------------*/
.section_is_hero .fl-row-content-wrap:after {
  mix-blend-mode: multiply;
}
 
/*  Row height is owned ENTIRELY by Beaver Builder's Custom Height field
    (Row → Custom Height: 70vh, set the same at every breakpoint). That
    setting generates a per-node rule targeting .fl-row-content-wrap —
    do not duplicate a height anywhere else for this row.
 
    This block used to carry its own min-height per breakpoint (50vh /
    70vh / 65vh / auto) that only matched the row's real 70vh by
    coincidence in the 992–1200 range. Everywhere else it left
    .fl-row-content shorter than the row, which is what let
    .coq_hero_sponsor_band's bottom:0 float above the row's true bottom
    edge instead of sitting flush with it, and threw off the vertical
    centering of the title along with it. Fixed by making this element
    fill 100% of the row instead of guessing its own height — one rule,
    correct at every breakpoint, nothing left to keep in sync.          */
.section_is_hero .fl-row-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  box-sizing: border-box; /* padding-bottom below must subtract from the 100%, not add to it */
  padding-bottom: 136px; /* Extra Large — clearance for one row of 4 logos */
}
 
@media (max-width: 1200px) {
  .section_is_hero .fl-row-content { padding-bottom: 108px; } /* Large — one row of 4 logos */
}
 
/*  992px and down: the sponsor band wraps from 4 logos across to 2 (see
    $HERO — SPONSOR LOGO BAND below), which roughly doubles its height —
    so clearance grows here instead of shrinking like the step above.
    Treat these two values as a starting estimate: confirm against
    .coq_hero_sponsor_band's actual rendered height at 991px and 767px
    in DevTools once this ships, and adjust if the title crowds the
    logos or leaves a visible gap above them.                           */
@media (max-width: 992px) {
  .section_is_hero .fl-row-content { padding-bottom: 192px; } /* Medium — two rows of 2 logos, verify */
}
@media (max-width: 768px) {
  .section_is_hero .fl-row-content { padding-bottom: 176px; } /* Small — two rows, no bg art, verify */
}
 
/*------------------------------------*\
    $HOME — HERO
\*------------------------------------*/
.section_is_hero .fl-row-content-wrap:after {
  mix-blend-mode: multiply;
}
 
/*  Row height is owned ENTIRELY by Beaver Builder's Custom Height field
    (Row → Custom Height: 70vh, set the same at every breakpoint). That
    setting generates a per-node rule targeting .fl-row-content-wrap —
    do not duplicate a height anywhere else for this row.
 
    This block used to carry its own min-height per breakpoint (50vh /
    70vh / 65vh / auto) that only matched the row's real 70vh by
    coincidence in the 992–1200 range. Everywhere else it left
    .fl-row-content shorter than the row, which is what let
    .coq_hero_sponsor_band's bottom:0 float above the row's true bottom
    edge instead of sitting flush with it, and threw off the vertical
    centering of the title along with it.
 
    Two earlier attempts at this fix didn't work — leaving the history
    here so it isn't retried:
      1. height:100% on .fl-row-content — doesn't resolve, because
         .fl-row-content-wrap only has min-height:70vh (a floor, not a
         fixed height), and percentage height against a min-height-only
         ancestor computes as auto.
      2. align-items:stretch on the wrap — confirmed via computed styles
         that the wrap really does stretch (872px rendered), but
         .fl-row-content still came out at 384px. Something — almost
         certainly a per-node align-self Beaver Builder set on this
         element — overrides the parent's align-items for that one
         child. align-self always wins over the parent's align-items
         regardless of !important on the parent rule, since they're not
         competing declarations of the same property.
 
    Fixed for real below without touching flex alignment at all:
    .fl-row-content is pinned to all four edges of the (already
    position:relative) wrap. inset:0 sizes the box directly from the
    wrap's rendered edges — 70vh, whatever that computes to — and can't
    be overridden by any align-items/align-self value anywhere.        */
.section_is_hero .fl-row-content {
  position: absolute !important;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  box-sizing: border-box; /* padding-bottom below must subtract from the inset height, not add to it */
  padding-bottom: 136px; /* Extra Large — clearance for one row of 4 logos */
}
 
@media (max-width: 1200px) {
  .section_is_hero .fl-row-content { padding-bottom: 108px; } /* Large — one row of 4 logos */
}
 
/*  992px and down: the sponsor band wraps from 4 logos across to 2 (see
    $HERO — SPONSOR LOGO BAND below), which roughly doubles its height —
    so clearance grows here instead of shrinking like the step above.
    Treat these two values as a starting estimate: confirm against
    .coq_hero_sponsor_band's actual rendered height at 991px and 767px
    in DevTools once this ships, and adjust if the title crowds the
    logos or leaves a visible gap above them.                           */
@media (max-width: 992px) {
  .section_is_hero .fl-row-content { padding-bottom: 192px; } /* Medium — two rows of 2 logos, verify */
}
@media (max-width: 768px) {
  .section_is_hero .fl-row-content { padding-bottom: 176px; } /* Small — two rows, no bg art, verify */
}
 
/*------------------------------------*\
    $HERO — SPONSOR LOGO BAND
\*------------------------------------*/
 
/*  position:relative — positioning root for .fl-row-content (pinned via
    inset:0 above) and for .coq_hero_sponsor_band below.                 */
.section_is_hero .fl-row-content-wrap {
  position: relative;
}
 
.coq_hero_sponsor_band {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  justify-items: center;
}

.coq_hero_sponsor_band > * {
  min-width: 0;
}

.coq_hero_sponsor_band > .fl-module-pp-image {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

@media (max-width: 992px) {
  .coq_hero_sponsor_band {
    grid-template-columns: repeat(2, 1fr);
  }
}
 
/*  4 logos across by default, 2 across at 992px and below. Targeted by
    module-type class rather than per-node ID so it holds regardless of
    whatever width value Beaver Builder's Responsive Editing panel has
    stored on these four modules — !important is deliberate, to
    guarantee this wins over that per-node inline CSS.                   */
.coq_hero_sponsor_band > .fl-module-pp-image {
  flex: 0 0 25% !important;
  max-width: 25% !important;
}
 
@media (max-width: 992px) {
  .coq_hero_sponsor_band > .fl-module-pp-image {
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }
}

.coq_hero_sponsor_band .pp-photo-container,
.coq_hero_sponsor_band .pp-photo,
.coq_hero_sponsor_band .pp-photo-content,
.coq_hero_sponsor_band .pp-photo-content-inner {
  width: 150px !important;
  max-width: 150px !important;
  height: auto !important;
  overflow: visible !important;
  margin-left: auto;
  margin-right: auto;
}

.coq_hero_sponsor_band .pp-photo-img {
  width: 150px !important;
  max-width: 150px !important;
  height: auto !important;
}
 
@media (max-width: 1200px) {
  .coq_hero_sponsor_band { background-size: 100% 70vh; }
}
@media (max-width: 992px) {
  .coq_hero_sponsor_band { background-size: 100% 65vh; }
}
@media (max-width: 768px) {
  .coq_hero_sponsor_band { background-image: none; }
}

/* --- Subheading: "A Celebration of..." ----------------------------------- */
.coq_hero_display .pp-sub-heading {
  font-family: var(--jcd-font-sans);
  font-size: var(--jcd-text-lead);
  font-weight: var(--jcd-weight-regular);
  text-transform: uppercase;
  color: var(--jcd-color-accent-text);
  margin-top: var(--jcd-space-md);
}

/* --- Date strip ----------------------------------------------------------- */
.coq_hero_dates {
  font-family: var(--jcd-font-sans);
  font-size: var(--jcd-text-h3);
  font-weight: var(--jcd-weight-regular);
  text-transform: uppercase;
  letter-spacing: var(--jcd-tracking-tight);
  color: var(--jcd-color-ink);
  text-align: center;
}

@media (max-width: 992px) {
  .coq_hero_dates { font-size: 1.5rem; } /* 24px */
}
@media (max-width: 768px) {
  .coq_hero_dates { font-size: 1.25rem; } /* 20px */
}

/*------------------------------------*\
    $HOME — MISSION
\*------------------------------------*/
.section_is_mission .fl-row-content-wrap:after {
  mix-blend-mode: multiply;
}

/* --- Heading: "Mission" --------------------------------------------- */
.coq_mission_heading .pp-heading .heading-title {
  font-family: var(--jcd-font-serif); /* Consumer Type */
  font-weight: var(--jcd-weight-display); /* 900 / Black */
  font-size: 3.7rem; /* ~59px, derived */
  text-transform: uppercase;
  color: var(--jcd-color-accent-text);
  margin: 0;
}

@media (max-width: 1200px) {
  .coq_mission_heading .pp-heading .heading-title { font-size: 3.25rem; } /* 52px */
}
@media (max-width: 992px) {
  .coq_mission_heading .pp-heading .heading-title { font-size: 2.75rem; } /* 44px */
}
@media (max-width: 768px) {
  .coq_mission_heading .pp-heading .heading-title { font-size: 2.25rem; } /* 36px */
}

/* --- Lead paragraph ---------------------------------------------------- */
.coq_mission_heading .pp-sub-heading {
  font-family: var(--jcd-font-sans);
  font-size: 1.5rem;
  font-weight: var(--jcd-weight-regular);
  line-height: 1.3;
  color: var(--jcd-color-ink);
  margin-top: var(--jcd-space-lg);
}

@media (max-width: 992px) {
  .coq_mission_heading .pp-sub-heading { font-size: 1.25rem; } /* 20px */
}
@media (max-width: 768px) {
  .coq_mission_heading .pp-sub-heading { font-size: 1.125rem; } /* 18px */
}

/*------------------------------------*\
    $HOME — TAGLINE
\*------------------------------------*/

.coq_tagline_flourish img {
  display: block;
  width: 100px;
  height: auto;
  margin: 0 auto var(--jcd-space-lg);
}

@media (max-width: 992px) {
  .coq_tagline_flourish img { width: 76px; }
}
@media (max-width: 768px) {
  .coq_tagline_flourish img { width: 56px; }
}

.coq_tagline_flourish_flip img {
  transform: rotate(180deg);
  margin: var(--jcd-space-lg) auto 0;
}

.coq_tagline_heading .pp-heading .heading-title {
  font-family: var(--jcd-font-serif); /* Consumer Type */
  font-weight: var(--jcd-weight-display); /* 900 / Black */
  font-size: 2.8rem;
  line-height: 1.05;
  color: #412405;
  text-align: center;
  max-width: 62ch;
  margin: 0 auto;
}

@media (max-width: 1200px) {
  .coq_tagline_heading .pp-heading .heading-title { font-size: 4rem; } /* 64px */
}
@media (max-width: 992px) {
  .coq_tagline_heading .pp-heading .heading-title { font-size: 3.25rem; } /* 52px */
}
@media (max-width: 768px) {
  .coq_tagline_heading .pp-heading .heading-title { font-size: 2.375rem; } /* 38px */
}

/*------------------------------------*\
    $HOME — CONTEST DATES
\*------------------------------------*/
.section_is_contest_dates .fl-row-content-wrap:after {
  mix-blend-mode: multiply;
}                                      
 
/* --- "CONTEST DATES" heading -------------------------------------------- */
.coq_dates_heading .pp-heading .heading-title,
.coq_dates_heading.fl-module-heading .fl-heading {
  font-family: var(--jcd-font-serif);
  font-weight: var(--jcd-weight-display);
  font-size: 6.5rem; /* ~104px, derived */
  line-height: 1.1;
  color: var(--jcd-color-ink);
  margin: 0;
}

@media (max-width: 1200px) {
  .coq_dates_heading .pp-heading .heading-title,
  .coq_dates_heading.fl-module-heading .fl-heading { font-size: 5rem; } /* 80px */
}
@media (max-width: 992px) {
  .coq_dates_heading .pp-heading .heading-title,
  .coq_dates_heading.fl-module-heading .fl-heading { font-size: 4rem; } /* 64px */
}
@media (max-width: 768px) {
  .coq_dates_heading .pp-heading .heading-title,
  .coq_dates_heading.fl-module-heading .fl-heading { font-size: 3rem; } /* 48px */
}

/* --- Step number: "01" / "02" / "03" ------------------------------------ */
.coq_dates_number {
  font-family: var(--jcd-font-serif);
  font-weight: var(--jcd-weight-display);
  font-size: 5.6rem; /* ~89px, derived */
  line-height: 1;
  color: var(--jcd-color-accent-text);
  flex-shrink: 0;
}

@media (max-width: 1200px) {
  .coq_dates_number { font-size: 4.5rem; } /* 72px */
}
@media (max-width: 992px) {
  .coq_dates_number { font-size: 3.5rem; } /* 56px */
}
@media (max-width: 768px) {
  .coq_dates_number { font-size: 2.75rem; } /* 44px */
}

/* --- Step label + date: single Smart Heading module -------------------- */
.coq_dates_step_heading .pp-heading .heading-title {
  font-family: var(--jcd-font-serif);
  font-weight: var(--jcd-weight-display);
  font-size: 2.95rem; /* ~47px, derived */
  line-height: 1.15;
  color: var(--jcd-color-ink);
  margin: 0;
}

@media (max-width: 1200px) {
  .coq_dates_step_heading .pp-heading .heading-title { font-size: 2.625rem; } /* 42px */
}
@media (max-width: 992px) {
  .coq_dates_step_heading .pp-heading .heading-title { font-size: 2.25rem; } /* 36px */
}
@media (max-width: 768px) {
  .coq_dates_step_heading .pp-heading .heading-title { font-size: 1.875rem; } /* 30px */
}

.coq_dates_step_heading .pp-sub-heading {
  font-family: var(--jcd-font-sans);
  font-size: var(--jcd-text-h3);
  font-weight: var(--jcd-weight-regular);
  text-transform: uppercase;
  letter-spacing: var(--jcd-tracking-tight);
  color: var(--jcd-color-ink);
  margin-top: var(--jcd-space-xs);
}

@media (max-width: 992px) {
  .coq_dates_step_heading .pp-sub-heading { font-size: 1.375rem; } /* 22px */
}
@media (max-width: 768px) {
  .coq_dates_step_heading .pp-sub-heading { font-size: 1.125rem; } /* 18px */
}

/*------------------------------------*\
    $HOME — CATEGORIES
\*------------------------------------*/
/* --- "Categories" heading ------------------------------------------------ */
.coq_categories_heading .pp-heading .heading-title,
.coq_categories_heading.fl-module-heading .fl-heading {
  font-family: var(--jcd-font-serif);
  font-weight: var(--jcd-weight-display);
  font-size: 5rem;
  color: var(--jcd-color-accent-text);
  text-align: center;
  margin: 0 0 var(--jcd-space-xl);
}

@media (max-width: 1200px) {
  .coq_categories_heading .pp-heading .heading-title,
  .coq_categories_heading.fl-module-heading .fl-heading { font-size: 4rem; } /* 64px */
}
@media (max-width: 992px) {
  .coq_categories_heading .pp-heading .heading-title,
  .coq_categories_heading.fl-module-heading .fl-heading { font-size: 3.25rem; } /* 52px */
}
@media (max-width: 768px) {
  .coq_categories_heading .pp-heading .heading-title,
  .coq_categories_heading.fl-module-heading .fl-heading { font-size: 2.5rem; } /* 40px */
}
 
/* --- Tile grid -------------------------------------------------------- */
.coq_categories_grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--jcd-space-md);
}
 
@media (max-width: 992px) {
  .coq_categories_grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
  .coq_categories_grid { grid-template-columns: repeat(2, 1fr); }
}
 
/* --- Individual tile ---------------------------------------------------- */
.coq_categories_tile {
  position: relative;
  aspect-ratio: 3 / 4;
  overflow: hidden;
}
 
.coq_categories_tile .fl-photo {
  position: absolute;
  inset: 0;
  z-index: 0;
}
 
.coq_categories_tile .fl-photo-content,
.coq_categories_tile .fl-photo-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.coq_categories_tile::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: rgba(97, 76, 19, 0.65);
  mix-blend-mode: multiply;
  pointer-events: none !important;
}

.coq_categories_tile .fl-module-pp-heading {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
}

.coq_categories_tile .pp-heading .heading-title {
  font-family: var(--jcd-font-serif);
  font-weight: var(--jcd-weight-display);
  font-size: 2.3rem;
  text-transform: uppercase;
  color: var(--jcd-color-ink);
  text-align: center;
  margin: 0;
}

@media (max-width: 992px) {
  .coq_categories_tile .pp-heading .heading-title { font-size: 2rem; } /* 32px -- tiles are wider here (3 cols) */
}
@media (max-width: 768px) {
  .coq_categories_tile .pp-heading .heading-title { font-size: 1.5rem; } /* 24px -- 2 cols */
}

.coq_categories_tile a {
  position: absolute;
  inset: 0;
  z-index: 3;
}

/*------------------------------------*\
    $HOME — CONSERVATION
\*------------------------------------*/
.section_is_conservation .fl-row-content-wrap:after {
  mix-blend-mode: multiply;
}
 
.coq_conservation_icon img {
  display: block;
  width: 60px;
  height: auto;
  margin: 0 auto var(--jcd-space-lg);
}

@media (max-width: 768px) {
  .coq_conservation_icon img { width: 44px; }
}

.coq_conservation_heading .pp-heading .heading-title {
  font-family: var(--jcd-font-serif);
  font-weight: var(--jcd-weight-display);
  font-size: 3.7rem;
  text-transform: uppercase;
  color: var(--jcd-color-accent-text);
  margin: 0;
}

@media (max-width: 1200px) {
  .coq_conservation_heading .pp-heading .heading-title { font-size: 3.25rem; } /* 52px */
}
@media (max-width: 992px) {
  .coq_conservation_heading .pp-heading .heading-title { font-size: 2.75rem; } /* 44px */
}
@media (max-width: 768px) {
  .coq_conservation_heading .pp-heading .heading-title { font-size: 2.25rem; } /* 36px */
}

.coq_conservation_heading .pp-sub-heading {
  font-family: var(--jcd-font-sans);
  font-size: 1.5rem;
  font-weight: var(--jcd-weight-regular);
  line-height: 1.3;
  color: var(--jcd-color-ink);
  margin-top: var(--jcd-space-lg);
}

@media (max-width: 992px) {
  .coq_conservation_heading .pp-sub-heading { font-size: 1.25rem; } /* 20px */
}
@media (max-width: 768px) {
  .coq_conservation_heading .pp-sub-heading { font-size: 1.125rem; } /* 18px */
}

/*------------------------------------*\
    $HOME — MEET THE JUDGES SAVED ROW
\*------------------------------------*/
.pp-tabs {
  position: relative;
}
 
.pp-tabs .pp-tabs-labels {
  position: absolute;
  bottom: var(--jcd-space-lg);
  right: calc(var(--jcd-space-2xl) + var(--jcd-space-lg));
  z-index: 3;
  display: flex;
  align-items: center;
  gap: var(--jcd-space-lg);
}
 
.pp-tabs .pp-tabs-labels > .pp-tabs-label {
  box-sizing: border-box;
  width: 10px;
  height: 10px;
  border: none;
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--jcd-color-ink) 40%, transparent);
  padding: 0;
  margin-right: 10px;
  transition: background-color var(--jcd-duration-base) ease-out;
  cursor: pointer;
}
 
.pp-tabs .pp-tabs-labels > .pp-tabs-label.pp-tab-active {
  background-color: var(--jcd-color-accent);
}
 
.pp-tabs .pp-tabs-labels > .pp-tabs-label:focus-visible {
  outline: 2px solid var(--jcd-color-focus);
  outline-offset: 3px;
}

.pp-tabs .pp-tabs-labels > .pp-tabs-label .pp-tab-label-inner,
.pp-tabs .pp-tabs-labels > .pp-tabs-label .pp-tab-title {
  display: none;
}
 
.pp-tabs-panels {
  position: relative;
}
 
.pp-tabs-panel-content {
  display: block !important;
  transition: opacity 400ms ease-out;
}
 
.pp-tabs-panel-content:not(.pp-tab-active) {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  z-index: 0;
}
 
.pp-tabs-panel-content.pp-tab-active {
  position: relative;
  opacity: 1;
  z-index: 1;
}
 
@media (prefers-reduced-motion: reduce) {
  .pp-tabs-panel-content {
    transition: none;
  }
}
 
.coq_judge_row {
  display: flex;
  align-items: stretch;
}
 
@media (max-width: 768px) {
  .coq_judge_row {
    flex-direction: column;
  }
}

.coq_judges_heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
}

.coq_judges_text {
  padding: 0 var(--jcd-space-2xl);
}

.coq_judge_photo {
  position: relative;
  aspect-ratio: 1640 / 1745;
  overflow: hidden;
}

.coq_judge_photo .pp-photo-container,
.coq_judge_photo .pp-photo,
.coq_judge_photo .pp-photo-content,
.coq_judge_photo .pp-photo-content-inner {
  height: 100% !important;
}

.coq_judge_photo .pp-photo-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.coq_judge_photo::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: rgba(97, 76, 19, 0.65);
  mix-blend-mode: multiply;
  pointer-events: none !important;
}

.coq_judges_name .pp-heading .heading-title  {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--jcd-font-serif);
  font-weight: var(--jcd-weight-display);
  font-size: var(--jcd-text-h2);
  text-transform: uppercase;
  color: var(--jcd-color-ink);
  text-align: center;
  margin: 0;
}

@media (max-width: 1200px) {
  .coq_judges_name .pp-heading .heading-title { font-size: 2.625rem; } /* 42px */
}
@media (max-width: 992px) {
  .coq_judges_name .pp-heading .heading-title { font-size: 2.25rem; } /* 36px */
}
@media (max-width: 768px) {
  .coq_judges_name .pp-heading .heading-title { font-size: 1.875rem; } /* 30px */
}

.coq_judges_heading .pp-heading .heading-title {
  font-family: var(--jcd-font-serif);
  font-weight: var(--jcd-weight-display);
  font-size: var(--jcd-text-h2);
  text-transform: uppercase;
  color: var(--jcd-color-accent-text);
  margin: 0;
}

@media (max-width: 1200px) {
  .coq_judges_heading .pp-heading .heading-title { font-size: 3.25rem; } /* 52px */
}
@media (max-width: 992px) {
  .coq_judges_heading .pp-heading .heading-title { font-size: 2.75rem; } /* 44px */
}
@media (max-width: 768px) {
  .coq_judges_heading .pp-heading .heading-title { font-size: 2.25rem; } /* 36px */
}

.coq_judges_heading .pp-sub-heading {
  font-family: var(--jcd-font-sans);
  font-size: 1.2rem;
  font-weight: var(--jcd-weight-regular);
  line-height: 1.3;
  color: var(--jcd-color-ink);
  margin-top: var(--jcd-space-lg);
  max-width: 42ch;
}

@media (max-width: 992px) {
  .coq_judges_heading .pp-sub-heading { font-size: 1.25rem; } /* 20px */
}
@media (max-width: 768px) {
  .coq_judges_heading .pp-sub-heading { font-size: 1.125rem; } /* 18px */
}

/*------------------------------------*\
    $HOME — NEWSLETTER
\*------------------------------------*/
.section_is_newsletter .fl-row-content-wrap {
  padding-top: calc(var(--jcd-space-4xl) + var(--jcd-space-xl)) !important;
  padding-bottom: calc(var(--jcd-space-4xl) + var(--jcd-space-xl)) !important;
}
 
@media (max-width: 768px) {
  .section_is_newsletter .fl-row-content-wrap {
    padding-top: calc(var(--jcd-space-3xl) + var(--jcd-space-lg)) !important;
    padding-bottom: calc(var(--jcd-space-3xl) + var(--jcd-space-lg)) !important;
  }
}

.pp-subscribe-form-inline .pp-subscribe-form-inner
 {
    display: flex;
    align-items: flex-end;
    flex-flow: row wrap;
    justify-content: center;
}
 
.coq_newsletter_title {
  font-family: var(--jcd-font-serif);
  font-weight: var(--jcd-weight-display);
  font-size: 3.7rem; 
  text-transform: uppercase;
  color: #141414; 
  text-align: center;
  margin: 0 0 var(--jcd-space-md);
}

@media (max-width: 1200px) {
  .coq_newsletter_title { font-size: 3.25rem; } /* 52px */
}
@media (max-width: 992px) {
  .coq_newsletter_title { font-size: 2.75rem; } /* 44px */
}
@media (max-width: 768px) {
  .coq_newsletter_title { font-size: 2.25rem; } /* 36px */
}
 
.coq_newsletter_subtext {
  font-family: var(--jcd-font-sans);
  font-size: var(--jcd-text-lead);
  font-weight: var(--jcd-weight-regular);
  line-height: var(--jcd-leading-body);
  color: #141414;
  text-align: center;
  margin: 0 0 var(--jcd-space-lg);
}
 
.pp-subscribe-form-fields {
  display: flex;
  gap: var(--jcd-space-sm);
}
 
.pp-subscribe-form input[type="email"] {
  border: 2px solid #141414;
  border-radius: var(--jcd-radius-none);
  padding: var(--jcd-space-sm) var(--jcd-space-md);
  font-family: var(--jcd-font-sans);
  font-size: var(--jcd-text-lead);
  color: #141414;
  background: transparent;
  flex: 1;
}
 
.pp-subscribe-form a.fl-button {
  background-color: #141414 !important;
  border: 2px solid #141414 !important;
  color: var(--jcd-color-accent-text) !important;
  border-radius: var(--jcd-radius-none) !important;
  font-family: var(--jcd-font-sans) !important;
  font-weight: var(--jcd-weight-bold) !important;
  font-size: var(--jcd-text-lead) !important;
  padding: var(--jcd-space-sm) var(--jcd-space-lg) !important;
}

.pp-subscribe-form a.fl-button:hover,
.pp-subscribe-form a.fl-button:focus-visible {
  background-color: var(--jcd-color-accent-hover) !important;
  border-color: var(--jcd-color-accent-hover) !important;
  color: #141414 !important;
}
 
.pp-subscribe-form-footer {
  font-family: var(--jcd-font-sans);
  font-size: var(--jcd-text-body);
  color: #141414;
  text-align: center;
  margin-top: var(--jcd-space-md);
}
 
.pp-subscribe-form-footer strong {
  font-weight: var(--jcd-weight-bold);
}

/*------------------------------------*\
    $ALTROW — SHARED ALTERNATING ROW PATTERN (Judges + Prizes)
\*------------------------------------*/

/*  Own class family, decoupled from the home slider's coq_judge_*
    classes -- plain Row > Columns, square photo, no forced
    stretch/crop. Shared across any page using this alternating
    left/right pattern (currently Judges + Prizes).                    */

.coq_altrow_row {
  position: relative;
  overflow: hidden;
}

.coq_altrow_photo {
  position: relative;
}

.coq_altrow_photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
}

.coq_altrow_heading {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding: 0 var(--jcd-space-2xl);
}

.coq_altrow_heading .pp-heading-separator-icon img {
  display: block;
  width: 100px;
  height: auto;
  margin-bottom: var(--jcd-space-lg);
}

.coq_altrow_heading .pp-heading .heading-title {
  font-family: var(--jcd-font-serif);
  font-weight: var(--jcd-weight-display);
  font-size: 3.7rem;
  text-transform: uppercase;
  color: var(--jcd-color-accent-text);
  margin: 0 0 10px;
}

@media (max-width: 1200px) {
  .coq_altrow_heading { aspect-ratio: 1 / 1; padding: 0 var(--jcd-space-sm);}
  .coq_altrow_heading .pp-heading .heading-title { font-size: 3rem; } 
}
@media (max-width: 992px) {
  .coq_altrow_heading { padding: 0 var(--jcd-space-2xl);}
  .coq_altrow_heading .pp-heading .heading-title { font-size: 3.7rem; } 
}
@media (max-width: 768px) {
  .coq_altrow_heading .pp-heading .heading-title { font-size: 2.25rem; } 
}

.coq_altrow_heading .pp-sub-heading {
  font-family: var(--jcd-font-sans);
  font-size: 1.2rem;
  font-weight: var(--jcd-weight-regular);
  line-height: 1.3;
  color: var(--jcd-color-ink);
  margin-top: var(--jcd-space-lg);
  max-width: 50ch;
}

@media (max-width: 992px) {
  .coq_altrow_heading .pp-sub-heading { font-size: 1.25rem; } /* 20px */
}

@media (max-width: 768px) {
  .coq_altrow_heading .pp-sub-heading { font-size: 1.125rem; } /* 18px */
}

/* Structural rules stay shared — only typography splits per page */
.coq_altrow_heading_prizes .pp-heading .heading-title {
  text-transform: none;
  color: var(--jcd-color-ink);
  margin: 0 0 10px;
}