/*
Theme Name: Gracie Coos County
Theme URI: https://graciecooscounty.com/
Description: Standalone, mobile-first WordPress theme for Gracie Coos County with a focused trial-first homepage, dedicated program and schedule pages, Forminator booking, coach profiles, and member resources.
Author: Gracie Coos County
Author URI: https://graciecooscounty.com/
Version: 32.8.0
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: gracie-coos-county
*/

:root {
  --gcc-ink: #090a09;
  --gcc-ink-soft: #111311;
  --gcc-paper: #ffffff;
  --gcc-paper-2: #f3f4f6;
  --gcc-paper-3: #e7eadf;
  --gcc-green: #2d3926;
  --gcc-green-dark: #20291b;
  --gcc-green-bright: #83916b;
  --gcc-red: #8d2828;
  --gcc-red-dark: #8d2828;
  --gcc-orange: #c65d1e;
  --gcc-gray: #4b5563;
  --gcc-light-gray: #808285;
  --gcc-line: rgba(9, 10, 9, .15);
  --gcc-dark-line: rgba(255, 255, 255, .18);
  --gcc-shadow: 0 18px 55px rgba(9, 10, 9, .13);
  --gcc-display: Impact, Haettenschweiler, "Arial Narrow Bold", "Arial Narrow", sans-serif;
  --gcc-body: Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 104px; }
body.gcc-site {
  margin: 0 !important;
  padding: 0 0 calc(72px + env(safe-area-inset-bottom)) !important;
  overflow-x: hidden;
  background: var(--gcc-paper) !important;
  color: var(--gcc-ink) !important;
  font-family: var(--gcc-body) !important;
  -webkit-font-smoothing: antialiased;
}
.gcc-site button,
.gcc-site input,
.gcc-site select,
.gcc-site textarea { font: inherit; }
.gcc-site a,
.gcc-site button { -webkit-tap-highlight-color: transparent; }
.gcc-site button { cursor: pointer; }
.gcc-site img { max-width: 100%; }
.gcc-wrap { width: calc(100% - 36px); max-width: 1380px; margin-inline: auto; }
.gcc-skip {
  position: fixed;
  top: -80px;
  left: 12px;
  z-index: 9999;
  padding: 13px 17px;
  background: #fff;
  color: #111;
  font-weight: 800;
}
.gcc-skip:focus { top: 12px; }
.gcc-site :focus-visible { outline: 3px solid #f2b900 !important; outline-offset: 3px; }
.screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Header */
.gcc-alert {
  padding: 0;
  border-bottom: 3px solid var(--gcc-red);
  background: #090a09;
  color: #fff;
}
.gcc-fight-promo { position: relative; isolation: isolate; overflow: hidden; }
.gcc-fight-promo::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: -70px;
  right: 9%;
  width: 170px;
  height: 190px;
  background: var(--gcc-red);
  opacity: .42;
  transform: skewX(-28deg);
}
.gcc-fight-promo > a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px 12px;
  align-items: center;
  min-height: 72px;
  width: min(100% - 24px, 1380px);
  margin-inline: auto;
  padding: 9px 0;
  color: #fff !important;
  text-decoration: none !important;
}
.gcc-c4-mark {
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  align-content: center;
  width: 54px;
  min-height: 54px;
  border: 2px solid var(--gcc-red);
  background: var(--gcc-red);
  line-height: .88;
  text-align: center;
  text-transform: uppercase;
}
.gcc-c4-mark b { color: #fff; font: 27px/.85 var(--gcc-display); letter-spacing: .02em; }
.gcc-c4-mark small { margin-top: 5px; color: #fff; font-size: 7px; font-weight: 900; letter-spacing: .1em; }
.gcc-fight-promo-copy { min-width: 0; }
.gcc-fight-promo-copy strong {
  display: block;
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .1em;
  line-height: 1.2;
  text-transform: uppercase;
}
.gcc-fight-promo-copy small {
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,.66);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .08em;
  line-height: 1.3;
  text-transform: uppercase;
}
.gcc-fight-promo-cta {
  grid-column: 2;
  display: flex;
  gap: 8px;
  align-items: center;
  width: max-content;
  max-width: 100%;
  padding-top: 6px;
  border-top: 2px solid var(--gcc-orange);
  color: var(--gcc-orange);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .09em;
  line-height: 1.2;
  text-transform: uppercase;
}
.gcc-fight-promo > a:hover .gcc-fight-promo-cta,
.gcc-fight-promo > a:focus-visible .gcc-fight-promo-cta { color: #fff; }
.gcc-header {
  position: sticky;
  top: 0;
  z-index: 100;
  height: 74px;
  border-bottom: 1px solid var(--gcc-line);
  background: rgba(255, 255, 255, .97);
  backdrop-filter: blur(16px);
}
.gcc-header-inner { height: 100%; display: grid; grid-template-columns: 1fr auto; align-items: center; }
.gcc-brand {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--gcc-ink) !important;
  text-decoration: none !important;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.gcc-brand img { width: 42px; height: 42px; object-fit: contain; }
.gcc-brand span,
.gcc-brand b { display: block; }
.gcc-nav {
  display: none;
  position: absolute;
  top: 74px;
  right: 0;
  left: 0;
  padding: 15px 18px 22px;
  border-bottom: 1px solid var(--gcc-line);
  background: var(--gcc-paper);
  box-shadow: var(--gcc-shadow);
}
.gcc-nav.is-open { display: block; }
.gcc-menu-list { display: flex; flex-direction: column; gap: 0; margin: 0; padding: 0; list-style: none; }
.gcc-nav a {
  display: flex;
  align-items: center;
  min-height: 48px;
  border-bottom: 1px solid var(--gcc-line);
  color: var(--gcc-ink) !important;
  text-decoration: none !important;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.gcc-header-actions { display: none; }
.gcc-menu {
  min-width: 64px !important;
  min-height: 48px !important;
  padding: 10px !important;
  border: 1px solid var(--gcc-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--gcc-ink) !important;
  box-shadow: none !important;
  text-transform: uppercase;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .12em;
}

/* Shared type and actions */
.gcc-eyebrow {
  display: flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 19px;
  color: inherit;
  font-size: 9px;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: .17em;
  text-transform: uppercase;
}
.gcc-eyebrow::before { content: ""; flex: 0 0 30px; height: 3px; background: var(--gcc-orange); }
.gcc-site h1,
.gcc-site h2 { margin: 0; font-family: var(--gcc-display); font-weight: 900; letter-spacing: -.015em; text-transform: uppercase; }
.gcc-site h2 { color: var(--gcc-ink) !important; font-size: clamp(44px, 13.5vw, 64px) !important; line-height: .9 !important; }
.gcc-site h2 em { color: var(--gcc-green-bright) !important; font-style: normal; }
.gcc-title-line { display: block; white-space: nowrap; }
.gcc-lead { margin: 0; color: var(--gcc-gray); font-size: 16px; line-height: 1.68; }
.gcc-actions,
.gcc-final-actions,
.gcc-result-actions { display: grid; gap: 10px; margin-top: 28px; }
.gcc-button {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  min-height: 56px;
  padding: 15px 18px !important;
  border: 1px solid !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none !important;
  text-shadow: none !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.gcc-primary { border-color: var(--gcc-green) !important; background: var(--gcc-green) !important; color: #fff !important; }
.gcc-secondary { border-color: var(--gcc-green-bright) !important; background: rgba(131,145,107,.12) !important; color: #fff !important; }
.gcc-dark-button { border-color: var(--gcc-ink) !important; background: var(--gcc-ink) !important; color: #fff !important; }
.gcc-light-button { border-color: rgba(255,255,255,.42) !important; background: transparent !important; color: #fff !important; }
.gcc-section { padding: 76px 0; overflow: hidden; }
.gcc-split,
.gcc-heading,
.gcc-finder-layout,
.gcc-location-layout,
.gcc-signup-layout { display: grid; gap: 25px; }

/* Hero */
.gcc-hero { position: relative; overflow: hidden; padding: 58px 0 0; background: var(--gcc-ink); color: var(--gcc-paper); }
.gcc-hero::before {
  content: "";
  position: absolute;
  right: -34%;
  bottom: -42vw;
  z-index: 1;
  width: min(88vw, 820px);
  aspect-ratio: 1;
  border: clamp(34px, 5.5vw, 76px) solid rgba(91, 77, 42, .24);
  transform: rotate(27deg);
  pointer-events: none;
}
.gcc-hero-grid { position: relative; z-index: 2; display: grid; gap: 46px; }
.gcc-hero-content { position: relative; z-index: 2; }
.gcc-hero .gcc-eyebrow { color: var(--gcc-paper); }
.gcc-hero .gcc-eyebrow::before { background: var(--gcc-orange); }
.gcc-hero h1 { color: var(--gcc-paper) !important; font-size: clamp(54px, 16vw, 82px) !important; line-height: .85 !important; }
.gcc-hero h1 em { color: var(--gcc-green-bright) !important; font-style: normal; }
.gcc-hero .gcc-title-accent { color: var(--gcc-green-bright); }
.gcc-hero-copy { max-width: 620px; margin: 25px 0 0; color: #c9c6be; font-size: 16px; line-height: 1.65; }
.gcc-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 40px; }
.gcc-stats > div { padding-right: 8px; border-right: 1px solid var(--gcc-dark-line); }
.gcc-stats > div:last-child { border: 0; }
.gcc-stats strong { display: block; color: var(--gcc-paper); font: 32px/1 var(--gcc-display); }
.gcc-stats span { display: block; margin-top: 5px; color: #9f9b93; font-size: 7px; line-height: 1.45; letter-spacing: .08em; text-transform: uppercase; }
.gcc-hero-media { position: relative; aspect-ratio: 1774 / 887; min-height: 0; margin: 0 -18px; overflow: hidden; background: #252622; }
.gcc-hero-media::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(255,255,255,.12); pointer-events: none; }
.gcc-hero-media img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; object-position: center; }
.gcc-hero-media figcaption {
  position: absolute;
  right: 12px;
  bottom: 12px;
  left: 12px;
  z-index: 2;
  padding: 8px 10px;
  background: rgba(16,17,15,.88);
  color: #fff;
  font-size: 8px;
  line-height: 1.45;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.gcc-mat { display: none; position: absolute; right: -35vw; bottom: -12vh; width: 90vw; height: 55vh; border: 1px solid #33352f; transform: rotate(-12deg); }
.gcc-mat::before,
.gcc-mat::after { content: ""; position: absolute; inset: 17%; border: 1px solid #33352f; transform: rotate(17deg); }
.gcc-mat::after { inset: 35%; transform: rotate(37deg); }

/* Intro */
.gcc-values { display: grid; margin-top: 43px; border-top: 1px solid var(--gcc-line); }
.gcc-values article { padding: 26px 0; border-bottom: 1px solid var(--gcc-line); }
.gcc-values h3 { margin: 0 0 9px; color: var(--gcc-ink) !important; font: 27px/1 var(--gcc-display) !important; text-transform: uppercase; }
.gcc-values p { margin: 0; color: var(--gcc-gray); font-size: 14px; line-height: 1.65; }

/* Homepage paths */
.gcc-paths { background: var(--gcc-paper); }
.gcc-path-grid { display: grid; gap: 10px; margin-top: 43px; }
.gcc-path-card {
  min-height: 245px;
  padding: 24px;
  border: 1px solid var(--gcc-line);
  border-top: 4px solid var(--gcc-orange);
  background: var(--gcc-paper);
  color: var(--gcc-ink) !important;
  text-decoration: none !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.gcc-path-card:nth-child(2) { border-top-color: var(--gcc-green); }
.gcc-path-card:nth-child(3) { border-top-color: var(--gcc-ink); }
.gcc-path-card:nth-child(4) { border-top-color: var(--gcc-orange); }
.gcc-path-kicker { color: var(--gcc-green); font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.gcc-path-card > strong { margin-top: 34px; font: 30px/1 var(--gcc-display); text-transform: uppercase; }
.gcc-path-card > p { margin: 12px 0 24px; color: var(--gcc-gray); font-size: 13px; line-height: 1.6; }
.gcc-path-card > b { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 15px; border-top: 1px solid var(--gcc-line); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.gcc-path-card > b span { font-size: 18px; transition: transform .2s ease; }
@media (hover: hover) {
  .gcc-path-card:hover { border-color: var(--gcc-green); box-shadow: 0 16px 34px rgba(24,32,22,.10); transform: translateY(-4px); }
  .gcc-path-card:hover > b span { transform: translateX(4px); }
}

/* Finder */
.gcc-finder-section {
  position: relative;
  background-color: var(--gcc-green);
  background-image: url("assets/coos-county-trees-overlay.png");
  background-repeat: no-repeat;
  background-position: right -80px bottom -95px;
  background-size: clamp(300px, 43vw, 650px) auto;
  color: #fff;
}
.gcc-finder-section::after {
  content: "";
  display: none;
  position: absolute;
  right: -18%;
  bottom: -32%;
  width: 45%;
  aspect-ratio: 1;
  border: 54px solid rgba(91, 77, 42, .30);
  transform: rotate(28deg);
  pointer-events: none;
}
.gcc-finder-layout { position: relative; z-index: 1; }
.gcc-finder-section .gcc-eyebrow { color: #fff; }
.gcc-finder-section .gcc-eyebrow::before { background: var(--gcc-orange); }
.gcc-finder-section h2 { color: #fff !important; }
.gcc-finder-section h2 em { color: var(--gcc-orange) !important; }
.gcc-finder-section .gcc-lead { color: rgba(255,255,255,.78); }
.gcc-finder-panel { padding: 22px; border: 1px solid rgba(255,255,255,.20); border-top: 5px solid var(--gcc-orange); background: var(--gcc-green-bright); box-shadow: none; }
.gcc-finder-panel fieldset { display: grid; gap: 9px; margin: 0 0 27px; padding: 0; border: 0; }
.gcc-finder-panel legend { margin-bottom: 12px; color: #fff; font-size: 9px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.gcc-choice,
.gcc-day-choice {
  min-height: 52px !important;
  border: 1px solid var(--gcc-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--gcc-ink) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-weight: 800 !important;
}
.gcc-choice { width: 100%; padding: 14px !important; text-align: left !important; font-size: 13px !important; line-height: 1.35 !important; }
.gcc-finder-panel .gcc-choice { border-color: rgba(255,255,255,.30) !important; background: #242e1e !important; color: #fff !important; }
.gcc-choice > span { display: block; margin-top: 4px; color: var(--gcc-green-bright); font-size: 8px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.gcc-finder-panel .gcc-choice.is-selected { border-color: var(--gcc-orange) !important; background: var(--gcc-orange) !important; color: var(--gcc-ink) !important; }
.gcc-finder-panel .gcc-choice.is-selected > span { color: var(--gcc-ink); }
.gcc-finder-panel .gcc-choice:disabled { opacity: .38; cursor: not-allowed; }
.gcc-choice.is-selected,
.gcc-day-choice.is-selected { border-color: var(--gcc-ink) !important; background: var(--gcc-ink) !important; color: #fff !important; }
.gcc-result { display: none; padding: 22px; border-top: 5px solid var(--gcc-orange); background: var(--gcc-paper); color: var(--gcc-ink); box-shadow: var(--gcc-shadow); }
.gcc-result.is-visible { display: block; }
.gcc-result > small { color: var(--gcc-green); font-size: 11px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.gcc-result > h3 { margin: 10px 0; color: var(--gcc-ink) !important; font: 35px/1 var(--gcc-display) !important; text-transform: uppercase; }
.gcc-result-summary { margin: 0; color: var(--gcc-gray); font-size: 15px; line-height: 1.62; }
.gcc-finder-days { margin-top: 23px; padding-top: 20px; border-top: 1px solid var(--gcc-line); }
.gcc-finder-days[hidden] { display: none; }
.gcc-finder-days > p { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px; margin: 0 0 10px; color: var(--gcc-ink); font-size: 12px; letter-spacing: .07em; text-transform: uppercase; }
.gcc-finder-days > p span { color: var(--gcc-gray); font-size: 11px; }
.gcc-day-choices { display: flex; flex-wrap: wrap; gap: 7px; }
.gcc-day-choice { flex: 1 1 calc(50% - 7px); padding: 10px !important; border-color: var(--gcc-line) !important; color: var(--gcc-ink) !important; font-size: 12px !important; }
.gcc-day-choice.is-selected { border-color: var(--gcc-green) !important; background: var(--gcc-green) !important; color: #fff !important; }
.gcc-finder-availability { margin-top: 22px; }
.gcc-finder-availability-title { margin: 18px 0 9px; color: var(--gcc-ink) !important; font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.gcc-finder-match { padding: 16px 0; border-top: 1px solid var(--gcc-line); }
.gcc-finder-match h4 { margin: 0; color: var(--gcc-ink); font: 24px/1.1 var(--gcc-display); text-transform: uppercase; }
.gcc-finder-match p { margin: 6px 0; color: var(--gcc-gray); font-size: 14px; }
.gcc-finder-match span { color: var(--gcc-green); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.gcc-finder-message { margin: 0; padding: 16px; border-left: 4px solid var(--gcc-green-bright); background: var(--gcc-paper-2); color: var(--gcc-gray); font-size: 15px; line-height: 1.65; }
.gcc-result .gcc-light-button { border-color: var(--gcc-ink) !important; color: var(--gcc-ink) !important; }
.gcc-finder-match.is-coos-bay,
.gcc-finder-match.is-coquille { margin-top: 10px; padding: 16px; }
.gcc-finder-match.is-coos-bay { border-top: 4px solid var(--gcc-orange); background: var(--gcc-green); }
.gcc-finder-match.is-coos-bay h4 { color: #fff; }
.gcc-finder-match.is-coos-bay p { color: rgba(255,255,255,.76); }
.gcc-finder-match.is-coos-bay span { color: var(--gcc-orange); }
.gcc-finder-match.is-coquille { border: 1px solid rgba(141,40,40,.35); border-top: 4px solid var(--gcc-red); background: #fff; }
.gcc-finder-match.is-coquille h4,
.gcc-finder-match.is-coquille span { color: var(--gcc-red); }

/* Dark sections and programs */
.gcc-dark { background: var(--gcc-ink); color: var(--gcc-paper); }
.gcc-dark .gcc-eyebrow { color: #aaa69e; }
.gcc-dark .gcc-eyebrow::before { background: var(--gcc-orange); }
.gcc-dark h2 { color: var(--gcc-paper) !important; }
.gcc-dark h2 em { color: var(--gcc-green-bright) !important; }
.gcc-heading > p { margin: 0; color: var(--gcc-gray); font-size: 14px; line-height: 1.7; }
.gcc-dark .gcc-heading > p { color: #aaa69e; }
.gcc-program-grid { display: grid; margin-top: 43px; border-top: 1px solid var(--gcc-dark-line); border-left: 1px solid var(--gcc-dark-line); }
.gcc-program { min-height: 300px; padding: 24px; border-right: 1px solid var(--gcc-dark-line); border-bottom: 1px solid var(--gcc-dark-line); display: flex; flex-direction: column; }
.gcc-card-meta { display: flex; justify-content: space-between; gap: 16px; color: #77746e; font-size: 9px; }
.gcc-card-meta b { color: var(--gcc-green-bright); text-align: right; letter-spacing: .1em; text-transform: uppercase; }
.gcc-program h3 { margin: 46px 0 13px; color: var(--gcc-paper) !important; font: 35px/1 var(--gcc-display) !important; text-transform: uppercase; }
.gcc-program > p { margin: 0; color: #aaa69e; font-size: 13px; line-height: 1.68; }
.gcc-program small { margin-top: auto; padding-top: 20px; border-top: 1px solid var(--gcc-dark-line); color: #d2cfc7; font-size: 11px; }

/* Coaches */
.gcc-coaches { background: var(--gcc-paper-2); }
.gcc-coach-grid { display: grid; gap: 11px; margin-top: 43px; }
.gcc-coach-card { min-height: 190px; display: grid; grid-template-columns: 38% 1fr; background: var(--gcc-paper); border-bottom: 1px solid var(--gcc-line); }
.gcc-coach-card img,
.gcc-coach-placeholder { width: 100%; height: 100%; min-height: 190px; object-fit: cover; }
.gcc-coach-placeholder { display: grid; place-items: center; background: var(--gcc-ink); color: var(--gcc-green-bright); }
.gcc-coach-placeholder span { font: 52px/1 var(--gcc-display); }
.gcc-coach-copy { padding: 21px 18px; display: flex; flex-direction: column; align-items: flex-start; }
.gcc-coach-copy p { margin: 0; color: var(--gcc-gray); font-size: 8px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.gcc-coach-copy h3 { margin: 24px 0 9px; color: var(--gcc-ink) !important; font: 30px/1 var(--gcc-display) !important; text-transform: uppercase; }
.gcc-coach-copy strong { color: var(--gcc-green); font-size: 10px; line-height: 1.45; letter-spacing: .06em; text-transform: uppercase; }
.gcc-coach-copy span { margin-top: 12px; color: #66635c; font-size: 12px; line-height: 1.55; }

/* Schedule */
.gcc-home-today { padding: 34px 0; background: var(--gcc-paper-2); }
.gcc-home-today .gcc-today { margin: 0; }
.gcc-today {
  position: relative;
  isolation: isolate;
  margin-bottom: 42px;
  overflow: hidden;
  border-top: 5px solid var(--gcc-orange);
  background-color: var(--gcc-green);
  background-image: url("assets/coos-county-trees-overlay.png");
  background-repeat: no-repeat;
  background-position: right -55px bottom -80px;
  background-size: clamp(260px, 36vw, 480px) auto;
  color: #fff;
  box-shadow: var(--gcc-shadow);
}
.gcc-today::before {
  content: "";
  position: absolute;
  right: -110px;
  bottom: -135px;
  z-index: -1;
  width: 290px;
  aspect-ratio: 1;
  border: clamp(30px, 4.5vw, 66px) solid rgba(91, 77, 42, .34);
  transform: rotate(27deg);
  pointer-events: none;
}
.gcc-today.is-selected-coos-bay { border-top-color: var(--gcc-orange); background-color: var(--gcc-green); }
.gcc-today.is-selected-coquille { border-top-color: var(--gcc-red); background-color: var(--gcc-red-dark); }
.gcc-today.is-selected-coquille::before { border-color: rgba(77, 25, 25, .32); }
.gcc-today.is-selected-coquille .gcc-today-heading span::before { background: #fff; }
.gcc-today-heading { display: grid; gap: 18px; padding: 25px 20px 28px; border-bottom: 1px solid rgba(255,255,255,.28); }
.gcc-today-heading span { display: flex; align-items: center; gap: 10px; color: #fff; font-size: 8px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }
.gcc-today-heading span::before { content: ""; width: 34px; height: 4px; background: var(--gcc-orange); }
.gcc-today-heading h2 { margin-top: 14px; color: #fff !important; font-size: clamp(42px, 12vw, 66px) !important; line-height: .88 !important; }
.gcc-today-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.gcc-today-tabs button {
  min-height: 50px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.62);
  border-radius: 0;
  background: transparent;
  color: #fff;
  box-shadow: none;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.gcc-today.is-selected-coos-bay .gcc-today-tabs button[data-today-location="Coos Bay"].is-active { border-color: var(--gcc-orange); background: var(--gcc-orange); color: var(--gcc-ink); }
.gcc-today.is-selected-coquille .gcc-today-tabs button[data-today-location="Coquille"].is-active { border-color: #fff; background: #fff; color: var(--gcc-red-dark); }
.gcc-today-locations { display: grid; }
.gcc-today-location { padding: 22px 18px 24px; border-bottom: 1px solid var(--gcc-line); background: #fff; }
.gcc-today-location:last-child { border-bottom: 0; }
.gcc-today-location > h3 { margin: 0 0 15px; color: var(--gcc-green); font: 32px/1 var(--gcc-display); text-transform: uppercase; }
.gcc-today-location > h3::after { content: ""; display: block; width: 44px; height: 4px; margin-top: 9px; background: var(--gcc-orange); }
.gcc-today-location.is-coquille { background: #fff; color: var(--gcc-ink); }
.gcc-today-location.is-coquille > h3 { color: var(--gcc-red); }
.gcc-today-location.is-coquille > h3::after { background: var(--gcc-red); }
.gcc-today-list { display: grid; gap: 10px; }
.gcc-today-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 5px 14px;
  min-height: 142px;
  border: 1px solid rgba(45,57,38,.28);
  border-top: 4px solid var(--gcc-orange);
  background: #fff;
}
.gcc-today-list time { align-self: end; padding: 16px 16px 0; color: var(--gcc-green); font-size: 14px; font-weight: 900; }
.gcc-today-list article > div { padding: 5px 16px 0; }
.gcc-today-list strong { color: var(--gcc-green); font: 25px/1.05 var(--gcc-display); text-transform: uppercase; }
.gcc-today-list p { margin: 7px 0 0; color: var(--gcc-gray); font-size: 14px; line-height: 1.55; }
.gcc-today-list .gcc-today-note { padding-left: 9px; border-left: 3px solid var(--gcc-orange); color: var(--gcc-ink); }
.gcc-today-level { align-self: start; padding: 5px 16px 16px; color: var(--gcc-green); font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.gcc-today-location.is-coquille .gcc-today-list article { border-color: rgba(141,40,40,.35); border-top-color: var(--gcc-red); background: #fff; }
.gcc-today-location.is-coquille .gcc-today-list time,
.gcc-today-location.is-coquille .gcc-today-level { color: var(--gcc-red); }
.gcc-today-location.is-coquille .gcc-today-list strong { color: var(--gcc-ink); }
.gcc-today-location.is-coquille .gcc-today-list p { color: var(--gcc-red); }
.gcc-today-location.is-coquille .gcc-today-list .gcc-today-note { border-left-color: var(--gcc-red); color: var(--gcc-ink); }
.gcc-today-empty { padding: 30px 0; }
.gcc-today-empty strong { color: var(--gcc-green); font: 26px/1 var(--gcc-display); text-transform: uppercase; }
.gcc-today-location.is-coquille .gcc-today-empty strong { color: var(--gcc-red); }
.gcc-today-actions { display: grid; gap: 10px; padding: 18px; border-top: 1px solid rgba(255,255,255,.28); }
.gcc-today-actions .gcc-primary { border-color: var(--gcc-orange) !important; background: var(--gcc-orange) !important; color: var(--gcc-ink) !important; }
.gcc-today-trial { border-color: rgba(255,255,255,.58) !important; background: var(--gcc-ink) !important; color: #fff !important; }
.gcc-today.is-selected-coquille .gcc-today-actions .gcc-primary { border-color: #fff !important; background: #fff !important; color: var(--gcc-red-dark) !important; }
.gcc-highlights { margin-top: 38px; padding: 21px; border-top: 4px solid var(--gcc-green); background: var(--gcc-ink); color: #fff; }
.gcc-highlights-heading span { color: var(--gcc-green-bright); font-size: 8px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.gcc-highlights-heading h3 { margin: 7px 0 20px; color: #fff !important; font: 27px/1 var(--gcc-display) !important; text-transform: uppercase; }
.gcc-highlight-list { display: grid; gap: 1px; background: #33342f; }
.gcc-highlights-heading h2 { margin: 7px 0 20px; color: #fff !important; font-size: 27px !important; line-height: 1 !important; }
.gcc-highlight { padding: 16px; background: #1d1e1a; }
.gcc-highlight time { color: var(--gcc-green-bright); font-size: 10px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.gcc-highlight h4 { margin: 11px 0 5px; color: #fff; font: 21px/1 var(--gcc-display); text-transform: uppercase; }
.gcc-highlight p { margin: 0; color: #aaa69e; font-size: 11px; line-height: 1.5; }
.gcc-highlight > span { display: block; margin-top: 11px; color: #d7d3cb; font-size: 8px; letter-spacing: .1em; text-transform: uppercase; }
.gcc-schedule-tools { display: grid; gap: 10px; margin: 34px 0 22px; }
.gcc-tabs { display: flex; gap: 4px; padding: 4px; overflow-x: auto; border: 1px solid rgba(45,57,38,.14); background: var(--gcc-paper-3); scrollbar-width: thin; }
.gcc-tabs button {
  flex: 1;
  min-width: max-content;
  min-height: 44px !important;
  padding: 10px 13px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--gcc-green-dark) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.gcc-tabs button.is-active { background: var(--gcc-ink) !important; color: #fff !important; }
.gcc-tabs button[hidden] { display: none !important; }
.gcc-class-list { border-top: 0; }
.gcc-class { display: grid; gap: 12px; padding: 22px 0; border-bottom: 1px solid var(--gcc-line); }
.gcc-class[hidden] { display: none; }
.gcc-class time { display: flex; justify-content: space-between; gap: 18px; color: var(--gcc-green); font-size: 13px; font-weight: 900; }
.gcc-class time strong { color: var(--gcc-ink); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }
.gcc-class h3 { margin: 0; color: var(--gcc-ink) !important; font: 25px/1.08 var(--gcc-display) !important; text-transform: uppercase; }
.gcc-class-copy > p { margin: 7px 0 0; color: #69665f; font-size: 12px; line-height: 1.55; }
.gcc-class-coach { display: inline-flex; margin-top: 9px; padding: 5px 8px; border-left: 3px solid var(--gcc-orange); background: var(--gcc-paper-3); color: var(--gcc-green); font-size: 11px; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.gcc-class-note { padding: 10px 11px; border-left: 3px solid var(--gcc-green); background: var(--gcc-paper-2); color: #48453f !important; }
.gcc-class-specials { margin-top: 14px; padding: 14px; border-left: 4px solid var(--gcc-orange); background: var(--gcc-paper-3); }
.gcc-class-specials > strong { display: block; margin-bottom: 8px; color: var(--gcc-green) !important; font: 18px/1 var(--gcc-display) !important; text-transform: uppercase; }
.gcc-class-specials ul { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.gcc-class-specials li { display: grid; grid-template-columns: 54px minmax(0, 1fr); gap: 9px; padding-top: 7px; border-top: 1px solid rgba(45,57,38,.16); color: var(--gcc-gray); font-size: 12px; line-height: 1.45; }
.gcc-class-specials li:first-child { padding-top: 0; border-top: 0; }
.gcc-class-specials time,
.gcc-today-list .gcc-class-specials time { display: block; align-self: start; padding: 0; color: var(--gcc-orange); font-size: 11px; font-weight: 900; line-height: 1.45; }
.gcc-class-specials b { color: var(--gcc-ink); }
.gcc-class-meta { display: flex; flex-wrap: wrap; gap: 6px; }
.gcc-level,
.gcc-location-badge { display: inline-flex; align-items: center; min-height: 29px; padding: 6px 9px; border: 1px solid var(--gcc-line); font-size: 8px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.gcc-level-beginner-friendly { border-color: var(--gcc-green); background: var(--gcc-green); color: #fff; }
.gcc-level-all-levels { border-color: var(--gcc-green); color: var(--gcc-green); }
.gcc-level-advanced,
.gcc-level-experienced-students { border-color: var(--gcc-ink); background: var(--gcc-ink); color: #fff; }
.gcc-location-badge { background: transparent; color: var(--gcc-gray); }
.gcc-schedule-section .gcc-tabs button[data-location="Coos Bay"].is-active { box-shadow: inset 0 4px 0 var(--gcc-orange) !important; background: var(--gcc-green) !important; color: #fff !important; }
.gcc-schedule-section .gcc-tabs button[data-location="Coquille"].is-active { box-shadow: inset 0 4px 0 #fff !important; background: var(--gcc-red) !important; color: #fff !important; }
.gcc-schedule-section.is-coos-bay .gcc-day-tabs button.is-active { background: var(--gcc-orange) !important; color: var(--gcc-ink) !important; }
.gcc-schedule-section.is-coquille .gcc-day-tabs button.is-active { background: var(--gcc-red) !important; color: #fff !important; }
.gcc-schedule-section.is-coos-bay .gcc-class-list {
  padding: 12px;
  background: #fff;
}
.gcc-schedule-section.is-coos-bay .gcc-class { padding: 18px; border: 1px solid rgba(45,57,38,.25); border-top: 4px solid var(--gcc-orange); background: #fff; }
.gcc-schedule-section.is-coos-bay .gcc-class time { color: var(--gcc-green); }
.gcc-schedule-section.is-coos-bay .gcc-class time strong { padding: 8px 10px; background: var(--gcc-green); color: #fff; }
.gcc-schedule-section.is-coos-bay .gcc-class h3 { color: var(--gcc-green) !important; }
.gcc-schedule-section.is-coos-bay .gcc-class-copy > p { color: var(--gcc-gray); }
.gcc-schedule-section.is-coos-bay .gcc-class-note { border-left-color: var(--gcc-orange); background: #f5f6f2; color: var(--gcc-ink) !important; }
.gcc-schedule-section.is-coos-bay .gcc-level,
.gcc-schedule-section.is-coos-bay .gcc-location-badge { border-color: var(--gcc-green); color: var(--gcc-green); background: #fff; }
.gcc-schedule-section.is-coquille .gcc-class-list { padding: 12px; background: #fff; }
.gcc-schedule-section.is-coquille .gcc-class { padding: 18px; border: 1px solid rgba(141,40,40,.28); border-top: 4px solid var(--gcc-red); background: #fff; }
.gcc-schedule-section.is-coquille .gcc-class time { color: var(--gcc-red); }
.gcc-schedule-section.is-coquille .gcc-class time strong { padding: 8px 10px; background: var(--gcc-red-dark); color: #fff !important; }
.gcc-schedule-section.is-coquille .gcc-class h3 { color: var(--gcc-red) !important; }
.gcc-schedule-section.is-coquille .gcc-class-copy > p { color: var(--gcc-red); }
.gcc-schedule-section.is-coquille .gcc-class-coach,
.gcc-today-location.is-coquille .gcc-class-coach { border-left-color: var(--gcc-red); background: #f7eaea; color: var(--gcc-red); }
.gcc-schedule-section.is-coquille .gcc-class-note { border-left-color: var(--gcc-red); background: #fff4f4; }
.gcc-schedule-section.is-coquille .gcc-class-specials { border-left-color: var(--gcc-red); background: #f7eaea; }
.gcc-schedule-section.is-coquille .gcc-class-specials > strong,
.gcc-schedule-section.is-coquille .gcc-class-specials time { color: var(--gcc-red) !important; }
.gcc-schedule-section.is-coquille .gcc-level,
.gcc-schedule-section.is-coquille .gcc-location-badge { border-color: var(--gcc-red); color: var(--gcc-red); background: #fff; }
.gcc-after-schedule { display: flex; margin-top: 28px; }
.gcc-after-schedule .gcc-button { width: 100%; }

/* Trial booking */
.gcc-trial {
  position: relative;
  background-color: var(--gcc-green);
  background-image: url("assets/coos-county-trees-overlay.png");
  background-repeat: no-repeat;
  background-position: right -85px bottom -85px;
  background-size: clamp(330px, 46vw, 700px) auto;
  color: #fff;
}
.gcc-trial::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image:
    linear-gradient(123deg, transparent 0 70%, rgba(91, 77, 42, .22) 70% 76%, transparent 76%),
    linear-gradient(31deg, transparent 0 79%, rgba(198, 93, 30, .10) 79% 83%, transparent 83%);
  background-position: center, right bottom;
  background-repeat: no-repeat;
  pointer-events: none;
}
.gcc-trial::after {
  content: "";
  display: none;
  position: absolute;
  z-index: 0;
  top: -18%;
  right: -17%;
  width: 48%;
  aspect-ratio: 1;
  border: 52px solid rgba(91, 77, 42, .30);
  transform: rotate(25deg);
  pointer-events: none;
}
.gcc-trial-layout { position: relative; z-index: 1; display: grid; gap: 34px; }
.gcc-trial .gcc-eyebrow::before { background: var(--gcc-orange); }
.gcc-trial h2 { color: #fff !important; }
.gcc-trial h2 em { color: var(--gcc-orange) !important; }
.gcc-trial .gcc-lead { margin-top: 24px; color: rgba(255,255,255,.82); }
.gcc-trial-steps { display: grid; gap: 10px; margin: 34px 0 0; padding: 0; list-style: none; }
.gcc-trial-steps li {
  position: relative;
  display: grid;
  grid-template-columns: 62px 1fr;
  min-height: 108px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.20);
  border-top: 3px solid var(--gcc-orange);
  background: rgba(9,10,9,.20);
}
.gcc-trial-steps li > span {
  display: grid;
  place-items: center;
  border-right: 1px solid rgba(255,255,255,.16);
  background: var(--gcc-ink);
  color: var(--gcc-orange);
  font: 700 25px/1 var(--gcc-body);
}
.gcc-trial-steps li > div { align-self: center; padding: 18px; }
.gcc-trial-steps strong { display: block; font: 23px/1 var(--gcc-display); letter-spacing: .01em; text-transform: uppercase; }
.gcc-trial-steps p { margin: 8px 0 0; color: rgba(255,255,255,.72); font-size: 12px; line-height: 1.55; }
.gcc-trial-form { padding: 24px; border-top: 5px solid var(--gcc-ink); background: var(--gcc-paper); color: var(--gcc-ink); box-shadow: var(--gcc-shadow); }
.gcc-trial-form .forminator-ui { margin: 0 !important; }
.gcc-trial-form label,
.gcc-trial-form .forminator-label { color: var(--gcc-ink) !important; font-size: 10px !important; font-weight: 900 !important; letter-spacing: .08em; text-transform: uppercase; }
.gcc-trial-form input:not([type="checkbox"]):not([type="radio"]),
.gcc-trial-form select,
.gcc-trial-form textarea { width: 100%; min-height: 50px; border-radius: 0 !important; }
.gcc-trial-form button,
.gcc-trial-form .forminator-button-submit { min-height: 54px !important; border-radius: 0 !important; background: var(--gcc-ink) !important; color: #fff !important; font-size: 10px !important; font-weight: 900 !important; letter-spacing: .1em; text-transform: uppercase; }
.gcc-trial-fallback h3 { margin: 0; color: var(--gcc-ink); font: 34px/1 var(--gcc-display); text-transform: uppercase; }
.gcc-trial-fallback p { color: #5f5b54; line-height: 1.65; }
.gcc-trial-fallback .gcc-button { margin-top: 10px; }
.gcc-trial-email { border-color: var(--gcc-ink) !important; color: var(--gcc-ink) !important; }
.gcc-privacy-note { margin: 18px 0 0 !important; color: var(--gcc-gray) !important; font-size: 12px !important; line-height: 1.55; }
.gcc-privacy-note a { color: inherit !important; font-weight: 800; }

/* Focused detail pages */
.gcc-page-intro { width: 100%; max-width: 820px; margin: 0 0 42px; padding: 24px; border-left: 4px solid var(--gcc-green); background: rgba(255,255,255,.07); }
.gcc-dark .gcc-page-intro { color: #d3d0c8; }
.gcc-subpage-grid { margin-top: 0; }
.gcc-subpage-values { margin-top: 0; }
.gcc-subpage-cta { display: grid; gap: 18px; margin-top: 42px; padding: 25px; border-top: 4px solid var(--gcc-green); background: var(--gcc-paper-2); color: var(--gcc-ink); }
.gcc-subpage-cta p { margin: 0; font-size: 15px; line-height: 1.65; }
.gcc-subpage-cta .gcc-button { width: 100%; }

/* Memberships */
.gcc-plan-grid { display: grid; gap: 10px; margin-top: 43px; }
.gcc-plan { min-height: 290px; padding: 26px; border-top: 4px solid #484941; background: var(--gcc-ink-soft); display: flex; flex-direction: column; }
.gcc-plan.is-featured { border-top-color: var(--gcc-green); background: var(--gcc-paper); color: var(--gcc-ink); }
.gcc-plan > p { margin: 0; color: #aaa69e; font-size: 9px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.gcc-plan h3 { margin: 33px 0 8px; color: inherit !important; font: 60px/1 var(--gcc-display) !important; }
.gcc-plan h3 small { color: #858179; font: 9px/1 var(--gcc-body) !important; letter-spacing: .1em; text-transform: uppercase; }
.gcc-plan > span { color: #9e9a92; font-size: 12px; line-height: 1.55; }
.gcc-plan > a { display: flex; justify-content: space-between; min-height: 48px; margin-top: auto; padding: 14px; border: 1px solid #4b4c45; color: inherit !important; text-decoration: none !important; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }

/* Homepage membership preview */
.gcc-home-memberships { background: var(--gcc-ink); color: var(--gcc-paper); }
.gcc-home-memberships .gcc-eyebrow { color: var(--gcc-orange); }
.gcc-home-memberships .gcc-heading > p { color: #aaa69e; }
.gcc-home-memberships h2 { color: var(--gcc-paper); }
.gcc-home-memberships h2 em { color: var(--gcc-orange); }
.gcc-home-plan-grid { display: grid; gap: 10px; margin-top: 44px; }
.gcc-home-plan { min-height: 225px; padding: 24px; border: 1px solid #3b3d37; border-top: 4px solid #55574e; background: #121411; display: flex; flex-direction: column; }
.gcc-home-plan.is-featured { border-color: var(--gcc-orange); background: var(--gcc-green-dark); }
.gcc-home-plan > p { margin: 0; color: #aaa69e; font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.gcc-home-plan h3 { margin: 34px 0 10px; color: inherit !important; font: 58px/1 var(--gcc-display) !important; }
.gcc-home-plan h3 small { color: #8e8a81; font: 11px/1 var(--gcc-body) !important; letter-spacing: .08em; text-transform: uppercase; }
.gcc-home-plan > span { margin-top: auto; color: #aaa69e; font-size: 14px; line-height: 1.6; }
.gcc-membership-actions { display: grid; gap: 10px; margin-top: 24px; }
.gcc-home-memberships .gcc-secondary { border-color: #5b5d54; color: var(--gcc-paper) !important; }

/* Locations, FAQ, and final CTA */
.gcc-location-grid { display: grid; gap: 11px; }
.gcc-location-grid article { min-height: 285px; padding: 25px; border: 1px solid var(--gcc-line); border-top: 5px solid var(--gcc-green); background: var(--gcc-paper); display: flex; flex-direction: column; }
.gcc-location-grid .gcc-coos-bay { border-color: var(--gcc-orange); background: var(--gcc-green-dark); color: #fff; }
.gcc-location-grid .gcc-coquille { border-color: rgba(141,40,40,.28); border-top-color: var(--gcc-red); background: #fff; color: var(--gcc-red); }
.gcc-location-grid .gcc-coquille p { color: var(--gcc-gray); }
.gcc-location-grid > article > span { opacity: .72; font: 700 25px/1 var(--gcc-body); }
.gcc-location-grid h3 { margin: 47px 0 12px; color: inherit !important; font: 42px/1 var(--gcc-display) !important; text-transform: uppercase; }
.gcc-location-grid p { margin: 0; font-size: 13px; line-height: 1.65; }
.gcc-location-actions { display: grid; gap: 8px; margin-top: auto; padding-top: 24px; }
.gcc-location-actions a { display: flex; align-items: center; min-height: 46px; padding: 10px 12px; border: 1px solid currentColor; color: inherit !important; text-decoration: none !important; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.gcc-faqs { margin-top: 40px; border-top: 1px solid var(--gcc-dark-line); }
.gcc-faqs details { border-bottom: 1px solid var(--gcc-dark-line); }
.gcc-faqs summary { position: relative; padding: 24px 42px 24px 0; color: var(--gcc-paper); cursor: pointer; list-style: none; font: 23px/1.05 var(--gcc-display); text-transform: uppercase; }
.gcc-faqs summary::-webkit-details-marker { display: none; }
.gcc-faqs summary::after { content: "+"; position: absolute; right: 5px; color: var(--gcc-green-bright); }
.gcc-faqs details[open] summary::after { content: "–"; }
.gcc-faqs details p { margin: 0 0 25px; color: #aaa69e; font-size: 14px; line-height: 1.72; }
.gcc-final {
  background-color: var(--gcc-green);
  background-image: url("assets/coos-county-trees-overlay.png");
  background-repeat: no-repeat;
  background-position: right -75px bottom -95px;
  background-size: clamp(280px, 38vw, 520px) auto;
  color: #fff;
  text-align: center;
}
.gcc-final .gcc-eyebrow { justify-content: center; }
.gcc-final .gcc-eyebrow::before { background: #fff; }
.gcc-final h2,
.gcc-final h2 em { color: #fff !important; }
.gcc-final p { max-width: 650px; margin: 23px auto 0; line-height: 1.68; }
.gcc-final-actions { max-width: 600px; margin-inline: auto; }

/* Brevo signup and footer */
.gcc-signup { padding: 64px 0; background: var(--gcc-paper-2); }
.gcc-signup h2 { font-size: clamp(38px, 11vw, 58px) !important; }
.gcc-signup p { max-width: 630px; color: #5f5b54; font-size: 14px; line-height: 1.65; }
.gcc-signup-form { padding: 21px; border-top: 4px solid var(--gcc-green); background: var(--gcc-paper); }
.gcc-signup-form form,
.gcc-signup-form .sib_signup_form { margin: 0 !important; padding: 0 !important; background: transparent !important; }
.gcc-signup-form label { display: block; margin-bottom: 6px; color: var(--gcc-ink); font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.gcc-signup-form input:not([type="checkbox"]):not([type="radio"]),
.gcc-signup-form select,
.gcc-signup-form textarea { width: 100%; min-height: 50px; margin-bottom: 10px; padding: 12px; border: 1px solid var(--gcc-line); border-radius: 0; background: #fff; color: var(--gcc-ink); }
.gcc-signup-form input[type="submit"],
.gcc-signup-form button { min-height: 50px; padding: 12px 18px; border: 0; border-radius: 0; background: var(--gcc-green); color: #fff; font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.gcc-admin-placeholder { margin: 0 !important; padding: 16px; border: 1px dashed var(--gcc-green); }
.gcc-footer { padding: 56px 0 28px; background: #090a09; color: #d5d2ca; }
.gcc-footer-grid { display: grid; gap: 31px; }
.gcc-footer img { width: 88px; height: auto; }
.gcc-footer p,
.gcc-footer a { color: #918d85 !important; font-size: 12px; line-height: 1.65; }
.gcc-footer a { display: flex; align-items: center; min-height: 36px; margin: 1px 0; text-decoration: none !important; overflow-wrap: anywhere; }
.gcc-footer h3 { margin: 0 0 12px; color: #77736c; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }
.gcc-copyright { padding-top: 22px; border-top: 1px solid #292a26; font-size: 8px !important; letter-spacing: .09em; text-transform: uppercase; }
.gcc-mobile-nav { position: fixed; z-index: 120; right: 0; bottom: 0; left: 0; height: calc(72px + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid #31322d; background: #090a09; }
.gcc-mobile-nav a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-width: 0; color: #eee !important; text-decoration: none !important; font-size: 7px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.gcc-mobile-nav b { font-size: 15px; line-height: 1; }
.gcc-mobile-nav a:last-child { background: var(--gcc-green); }

/* WordPress documents, posts, archives, and member hub */
.gcc-document { min-height: 65vh; padding: 55px 0 88px; background: var(--gcc-paper); }
.gcc-document-header {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 50px 0 40px;
  background-color: var(--gcc-green);
  background-image: url("assets/coos-county-trees-overlay.png");
  background-repeat: no-repeat;
  background-position: right -45px bottom -80px;
  background-size: clamp(270px, 34vw, 490px) auto;
  color: var(--gcc-paper);
}
.gcc-document-header::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image:
    linear-gradient(123deg, transparent 0 73%, rgba(91, 77, 42, .32) 73% 79%, transparent 79%),
    linear-gradient(31deg, transparent 0 82%, rgba(198, 93, 30, .12) 82% 86%, transparent 86%);
  background-position: center, right bottom;
  background-repeat: no-repeat;
  pointer-events: none;
}
.gcc-document-header h1 { max-width: 950px; margin: 0; color: var(--gcc-paper); font: clamp(43px, 12vw, 74px)/.94 var(--gcc-display); text-transform: uppercase; }
.gcc-document-header h1 em { color: var(--gcc-orange); font-style: normal; }
.gcc-document-header p { max-width: 720px; margin: 18px 0 0; color: rgba(255,255,255,.76); line-height: 1.65; }
.gcc-content { width: calc(100% - 36px); max-width: 780px; margin-inline: auto; font-size: 17px; line-height: 1.75; }
.gcc-content > *:first-child { margin-top: 0; }
.gcc-content a { color: var(--gcc-green); text-underline-offset: 3px; }
.gcc-content img { height: auto; max-width: 100%; }
.gcc-content h2,
.gcc-content h3,
.gcc-content h4 { margin: 1.4em 0 .55em; color: var(--gcc-ink); font-family: var(--gcc-display); line-height: 1.05; text-transform: uppercase; }
.gcc-content h2 { font-size: clamp(34px, 9vw, 54px) !important; }
.gcc-content h3 { font-size: 30px; }
.gcc-content blockquote { margin: 28px 0; padding: 6px 0 6px 22px; border-left: 4px solid var(--gcc-green); font-size: 1.12em; }
.gcc-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.gcc-content th,
.gcc-content td { padding: 12px; border: 1px solid var(--gcc-line); text-align: left; }
.gcc-post-list { display: grid; gap: 18px; width: calc(100% - 36px); max-width: 1000px; margin-inline: auto; }
.gcc-post-card { padding: 25px; border-top: 4px solid var(--gcc-green); background: #fff; }
.gcc-post-card h2 { margin: 0 0 10px !important; font-size: 34px !important; }
.gcc-post-card h2 a { color: var(--gcc-ink); text-decoration: none; }
.gcc-post-card p { color: #66635c; }
.gcc-post-meta { font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.gcc-pagination { width: calc(100% - 36px); max-width: 1000px; margin: 30px auto 0; }
.gcc-pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.gcc-pagination a,
.gcc-pagination span { padding: 10px 13px; background: #fff; color: var(--gcc-ink); text-decoration: none; }
.gcc-pagination .current { background: var(--gcc-green); color: #fff; }
.gcc-empty { padding: 30px; border-top: 4px solid var(--gcc-green); background: #fff; }
.gcc-search-form { display: flex; max-width: 520px; }
.gcc-search-form label { flex: 1; }
.gcc-search-form input[type="search"] { width: 100%; min-height: 50px; padding: 12px; border: 1px solid var(--gcc-line); background: #fff; }
.gcc-search-form button { min-height: 50px; padding: 12px 18px; border: 0; background: var(--gcc-green); color: #fff; font-weight: 800; text-transform: uppercase; }
.gcc-comments { width: calc(100% - 36px); max-width: 780px; margin: 0 auto 80px; }
.gcc-comments ol { padding-left: 22px; }
.gcc-comments textarea,
.gcc-comments input:not([type="submit"]) { width: 100%; padding: 11px; }
.gcc-comments input[type="submit"] { padding: 13px 18px; border: 0; background: var(--gcc-green); color: #fff; font-weight: 800; }
.gcc-comments h2 { font-size: 32px !important; }
.gcc-member-hero {
  padding: 64px 0;
  background-color: var(--gcc-ink);
  background-image: url("assets/coos-county-trees-overlay.png");
  background-repeat: no-repeat;
  background-position: right -55px bottom -95px;
  background-size: clamp(300px, 42vw, 580px) auto;
  color: var(--gcc-paper);
}
.gcc-member-hero h1 { margin: 0; color: var(--gcc-paper); font: clamp(49px, 13vw, 86px)/.89 var(--gcc-display); text-transform: uppercase; }
.gcc-member-hero p { max-width: 680px; color: #aaa69e; font-size: 17px; line-height: 1.65; }
.gcc-member-grid { display: grid; gap: 12px; margin-top: 30px; }
.gcc-member-card { min-height: 195px; padding: 23px; border-top: 4px solid var(--gcc-green); background: #fff; display: flex; flex-direction: column; color: var(--gcc-ink); text-decoration: none; }
.gcc-member-card span { color: var(--gcc-green); font-size: 10px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.gcc-member-card h2 { margin: 28px 0 10px !important; font-size: 32px !important; }
.gcc-member-card p { margin: 0; color: #66635c; font-size: 14px; }
.gcc-member-card b { margin-top: auto; padding-top: 18px; font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.gcc-member-note { margin-top: 25px; padding: 20px; border-left: 4px solid var(--gcc-green); background: var(--gcc-paper-2); }
.gcc-login-panel { max-width: 680px; padding: 28px; border-top: 4px solid var(--gcc-green); background: #fff; }
.gcc-login-panel h2 { margin-top: 0 !important; }
.gcc-login-actions { display: grid; gap: 10px; margin-top: 24px; }
.gcc-login-actions .gcc-button { width: 100%; }
.gcc-content .wp-block-button__link,
.gcc-content .sc-button,
.gcc-content [class*="surecart"] button { border-radius: 0; }

/* Interactive Programs page */
.gcc-programs-page { background: var(--gcc-paper); }
.gcc-program-intro { display: grid; gap: 10px; max-width: 850px; margin-bottom: 34px; }
.gcc-program-intro .gcc-eyebrow { margin-bottom: 4px; color: var(--gcc-green); }
.gcc-program-intro > p:last-child { margin: 0; color: var(--gcc-gray); font-size: 17px; line-height: 1.7; }
.gcc-program-accordion { border-top: 1px solid var(--gcc-line); }
.gcc-program-detail { border-right: 1px solid var(--gcc-line); border-bottom: 1px solid var(--gcc-line); border-left: 1px solid var(--gcc-line); background: #fff; }
.gcc-program-detail[open] { border-top: 5px solid var(--gcc-orange); box-shadow: var(--gcc-shadow); }
.gcc-program-detail summary {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 34px;
  gap: 12px;
  align-items: center;
  min-height: 96px;
  padding: 18px;
  cursor: pointer;
  list-style: none;
}
.gcc-program-detail summary::-webkit-details-marker { display: none; }
.gcc-program-detail summary > strong { color: var(--gcc-ink); font: 29px/.98 var(--gcc-display); text-transform: uppercase; }
.gcc-program-detail summary > b { grid-column: 1; color: var(--gcc-green); font-size: 11px; line-height: 1.4; letter-spacing: .08em; text-transform: uppercase; }
.gcc-program-detail summary > i { grid-row: 1 / span 2; grid-column: 2; color: var(--gcc-orange); font: normal 32px/1 var(--gcc-body); text-align: center; }
.gcc-program-detail[open] summary > i { transform: rotate(45deg); }
.gcc-program-detail-body { padding: 0 18px 22px; }
.gcc-program-detail-body > p { margin: 0; color: var(--gcc-gray); font-size: 16px; line-height: 1.72; }
.gcc-program-benefit { display: flex; gap: 10px; align-items: flex-start; margin-top: 20px; padding: 15px; background: var(--gcc-paper-2); color: var(--gcc-green); font-size: 14px; line-height: 1.5; }
.gcc-program-benefit > span { color: var(--gcc-orange); font-weight: 900; }
.gcc-program-information { display: grid; gap: 12px; margin-top: 12px; }
.gcc-program-information > div,
.gcc-program-information section { padding: 18px; border: 1px solid rgba(45,57,38,.16); background: var(--gcc-paper); }
.gcc-program-information > div:last-child { display: grid; gap: 12px; padding: 0; border: 0; }
.gcc-program-information span,
.gcc-program-availability strong { display: block; margin-bottom: 10px; color: var(--gcc-green); font-size: 11px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.gcc-program-training { border-top: 4px solid var(--gcc-orange) !important; background: var(--gcc-paper-3) !important; }
.gcc-program-training ul { display: grid; gap: 9px; margin: 0; padding: 0; list-style: none; }
.gcc-program-training li { position: relative; padding-left: 19px; color: var(--gcc-ink); font-size: 14px; line-height: 1.5; }
.gcc-program-training li::before { content: "→"; position: absolute; left: 0; color: var(--gcc-orange); font-weight: 900; }
.gcc-program-information section p { margin: 0; color: var(--gcc-gray); font-size: 14px; line-height: 1.65; }
.gcc-program-close { display: grid; gap: 1px; margin-top: 18px; background: var(--gcc-line); }
.gcc-program-availability { margin: 0 !important; padding: 16px 18px; border-left: 4px solid var(--gcc-green); background: var(--gcc-green); color: #fff !important; font-size: 14px !important; line-height: 1.55 !important; }
.gcc-program-availability strong { margin-bottom: 5px; color: var(--gcc-orange); }
.gcc-program-try { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 58px; padding: 16px 18px; border-top: 4px solid var(--gcc-orange); background: var(--gcc-ink); color: #fff !important; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-decoration: none !important; text-transform: uppercase; }
.gcc-program-try:hover,
.gcc-program-try:focus-visible { background: var(--gcc-orange); color: var(--gcc-ink) !important; }

/* SureCart storefront: protect product typography from display-title rules. */
.surecart-theme-light .gcc-document .gcc-content { max-width: 1380px; }
.surecart-theme-light .wp-block-surecart-product-template {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 24px !important;
}
.surecart-theme-light .sc-product-item-link { height: 100%; color: var(--gcc-ink) !important; text-decoration: none !important; }
.surecart-theme-light .sc-product-item-link img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.surecart-theme-light .wp-block-surecart-product-title {
  margin: 16px 0 7px !important;
  color: var(--gcc-ink) !important;
  font-family: var(--gcc-body) !important;
  font-size: clamp(20px, 5vw, 27px) !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  overflow-wrap: anywhere;
  text-transform: none !important;
}

/* V19 readability floor: keep the compressed athletic look without tiny copy. */
.gcc-alert,
.gcc-brand,
.gcc-nav a,
.gcc-header-cta,
.gcc-header-waiver,
.gcc-eyebrow,
.gcc-button,
.gcc-path-card > b,
.gcc-finder-panel legend,
.gcc-choice > span,
.gcc-card-meta,
.gcc-coach-copy p,
.gcc-today-heading span,
.gcc-today-level,
.gcc-highlight > span,
.gcc-highlights-heading span,
.gcc-highlight time,
.gcc-level,
.gcc-location-badge,
.gcc-tabs button,
.gcc-class time strong,
.gcc-trial-form .forminator-label,
.gcc-trial-form .forminator-button-submit,
.gcc-plan > p,
.gcc-plan > a,
.gcc-location-actions a,
.gcc-signup-form label,
.gcc-signup-form button,
.gcc-footer h3,
.gcc-copyright,
.gcc-post-meta,
.gcc-member-card span,
.gcc-member-card b { font-size: max(11px, 0.72rem) !important; }
.gcc-stats span { font-size: max(10px, .66rem); }
.gcc-hero-media figcaption,
.gcc-mobile-nav a { font-size: 10px !important; }
.gcc-coach-copy strong { font-size: 12px; }
.gcc-path-card > p,
.gcc-values p,
.gcc-program > p,
.gcc-coach-copy span,
.gcc-today-heading p,
.gcc-today-list p,
.gcc-class-copy > p,
.gcc-highlight p { font-size: 14px; }
.gcc-footer p,
.gcc-footer a { font-size: 13px; line-height: 1.6; }

@media (min-width: 700px) {
  body.gcc-site { padding-bottom: 0 !important; }
  .gcc-wrap { width: min(89vw, 1380px); }
  .gcc-fight-promo > a { grid-template-columns: auto minmax(0, 1fr) auto; min-height: 68px; width: min(89vw, 1380px); padding: 7px 0; }
  .gcc-c4-mark { grid-row: 1; width: 50px; min-height: 50px; }
  .gcc-fight-promo-copy strong { font-size: 13px; }
  .gcc-fight-promo-copy small { font-size: 10px; }
  .gcc-fight-promo-cta { grid-column: 3; width: auto; padding: 13px 16px; border: 1px solid var(--gcc-orange); background: var(--gcc-red); color: #fff; white-space: nowrap; }
  .gcc-actions,
  .gcc-final-actions,
  .gcc-result-actions { grid-template-columns: repeat(2, minmax(210px, 1fr)); }
  .gcc-hero { padding-bottom: 62px; }
  .gcc-today::before { right: -18%; bottom: -52%; width: 56%; }
  .gcc-hero-media { min-height: 0; margin: 0; }
  .gcc-hero-media img { min-height: 0; }
  .gcc-values { grid-template-columns: repeat(3, 1fr); }
  .gcc-path-grid { grid-template-columns: repeat(2, 1fr); }
  .gcc-values article { padding: 29px 31px 12px 0; border-bottom: 0; }
  .gcc-finder-layout,
  .gcc-split,
  .gcc-location-layout,
  .gcc-trial-layout,
  .gcc-signup-layout { grid-template-columns: 1fr 1fr; gap: 7vw; align-items: start; }
  .gcc-membership-actions { grid-template-columns: repeat(2, minmax(210px, 1fr)); max-width: 760px; }
  .gcc-finder-panel { padding: 33px; }
  .gcc-day-choice { flex-basis: calc(33.333% - 7px); }
  .gcc-program-grid { grid-template-columns: repeat(2, 1fr); }
  .gcc-coach-grid { grid-template-columns: repeat(2, 1fr); }
  .gcc-highlight-list { grid-template-columns: repeat(2, 1fr); }
  .gcc-today-heading { grid-template-columns: 1fr auto; align-items: end; padding: 28px; }
  .gcc-today-locations { grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); }
  .gcc-home-today { padding: 56px 0; }
  .gcc-today-location { padding: 26px; border-right: 1px solid rgba(255,255,255,.28); border-bottom: 0; }
  .gcc-today-location:last-child { border-right: 0; }
  .gcc-today-list article { grid-template-columns: 150px minmax(0, 1fr) 110px; gap: 0; align-items: stretch; min-height: 126px; }
  .gcc-today-list time { align-self: center; padding: 18px; }
  .gcc-today-list article > div { align-self: center; padding: 18px; }
  .gcc-today-level { align-self: center; padding: 18px; text-align: right; }
  .gcc-today-actions { grid-template-columns: repeat(2, minmax(210px, 280px)); justify-content: flex-end; padding: 22px 26px; }
  .gcc-schedule-tools { display: flex; justify-content: space-between; }
  .gcc-class { grid-template-columns: 175px minmax(0, 1fr) 145px; gap: 22px; align-items: center; min-height: 116px; padding: 0; }
  .gcc-class time { flex-direction: column; justify-content: center; }
  .gcc-class-copy { padding: 19px 0; }
  .gcc-class-meta { justify-content: flex-end; }
  .gcc-class-meta span { text-align: center; }
  .gcc-after-schedule { justify-content: flex-end; }
  .gcc-after-schedule .gcc-button { width: 260px; }
  .gcc-plan-grid { grid-template-columns: repeat(2, 1fr); }
  .gcc-subpage-cta { grid-template-columns: 1fr 260px; align-items: center; }
  .gcc-subpage-cta .gcc-button { width: 260px; }
  .gcc-location-grid { grid-template-columns: 1fr 1fr; }
  .gcc-footer-grid { grid-template-columns: 2fr 1fr 1fr; gap: 44px; }
  .gcc-footer-grid > div:nth-of-type(4) { grid-column: 2; }
  .gcc-copyright { grid-column: 1 / -1; }
  .gcc-mobile-nav { display: none; }
  .gcc-document { padding: 76px 0 106px; }
  .gcc-document-header { padding: 71px 0 56px; }
  .gcc-post-list,
  .gcc-member-grid { grid-template-columns: repeat(2, 1fr); }
  .gcc-login-actions { grid-template-columns: repeat(2, minmax(180px, 250px)); width: max-content; }
  .gcc-program-detail summary { grid-template-columns: minmax(0, 1fr) minmax(180px, 260px) 38px; padding: 23px 26px; }
  .gcc-program-detail summary > strong { font-size: 36px; }
  .gcc-program-detail summary > b { grid-row: 1; grid-column: 2; text-align: right; }
  .gcc-program-detail summary > i { grid-row: 1; grid-column: 3; }
  .gcc-program-detail-body { padding: 0 64px 28px 26px; }
  .gcc-program-information { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .gcc-program-close { grid-template-columns: minmax(0, 1fr) minmax(210px, 260px); align-items: stretch; }
  .gcc-program-try { border-top: 0; border-left: 4px solid var(--gcc-orange); }
  .surecart-theme-light .wp-block-surecart-product-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (min-width: 1024px) {
  html { scroll-padding-top: 88px; }
  .gcc-header { height: 80px; }
  .gcc-header-inner { grid-template-columns: auto minmax(0, 1fr) auto; gap: 20px; }
  .gcc-brand { font-size: 11px; }
  .gcc-brand img { width: 48px; height: 48px; }
  .gcc-menu { display: none !important; }
  .gcc-nav { position: static; display: block; justify-self: center; padding: 0; border: 0; background: transparent; box-shadow: none; }
  .gcc-menu-list { flex-direction: row; gap: 16px; }
  .gcc-nav a { min-height: 44px; padding: 8px 0; border: 0; font-size: 9px; }
  .gcc-header-actions { display: grid; grid-template-columns: 128px minmax(235px, 1fr); align-items: stretch; justify-self: end; gap: 7px; width: 370px; }
  .gcc-header-cta,
  .gcc-header-waiver { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 14px; color: #fff !important; text-align: center; text-decoration: none !important; font-size: max(11px, .72rem) !important; font-weight: 900; letter-spacing: .1em; line-height: 1; text-transform: uppercase; white-space: nowrap; }
  .gcc-header-cta { background: var(--gcc-ink); }
  .gcc-header-cta { gap: 8px; }
  .gcc-header-waiver { border: 2px solid var(--gcc-orange); background: var(--gcc-orange); color: var(--gcc-ink) !important; }
  .gcc-hero { min-height: calc(100vh - 80px); padding: 80px 0; display: flex; align-items: center; }
  .gcc-hero::before { right: -14%; bottom: -36%; }
  .gcc-hero-grid { position: static; display: block; }
  .gcc-hero-content { width: min(54vw, 700px); }
  .gcc-hero h1 { font-size: clamp(78px, 7.4vw, 118px) !important; }
  .gcc-hero-copy { font-size: 18px; }
  .gcc-hero-media { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; min-height: 0; aspect-ratio: auto; margin: 0; box-shadow: none; }
  .gcc-hero-media::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(9,10,9,.98) 0%, rgba(9,10,9,.91) 28%, rgba(9,10,9,.48) 43%, rgba(9,10,9,.08) 57%, rgba(9,10,9,0) 66%); pointer-events: none; }
  .gcc-hero-media::after { z-index: 2; }
  .gcc-hero-media img { height: 100%; min-height: 0; object-fit: cover; object-position: right center; }
  .gcc-section { padding: 108px 0; }
  .gcc-site h2 { font-size: clamp(64px, 6.7vw, 100px) !important; }
  .gcc-trial h2 { font-size: clamp(64px, 5.8vw, 92px) !important; }
  .gcc-trial::after { display: block; }
  .gcc-finder-section::after { display: block; }
  .gcc-split,
  .gcc-heading { grid-template-columns: 1.35fr .65fr; align-items: end; }
  .gcc-values { margin-top: 62px; }
  .gcc-program-grid { grid-template-columns: repeat(3, 1fr); margin-top: 62px; }
  .gcc-path-grid { grid-template-columns: repeat(4, 1fr); margin-top: 62px; }
  .gcc-path-card { min-height: 310px; padding: 28px; }
  .gcc-subpage-grid { margin-top: 0; }
  .gcc-program { min-height: 380px; padding: 29px; }
  .gcc-program h3 { margin-top: 67px; font-size: 39px !important; }
  .gcc-coach-grid { grid-template-columns: repeat(4, 1fr); margin-top: 62px; }
  .gcc-coach-card { display: flex; flex-direction: column; }
  .gcc-coach-card img,
  .gcc-coach-placeholder { height: 255px; min-height: 255px; }
  .gcc-coach-copy { flex: 1; min-height: 205px; }
  .gcc-highlight-list { grid-template-columns: repeat(4, 1fr); }
  .gcc-plan-grid { grid-template-columns: repeat(4, 1fr); margin-top: 62px; }
  .gcc-home-plan-grid { grid-template-columns: repeat(4, 1fr); margin-top: 62px; }
  .gcc-location-grid article { min-height: 350px; padding: 29px; }
  .gcc-location-grid h3 { margin-top: 72px; }
  .gcc-faqs { max-width: 920px; margin: 52px auto 0; }
  .gcc-signup { padding: 84px 0; }
  .gcc-footer-grid { grid-template-columns: 2fr 1fr 1fr 1.2fr; }
  .gcc-footer-grid > div:nth-of-type(4) { grid-column: auto; }
  .gcc-post-list,
  .gcc-member-grid { grid-template-columns: repeat(3, 1fr); }
  .gcc-program-intro { grid-template-columns: .45fr 1fr; align-items: start; max-width: none; margin-bottom: 48px; }
  .surecart-theme-light .wp-block-surecart-product-template { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

@media (min-width: 1300px) {
  .gcc-coach-grid { grid-template-columns: repeat(7, 1fr); }
  .gcc-coach-card img,
  .gcc-coach-placeholder { height: 210px; min-height: 210px; }
  .gcc-coach-copy { min-height: 225px; }
  .gcc-coach-copy h3 { font-size: 27px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .gcc-site * { animation: none !important; transition: none !important; }
}

.admin-bar .gcc-header { top: 46px; }
@media (min-width: 783px) { .admin-bar .gcc-header { top: 32px; } }

/* V32.2 original-green apparel overlay system */
:root {
  --gcc-apparel-overlay: url("assets/gcc-apparel-overlay-mobile.webp");
  --gcc-trees-watermark: url("assets/gcc-three-trees-watermark.webp");
}

body.gcc-site { background-color: var(--gcc-ink) !important; }

/* Content-heavy sections stay quiet; the apparel art is an accent, not wallpaper. */
.gcc-paths,
.gcc-intro,
.gcc-home-locations,
.gcc-programs-page,
.gcc-schedule-section,
.gcc-document { background: var(--gcc-paper); }

.gcc-home-today,
.gcc-coaches,
.gcc-signup { background: var(--gcc-paper-2); }

.gcc-hero { background: var(--gcc-ink); }
.gcc-dark { background: var(--gcc-ink); }
.gcc-footer { background: #090a09; }

/* Retire the previous ring, stripe, and mat-line decorations. */
.gcc-hero::before,
.gcc-finder-section::after,
.gcc-today::before,
.gcc-trial::before,
.gcc-trial::after,
.gcc-document-header::before {
  content: none !important;
  display: none !important;
}

.gcc-mat { display: none !important; }

/* The complete apparel artwork appears only in key conversion and page-header areas. */
.gcc-finder-section {
  background-color: var(--gcc-green);
  background-image:
    var(--gcc-trees-watermark),
    var(--gcc-apparel-overlay);
  background-position: right 22px top 28px, center;
  background-repeat: no-repeat;
  background-size: 64px auto, cover;
}

.gcc-trial {
  background-color: var(--gcc-green);
  background-image: var(--gcc-apparel-overlay);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: cover;
}

.gcc-member-hero,
.gcc-document-header {
  background-color: var(--gcc-green);
  background-image:
    var(--gcc-trees-watermark),
    var(--gcc-apparel-overlay);
  background-position: right 20px top 22px, right center;
  background-repeat: no-repeat;
  background-size: 60px auto, cover;
}

/* The final CTA carries only a faint owner-supplied mark, not another full pattern. */
.gcc-final {
  background-color: var(--gcc-green);
  background-image:
    var(--gcc-trees-watermark),
    linear-gradient(rgba(32, 41, 27, .96), rgba(32, 41, 27, .96));
  background-position: center top 30px, center;
  background-repeat: no-repeat;
  background-size: 70px auto, cover;
}

.gcc-header { border-bottom-color: rgba(198, 93, 30, .18); }

@media (min-width: 700px) {
  :root { --gcc-apparel-overlay: url("assets/gcc-apparel-overlay-desktop.webp"); }

  .gcc-finder-section {
    background-position: right max(5vw, 34px) top 38px, right center;
    background-size: 78px auto, cover;
  }

  .gcc-trial {
    background-position: left center;
    background-size: cover;
  }

  .gcc-member-hero,
  .gcc-document-header {
    background-position: right max(5vw, 34px) top 32px, right center;
    background-size: 72px auto, cover;
  }

  .gcc-final {
    background-position: center top 38px, center;
    background-size: 82px auto, cover;
  }
}

@media (prefers-reduced-data: reduce) {
  .gcc-finder-section,
  .gcc-trial,
  .gcc-member-hero,
  .gcc-document-header,
  .gcc-final { background-image: none; }
}
