/**
 * Theme Name: Blocksy Child
 * Description: Blocksy Child theme — GCBSA redesign (shared design system for all GCB pages)
 * Author: Creative Themes
 * Template: blocksy
 * Text Domain: blocksy
 */

/* =================================================================
   GCB DESIGN SYSTEM
   Loaded site-wide by functions.php. Page content lives in
   gcb-pages/*.html (one Custom HTML block per page).

   Blocksy gotchas handled here (found on gcbsademo.foxfive.co.za):
   - Every full-width section carries class "alignfull", otherwise
     Gutenberg's constrained layout clamps it to 1290px.
   - Blocksy adds ~24px margin under each non-heading child of the
     layout container: .gcb-*.alignfull compound selectors reset it.
   - Blocksy colours h1–h6 directly, so every heading below declares
     its own colour (never inherit).
   - Heights use plain vh, never svh/dvh (caused a load-time jump).
   ================================================================= */

:root{
  --ink:#17120F;
  --ink-soft:#4A4038;
  --maroon:#5C1220;
  --maroon-deep:#330B14;
  --parchment:#F1EAE0;
  --parchment-dim:#E6DCCC;
  --paper:#FAF6F0;
  --gold:#B08D46;
  --gold-soft:#D9BD86;
  --line:rgba(176,141,70,.28);
  --serif:'Fraunces', Georgia, serif;
  --sans:'Public Sans', -apple-system, 'Segoe UI', sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --content-max:1180px;
  --hero-max:1420px;
}
@media (min-width:1920px){ :root{ --content-max:1320px; --hero-max:1580px; } }
@media (min-width:2560px){ :root{ --content-max:1520px; --hero-max:1780px; } }
@media (min-width:3840px){ :root{ --content-max:1760px; --hero-max:2020px; } }

/* ---------- Page chrome on GCB pages ---------- */
/* Our own hero replaces Blocksy's page title, and sections run edge
   to edge, so drop the theme's title block and vertical padding. */
body.gcb-page .hero-section{ display:none; }
body.gcb-page .site-main > [class*="ct-container"],
body.gcb-page .site-main [data-vertical-spacing]{
  padding-top:0 !important;
  padding-bottom:0 !important;
}
body.gcb-page .site-main{ background:var(--paper); }

/* :where() keeps these at zero specificity so section rules win */
:where([class^="gcb-"].alignfull){ font-family:var(--sans); color:var(--ink); }
:where([class^="gcb-"].alignfull, [class^="gcb-"].alignfull *,
[class^="gcb-"].alignfull *::before, [class^="gcb-"].alignfull *::after){ box-sizing:border-box; }

/* Reset Blocksy's spacing on every top-level GCB section */
.gcb-hero.alignfull,
.gcb-quickcontact.alignfull,
.gcb-pillars.alignfull,
.gcb-explore.alignfull,
.gcb-pagehero.alignfull,
.gcb-body.alignfull,
.gcb-band.alignfull,
.gcb-formhead.alignfull{
  margin-block-start:0;
  margin-block-end:0;
  margin-top:0;
  margin-bottom:0;
}

/* =================================================================
   HOMEPAGE
   ================================================================= */
.gcb-hero{
  position:relative;
  min-height:82vh;
  display:flex;
  align-items:center;
  overflow:hidden;
  background:
    radial-gradient(120% 90% at 82% 8%, rgba(176,141,70,0.16), transparent 55%),
    linear-gradient(158deg, var(--maroon-deep) 0%, var(--maroon) 55%, #26090F 100%);
  color:var(--parchment);
}
.gcb-hero__motif,
.gcb-pagehero__motif{
  position:absolute;
  top:50%;
  right:calc(4vw + max(0px, (100% - var(--hero-max)) / 2));
  width:min(42vw, 600px);
  min-width:280px;
  transform:translateY(-50%) translateX(6%);
  opacity:.5;
  pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, transparent 12%, #000 48%);
  mask-image:linear-gradient(90deg, transparent 0%, transparent 12%, #000 48%);
}
.gcb-hero__motif *,
.gcb-pagehero__motif *{
  fill:none;
  stroke:var(--gold-soft);
  stroke-width:1;
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:gcbDrawMotif 2.4s var(--ease) forwards;
  animation-delay:.15s;
}
.gcb-hero__motif circle:nth-child(2), .gcb-pagehero__motif circle:nth-child(2){ animation-delay:.4s; }
.gcb-hero__motif circle:nth-child(3), .gcb-pagehero__motif circle:nth-child(3){ animation-delay:.65s; }
.gcb-hero__motif line, .gcb-pagehero__motif line{ animation-delay:.9s; }
@keyframes gcbDrawMotif{ to{ stroke-dashoffset:0; } }

.gcb-hero__inner{
  position:relative;
  z-index:2;
  width:100%;
  max-width:var(--hero-max);
  margin:0 auto;
  padding:clamp(2.5rem, 4vw, 4rem) 6vw;
}
.gcb-hero__title{
  font-family:var(--serif);
  font-optical-sizing:auto;
  font-weight:500;
  font-size:clamp(2.1rem, 5.4vw, 4.3rem);
  line-height:0.98;
  letter-spacing:-0.01em;
  margin:0;
  color:var(--parchment);
}
.gcb-line{ display:block; overflow:hidden; padding-bottom:.06em; }
.gcb-line > span{
  display:inline-block;
  transform:translateY(115%);
  animation:gcbRise .95s var(--ease) forwards;
}
.gcb-line:nth-child(2) > span{ animation-delay:.12s; }
@keyframes gcbRise{ to{ transform:translateY(0); } }

.gcb-hero__rule{
  width:0;
  height:2px;
  background:var(--gold);
  margin:1.7rem 0 1.5rem;
  animation:gcbDrawRule 1s var(--ease) forwards;
  animation-delay:.75s;
}
@keyframes gcbDrawRule{ to{ width:84px; } }

.gcb-hero__lede{
  font-family:var(--sans);
  font-size:1.08rem;
  line-height:1.75;
  max-width:70ch;
  color:rgba(241,234,224,.9);
  opacity:0;
  animation:gcbFadeUp .8s ease forwards;
  animation-delay:1s;
  margin:0;
}
.gcb-hero__lede::first-letter{
  font-family:var(--serif);
  font-weight:600;
  font-size:3.4rem;
  line-height:.7;
  float:left;
  padding-right:.5rem;
  padding-top:.3rem;
  color:var(--gold-soft);
}
@keyframes gcbFadeUp{ from{ opacity:0; transform:translateY(10px);} to{ opacity:1; transform:translateY(0);} }

.gcb-cta{
  display:inline-flex;
  align-items:center;
  gap:.6rem;
  margin-top:2.1rem;
  padding:.85rem 1.7rem;
  border:1px solid var(--gold-soft);
  color:var(--parchment);
  text-decoration:none;
  font-family:var(--sans);
  font-size:.92rem;
  font-weight:500;
  letter-spacing:.01em;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  opacity:0;
  animation:gcbFadeUp .8s ease forwards;
  animation-delay:1.15s;
  transition:color .45s var(--ease);
}
.gcb-cta::before{
  content:'';
  position:absolute;
  inset:0;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .45s var(--ease);
  z-index:-1;
}
.gcb-cta:hover{ color:var(--maroon-deep); }
.gcb-cta:hover::before{ transform:scaleX(1); }
.gcb-cta:focus-visible{ outline:2px solid var(--gold-soft); outline-offset:3px; }

@media (max-width:640px){
  .gcb-hero__motif{
    width:min(70vw, 420px);
    min-width:0;
    opacity:.16;
    top:14%;
    transform:translateY(-50%) translateX(28%);
  }
}

/* Quick contact strip */
.gcb-quickcontact{
  background:var(--parchment-dim);
  border-bottom:1px solid var(--line);
}
.gcb-quickcontact__inner{
  max-width:var(--content-max);
  margin:0 auto;
  padding:1.8rem 6vw;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:2.6rem;
  flex-wrap:wrap;
}
.gcb-quickcontact__item{
  display:flex;
  align-items:baseline;
  gap:.55rem;
  font-size:.95rem;
  color:var(--ink);
}
.gcb-quickcontact__item a,
.gcb-quickcontact__value{
  color:var(--ink);
  text-decoration:none;
  font-weight:500;
}
.gcb-quickcontact__item a{
  border-bottom:1px solid transparent;
  transition:border-color .3s ease, color .3s ease;
}
.gcb-quickcontact__item a:hover{ color:var(--maroon); border-color:var(--maroon); }
.gcb-label{
  font-family:var(--sans);
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--gold);
}
.gcb-quickcontact__divider{ width:1px; height:16px; background:rgba(23,18,15,.15); }
.gcb-btn{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.65rem 1.35rem;
  background:var(--maroon);
  color:var(--parchment);
  text-decoration:none;
  font-family:var(--sans);
  font-size:.85rem;
  font-weight:600;
  letter-spacing:.01em;
  border:0;
  border-radius:2px;
  cursor:pointer;
  transition:transform .3s var(--ease), box-shadow .3s ease, background .3s ease;
}
.gcb-btn:hover{
  color:var(--parchment);
  transform:scale(1.03);
  box-shadow:0 10px 20px -8px rgba(92,18,32,.4);
}
.gcb-btn:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
@media (max-width:700px){
  .gcb-quickcontact__inner{ flex-direction:column; align-items:flex-start; gap:1rem; }
  .gcb-quickcontact__divider{ display:none; }
}

/* Pillars */
.gcb-pillars{ background:var(--parchment); color:var(--ink); padding:6rem 6vw 5rem; }
.gcb-pillars__head{ max-width:var(--content-max); margin:0 auto 3rem; }
.gcb-eyebrow-rule{ width:44px; height:2px; background:var(--gold); margin-bottom:1.4rem; }
.gcb-pillars__head h2{
  font-family:var(--serif);
  font-weight:500;
  font-size:clamp(1.9rem, 3.2vw, 2.6rem);
  line-height:1.1;
  margin:0;
  max-width:16ch;
  color:var(--maroon);
}
.gcb-pillars__grid{
  max-width:var(--content-max);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:1px;
  background:var(--parchment-dim);
  border:1px solid var(--parchment-dim);
}
.gcb-pillar{ background:var(--parchment); padding:2.4rem 1.8rem; }
.gcb-pillar__num{ font-size:.78rem; letter-spacing:.03em; color:var(--gold); display:block; margin-bottom:1.1rem; }
.gcb-pillar h3{ font-family:var(--serif); font-weight:500; font-size:1.22rem; margin:0 0 .7rem; color:var(--ink); }
.gcb-pillar p{ font-size:.92rem; line-height:1.55; color:var(--ink-soft); margin:0; }
@media (max-width:900px){ .gcb-pillars__grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width:560px){ .gcb-pillars__grid{ grid-template-columns:1fr; } .gcb-pillars{ padding:4.5rem 6vw; } }

/* Explore the Bar */
.gcb-explore{ background:var(--maroon-deep); color:var(--parchment); padding:5.5rem 6vw; }
.gcb-explore__inner{ max-width:var(--content-max); margin:0 auto; }
.gcb-explore__head{
  display:flex; align-items:baseline; justify-content:space-between;
  gap:2rem; flex-wrap:wrap; margin-bottom:2.6rem;
}
.gcb-explore h2{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(1.7rem, 2.8vw, 2.2rem); margin:0; color:var(--parchment);
}
.gcb-explore__sub{ font-size:.95rem; color:rgba(241,234,224,.7); margin:0; max-width:34ch; }
.gcb-explore__grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:.85rem; }
.gcb-explore__link{
  display:flex; align-items:center; justify-content:space-between; gap:.8rem;
  padding:1.15rem 1.4rem;
  border:1px solid rgba(217,189,134,.3);
  color:var(--parchment);
  text-decoration:none;
  font-size:.98rem; font-weight:500;
  position:relative; overflow:hidden; isolation:isolate;
  transition:color .4s var(--ease), border-color .4s ease;
}
.gcb-explore__link::before{
  content:''; position:absolute; inset:0; background:var(--gold);
  transform:scaleX(0); transform-origin:left;
  transition:transform .4s var(--ease); z-index:-1;
}
.gcb-explore__link:hover{ color:var(--maroon-deep); border-color:var(--gold); }
.gcb-explore__link:hover::before{ transform:scaleX(1); }
.gcb-explore__link:focus-visible{ outline:2px solid var(--gold-soft); outline-offset:2px; }
.gcb-arrow{ transition:transform .35s var(--ease); }
.gcb-explore__link:hover .gcb-arrow{ transform:scale(1.15); }
@media (max-width:900px){ .gcb-explore__grid{ grid-template-columns:repeat(2, 1fr); } }
@media (max-width:560px){ .gcb-explore{ padding:4rem 6vw; } .gcb-explore__grid{ grid-template-columns:1fr; } }

/* =================================================================
   INNER PAGES
   ================================================================= */

/* Page hero: a shorter version of the homepage hero */
.gcb-pagehero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(90% 120% at 90% 0%, rgba(176,141,70,0.18), transparent 60%),
    linear-gradient(158deg, var(--maroon-deep) 0%, var(--maroon) 70%, #2B0A11 100%);
  color:var(--parchment);
}
.gcb-pagehero__motif{ width:min(34vw, 460px); opacity:.35; }
.gcb-pagehero__inner{
  position:relative; z-index:2;
  max-width:var(--content-max);
  margin:0 auto;
  padding:clamp(3.5rem, 7vw, 6rem) 6vw clamp(3rem, 5vw, 4.5rem);
}
.gcb-crumb{
  font-size:.75rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gold-soft); margin:0 0 1.2rem;
  opacity:0; animation:gcbFadeUp .7s ease forwards;
}
.gcb-crumb a{ color:inherit; text-decoration:none; opacity:.75; }
.gcb-crumb a:hover{ opacity:1; }
.gcb-crumb span{ opacity:.5; margin:0 .5rem; }
.gcb-pagehero__title{
  font-family:var(--serif);
  font-optical-sizing:auto;
  font-weight:500;
  font-size:clamp(2rem, 4.6vw, 3.6rem);
  line-height:1.02;
  letter-spacing:-0.01em;
  margin:0;
  max-width:20ch;
  color:var(--parchment);
}
.gcb-pagehero .gcb-hero__rule{ margin:1.5rem 0 0; }
.gcb-pagehero__intro{
  margin:1.4rem 0 0;
  max-width:62ch;
  font-size:1.05rem;
  line-height:1.7;
  color:rgba(241,234,224,.88);
  opacity:0; animation:gcbFadeUp .8s ease forwards; animation-delay:.9s;
}
@media (max-width:640px){ .gcb-pagehero__motif{ opacity:.14; width:70vw; transform:translateY(-50%) translateX(30%); } }

/* Body: optional sticky "On this page" rail + reading column */
.gcb-body{ background:var(--paper); padding:clamp(3.5rem, 6vw, 5.5rem) 6vw clamp(4rem, 7vw, 6.5rem); }
.gcb-body__inner{
  max-width:var(--content-max);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:3.5rem;
}
.gcb-body--toc .gcb-body__inner{ grid-template-columns:220px minmax(0,1fr); }
.gcb-toc{ position:sticky; top:110px; align-self:start; }
.gcb-toc__title{ margin:0 0 1rem; }
.gcb-toc ol{ list-style:none; margin:0; padding:0; border-left:1px solid var(--line); }
.gcb-toc li{ margin:0; }
.gcb-toc a{
  display:block;
  padding:.45rem 0 .45rem 1rem;
  margin-left:-1px;
  border-left:2px solid transparent;
  font-size:.86rem; line-height:1.35;
  color:var(--ink-soft);
  text-decoration:none;
  transition:color .25s ease, border-color .25s ease;
}
.gcb-toc a:hover{ color:var(--maroon); }
.gcb-toc a.is-active{ color:var(--maroon); border-left-color:var(--gold); font-weight:600; }
@media (max-width:960px){
  .gcb-body--toc .gcb-body__inner{ grid-template-columns:minmax(0,1fr); gap:2rem; }
  .gcb-toc{ display:none; }
}

/* Prose */
.gcb-prose{ max-width:760px; font-size:1.02rem; line-height:1.75; color:var(--ink); }
.gcb-prose--wide{ max-width:none; }
.gcb-prose > * + *{ margin-top:1.15rem; }
.gcb-prose p{ margin:0; }
.gcb-prose p + p{ margin-top:1.1rem; }
.gcb-prose h2{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(1.45rem, 2.4vw, 1.9rem); line-height:1.15;
  color:var(--maroon);
  margin:3.2rem 0 1.1rem;
  scroll-margin-top:110px;
}
.gcb-prose h2::before{
  content:''; display:block; width:36px; height:2px; background:var(--gold); margin-bottom:1rem;
}
.gcb-prose > h2:first-child{ margin-top:0; }
.gcb-prose h3{
  font-family:var(--serif); font-weight:500; font-size:1.2rem; line-height:1.25;
  color:var(--ink); margin:2rem 0 .8rem;
}
.gcb-prose a{ color:var(--maroon); text-decoration:underline; text-decoration-color:var(--gold-soft); text-underline-offset:3px; }
.gcb-prose a:hover{ text-decoration-color:var(--maroon); }
.gcb-prose strong{ font-weight:600; }
.gcb-lead{ font-size:1.16rem; line-height:1.7; color:var(--ink); }
.gcb-kicker{ font-weight:600; color:var(--ink); }

/* Lists */
.gcb-list{ list-style:none; margin:1rem 0 0; padding:0; }
.gcb-list > li{ position:relative; padding-left:1.6rem; margin:0; }
.gcb-list > li + li{ margin-top:.7rem; }
.gcb-list > li::before{
  content:''; position:absolute; left:0; top:.8em;
  width:.8rem; height:1px; background:var(--gold);
}
.gcb-olist{ list-style:none; margin:1rem 0 0; padding:0; counter-reset:gcb; }
.gcb-olist > li{ counter-increment:gcb; position:relative; padding:0 0 0 3.2rem; margin:0; }
.gcb-olist > li + li{ margin-top:1.1rem; }
.gcb-olist > li::before{
  content:counter(gcb, decimal-leading-zero);
  position:absolute; left:0; top:.05em;
  font-family:var(--serif); font-size:1.1rem; color:var(--gold);
}
.gcb-olist .gcb-list{ margin-top:.7rem; }

/* Point cards: bold title + description */
.gcb-points{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:1.4rem; }
.gcb-points--single{ grid-template-columns:minmax(0,1fr); }
.gcb-point{ background:var(--paper); padding:1.6rem 1.5rem; font-size:.96rem; line-height:1.65; transition:background .3s ease; }
.gcb-point:hover{ background:#fff; }
.gcb-point h3, .gcb-prose .gcb-point h3{
  font-family:var(--serif); font-weight:500; font-size:1.12rem; margin:0 0 .55rem; color:var(--maroon);
}
.gcb-point p{ margin:0; color:var(--ink-soft); }
.gcb-point .gcb-list{ margin-top:.5rem; }
@media (max-width:760px){ .gcb-points{ grid-template-columns:minmax(0,1fr); } }

/* Tag-style multi-column list */
.gcb-tags{ list-style:none; margin:1.2rem 0 0; padding:0; display:flex; flex-wrap:wrap; gap:.55rem; }
.gcb-tags li{
  margin:0; padding:.45rem .9rem;
  border:1px solid var(--line); background:#fff;
  font-size:.9rem; line-height:1.3; color:var(--ink);
}
.gcb-cols{ list-style:none; margin:1.2rem 0 0; padding:0; columns:2; column-gap:2.5rem; }
.gcb-cols li{ break-inside:avoid; padding:.55rem 0 .55rem 1.6rem; position:relative; border-bottom:1px solid var(--line); margin:0; font-size:.96rem; }
.gcb-cols li::before{ content:''; position:absolute; left:0; top:1.25em; width:.8rem; height:1px; background:var(--gold); }
@media (max-width:640px){ .gcb-cols{ columns:1; } }

/* Download / document callout */
.gcb-doc{
  display:flex; align-items:center; gap:1.2rem;
  margin-top:1.4rem;
  padding:1.3rem 1.5rem;
  background:#fff;
  border:1px solid var(--line);
  border-left:3px solid var(--gold);
  color:var(--ink);
  text-decoration:none !important;
  transition:transform .35s var(--ease), box-shadow .35s ease, border-color .3s ease;
}
.gcb-doc:hover{ transform:scale(1.01); box-shadow:0 14px 30px -18px rgba(51,11,20,.45); border-left-color:var(--maroon); }
.gcb-doc__icon{
  flex:0 0 auto; width:44px; height:52px;
  display:grid; place-items:center;
  background:var(--maroon); color:var(--parchment);
  font-size:.66rem; font-weight:700; letter-spacing:.08em;
  clip-path:polygon(0 0, 72% 0, 100% 22%, 100% 100%, 0 100%);
}
.gcb-doc__text{ flex:1; font-size:.98rem; line-height:1.5; color:var(--ink); }
.gcb-doc__text small{ display:block; margin-top:.2rem; font-size:.85rem; color:var(--ink-soft); }
.gcb-doc__go{ color:var(--gold); font-size:1.2rem; transition:transform .35s var(--ease); }
.gcb-doc:hover .gcb-doc__go{ color:var(--maroon); }
.gcb-doc-row{ display:flex; flex-wrap:wrap; gap:1rem; }
.gcb-doc-row .gcb-doc{ flex:1 1 260px; }

/* Link rows (external references) */
.gcb-links{ list-style:none; margin:1.2rem 0 0; padding:0; border-top:1px solid var(--line); }
.gcb-links li{ margin:0; border-bottom:1px solid var(--line); }
.gcb-prose .gcb-links a{
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
  padding:1rem .2rem;
  color:var(--ink); text-decoration:none; font-weight:500;
  transition:color .25s ease, padding .35s var(--ease);
}
.gcb-prose .gcb-links a:hover{ color:var(--maroon); padding-left:.7rem; }
.gcb-links .gcb-arrow{ color:var(--gold); }

/* Info note */
.gcb-note{
  margin-top:1.4rem; padding:1.2rem 1.4rem;
  background:var(--parchment); border-left:3px solid var(--maroon);
  font-size:.96rem; line-height:1.65;
}

/* Members directory */
.gcb-members{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1.1rem; margin-top:1.6rem; }
.gcb-member{
  background:#fff; border:1px solid var(--line);
  padding:1.6rem 1.5rem 1.4rem;
  display:flex; flex-direction:column; gap:1rem;
  position:relative;
  transition:transform .35s var(--ease), box-shadow .35s ease;
}
.gcb-member::before{
  content:''; position:absolute; left:0; top:0; height:3px; width:100%;
  background:var(--gold); transform:scaleX(0); transform-origin:left;
  transition:transform .45s var(--ease);
}
.gcb-member:hover{ transform:translateY(-3px); box-shadow:0 18px 36px -24px rgba(51,11,20,.5); }
.gcb-member:hover::before{ transform:scaleX(1); }
.gcb-member h3, .gcb-prose .gcb-member h3{
  font-family:var(--serif); font-weight:500; font-size:1.14rem; line-height:1.25;
  margin:0; color:var(--maroon);
}
.gcb-member h3 small{ display:block; font-family:var(--sans); font-size:.78rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--gold); margin-top:.3rem; }
.gcb-member address{ font-style:normal; font-size:.9rem; line-height:1.55; color:var(--ink-soft); margin:0; }
.gcb-member dl{ margin:auto 0 0; display:grid; grid-template-columns:auto 1fr; gap:.3rem .8rem; font-size:.86rem; padding-top:.9rem; border-top:1px solid var(--line); }
.gcb-member dt{ font-size:.66rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); padding-top:.2em; }
.gcb-member dd{ margin:0; color:var(--ink); overflow-wrap:anywhere; }
.gcb-prose .gcb-member a{ color:var(--ink); text-decoration:none; border-bottom:1px solid var(--gold-soft); }
.gcb-prose .gcb-member a:hover{ color:var(--maroon); border-color:var(--maroon); }
@media (max-width:1000px){ .gcb-members{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:620px){ .gcb-members{ grid-template-columns:minmax(0,1fr); } }
.gcb-filter{
  display:flex; align-items:center; gap:.8rem; margin-top:1.4rem;
  border-bottom:1px solid var(--ink); padding:.2rem 0;
}
.gcb-filter input{
  flex:1; border:0 !important; background:transparent !important; box-shadow:none !important;
  font-family:var(--sans); font-size:1rem; padding:.7rem 0 !important; color:var(--ink); outline:none;
}
.gcb-filter svg{ width:18px; height:18px; stroke:var(--gold); fill:none; stroke-width:2; }
.gcb-empty{ display:none; margin-top:1.2rem; color:var(--ink-soft); }

/* JSC nominee reviews */
.gcb-court{ margin-top:2.2rem; }
.gcb-court:first-of-type{ margin-top:1.6rem; }
.gcb-court h3, .gcb-prose .gcb-court h3{
  display:flex; align-items:center; gap:1rem;
  font-family:var(--sans); font-size:.78rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--gold); margin:0 0 .9rem;
}
.gcb-court h3::after{ content:''; flex:1; height:1px; background:var(--line); }
.gcb-names{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:.6rem; }
.gcb-prose .gcb-names a{
  display:flex; align-items:center; gap:.9rem;
  padding:.85rem 1rem;
  background:#fff; border:1px solid var(--line);
  color:var(--ink); text-decoration:none; font-size:.95rem; font-weight:500; line-height:1.35;
  transition:border-color .3s ease, color .3s ease, transform .35s var(--ease);
}
.gcb-prose .gcb-names a::before{
  content:'PDF'; flex:0 0 auto;
  font-size:.6rem; font-weight:700; letter-spacing:.08em;
  padding:.3rem .4rem; background:var(--parchment); color:var(--maroon);
}
.gcb-prose .gcb-names a:hover{ border-color:var(--gold); color:var(--maroon); }
@media (max-width:640px){ .gcb-names{ grid-template-columns:minmax(0,1fr); } }
.gcb-period{
  display:inline-flex; align-items:center; gap:.6rem;
  padding:.5rem 1rem; background:var(--maroon); color:var(--parchment);
  font-family:var(--serif); font-size:1.05rem;
}

/* Contact */
.gcb-contact{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:1.1rem; }
.gcb-contact__card{
  background:#fff; border:1px solid var(--line); padding:2rem 1.7rem;
  transition:transform .35s var(--ease), box-shadow .35s ease;
}
.gcb-contact__card:hover{ transform:translateY(-3px); box-shadow:0 18px 36px -24px rgba(51,11,20,.5); }
.gcb-contact__icon{
  width:46px; height:46px; display:grid; place-items:center;
  border:1px solid var(--gold-soft); border-radius:50%; margin-bottom:1.3rem;
}
.gcb-contact__icon svg{ width:20px; height:20px; stroke:var(--maroon); fill:none; stroke-width:1.6; }
.gcb-contact__card h2, .gcb-prose .gcb-contact__card h2{
  font-family:var(--serif); font-weight:500; font-size:1.3rem; margin:0 0 .6rem; color:var(--maroon);
}
.gcb-contact__card h2::before{ display:none; }
.gcb-contact__card p{ margin:0; font-size:1rem; line-height:1.6; color:var(--ink); }
.gcb-prose .gcb-contact__card a{ color:var(--ink); text-decoration:none; border-bottom:1px solid var(--gold-soft); }
.gcb-prose .gcb-contact__card a:hover{ color:var(--maroon); border-color:var(--maroon); }
@media (max-width:820px){ .gcb-contact{ grid-template-columns:minmax(0,1fr); } }

/* Contact Form 7, styled to match (form is a Shortcode block under the HTML block) */
/* Heading band for the form (inside the Custom HTML block) */
.gcb-formhead{ background:var(--maroon-deep); padding:clamp(3rem, 6vw, 5rem) 6vw 1.6rem; }
.gcb-formhead__inner{ max-width:760px; margin:0 auto; }
.gcb-formhead h2{
  font-family:var(--serif); font-weight:500; font-size:clamp(1.6rem, 3vw, 2.3rem);
  color:var(--parchment); margin:0;
}
.gcb-formhead .gcb-hero__rule{ animation:none; width:60px; margin:1.1rem 0 0; }
/* The form itself is a Shortcode block inside a full-width Group (class gcb-formband) */
body.gcb-page .gcb-formband.alignfull{
  background:var(--maroon-deep);
  margin:0 !important;
  padding:0 6vw clamp(3.5rem, 6vw, 5.5rem);
  max-width:none;
}
body.gcb-page .gcb-formband > *{ max-width:760px; margin-left:auto !important; margin-right:auto !important; }
body.gcb-page .wpcf7-form{
  display:grid; grid-template-columns:1fr 1fr; gap:1rem 1.2rem;
}
body.gcb-page .wpcf7-form > p{ margin:0; }
body.gcb-page .wpcf7-form > p:nth-of-type(n+3){ grid-column:1 / -1; }
body.gcb-page .wpcf7-form label{ color:var(--gold-soft); font-size:.78rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
body.gcb-page .wpcf7-form input:not([type=submit]),
body.gcb-page .wpcf7-form textarea{
  width:100%; margin-top:.45rem;
  background:rgba(241,234,224,.06) !important;
  border:1px solid rgba(217,189,134,.35) !important;
  border-radius:0 !important;
  color:var(--parchment) !important;
  font-family:var(--sans); font-size:1rem; padding:.85rem 1rem;
  transition:border-color .3s ease, background .3s ease;
}
body.gcb-page .wpcf7-form input:focus,
body.gcb-page .wpcf7-form textarea:focus{ border-color:var(--gold) !important; background:rgba(241,234,224,.1) !important; outline:none; }
body.gcb-page .wpcf7-form input[type=submit]{
  background:var(--gold); color:var(--maroon-deep); border:0; border-radius:0;
  font-family:var(--sans); font-weight:600; font-size:.92rem; padding:.95rem 2.2rem; cursor:pointer;
  transition:background .3s ease, transform .3s var(--ease);
}
body.gcb-page .wpcf7-form input[type=submit]:hover{ background:var(--gold-soft); transform:scale(1.03); }
body.gcb-page .wpcf7-response-output{ grid-column:1 / -1; color:var(--parchment); border-color:var(--gold) !important; }
@media (max-width:640px){ body.gcb-page .wpcf7-form{ grid-template-columns:1fr; } }

/* Contrast band (e.g. call-out at page end) */
.gcb-band{ background:var(--parchment-dim); padding:3rem 6vw; }
.gcb-band__inner{ max-width:var(--content-max); margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap; }
.gcb-band p{ margin:0; font-family:var(--serif); font-size:clamp(1.2rem, 2vw, 1.5rem); color:var(--maroon); max-width:40ch; }

/* =================================================================
   Reveal on scroll + reduced motion
   ================================================================= */
.gcb-reveal{ opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.gcb-reveal.is-visible{ opacity:1; transform:none; }
.no-js .gcb-reveal{ opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce){
  .gcb-hero__motif *, .gcb-pagehero__motif *,
  .gcb-line > span, .gcb-hero__rule, .gcb-hero__lede, .gcb-cta,
  .gcb-crumb, .gcb-pagehero__intro{
    animation:none !important; opacity:1 !important; transform:none !important; stroke-dashoffset:0 !important;
  }
  .gcb-hero__rule{ width:84px !important; }
  .gcb-reveal{ opacity:1 !important; transform:none !important; transition:none !important; }
}

/* =================================================================
   HOMEPAGE v2 (gh-*) — structure inspired by modern firm sites:
   alternating light/dark bands, solid accent buttons, card grids,
   tabs, marquee, count-up stats. Same maroon/gold/parchment palette.
   ================================================================= */
.gh-hero.alignfull, .gh-bar.alignfull, .gh-intro.alignfull, .gh-stats.alignfull,
.gh-pillars.alignfull, .gh-marquee.alignfull, .gh-explore.alignfull, .gh-tabs.alignfull,
.gh-feature.alignfull, .gh-cta.alignfull{ margin-block:0; margin-top:0; margin-bottom:0; }
:where([class^="gh-"].alignfull){ font-family:var(--sans); color:var(--ink); }
:where([class^="gh-"].alignfull, [class^="gh-"].alignfull *, [class^="gh-"].alignfull *::before, [class^="gh-"].alignfull *::after){ box-sizing:border-box; }

.gh-wrap{ max-width:var(--content-max); margin:0 auto; }
.gh-eyebrow{
  display:inline-flex; align-items:center; gap:.7rem;
  font-size:.74rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold);
  margin-bottom:1rem;
}
.gh-eyebrow::before{ content:''; width:28px; height:2px; background:currentColor; }
.gh-eyebrow--light{ color:var(--gold-soft); }
.gh-head{ margin-bottom:3rem; max-width:40rem; }
.gh-head h2, .gh-feature h2, .gh-cta h2{
  font-family:var(--serif); font-weight:500; font-size:clamp(1.9rem, 3.4vw, 2.9rem); line-height:1.08;
  letter-spacing:-.01em; margin:0; color:var(--maroon);
}
.gh-head--split{ max-width:none; display:flex; justify-content:space-between; align-items:flex-end; gap:2rem; flex-wrap:wrap; }
.gh-head--split > div{ max-width:36rem; }

/* ---------- Buttons ---------- */
.gh-btn{
  --bg:var(--gold); --fg:var(--maroon-deep);
  position:relative; isolation:isolate; overflow:hidden;
  display:inline-flex; align-items:center; gap:.75rem;
  padding:1rem 1.35rem 1rem 1.6rem;
  border-radius:8px;
  background:var(--bg); color:var(--fg) !important;
  font-family:var(--sans); font-size:.82rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  text-decoration:none !important; line-height:1;
  box-shadow:0 1px 0 rgba(255,255,255,.25) inset, 0 10px 24px -14px rgba(0,0,0,.6);
  transition:transform .35s var(--ease), box-shadow .35s ease, color .3s ease;
  will-change:transform;
}
.gh-btn svg{
  width:30px; height:30px; padding:7px; border-radius:6px; flex:0 0 auto;
  fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round;
  background:rgba(51,11,20,.12);
  transition:transform .4s var(--ease), background .3s ease;
}
.gh-btn::before{ /* shine sweep */
  content:''; position:absolute; top:0; bottom:0; left:-60%; width:40%; z-index:-1;
  background:linear-gradient(100deg, transparent, rgba(255,255,255,.45), transparent);
  transform:skewX(-20deg); transition:left .7s var(--ease);
}
.gh-btn:hover{ transform:scale(1.035); box-shadow:0 1px 0 rgba(255,255,255,.25) inset, 0 18px 34px -16px rgba(0,0,0,.7); }
.gh-btn:hover::before{ left:125%; }
.gh-btn:hover svg{ transform:scale(1.1); }
.gh-btn:active{ transform:scale(.98); }
.gh-btn:focus-visible{ outline:3px solid var(--gold-soft); outline-offset:3px; }
.gh-btn--maroon{ --bg:var(--maroon); --fg:var(--parchment); }
.gh-btn--maroon svg{ background:rgba(241,234,224,.12); }
.gh-btn--ghost{
  --bg:transparent; --fg:var(--parchment);
  box-shadow:inset 0 0 0 1.5px rgba(217,189,134,.55);
}
.gh-btn--ghost::after{ /* fill from bottom */
  content:''; position:absolute; inset:0; z-index:-2; background:var(--parchment);
  transform:translateY(101%); transition:transform .45s var(--ease);
}
.gh-btn--ghost svg{ background:rgba(241,234,224,.1); }
.gh-btn--ghost:hover{ color:var(--maroon-deep) !important; box-shadow:inset 0 0 0 1.5px var(--parchment), 0 18px 34px -16px rgba(0,0,0,.7); }
.gh-btn--ghost:hover::after{ transform:translateY(0); }
.gh-btn--ghost:hover svg{ background:rgba(51,11,20,.1); }
.gh-btn--block{ width:100%; justify-content:space-between; }

.gh-link{
  display:inline-flex; align-items:center; gap:.5rem; margin-top:1.6rem;
  font-size:.82rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--maroon) !important; text-decoration:none !important;
  background:linear-gradient(currentColor,currentColor) 0 100%/0 1.5px no-repeat;
  padding-bottom:4px; transition:background-size .45s var(--ease);
}
.gh-link svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; transition:transform .35s var(--ease); }
.gh-link:hover{ background-size:100% 1.5px; }
.gh-link:hover svg{ transform:scale(1.15); }

/* ---------- Hero ---------- */
.gh-hero{
  position:relative; overflow:hidden; isolation:isolate;
  min-height:88vh; display:flex; align-items:center;
  background:linear-gradient(160deg, #2A0911 0%, var(--maroon-deep) 35%, var(--maroon) 100%);
  color:var(--parchment);
}
.gh-hero__glow{
  position:absolute; inset:-20%; z-index:-1; pointer-events:none;
  background:
    radial-gradient(38% 42% at 78% 30%, rgba(176,141,70,.28), transparent 70%),
    radial-gradient(30% 36% at 20% 85%, rgba(176,141,70,.14), transparent 70%),
    radial-gradient(40% 40% at 55% 60%, rgba(120,24,42,.55), transparent 70%);
  animation:ghDrift 18s ease-in-out infinite alternate;
}
@keyframes ghDrift{ to{ transform:translate3d(-4%, 3%, 0) scale(1.08); } }
.gh-hero::after{ /* fine grain lines */
  content:''; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.07;
  background-image:linear-gradient(rgba(241,234,224,.6) 1px, transparent 1px), linear-gradient(90deg, rgba(241,234,224,.6) 1px, transparent 1px);
  background-size:72px 72px;
  -webkit-mask-image:radial-gradient(70% 70% at 70% 40%, #000, transparent);
  mask-image:radial-gradient(70% 70% at 70% 40%, #000, transparent);
}
.gh-hero__motif{
  position:absolute; top:50%; right:calc(4vw + max(0px, (100% - var(--hero-max)) / 2));
  width:min(44vw, 640px); min-width:280px; transform:translateY(-50%); opacity:.55; pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg, transparent 5%, #000 50%); mask-image:linear-gradient(90deg, transparent 5%, #000 50%);
}
.gh-hero__motif *{ fill:none; stroke:var(--gold-soft); stroke-width:1; stroke-dasharray:1; stroke-dashoffset:1; animation:gcbDrawMotif 2.6s var(--ease) forwards .3s; }
.gh-hero__motif circle:nth-child(2){ animation-delay:.55s; }
.gh-hero__motif circle:nth-child(3){ animation-delay:.8s; }
.gh-hero__motif line{ animation-delay:1.05s; }
.gh-hero__inner{ position:relative; width:100%; max-width:var(--hero-max); margin:0 auto; padding:clamp(4rem, 8vw, 7rem) 6vw; }
.gh-kicker{ font-size:.78rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-soft); margin:0 0 1.6rem; }
.gh-hero__title{
  font-family:var(--serif); font-optical-sizing:auto; font-weight:500;
  font-size:clamp(2.8rem, 8vw, 6.6rem); line-height:.95; letter-spacing:-.025em;
  margin:0; color:var(--parchment); max-width:11ch;
}
.gh-word{ display:inline-block; overflow:hidden; vertical-align:bottom; padding:0 .04em .08em 0; }
.gh-word > span{ display:inline-block; transform:translateY(110%) rotate(4deg); transform-origin:left bottom; animation:ghWord 1.1s var(--ease) forwards; animation-delay:var(--d, 0s); }
.gh-word--accent{ padding-right:.16em; margin-right:-.12em; }
.gh-word--accent > span{
  padding-right:.1em;
  font-style:italic; font-weight:400;
  background:linear-gradient(90deg, var(--gold-soft), #F3DDB0, var(--gold), var(--gold-soft));
  background-size:250% 100%; -webkit-background-clip:text; background-clip:text; color:transparent;
  animation:ghWord 1.1s var(--ease) forwards, ghSheen 6s ease-in-out infinite 1.6s;
  animation-delay:var(--d, 0s), 1.6s;
}
@keyframes ghWord{ to{ transform:none; } }
@keyframes ghSheen{ 0%,100%{ background-position:0% 50%; } 50%{ background-position:100% 50%; } }
.gh-hero__lede{ max-width:52ch; margin:2rem 0 0; font-size:clamp(1rem, 1.3vw, 1.18rem); line-height:1.7; color:rgba(241,234,224,.86); }
.gh-hero__actions{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.4rem; }
.gh-in{ opacity:0; transform:translateY(16px); animation:ghIn .9s var(--ease) forwards; animation-delay:var(--d, 0s); }
@keyframes ghIn{ to{ opacity:1; transform:none; } }
.gh-scroll{ position:absolute; left:50%; bottom:5.2rem; width:26px; height:42px; margin-left:-13px; border:1.5px solid rgba(217,189,134,.5); border-radius:14px; opacity:0; animation:ghIn 1s ease forwards 1.4s; }
.gh-scroll span{ position:absolute; left:50%; top:8px; width:3px; height:8px; margin-left:-1.5px; border-radius:2px; background:var(--gold-soft); animation:ghScroll 1.8s ease-in-out infinite; }
@keyframes ghScroll{ 0%{ transform:translateY(0); opacity:1; } 80%{ transform:translateY(14px); opacity:0; } 100%{ opacity:0; } }
@media (max-width:640px){
  .gh-hero__motif{ opacity:.18; width:80vw; top:22%; transform:translateY(-50%) translateX(25%); }
  .gh-scroll{ display:none; }
  .gh-hero__actions .gh-btn{ width:100%; justify-content:space-between; }
}

/* ---------- Contact bar (overlaps hero edge) ---------- */
.gh-bar{ background:var(--paper); padding:0 6vw; }
.gh-bar__inner{
  max-width:var(--content-max); margin:-3.2rem auto 0; position:relative; z-index:3;
  display:grid; grid-template-columns:repeat(3, 1fr);
  background:#fff; border-radius:12px; overflow:hidden;
  box-shadow:0 30px 60px -30px rgba(51,11,20,.45), 0 0 0 1px rgba(176,141,70,.18);
}
.gh-bar__item{
  display:flex; align-items:center; gap:1rem; padding:1.5rem 1.7rem;
  color:var(--ink) !important; text-decoration:none !important; font-weight:600; font-size:.98rem;
  transition:background .3s ease;
}
.gh-bar__item + .gh-bar__item{ border-left:1px solid var(--line); }
.gh-bar__item small{ display:block; font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); margin-bottom:.25rem; }
a.gh-bar__item:hover{ background:var(--parchment); }
.gh-bar__icon{ flex:0 0 auto; width:44px; height:44px; border-radius:10px; display:grid; place-items:center; background:var(--maroon); transition:transform .4s var(--ease); }
.gh-bar__icon svg{ width:20px; height:20px; fill:none; stroke:var(--gold-soft); stroke-width:1.7; }
a.gh-bar__item:hover .gh-bar__icon{ transform:rotate(-8deg) scale(1.06); }
@media (max-width:820px){
  .gh-bar__inner{ grid-template-columns:1fr; }
  .gh-bar__item + .gh-bar__item{ border-left:0; border-top:1px solid var(--line); }
}

/* ---------- Intro ---------- */
.gh-intro{ background:var(--paper); padding:clamp(4.5rem, 8vw, 7rem) 6vw; }
.gh-intro__inner{ max-width:var(--content-max); margin:0 auto; display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(2rem, 6vw, 6rem); align-items:start; }
.gh-statement{ font-family:var(--serif); font-size:clamp(1.6rem, 2.8vw, 2.4rem); line-height:1.22; color:var(--maroon); margin:0; letter-spacing:-.01em; }
.gh-intro__body p{ margin:0 0 1.1rem; font-size:1.02rem; line-height:1.75; color:var(--ink-soft); }
.gh-intro__body p:first-child{ color:var(--ink); font-size:1.1rem; }
@media (max-width:860px){ .gh-intro__inner{ grid-template-columns:1fr; } }

/* ---------- Stats ---------- */
.gh-stats{ background:var(--maroon-deep); padding:0 6vw; }
.gh-stats__inner{ max-width:var(--content-max); margin:0 auto; display:grid; grid-template-columns:repeat(4, 1fr); }
.gh-stat{ padding:2.8rem 1.5rem; text-align:center; color:var(--parchment); }
.gh-stat + .gh-stat{ border-left:1px solid rgba(217,189,134,.18); }
.gh-stat strong{ display:block; font-family:var(--serif); font-weight:500; font-size:clamp(2.4rem, 4.5vw, 3.6rem); line-height:1; color:var(--gold-soft); font-variant-numeric:tabular-nums; }
.gh-stat > span{ display:block; margin-top:.7rem; font-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:rgba(241,234,224,.7); }
@media (max-width:760px){
  .gh-stats__inner{ grid-template-columns:1fr 1fr; }
  .gh-stat:nth-child(3){ border-left:0; }
  .gh-stat:nth-child(n+3){ border-top:1px solid rgba(217,189,134,.18); }
}

/* ---------- Pillar cards ---------- */
.gh-pillars{ background:#fff; padding:clamp(4.5rem, 8vw, 7rem) 6vw; }
.gh-cards{ display:grid; grid-template-columns:repeat(4, 1fr); gap:1.2rem; perspective:1000px; }
.gh-card{
  --mx:50%; --my:50%;
  position:relative; overflow:hidden; border-radius:12px;
  background:var(--paper); border:1px solid rgba(176,141,70,.2);
  padding:2rem 1.6rem 2.2rem;
  transition:transform .5s var(--ease), box-shadow .5s ease, border-color .3s ease, background .3s ease;
  transform-style:preserve-3d;
}
.gh-card::before{ /* cursor spotlight */
  content:''; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .4s ease;
  background:radial-gradient(260px circle at var(--mx) var(--my), rgba(176,141,70,.18), transparent 60%);
}
.gh-card::after{ content:''; position:absolute; left:0; bottom:0; height:3px; width:100%; background:linear-gradient(90deg, var(--maroon), var(--gold)); transform:scaleX(0); transform-origin:left; transition:transform .6s var(--ease); }
.gh-card:hover{ box-shadow:0 30px 50px -30px rgba(51,11,20,.45); border-color:rgba(176,141,70,.45); background:#fff; }
.gh-card:hover::before{ opacity:1; }
.gh-card:hover::after{ transform:scaleX(1); }
.gh-card__icon{ width:54px; height:54px; border-radius:12px; display:grid; place-items:center; background:var(--maroon); margin-bottom:1.6rem; transition:transform .5s var(--ease), background .3s ease; }
.gh-card__icon svg{ width:26px; height:26px; fill:none; stroke:var(--gold-soft); stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.gh-card:hover .gh-card__icon{ transform:translateY(-4px) rotate(-6deg); background:var(--maroon-deep); }
.gh-card__num{ position:absolute; top:1.6rem; right:1.6rem; font-family:var(--serif); font-size:1rem; color:var(--gold); opacity:.8; }
.gh-card h3{ font-family:var(--serif); font-weight:500; font-size:1.3rem; line-height:1.2; margin:0 0 .7rem; color:var(--maroon); }
.gh-card p{ margin:0; font-size:.94rem; line-height:1.6; color:var(--ink-soft); }
@media (max-width:1000px){ .gh-cards{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .gh-cards{ grid-template-columns:1fr; } }

/* ---------- Marquee ---------- */
.gh-marquee{ background:var(--parchment); border-block:1px solid var(--line); overflow:hidden; padding:1.3rem 0; }
.gh-marquee__track{ display:flex; width:max-content; animation:ghMarquee 60s linear infinite; }
.gh-marquee:hover .gh-marquee__track{ animation-play-state:paused; }
.gh-marquee ul{ display:flex; list-style:none; margin:0; padding:0; }
.gh-marquee li{ display:flex; align-items:center; white-space:nowrap; margin:0; padding:0 2rem; font-family:var(--serif); font-size:1.15rem; color:var(--maroon); }
.gh-marquee li::after{ content:''; width:7px; height:7px; margin-left:4rem; transform:rotate(45deg); background:var(--gold); }
@keyframes ghMarquee{ to{ transform:translateX(-50%); } }

/* ---------- Explore tiles ---------- */
.gh-explore{ background:var(--paper); padding:clamp(4.5rem, 8vw, 7rem) 6vw; }
.gh-tiles{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1.2rem; }
.gh-tile{
  position:relative; isolation:isolate; overflow:hidden; border-radius:12px;
  min-height:210px; padding:1.8rem; display:flex; flex-direction:column; justify-content:flex-end;
  background:linear-gradient(160deg, var(--maroon) 0%, var(--maroon-deep) 100%);
  color:var(--parchment) !important; text-decoration:none !important;
  transition:transform .5s var(--ease), box-shadow .5s ease;
}
.gh-tile::before{ /* gold wash rising on hover */
  content:''; position:absolute; inset:0; z-index:-1;
  background:linear-gradient(0deg, var(--gold) 0%, #C9A45E 100%);
  clip-path:circle(0% at 100% 0%); transition:clip-path .7s var(--ease);
}
.gh-tile::after{ /* ring motif */
  content:''; position:absolute; width:240px; height:240px; right:-80px; top:-80px; z-index:-1;
  border:1px solid rgba(217,189,134,.3); border-radius:50%;
  box-shadow:0 0 0 30px rgba(217,189,134,.05), 0 0 0 60px rgba(217,189,134,.03);
  transition:transform .8s var(--ease);
}
.gh-tile:hover{ transform:translateY(-6px); box-shadow:0 30px 50px -28px rgba(51,11,20,.7); }
.gh-tile:hover::before{ clip-path:circle(150% at 100% 0%); }
.gh-tile:hover::after{ transform:scale(1.25) rotate(20deg); }
.gh-tile__n{ position:absolute; top:1.5rem; left:1.8rem; font-family:var(--serif); font-size:.95rem; color:var(--gold-soft); transition:color .4s ease; }
.gh-tile strong{ font-family:var(--serif); font-weight:500; font-size:1.55rem; line-height:1.15; transition:color .4s ease; }
.gh-tile em{ font-style:normal; margin-top:.4rem; font-size:.9rem; color:rgba(241,234,224,.7); transition:color .4s ease; }
.gh-tile i{
  position:absolute; top:1.3rem; right:1.3rem; width:42px; height:42px; border-radius:50%;
  display:grid; place-items:center; font-style:normal; font-size:1.1rem;
  border:1px solid rgba(217,189,134,.45); color:var(--gold-soft);
  transition:transform .5s var(--ease), background .4s ease, color .4s ease, border-color .4s ease;
}
.gh-tile:hover .gh-tile__n, .gh-tile:hover strong{ color:var(--maroon-deep); }
.gh-tile:hover em{ color:rgba(51,11,20,.75); }
.gh-tile:hover i{ transform:rotate(-45deg); background:var(--maroon-deep); color:var(--gold-soft); border-color:var(--maroon-deep); }
.gh-tile:focus-visible{ outline:3px solid var(--gold); outline-offset:3px; }
@media (max-width:900px){ .gh-tiles{ grid-template-columns:1fr 1fr; } }
@media (max-width:560px){ .gh-tiles{ grid-template-columns:1fr; } .gh-tile{ min-height:170px; } }

/* ---------- Tabs ---------- */
.gh-tabs{ background:#fff; padding:clamp(4.5rem, 8vw, 7rem) 6vw; }
.gh-tabs__grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(2rem, 5vw, 5rem); align-items:start; }
.gh-tabs__box{ background:var(--paper); border:1px solid rgba(176,141,70,.22); border-radius:14px; overflow:hidden; }
.gh-tabs__list{ position:relative; display:grid; grid-template-columns:repeat(4, 1fr); border-bottom:1px solid var(--line); }
.gh-tabs__list button{
  appearance:none; border:0; background:transparent; cursor:pointer;
  padding:1.2rem .8rem; font-family:var(--sans); font-size:.8rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-soft); display:flex; flex-direction:column; align-items:center; gap:.3rem;
  transition:color .3s ease, background .3s ease;
}
.gh-tabs__list button span{ font-family:var(--serif); font-size:1rem; letter-spacing:0; color:var(--gold); }
.gh-tabs__list button:hover{ color:var(--maroon); background:rgba(176,141,70,.06); }
.gh-tabs__list button[aria-selected="true"]{ color:var(--maroon); }
.gh-tabs__list button:focus-visible{ outline:2px solid var(--gold); outline-offset:-4px; }
.gh-tabs__ink{ position:absolute; left:0; bottom:-1px; height:3px; width:25%; background:var(--maroon); transition:transform .5s var(--ease); }
.gh-tabs__panel{ padding:2.4rem 2.2rem 2.6rem; animation:ghPanel .6s var(--ease); }
.gh-tabs__panel h3{ font-family:var(--serif); font-weight:500; font-size:1.55rem; line-height:1.2; margin:0 0 1rem; color:var(--maroon); }
.gh-tabs__panel p{ margin:0; font-size:1.02rem; line-height:1.75; color:var(--ink-soft); }
@keyframes ghPanel{ from{ opacity:0; transform:translateY(12px); } to{ opacity:1; transform:none; } }
@media (max-width:900px){ .gh-tabs__grid{ grid-template-columns:1fr; } }
@media (max-width:520px){ .gh-tabs__list button{ padding:1rem .3rem; font-size:.68rem; } .gh-tabs__panel{ padding:1.8rem 1.4rem 2rem; } }

/* ---------- Advocate feature ---------- */
.gh-feature{ background:linear-gradient(135deg, var(--maroon-deep), #4A0F1B); color:var(--parchment); padding:clamp(4.5rem, 8vw, 7rem) 6vw; overflow:hidden; }
.gh-feature__grid{ display:grid; grid-template-columns:auto 1fr; gap:clamp(2.5rem, 7vw, 7rem); align-items:center; }
.gh-feature h2{ color:var(--parchment); font-size:clamp(2.2rem, 4.4vw, 3.6rem); }
.gh-feature__actions{ display:flex; flex-wrap:wrap; gap:1rem; margin-top:2.2rem; }
.gh-journal{ perspective:1200px; }
.gh-journal__cover{
  width:clamp(190px, 22vw, 260px); aspect-ratio:3/4; border-radius:4px 10px 10px 4px;
  background:
    linear-gradient(90deg, rgba(0,0,0,.35) 0, rgba(0,0,0,0) 7%),
    radial-gradient(80% 60% at 70% 20%, rgba(217,189,134,.3), transparent 70%),
    linear-gradient(160deg, #F3E9D8, #E1D0B2);
  box-shadow:-18px 30px 50px -20px rgba(0,0,0,.65), inset 0 0 0 1px rgba(255,255,255,.4);
  padding:2rem 1.6rem; display:flex; flex-direction:column; justify-content:space-between;
  transform:rotateY(-18deg) rotateX(6deg); transition:transform .8s var(--ease);
  animation:ghFloat 7s ease-in-out infinite;
}
.gh-journal:hover .gh-journal__cover{ transform:rotateY(-4deg) rotateX(2deg); }
.gh-journal__cover span{ font-family:var(--serif); font-style:italic; font-size:2.4rem; color:var(--maroon); line-height:1; }
.gh-journal__cover em{ font-style:normal; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--maroon-deep); border-top:2px solid var(--gold); padding-top:.7rem; }
@keyframes ghFloat{ 0%,100%{ translate:0 0; } 50%{ translate:0 -10px; } }
@media (max-width:760px){ .gh-feature__grid{ grid-template-columns:1fr; justify-items:start; } }

/* ---------- Contact CTA ---------- */
.gh-cta{ background:var(--parchment); padding:clamp(4.5rem, 8vw, 6.5rem) 6vw; }
.gh-cta__grid{ display:grid; grid-template-columns:1fr 1.3fr; gap:clamp(2rem, 5vw, 5rem); align-items:center; }
.gh-cta__cards{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.gh-mini{
  display:block; padding:1.4rem 1.5rem; border-radius:12px; background:#fff; border:1px solid rgba(176,141,70,.22);
  color:var(--ink) !important; text-decoration:none !important; font-weight:600; font-size:1rem;
  transition:transform .4s var(--ease), box-shadow .4s ease, border-color .3s ease;
}
.gh-mini small{ display:block; font-size:.66rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); margin-bottom:.35rem; }
a.gh-mini:hover{ transform:scale(1.02); box-shadow:0 20px 40px -26px rgba(51,11,20,.5); border-color:var(--gold); }
.gh-cta__cards .gh-btn{ align-self:stretch; }
@media (max-width:860px){ .gh-cta__grid{ grid-template-columns:1fr; } }
@media (max-width:520px){ .gh-cta__cards{ grid-template-columns:1fr; } }

/* ---------- Scroll reveal for gh-* ---------- */
.gh-rise{ opacity:0; transform:translateY(34px); transition:opacity .9s var(--ease), transform .9s var(--ease); transition-delay:var(--d, 0s); }
.gh-rise.is-visible{ opacity:1; transform:none; }
.gh-card.gh-rise.is-visible{ transition:opacity .9s var(--ease), transform .5s var(--ease), box-shadow .5s ease, border-color .3s ease, background .3s ease; transition-delay:var(--d, 0s), 0s, 0s, 0s, 0s; }

@media (prefers-reduced-motion: reduce){
  .gh-hero__glow, .gh-marquee__track, .gh-journal__cover, .gh-scroll span, .gh-word--accent > span{ animation:none !important; }
  .gh-word > span, .gh-in{ animation:none !important; transform:none !important; opacity:1 !important; }
  .gh-hero__motif *{ animation:none !important; stroke-dashoffset:0 !important; }
  .gh-rise{ opacity:1 !important; transform:none !important; transition:none !important; }
  .gh-marquee__track{ flex-wrap:wrap; width:auto; }
  .gh-marquee ul[aria-hidden]{ display:none; }
}

/* =================================================================
   INNER PAGES v2 (same system as the homepage)
   ================================================================= */
.entry-content > [class*="gh-"].alignfull{ margin-block:0; margin-top:0; margin-bottom:0; }

/* Page hero: homepage hero, shorter */
.gh-hero--page{ min-height:62vh; }
.gh-hero--page .gh-hero__inner{ padding-top:clamp(4rem, 8vw, 6.5rem); padding-bottom:clamp(5.5rem, 9vw, 7.5rem); }
.gh-hero--page .gh-hero__title{ font-size:clamp(2.4rem, 6vw, 5rem); max-width:16ch; }
.gh-hero--long .gh-hero__title{ font-size:clamp(2rem, 4.6vw, 3.8rem); max-width:22ch; line-height:1.02; }
.gh-hero--page .gh-hero__motif{ width:min(36vw, 520px); opacity:.45; }
.gh-crumbs{ display:flex; align-items:center; gap:.6rem; }
.gh-crumbs a{ color:var(--gold-soft) !important; text-decoration:none !important; opacity:.7; transition:opacity .3s ease; }
.gh-crumbs a:hover{ opacity:1; }
.gh-crumbs i{ font-style:normal; opacity:.5; }
.gh-badge{
  display:inline-flex; align-items:center; gap:.6rem; margin-top:1.8rem;
  padding:.55rem 1rem; border-radius:999px; background:rgba(217,189,134,.12); border:1px solid rgba(217,189,134,.35);
  color:var(--gold-soft); font-size:.78rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase;
}
.gh-badge::before{ content:''; width:8px; height:8px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 0 rgba(176,141,70,.6); animation:ghPulse 2s infinite; }
@keyframes ghPulse{ 70%{ box-shadow:0 0 0 10px rgba(176,141,70,0); } 100%{ box-shadow:0 0 0 0 rgba(176,141,70,0); } }

/* Generic bands */
.gh-sec{ padding:clamp(4.5rem, 8vw, 7rem) 6vw; background:var(--paper); }
.gh-sec--white{ background:#fff; }
.gh-sec--parch{ background:var(--parchment); }
.gh-sec--dark{ background:linear-gradient(135deg, var(--maroon-deep), #4A0F1B); color:var(--parchment); position:relative; overflow:hidden; }
.gh-sec--dark::before{
  content:''; position:absolute; width:520px; height:520px; right:-160px; top:-200px; border-radius:50%;
  border:1px solid rgba(217,189,134,.18); box-shadow:0 0 0 60px rgba(217,189,134,.04), 0 0 0 120px rgba(217,189,134,.025); pointer-events:none;
}
.gh-sec--dark .gh-head h2, .gh-sec--dark h2, .gh-sec--dark h3{ color:var(--parchment); }
.gh-sec--dark .gh-eyebrow{ color:var(--gold-soft); }
.gh-sec--tight{ padding-top:clamp(3rem, 5vw, 4.5rem); padding-bottom:clamp(3rem, 5vw, 4.5rem); }
.gh-sec--overlap{ padding-top:0; }
.gh-wrap--narrow{ max-width:860px; }
.gh-head--center{ margin-left:auto; margin-right:auto; text-align:center; }
.gh-head--center .gh-eyebrow{ justify-content:center; }
.gh-head p{ margin:1.1rem 0 0; font-size:1.05rem; line-height:1.7; color:var(--ink-soft); }
.gh-sec--dark .gh-head p{ color:rgba(241,234,224,.8); }

/* Prose */
.gh-prose p{ margin:0 0 1.15rem; font-size:1.03rem; line-height:1.8; color:var(--ink-soft); }
.gh-prose p:last-child{ margin-bottom:0; }
.gh-prose p.gh-prose__lead{ font-size:1.15rem; color:var(--ink); }
.gh-prose strong{ color:var(--ink); }
.gh-prose a{ color:var(--maroon); text-decoration:underline; text-decoration-color:var(--gold-soft); text-underline-offset:3px; }
.gh-sec--dark .gh-prose p{ color:rgba(241,234,224,.85); }

/* Split: heading/statement left, text right */
.gh-split{ display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(2rem, 6vw, 6rem); align-items:start; }
.gh-split--sticky > :first-child{ position:sticky; top:120px; }
@media (max-width:900px){ .gh-split{ grid-template-columns:1fr; } .gh-split--sticky > :first-child{ position:static; } }

/* Big quote / statement band */
.gh-quote{ font-family:var(--serif); font-weight:400; font-size:clamp(1.5rem, 2.8vw, 2.3rem); line-height:1.3; letter-spacing:-.01em; margin:0; color:var(--parchment); position:relative; padding-top:3.4rem; }
.gh-quote::before{ content:'“'; position:absolute; top:-1.2rem; left:-.2rem; font-size:6rem; line-height:1; color:var(--gold); opacity:.8; }
.gh-sec:not(.gh-sec--dark) .gh-quote{ color:var(--maroon); }

/* Card grid variants */
.gh-cards--3{ grid-template-columns:repeat(3, 1fr); }
.gh-cards--2{ grid-template-columns:repeat(2, 1fr); }
.gh-card h3{ font-size:1.25rem; }
.gh-card--plain .gh-card__icon{ display:none; }
.gh-card--wide{ grid-column:1 / -1; }
.gh-sec--dark .gh-card{ background:rgba(241,234,224,.05); border-color:rgba(217,189,134,.22); }
.gh-sec--dark .gh-card:hover{ background:rgba(241,234,224,.09); }
.gh-sec--dark .gh-card h3{ color:var(--parchment); }
.gh-sec--dark .gh-card p, .gh-sec--dark .gh-card li{ color:rgba(241,234,224,.82); }
.gh-sec--dark .gh-card__icon{ background:var(--gold); }
.gh-sec--dark .gh-card__icon svg{ stroke:var(--maroon-deep); }
@media (max-width:1000px){ .gh-cards--3{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .gh-cards--3, .gh-cards--2{ grid-template-columns:1fr; } }

/* Lists */
.gh-list{ list-style:none; margin:.8rem 0 0; padding:0; }
.gh-list li{ position:relative; margin:0; padding:.55rem 0 .55rem 2rem; font-size:.98rem; line-height:1.6; color:var(--ink-soft); }
.gh-list li + li{ border-top:1px solid var(--line); }
.gh-list li::before{
  content:''; position:absolute; left:0; top:.95rem; width:18px; height:18px; border-radius:50%;
  background:var(--maroon) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D9BD86' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat;
}
.gh-sec--dark .gh-list li{ color:rgba(241,234,224,.85); }
.gh-sec--dark .gh-list li + li{ border-color:rgba(217,189,134,.18); }
.gh-sec--dark .gh-list li::before{ background-color:var(--gold); background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23330B14' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E"); }

/* Check grid (short items as pills/cards) */
.gh-checks{ display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:.9rem; list-style:none; margin:0; padding:0; }
.gh-checks li{
  margin:0; display:flex; gap:.9rem; align-items:flex-start; padding:1.15rem 1.2rem; border-radius:12px;
  background:#fff; border:1px solid rgba(176,141,70,.22); font-size:.98rem; line-height:1.5; color:var(--ink);
  transition:transform .4s var(--ease), box-shadow .4s ease, border-color .3s ease;
}
.gh-checks li:hover{ transform:translateY(-3px); box-shadow:0 20px 40px -28px rgba(51,11,20,.5); border-color:var(--gold); }
.gh-checks li::before{
  content:''; flex:0 0 26px; height:26px; border-radius:8px;
  background:var(--maroon) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D9BD86' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12l4 4 8-8'/%3E%3C/svg%3E") center/14px no-repeat;
}
.gh-checks--num{ counter-reset:ghc; }
.gh-checks--num li::before{ counter-increment:ghc; content:counter(ghc, decimal-leading-zero); background:var(--maroon); color:var(--gold-soft); font-family:var(--serif); font-size:.85rem; display:grid; place-items:center; }

/* Tags */
.gh-tags{ display:flex; flex-wrap:wrap; gap:.7rem; list-style:none; margin:0; padding:0; }
.gh-tags li{
  margin:0; padding:.75rem 1.2rem; border-radius:999px; background:#fff; border:1px solid rgba(176,141,70,.3);
  font-size:.95rem; font-weight:600; color:var(--maroon); cursor:default;
  transition:background .3s ease, color .3s ease, transform .4s var(--ease), border-color .3s ease;
}
.gh-tags li:hover{ background:var(--maroon); color:var(--parchment); border-color:var(--maroon); transform:scale(1.04); }

/* Timeline / steps */
.gh-steps{ list-style:none; margin:0; padding:0; position:relative; counter-reset:ghs; }
.gh-steps::before{ content:''; position:absolute; left:27px; top:10px; bottom:10px; width:2px; background:linear-gradient(var(--gold), rgba(176,141,70,.1)); }
.gh-steps > li{ counter-increment:ghs; position:relative; margin:0; padding:0 0 2.2rem 5.2rem; }
.gh-steps > li:last-child{ padding-bottom:0; }
.gh-steps > li::before{
  content:counter(ghs, decimal-leading-zero); position:absolute; left:0; top:0;
  width:56px; height:56px; border-radius:50%; display:grid; place-items:center;
  background:var(--maroon); color:var(--gold-soft); font-family:var(--serif); font-size:1.1rem;
  box-shadow:0 0 0 6px var(--paper);
  transition:transform .5s var(--ease), background .3s ease;
}
.gh-steps > li:hover::before{ transform:scale(1.08); background:var(--maroon-deep); }
.gh-sec--white .gh-steps > li::before{ box-shadow:0 0 0 6px #fff; }
.gh-steps__body{ background:#fff; border:1px solid rgba(176,141,70,.22); border-radius:12px; padding:1.5rem 1.6rem; transition:box-shadow .4s ease, border-color .3s ease; }
.gh-steps > li:hover .gh-steps__body{ box-shadow:0 24px 44px -30px rgba(51,11,20,.5); border-color:rgba(176,141,70,.5); }
.gh-sec--white .gh-steps__body{ background:var(--paper); }
.gh-steps__body h3{ font-family:var(--serif); font-weight:500; font-size:1.2rem; margin:0 0 .5rem; color:var(--maroon); }
.gh-steps__body p{ margin:0; font-size:.98rem; line-height:1.75; color:var(--ink-soft); }
.gh-steps__body p + p{ margin-top:.8rem; }
.gh-sec--dark .gh-steps > li::before{ background:var(--gold); color:var(--maroon-deep); box-shadow:0 0 0 6px var(--maroon-deep); }
.gh-sec--dark .gh-steps__body{ background:rgba(241,234,224,.05); border-color:rgba(217,189,134,.22); }
.gh-sec--dark .gh-steps__body p{ color:rgba(241,234,224,.85); }
.gh-sec--dark .gh-steps__body h3{ color:var(--parchment); }
@media (max-width:560px){ .gh-steps > li{ padding-left:4.2rem; } .gh-steps::before{ left:21px; } .gh-steps > li::before{ width:44px; height:44px; font-size:.95rem; } }

/* Compare (two columns) */
.gh-compare{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; position:relative; }
.gh-compare__col{ border-radius:14px; padding:2.2rem 2rem; background:rgba(241,234,224,.05); border:1px solid rgba(217,189,134,.25); transition:transform .5s var(--ease), background .3s ease; }
.gh-compare__col:hover{ transform:translateY(-4px); background:rgba(241,234,224,.09); }
.gh-compare__col h3{ font-family:var(--serif); font-weight:500; font-size:1.5rem; margin:0 0 1rem; color:var(--parchment); }
.gh-compare__col p{ margin:0 0 .9rem; font-size:.98rem; line-height:1.75; color:rgba(241,234,224,.85); }
.gh-compare__vs{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:2;
  width:52px; height:52px; border-radius:50%; display:grid; place-items:center;
  background:var(--gold); color:var(--maroon-deep); font-family:var(--serif); font-style:italic; font-size:1.05rem;
  box-shadow:0 0 0 8px var(--maroon-deep);
}
.gh-sec:not(.gh-sec--dark) .gh-compare__col{ background:#fff; border-color:rgba(176,141,70,.25); }
.gh-sec:not(.gh-sec--dark) .gh-compare__col h3{ color:var(--maroon); }
.gh-sec:not(.gh-sec--dark) .gh-compare__col p{ color:var(--ink-soft); }
.gh-sec:not(.gh-sec--dark) .gh-compare__vs{ box-shadow:0 0 0 8px var(--paper); }
@media (max-width:820px){ .gh-compare{ grid-template-columns:1fr; } .gh-compare__vs{ position:static; transform:none; margin:-.2rem auto; } }

/* Download card */
.gh-doc{
  display:flex; align-items:center; gap:1.4rem; padding:1.5rem 1.6rem; border-radius:14px;
  background:#fff; border:1px solid rgba(176,141,70,.25); color:var(--ink) !important; text-decoration:none !important;
  position:relative; overflow:hidden; isolation:isolate;
  transition:transform .5s var(--ease), box-shadow .5s ease, border-color .3s ease;
}
.gh-doc::before{ content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg, var(--parchment), #fff); transform:scaleX(0); transform-origin:left; transition:transform .6s var(--ease); }
.gh-doc:hover{ transform:scale(1.015); box-shadow:0 26px 50px -30px rgba(51,11,20,.55); border-color:var(--gold); }
.gh-doc:hover::before{ transform:scaleX(1); }
.gh-doc__icon{ flex:0 0 auto; width:54px; height:64px; display:grid; place-items:center; background:var(--maroon); color:var(--gold-soft); font-size:.7rem; font-weight:800; letter-spacing:.1em; clip-path:polygon(0 0, 70% 0, 100% 22%, 100% 100%, 0 100%); border-radius:4px; }
.gh-doc__text{ flex:1; font-size:1.02rem; line-height:1.45; font-weight:600; }
.gh-doc__text small{ display:block; margin-top:.3rem; font-weight:400; font-size:.88rem; color:var(--ink-soft); }
.gh-doc__go{ flex:0 0 auto; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; border:1px solid rgba(176,141,70,.45); color:var(--maroon); transition:transform .5s var(--ease), background .3s ease, color .3s ease; }
.gh-doc__go svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:2; }
.gh-doc:hover .gh-doc__go{ background:var(--maroon); color:var(--gold-soft); transform:scale(1.08); }
.gh-docs{ display:grid; grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)); gap:1rem; }

/* Link rows (external references) */
.gh-rows{ list-style:none; margin:0; padding:0; display:grid; gap:.8rem; }
.gh-rows li{ margin:0; }
.gh-rows a{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.3rem 1.5rem; border-radius:12px; background:#fff; border:1px solid rgba(176,141,70,.22);
  color:var(--ink) !important; text-decoration:none !important; font-weight:600; font-size:1.02rem;
  transition:transform .45s var(--ease), border-color .3s ease, box-shadow .4s ease, padding .45s var(--ease);
}
.gh-rows a span{ display:flex; align-items:center; gap:1rem; }
.gh-rows a span b{ font-family:var(--serif); font-weight:400; color:var(--gold); font-size:1rem; }
.gh-rows a i{ font-style:normal; width:38px; height:38px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center; background:var(--parchment); color:var(--maroon); transition:transform .5s var(--ease), background .3s ease, color .3s ease; }
.gh-rows a:hover{ border-color:var(--gold); box-shadow:0 20px 40px -28px rgba(51,11,20,.5); }
.gh-rows a:hover i{ background:var(--maroon); color:var(--gold-soft); transform:scale(1.1); }
.gh-sec--dark .gh-rows a{ background:rgba(241,234,224,.05); border-color:rgba(217,189,134,.25); color:var(--parchment) !important; }
.gh-sec--dark .gh-rows a i{ background:rgba(217,189,134,.15); color:var(--gold-soft); }

/* Note / callout */
.gh-note{ display:flex; gap:1.2rem; align-items:flex-start; padding:1.6rem 1.8rem; border-radius:14px; background:var(--parchment); border-left:4px solid var(--gold); font-size:1rem; line-height:1.7; color:var(--ink); }
.gh-note svg{ flex:0 0 24px; width:24px; height:24px; fill:none; stroke:var(--maroon); stroke-width:1.8; margin-top:.15rem; }
.gh-note a{ color:var(--maroon); font-weight:700; }

/* Sub-nav pills */
.gh-subnav{ background:#fff; border-bottom:1px solid var(--line); padding:0 6vw; position:sticky; top:0; z-index:20; }
.admin-bar .gh-subnav{ top:32px; }
.gh-subnav__inner{ max-width:var(--content-max); margin:0 auto; display:flex; gap:.5rem; overflow-x:auto; padding:.9rem 0; scrollbar-width:none; }
.gh-subnav__inner::-webkit-scrollbar{ display:none; }
.gh-subnav a{
  flex:0 0 auto; padding:.55rem 1rem; border-radius:999px; font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase;
  color:var(--ink-soft) !important; text-decoration:none !important; border:1px solid transparent; transition:background .3s ease, color .3s ease, border-color .3s ease;
}
.gh-subnav a:hover{ border-color:var(--line); color:var(--maroon) !important; }
.gh-subnav a.is-active{ background:var(--maroon); color:var(--parchment) !important; }
[data-spy] > [id]{ scroll-margin-top:90px; }

/* Directory (members) */
.gh-search{
  display:flex; align-items:center; gap:.9rem; max-width:560px; margin:0 auto 2.6rem;
  padding:.35rem .5rem .35rem 1.3rem; border-radius:999px; background:#fff; border:1px solid rgba(176,141,70,.35);
  box-shadow:0 18px 40px -30px rgba(51,11,20,.5); transition:border-color .3s ease, box-shadow .3s ease;
}
.gh-search:focus-within{ border-color:var(--gold); box-shadow:0 0 0 4px rgba(176,141,70,.15), 0 18px 40px -30px rgba(51,11,20,.5); }
.gh-search svg{ width:20px; height:20px; fill:none; stroke:var(--gold); stroke-width:2; flex:0 0 auto; }
.gh-search input{ flex:1; border:0 !important; background:transparent !important; box-shadow:none !important; outline:none; font-family:var(--sans); font-size:1rem; padding:.8rem 0 !important; color:var(--ink); min-width:0; }
.gh-search output{ flex:0 0 auto; padding:.55rem .9rem; border-radius:999px; background:var(--parchment); color:var(--maroon); font-size:.78rem; font-weight:700; letter-spacing:.06em; }
.gh-dir{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1.2rem; }
.gh-member{
  --mx:50%; --my:50%;
  position:relative; overflow:hidden; border-radius:14px; background:#fff; border:1px solid rgba(176,141,70,.22);
  padding:1.7rem 1.6rem 1.5rem; display:flex; flex-direction:column; gap:1.1rem;
  transition:transform .5s var(--ease), box-shadow .5s ease, border-color .3s ease;
}
.gh-member::before{ content:''; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .4s ease; background:radial-gradient(260px circle at var(--mx) var(--my), rgba(176,141,70,.14), transparent 60%); }
.gh-member::after{ content:''; position:absolute; left:0; top:0; height:3px; width:100%; background:linear-gradient(90deg, var(--maroon), var(--gold)); transform:scaleX(0); transform-origin:left; transition:transform .6s var(--ease); }
.gh-member:hover{ box-shadow:0 30px 50px -32px rgba(51,11,20,.5); border-color:rgba(176,141,70,.45); }
.gh-member:hover::before{ opacity:1; }
.gh-member:hover::after{ transform:scaleX(1); }
.gh-member__top{ display:flex; gap:1rem; align-items:flex-start; }
.gh-member__mono{ flex:0 0 46px; height:46px; border-radius:12px; display:grid; place-items:center; background:var(--maroon); color:var(--gold-soft); font-family:var(--serif); font-size:1.05rem; transition:transform .5s var(--ease); }
.gh-member:hover .gh-member__mono{ transform:rotate(-6deg) scale(1.05); }
.gh-member h3{ font-family:var(--serif); font-weight:500; font-size:1.16rem; line-height:1.25; margin:0; color:var(--maroon); }
.gh-member h3 small{ display:block; margin-top:.3rem; font-family:var(--sans); font-size:.7rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); }
.gh-member address{ font-style:normal; font-size:.92rem; line-height:1.6; color:var(--ink-soft); margin:0; }
.gh-member dl{ margin:auto 0 0; padding-top:1rem; border-top:1px solid var(--line); display:grid; grid-template-columns:auto 1fr; gap:.4rem .9rem; font-size:.88rem; }
.gh-member dt{ font-size:.64rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); padding-top:.25em; }
.gh-member dd{ margin:0; color:var(--ink); overflow-wrap:anywhere; }
.gh-member dd a{ color:var(--ink) !important; text-decoration:none !important; background:linear-gradient(var(--gold-soft),var(--gold-soft)) 0 100%/100% 1px no-repeat; transition:color .3s ease, background-size .3s ease; }
.gh-member dd a:hover{ color:var(--maroon) !important; background-image:linear-gradient(var(--maroon),var(--maroon)); }
.gh-empty{ display:none; text-align:center; color:var(--ink-soft); margin:1rem 0 0; }
@media (max-width:1000px){ .gh-dir{ grid-template-columns:1fr 1fr; } }
@media (max-width:640px){ .gh-dir{ grid-template-columns:1fr; } }

/* JSC courts */
.gh-courts{ display:grid; grid-template-columns:repeat(2, 1fr); gap:1.2rem; align-items:start; }
.gh-court{ border-radius:14px; background:#fff; border:1px solid rgba(176,141,70,.22); overflow:hidden; transition:box-shadow .5s ease, border-color .3s ease; }
.gh-court:hover{ box-shadow:0 30px 50px -34px rgba(51,11,20,.5); border-color:rgba(176,141,70,.45); }
.gh-court__head{ display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1.2rem 1.5rem; background:linear-gradient(135deg, var(--maroon), var(--maroon-deep)); }
.gh-court__head h3{ font-family:var(--serif); font-weight:500; font-size:1.12rem; line-height:1.25; margin:0; color:var(--parchment); }
.gh-court__head span{ flex:0 0 auto; min-width:30px; height:30px; padding:0 .5rem; border-radius:999px; display:grid; place-items:center; background:var(--gold); color:var(--maroon-deep); font-size:.8rem; font-weight:800; }
.gh-court ul{ list-style:none; margin:0; padding:.4rem 0; }
.gh-court li{ margin:0; }
.gh-court li a{
  display:flex; align-items:center; gap:.9rem; padding:.85rem 1.5rem;
  color:var(--ink) !important; text-decoration:none !important; font-weight:600; font-size:.96rem; line-height:1.35;
  transition:background .3s ease, color .3s ease, padding .4s var(--ease);
}
.gh-court li + li a{ border-top:1px solid var(--line); }
.gh-court li a::before{ content:'PDF'; flex:0 0 auto; font-size:.6rem; font-weight:800; letter-spacing:.08em; padding:.35rem .45rem; border-radius:4px; background:var(--parchment); color:var(--maroon); transition:background .3s ease, color .3s ease; }
.gh-court li a::after{ content:'↓'; margin-left:auto; color:var(--gold); opacity:0; transform:translateY(-4px); transition:opacity .3s ease, transform .4s var(--ease); }
.gh-court li a:hover{ background:var(--paper); color:var(--maroon) !important; }
.gh-court li a:hover::before{ background:var(--maroon); color:var(--gold-soft); }
.gh-court li a:hover::after{ opacity:1; transform:none; }
@media (max-width:860px){ .gh-courts{ grid-template-columns:1fr; } }

/* Contact page */
.gh-contact{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1.2rem; }
.gh-contact .gh-card{ text-align:left; }
.gh-contact .gh-card p{ font-size:1.05rem; color:var(--ink); font-weight:600; }
.gh-contact .gh-card a{ color:var(--ink) !important; text-decoration:none !important; background:linear-gradient(var(--gold-soft),var(--gold-soft)) 0 100%/100% 1px no-repeat; }
.gh-contact .gh-card a:hover{ color:var(--maroon) !important; }
@media (max-width:860px){ .gh-contact{ grid-template-columns:1fr; } }
body.gcb-page .gcb-formband.alignfull{ background:linear-gradient(135deg, var(--maroon-deep), #4A0F1B); }
body.gcb-page .wpcf7-form input:not([type=submit]), body.gcb-page .wpcf7-form textarea{ border-radius:10px !important; }
body.gcb-page .wpcf7-form input[type=submit]{ border-radius:8px; letter-spacing:.08em; text-transform:uppercase; font-size:.82rem; font-weight:700; padding:1.05rem 2.2rem; }
.gh-formhead{ background:linear-gradient(135deg, var(--maroon-deep), #4A0F1B); color:var(--parchment); padding:clamp(4rem, 7vw, 6rem) 6vw 2rem; }
.gh-formhead .gh-head{ margin:0 auto; max-width:760px; }
.gh-formhead h2{ color:var(--parchment) !important; }
.gh-formhead .gh-eyebrow{ color:var(--gold-soft); }

/* Document cover (Ethics) — reuses .gh-journal */
.gh-journal__cover--doc span{ font-size:1.55rem; line-height:1.15; }

/* Two-up doc feature */
.gh-feature__grid--rev{ grid-template-columns:1fr auto; }
@media (max-width:760px){ .gh-feature__grid--rev{ grid-template-columns:1fr; } }
.gh-tiles--2{ grid-template-columns:repeat(2, 1fr); }
@media (max-width:560px){ .gh-tiles--2{ grid-template-columns:1fr; } }
.gh-card--lg p{ font-size:1.08rem; line-height:1.65; color:var(--ink); }
.gh-card--lg .gh-card__icon{ margin-bottom:1.3rem; }
.gh-sec[id]{ scroll-margin-top:90px; }
.gh-tags--dark li{ background:rgba(241,234,224,.06); border-color:rgba(217,189,134,.3); color:var(--parchment); }
.gh-tags--dark li:hover{ background:var(--gold); color:var(--maroon-deep); border-color:var(--gold); }
.gh-marquee--label{ display:none; }
.gh-stats__inner--3{ grid-template-columns:repeat(3, 1fr); }
.gh-stats__inner--2{ grid-template-columns:repeat(2, 1fr); }
.gh-stats{ overflow:hidden; }
@media (max-width:760px){
  .gh-stats__inner--3{ grid-template-columns:1fr; }
  .gh-stats__inner--3 .gh-stat{ border-left:0 !important; }
  .gh-stats__inner--3 .gh-stat + .gh-stat{ border-top:1px solid rgba(217,189,134,.18); }
  .gh-stats__inner--2 .gh-stat{ border-top:0 !important; }
  .gh-stats__inner--2 .gh-stat + .gh-stat{ border-left:1px solid rgba(217,189,134,.18) !important; }
  .gh-stat{ padding:2rem 1rem; }
}

/* =================================================================
   TRANSPARENT HEADER (GCB pages only)
   Floats over the maroon hero; turns solid maroon + slimmer on scroll
   (JS adds body.gcb-scrolled). Blocksy header builder markup:
   #header > [data-device] > [data-row] > div > [data-column] > [data-items]
   ================================================================= */
body.gcb-page #header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  --theme-link-initial-color:var(--parchment) !important;
  --theme-link-hover-color:var(--gold-soft) !important;
  --theme-link-active-color:var(--gold-soft) !important;
  --theme-text-color:var(--parchment) !important;
  --theme-icon-color:var(--parchment) !important;
  --theme-icon-hover-color:var(--gold-soft) !important;
}
body.gcb-page #header{ top:var(--gcb-topbar-h); transition:top .45s var(--ease); }
body.gcb-page.admin-bar #header{ top:calc(32px + var(--gcb-topbar-h)); }
@media (max-width:782px){ body.gcb-page.admin-bar #header{ top:calc(46px + var(--gcb-topbar-h)); } }
@media (max-width:600px){ body.gcb-page.admin-bar #header{ top:var(--gcb-topbar-h); } }
body.gcb-page.gcb-scrolled #header{ top:0; }
body.gcb-page.admin-bar.gcb-scrolled #header{ top:32px; }
@media (max-width:782px){ body.gcb-page.admin-bar.gcb-scrolled #header{ top:46px; } }
@media (max-width:600px){ body.gcb-page.admin-bar.gcb-scrolled #header{ top:0; } }

body.gcb-page #header [data-row]{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  transition:background-color .45s ease, box-shadow .45s ease, backdrop-filter .45s ease;
}
body.gcb-page #header [data-row] > div{
  border:0 !important;
  transition:min-height .45s var(--ease);
}
body.gcb-page #header [data-row*="middle"]{ --height:96px !important; --shrink-height:96px !important; }
body.gcb-page #header [data-row*="top"],
body.gcb-page #header [data-row*="bottom"]{ background:transparent !important; }

/* Hairline under the header while transparent */
body.gcb-page #header [data-row*="middle"]::after{
  content:''; position:absolute; left:6vw; right:6vw; bottom:0; height:1px;
  background:linear-gradient(90deg, transparent, rgba(217,189,134,.35), transparent);
  transition:opacity .45s ease;
}

/* Solid state after scrolling */
body.gcb-page.gcb-scrolled #header [data-row*="middle"]{
  --height:72px !important; --shrink-height:72px !important;
  background:rgba(51,11,20,.94) !important;
  -webkit-backdrop-filter:blur(14px) saturate(140%); backdrop-filter:blur(14px) saturate(140%);
  box-shadow:0 14px 40px -24px rgba(0,0,0,.7) !important;
}
body.gcb-page.gcb-scrolled #header [data-row*="top"],
body.gcb-page.gcb-scrolled #header [data-row*="bottom"]{ background:rgba(51,11,20,.94) !important; }
body.gcb-page.gcb-scrolled #header [data-row*="middle"]::after{ opacity:0; }

/* Logo + site title in light colours */
body.gcb-page #header .site-title, body.gcb-page #header .site-title a{ color:var(--parchment) !important; }
body.gcb-page #header .site-description{ color:rgba(241,234,224,.7) !important; }
body.gcb-page #header .site-logo-container img{
  filter:brightness(0) invert(1); /* renders any logo in white */
  transition:max-height .45s var(--ease), filter .3s ease;
}

/* Menu */
body.gcb-page #header .ct-menu-link{
  color:var(--parchment) !important;
  font-family:var(--sans); font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  position:relative;
}
body.gcb-page #header .menu > li > .ct-menu-link::after{
  content:''; position:absolute; left:calc(var(--menu-items-spacing, 25px) / 2); right:calc(var(--menu-items-spacing, 25px) / 2); bottom:calc(50% - 1.1em);
  height:2px; background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .45s var(--ease);
}
body.gcb-page #header .menu > li:hover > .ct-menu-link,
body.gcb-page #header .menu > li[class*="current-menu-"] > .ct-menu-link{ color:var(--gold-soft) !important; }
body.gcb-page #header .menu > li:hover > .ct-menu-link::after,
body.gcb-page #header .menu > li[class*="current-menu-"] > .ct-menu-link::after{ transform:scaleX(1); }

/* Mobile menu button */
body.gcb-page #header .ct-header-trigger{ color:var(--parchment) !important; }
body.gcb-page #header .ct-header-trigger svg, body.gcb-page #header .ct-header-trigger rect{ fill:var(--parchment) !important; }

/* Phone button (inserted by gcb.js) */
.gcb-hcall{
  display:inline-flex; align-items:center; gap:.6rem; flex:0 0 auto;
  padding:.5rem .95rem; border-radius:6px;
  background:var(--gold); color:var(--maroon-deep) !important; text-decoration:none !important;
  font-family:var(--sans); font-size:.82rem; font-weight:700; letter-spacing:.04em; white-space:nowrap; line-height:1;
  box-shadow:0 10px 24px -14px rgba(0,0,0,.7);
  transition:transform .35s var(--ease), background .3s ease, box-shadow .35s ease;
}
.gcb-hcall svg{ width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:2; }
.gcb-hcall:hover{ background:var(--gold-soft); transform:scale(1.04); box-shadow:0 16px 30px -16px rgba(0,0,0,.8); }
.gcb-hcall:focus-visible{ outline:3px solid var(--gold-soft); outline-offset:3px; }
.gcb-hcall small{ display:none; }


/* Push hero content below the floating header */
body.gcb-page .gh-hero{ padding-top:calc(96px + var(--gcb-topbar-h)); }
body.gcb-page .gh-subnav{ top:72px; }
body.gcb-page.admin-bar .gh-subnav{ top:104px; }
@media (max-width:782px){ body.gcb-page.admin-bar .gh-subnav{ top:118px; } }
@media (max-width:600px){ body.gcb-page.admin-bar .gh-subnav{ top:72px; } }

/* =================================================================
   ADVOCATE JOURNAL (gj-*)
   ================================================================= */
.gj-cover{ transition:transform .6s var(--ease), box-shadow .6s ease; will-change:transform; position:relative; border-radius:6px; overflow:hidden; background:var(--parchment-dim); aspect-ratio:210/297; box-shadow:0 18px 36px -22px rgba(51,11,20,.6), 0 0 0 1px rgba(176,141,70,.2); }
.gj-cover img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s var(--ease); }
.gj-cover--blank{ display:flex; flex-direction:column; justify-content:space-between; padding:1.4rem 1.2rem; background:linear-gradient(160deg, #F3E9D8, #E1D0B2); }
.gj-cover--blank span{ font-family:var(--serif); font-style:italic; font-size:1.9rem; color:var(--maroon); }
.gj-cover--blank em{ font-style:normal; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--maroon-deep); border-top:2px solid var(--gold); padding-top:.6rem; }
.gj-sub{ margin:.8rem 0 0; color:var(--gold-soft); font-size:.85rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }

/* Home/Advocate feature uses the real cover */
.gj-feature-cover{ display:block; width:clamp(190px, 22vw, 270px); perspective:1200px; }
.gj-feature-cover .gj-cover{ transform:rotateY(-14deg) rotateX(4deg); transition:transform .8s var(--ease); animation:ghFloat 7s ease-in-out infinite; box-shadow:-18px 30px 50px -20px rgba(0,0,0,.65); }
.gj-feature-cover:hover .gj-cover{ transform:rotateY(-3deg) rotateX(1deg); }

/* Archive */
.gj-tools{ display:flex; flex-wrap:wrap; gap:1.2rem; align-items:center; justify-content:space-between; margin-bottom:2.6rem; }
.gj-tools .gh-search{ margin:0; flex:1 1 420px; max-width:620px; }
.gj-chips{ display:flex; flex-wrap:wrap; gap:.45rem; }
.gj-chips button{
  appearance:none; cursor:pointer; padding:.6rem 1rem; border-radius:999px; border:1px solid rgba(176,141,70,.35); background:#fff;
  font-family:var(--sans); font-size:.78rem; font-weight:700; letter-spacing:.06em; color:var(--ink-soft);
  transition:background .3s ease, color .3s ease, border-color .3s ease, transform .3s var(--ease);
}
.gj-chips button:hover{ border-color:var(--gold); color:var(--maroon); transform:scale(1.05); }
.gj-chips button.is-on{ background:var(--maroon); border-color:var(--maroon); color:var(--parchment); }
.gj-year{ margin-top:3rem; }
.gj-year:first-child{ margin-top:0; }
.gj-year[hidden]{ display:none; }
.gj-year__h{ display:flex; align-items:baseline; gap:1rem; margin:0 0 1.3rem; font-family:var(--serif); font-weight:500; font-size:2rem; color:var(--maroon); }
.gj-year__h i{ font-style:normal; font-family:var(--sans); font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); }
.gj-year__h::after{ content:''; flex:1; height:1px; background:var(--line); align-self:center; }
.gj-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(170px, 1fr)); gap:1.6rem 1.3rem; }
.gj-card{ display:flex; flex-direction:column; gap:.9rem; color:var(--ink) !important; text-decoration:none !important; }
.gj-card .gj-cover{ transition:transform .5s var(--ease), box-shadow .5s ease; }
.gj-card:hover .gj-cover{ transform:translateY(-6px) rotate(-1deg); box-shadow:0 30px 44px -24px rgba(51,11,20,.7), 0 0 0 2px var(--gold); }
.gj-card:hover .gj-cover img{ transform:scale(1.04); }
.gj-card__meta strong{ display:block; font-family:var(--serif); font-weight:500; font-size:1.02rem; line-height:1.25; color:var(--maroon); }
.gj-card__meta em{ display:block; margin-top:.25rem; font-style:normal; font-size:.74rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--gold); }

.gj-results{ margin-bottom:2rem; }
.gj-results[hidden]{ display:none; }
.gj-results__head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:1rem; font-size:.9rem; color:var(--ink-soft); }
.gj-results__head button{ appearance:none; border:0; background:none; cursor:pointer; color:var(--maroon); font-weight:700; font-size:.82rem; }
.gj-hit{ display:grid; grid-template-columns:1fr auto; gap:.3rem 1rem; padding:1rem 1.2rem; border-radius:12px; background:#fff; border:1px solid rgba(176,141,70,.22); margin-bottom:.6rem; color:var(--ink) !important; text-decoration:none !important; transition:border-color .3s ease, transform .4s var(--ease); }
.gj-hit:hover{ border-color:var(--gold); box-shadow:0 14px 30px -22px rgba(51,11,20,.5); }
.gj-hit strong{ font-weight:600; }
.gj-hit em{ grid-column:1; font-style:normal; font-size:.85rem; color:var(--ink-soft); }
.gj-hit small{ grid-column:2; grid-row:1 / span 2; align-self:center; font-size:.7rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); text-align:right; }
.gj-hit small b{ display:block; color:var(--maroon); font-size:.78rem; letter-spacing:.02em; text-transform:none; }

/* List of journals table */
.gj-list{ margin-bottom:3rem; }
.gj-list__h{ font-family:var(--serif); font-weight:500; font-size:1.7rem; color:var(--maroon); margin:0 0 1rem; }
.gj-list table{ width:100%; border-collapse:collapse; background:#fff; border:1px solid rgba(176,141,70,.22); border-radius:12px; overflow:hidden; font-size:.94rem; }
.gj-list th{ text-align:left; background:var(--maroon); color:var(--parchment); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; padding:.8rem 1rem; }
.gj-list td{ padding:.75rem 1rem; border-top:1px solid var(--line); }
.gj-list tr:hover td{ background:var(--paper); }
.gj-list a{ color:var(--maroon) !important; font-weight:600; text-decoration:none !important; }
.gj-list a:hover{ text-decoration:underline !important; }
@media (max-width:640px){ .gj-list th:nth-child(2), .gj-list td:nth-child(2), .gj-list th:nth-child(3), .gj-list td:nth-child(3){ display:none; } }

/* Single issue */
.gj-issue__grid{ display:grid; grid-template-columns:300px minmax(0,1fr); gap:clamp(2rem, 5vw, 4.5rem); align-items:start; }
.gj-side__sticky{ position:sticky; top:110px; display:flex; flex-direction:column; gap:1.2rem; }
.gj-cover--big{ transform-style:preserve-3d; }
.gj-side .gh-doc{ padding:1rem 1.1rem; gap:1rem; }
.gj-side .gh-doc__icon{ width:42px; height:50px; }
.gj-side .gh-doc__text{ font-size:.9rem; }
.gj-editorial{ border:1px solid rgba(176,141,70,.25); border-radius:12px; background:var(--paper); overflow:hidden; }
.gj-editorial summary{ cursor:pointer; list-style:none; padding:1rem 1.2rem; font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--maroon); display:flex; justify-content:space-between; }
.gj-editorial summary::-webkit-details-marker{ display:none; }
.gj-editorial summary::after{ content:'+'; font-size:1.1rem; line-height:1; color:var(--gold); transition:transform .3s ease; }
.gj-editorial[open] summary::after{ transform:rotate(45deg); }
.gj-editorial__body{ padding:0 1.2rem 1.2rem; font-size:.85rem; line-height:1.6; color:var(--ink-soft); max-height:420px; overflow:auto; }
.gj-editorial__body h5{ margin:1rem 0 .3rem; font-family:var(--sans); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); }
.gj-editorial__body p{ margin:0 0 .6rem; }
.gj-editorial__body a{ color:var(--maroon); }
.gj-main__head{ display:flex; flex-wrap:wrap; gap:1.2rem; align-items:flex-end; justify-content:space-between; margin-bottom:2rem; }
.gj-main__head h2{ font-family:var(--serif); font-weight:500; font-size:clamp(1.7rem, 3vw, 2.4rem); line-height:1.1; margin:0; color:var(--maroon); }
.gj-filter{ margin:0; flex:0 1 320px; }
.gj-sec{ margin-bottom:2rem; }
.gj-sec__h{ display:flex; align-items:center; gap:.8rem; margin:0 0 .8rem; font-family:var(--sans); font-size:.76rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); }
.gj-sec__h::after{ content:''; flex:1; height:1px; background:var(--line); }
.gj-sec__h i{ font-style:normal; min-width:22px; height:22px; padding:0 .4rem; border-radius:999px; display:grid; place-items:center; background:var(--parchment); color:var(--maroon); font-size:.7rem; letter-spacing:0; }
.gj-arts{ list-style:none; margin:0; padding:0; border:1px solid rgba(176,141,70,.22); border-radius:12px; overflow:hidden; background:#fff; }
.gj-arts li{ margin:0; }
.gj-arts li + li{ border-top:1px solid var(--line); }
.gj-art{ display:grid; grid-template-columns:64px minmax(0,1fr) auto; gap:1rem; align-items:center; padding:.95rem 1.2rem; color:var(--ink) !important; text-decoration:none !important; transition:background .3s ease, padding .4s var(--ease); }
a.gj-art:hover{ background:var(--paper); }
.gj-art__page{ font-family:var(--serif); font-size:1.15rem; color:var(--maroon); line-height:1; text-align:center; }
.gj-art__page small{ display:block; font-family:var(--sans); font-size:.58rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); margin-bottom:.25rem; }
.gj-art__body strong{ display:block; font-weight:600; font-size:.98rem; line-height:1.4; }
.gj-art__body em{ display:block; margin-top:.2rem; font-style:normal; font-size:.86rem; color:var(--ink-soft); line-height:1.45; }
.gj-art__pdf{ display:inline-flex; align-items:center; gap:.35rem; padding:.4rem .6rem; border-radius:6px; background:var(--parchment); color:var(--maroon); font-size:.66rem; font-weight:800; letter-spacing:.08em; transition:background .3s ease, color .3s ease; }
.gj-art__pdf svg{ width:13px; height:13px; fill:none; stroke:currentColor; stroke-width:2.4; }
a.gj-art:hover .gj-art__pdf{ background:var(--maroon); color:var(--gold-soft); }
.gj-hint{ font-size:.85rem; color:var(--ink-soft); }
.gj-pager{ box-sizing:border-box; background:var(--parchment); border-top:1px solid var(--line); padding:0 6vw; margin:0 !important; }
.gj-pager__in{ display:grid; grid-template-columns:1fr auto 1fr; gap:1rem; align-items:center; padding:1.8rem 0; }
.gj-pager__a{ color:var(--ink) !important; text-decoration:none !important; }
.gj-pager__a small{ display:block; font-size:.72rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); }
.gj-pager__a strong{ font-family:var(--serif); font-weight:500; font-size:1.15rem; color:var(--maroon); }
.gj-pager__a--r{ text-align:right; }
.gj-pager__all{ padding:.7rem 1.2rem; border-radius:8px; background:var(--maroon); color:var(--parchment) !important; text-decoration:none !important; font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
@media (max-width:900px){
  .gj-issue__grid{ grid-template-columns:1fr; }
  .gj-side__sticky{ position:static; display:grid; grid-template-columns:160px 1fr; align-items:start; }
  .gj-side__sticky > :not(:first-child){ grid-column:2; }
  .gj-side__sticky > .gj-editorial{ grid-column:1 / -1; }
}
@media (max-width:560px){
  .gj-side__sticky{ grid-template-columns:120px 1fr; gap:.9rem; }
  .gj-art{ grid-template-columns:44px minmax(0,1fr); }
  .gj-art__pdf{ display:none; }
  .gj-pager__in{ grid-template-columns:1fr 1fr; }
  .gj-pager__all{ display:none; }
  .gj-grid{ grid-template-columns:repeat(2, 1fr); }
}

/* Issue pages use the same hero/header treatment as the other GCB pages */
body.gcb-issue-page .site-main{ background:var(--paper); }
body.gcb-issue-page .site-main > [class*="gh-"], body.gcb-issue-page .site-main > .gj-pager{ width:100%; }

/* Training course block from the admin screen */
.gj-course + .gj-course{ margin-top:4rem; padding-top:4rem; border-top:1px solid var(--line); }

/* =================================================================
   FOOTER
   ================================================================= */
#footer.ct-footer, footer#footer{ display:none !important; }
.gcb-foot{ background:#1E070C; color:rgba(241,234,224,.75); font-family:var(--sans); position:relative; overflow:hidden; }
.gcb-foot::before{ content:''; position:absolute; width:520px; height:520px; left:-200px; bottom:-300px; border-radius:50%; border:1px solid rgba(217,189,134,.12); box-shadow:0 0 0 70px rgba(217,189,134,.03); pointer-events:none; }
.gcb-foot__top{ position:relative; max-width:var(--content-max); margin:0 auto; padding:4rem 6vw 3rem; display:grid; grid-template-columns:1.2fr 1.6fr 1fr; gap:3rem; }
.gcb-foot__logo img{ max-width:300px; max-height:34px; width:auto; height:auto; filter:brightness(0) invert(1); opacity:.92; }
.gcb-foot__brand p{ margin:1rem 0 0; font-family:var(--serif); font-style:italic; font-size:1.3rem; color:var(--gold-soft); }
.gcb-foot__nav{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:.55rem 1.5rem; align-content:start; }
.gcb-foot__nav a{ color:rgba(241,234,224,.8) !important; text-decoration:none !important; font-size:.92rem; width:max-content; background:linear-gradient(var(--gold),var(--gold)) 0 100%/0 1px no-repeat; transition:background-size .4s var(--ease), color .3s ease; }
.gcb-foot__nav a:hover{ color:var(--gold-soft) !important; background-size:100% 1px; }
.gcb-foot__contact{ display:flex; flex-direction:column; gap:.55rem; font-size:.92rem; }
.gcb-foot__contact a{ color:var(--parchment) !important; text-decoration:none !important; }
.gcb-foot__contact a:hover{ color:var(--gold-soft) !important; }
.gcb-foot__label{ font-size:.7rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:.3rem; }
.gcb-foot__bottom{ position:relative; border-top:1px solid rgba(217,189,134,.15); max-width:var(--content-max); margin:0 auto; padding:1.4rem 6vw; display:flex; justify-content:space-between; align-items:center; gap:1rem; font-size:.82rem; }
.gcb-foot__bottom a{ color:var(--gold-soft) !important; text-decoration:none !important; }
.gcb-foot__up{ width:40px; height:40px; border-radius:50%; display:grid; place-items:center; border:1px solid rgba(217,189,134,.35); transition:background .3s ease, transform .4s var(--ease); }
.gcb-foot__up:hover{ background:var(--gold); color:var(--maroon-deep) !important; transform:scale(1.08); }
@media (max-width:900px){ .gcb-foot__top{ grid-template-columns:1fr; gap:2rem; } }

/* =================================================================
   TOP BAR (Home / About / Contact + phone), above the main header
   ================================================================= */
:root{ --gcb-topbar-h:42px; }
.gcb-topbar{ background:var(--maroon-deep); color:var(--parchment); font-family:var(--sans); position:relative; z-index:101; }
body.gcb-page .gcb-topbar{
  position:fixed; top:0; left:0; right:0;
  background:rgba(30,7,12,.55); border-bottom:1px solid rgba(217,189,134,.18);
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  transition:transform .45s var(--ease), opacity .3s ease;
}
body.gcb-page.admin-bar .gcb-topbar{ top:32px; }
@media (max-width:782px){ body.gcb-page.admin-bar .gcb-topbar{ top:46px; } }
@media (max-width:600px){ body.gcb-page.admin-bar .gcb-topbar{ top:0; } }
body.gcb-page.gcb-scrolled .gcb-topbar{ transform:translateY(-100%); opacity:0; pointer-events:none; }
.gcb-topbar__in{ max-width:1290px; height:var(--gcb-topbar-h); margin:0 auto; padding:0 35px; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; }
.gcb-topbar__mail{ font-size:.8rem; color:rgba(241,234,224,.75) !important; text-decoration:none !important; transition:color .25s ease; }
.gcb-topbar__mail:hover{ color:var(--gold-soft) !important; }
.gcb-topbar__right{ display:flex; align-items:center; gap:1.4rem; }
.gcb-topbar__nav{ display:flex; align-items:center; gap:1.4rem; }
.gcb-topbar__nav a{
  font-size:.74rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--parchment) !important; text-decoration:none !important; position:relative; padding:.3rem 0;
  transition:color .25s ease;
}
.gcb-topbar__nav a::after{ content:''; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--gold); transform:scaleX(0); transition:transform .4s var(--ease); }
.gcb-topbar__nav a:hover, .gcb-topbar__nav a[aria-current="page"]{ color:var(--gold-soft) !important; }
.gcb-topbar__nav a:hover::after, .gcb-topbar__nav a[aria-current="page"]::after{ transform:scaleX(1); }
.gcb-topbar .gcb-hcall{ font-size:.76rem; box-shadow:none; }
@media (max-width:760px){
  :root{ --gcb-topbar-h:38px; }
  .gcb-topbar__in{ padding:0 16px; }
  .gcb-topbar__mail{ display:none; }
  .gcb-topbar__right{ width:100%; justify-content:space-between; gap:.8rem; }
  .gcb-topbar__nav{ gap:1rem; }
  .gcb-topbar .gcb-hcall span{ display:none; }
  .gcb-topbar .gcb-hcall{ padding:.45rem .6rem; }
}

/* =================================================================
   Round 8: Blocksy colours in GCB maroon (search popup, buttons,
   form focus), centred sub-navigation, single stat, Fluent Forms
   ================================================================= */
:root{
  --theme-palette-color-1:#5C1220;
  --theme-palette-color-2:#7A1C2E;
  --theme-link-hover-color:#7A1C2E;
  --theme-button-background-initial-color:#5C1220;
  --theme-button-background-hover-color:#7A1C2E;
  --theme-form-field-border-focus-color:#B08D46;
}
/* Header search popup */
#search-modal{ background-color:rgba(43,9,17,.97) !important; }
#search-modal .ct-search-form{
  --theme-form-field-border-initial-color:rgba(217,189,134,.35);
  --theme-form-field-border-focus-color:#D9BD86;
  --theme-form-text-initial-color:#F1EAE0;
  --theme-form-text-focus-color:#F1EAE0;
}
#search-modal .ct-search-form input{ color:#F1EAE0; caret-color:#D9BD86; }
#search-modal .ct-search-form input::placeholder{ color:rgba(241,234,224,.55); }
#search-modal .ct-search-form button,
#search-modal .ct-search-form .wp-element-button{
  --theme-button-background-initial-color:#7A1C2E;
  --theme-button-background-hover-color:#B08D46;
  background-color:#7A1C2E !important; color:#F1EAE0 !important; border-color:transparent !important;
  transition:background-color .3s ease, transform .3s var(--ease);
}
#search-modal .ct-search-form button:hover{ background-color:#B08D46 !important; color:#330B14 !important; transform:scale(1.04); }
#search-modal .ct-search-results a,
#search-modal .ct-search-results{ color:#F1EAE0; }
#search-modal .ct-search-results a:hover{ color:#D9BD86; }
#search-modal .ct-search-more{ color:#D9BD86 !important; }
#search-modal [class*="ct-toggle-close"]{ --theme-icon-color:#D9BD86; }

/* Sub-navigation pills: centred when they fit, still scrollable when not */
.gh-subnav__inner > a:first-child{ margin-left:auto; }
.gh-subnav__inner > a:last-child{ margin-right:auto; }

/* One-number stat band */
.gh-stats__inner--1{ grid-template-columns:1fr; text-align:center; }
.gh-stats__inner--1 .gh-stat{ border:0 !important; }

/* Fluent Forms, styled to match */
body.gcb-page .gcb-formband .fluentform .ff-el-input--label label{ color:var(--gold-soft) !important; font-size:.78rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; }
body.gcb-page .gcb-formband .fluentform .ff-el-form-control{
  background:rgba(241,234,224,.06) !important; border:1px solid rgba(217,189,134,.3) !important; border-radius:10px !important;
  color:var(--parchment) !important; padding:.9rem 1rem !important; font:inherit; transition:border-color .3s ease, background .3s ease;
}
body.gcb-page .gcb-formband .fluentform .ff-el-form-control:focus{ border-color:var(--gold) !important; background:rgba(241,234,224,.1) !important; outline:0; box-shadow:none !important; }
body.gcb-page .gcb-formband .fluentform .ff-el-form-control::placeholder{ color:rgba(241,234,224,.45); }
body.gcb-page .gcb-formband .fluentform .ff-btn-submit{
  background:var(--gold) !important; color:var(--maroon-deep) !important; border:0 !important; border-radius:8px !important;
  letter-spacing:.08em; text-transform:uppercase; font-size:.82rem; font-weight:700; padding:1.05rem 2.2rem !important;
  transition:transform .3s var(--ease), background .3s ease;
}
body.gcb-page .gcb-formband .fluentform .ff-btn-submit:hover{ background:var(--gold-soft) !important; transform:scale(1.035); }
body.gcb-page .gcb-formband .ff-message-success{ background:rgba(241,234,224,.08); color:var(--parchment); border:1px solid var(--gold); border-radius:10px; box-shadow:none; }
body.gcb-page .gcb-formband .error.text-danger{ color:#F2B8B5; }

/* Hero photo (the page's Featured Image) under the maroon overlay */
body.gcb-has-hero-img .gh-hero::before{
  content:''; position:absolute; inset:0; z-index:-2; pointer-events:none;
  background:
    linear-gradient(100deg, rgba(42,9,17,.94) 0%, rgba(51,11,20,.82) 45%, rgba(92,18,32,.55) 100%),
    var(--gh-hero-img) center / cover no-repeat;
  transform:scale(1.08); animation:ghHeroPhoto 1.8s var(--ease) forwards;
}
@keyframes ghHeroPhoto{ to{ transform:scale(1); } }
body.gcb-has-hero-img .gh-hero__motif{ opacity:.28; }
@media (max-width:760px){
  body.gcb-has-hero-img .gh-hero::before{ background:linear-gradient(180deg, rgba(42,9,17,.9), rgba(51,11,20,.88)), var(--gh-hero-img) center / cover no-repeat; }
}
@media (prefers-reduced-motion:reduce){ body.gcb-has-hero-img .gh-hero::before{ animation:none; transform:none; } }

/* Headings: room for descenders (y, g, p) inside the reveal mask and the gold gradient text */
.gh-word{ padding-bottom:.2em; margin-bottom:-.12em; }
.gh-word--accent > span{ padding-bottom:.18em; margin-bottom:-.18em; }
.gh-hero__title, .gh-head h2, .gh-sec h2{ overflow:visible; }
/* The animated globe is retired everywhere */
.gh-hero__motif{ display:none !important; }

/* Hero photos: lighter overlay so the images read clearly (text side stays dark enough to read) */
body.gcb-has-hero-img .gh-hero::before{
  background:
    linear-gradient(100deg, rgba(42,9,17,.82) 0%, rgba(51,11,20,.6) 40%, rgba(92,18,32,.28) 75%, rgba(92,18,32,.18) 100%),
    var(--gh-hero-img) center / cover no-repeat;
}
body.gcb-has-hero-img .gh-hero{ background:#2A0911; }
body.gcb-has-hero-img .gh-hero__glow{ opacity:.45; }
body.gcb-has-hero-img .gh-hero::after{ opacity:.035; }
body.gcb-has-hero-img .gh-hero__title, body.gcb-has-hero-img .gh-hero__lede{ text-shadow:0 2px 18px rgba(30,6,12,.45); }
@media (max-width:760px){
  body.gcb-has-hero-img .gh-hero::before{ background:linear-gradient(180deg, rgba(42,9,17,.78), rgba(51,11,20,.7)), var(--gh-hero-img) center / cover no-repeat; }
}

/* =================================================================
   PER-PAGE HERO PHOTO SIZE / POSITION  (edit these to taste)
   Every page has a class like body.gcb-page-advocate, body.gcb-page-about …
   background-size:     cover = fill the hero (crops edges)
                        contain = show the whole photo (may leave bars)
                        or a width, e.g. 120% / 1800px / auto 100%
   background-position: which part stays in view: center, top, 50% 30% …
   ================================================================= */
body.gcb-page-advocate.gcb-has-hero-img .gh-hero::before{
  background-size: cover, cover;            /* 1st value = overlay (leave), 2nd = photo */
  background-position: center, center;
}

/* Members hero photo: shift the photo down (shows more of its top). Lower % = photo moves further down. */
body.gcb-page-members.gcb-has-hero-img .gh-hero::before{
  background-size: cover, cover;
  background-position: center, center 10%;
}

body.gcb-page-home.gcb-has-hero-img .gh-hero::before{
  background-size: cover, cover;
  background-position: center, center 20%;
}

/* =================================================================
   HEADER LOGO SIZE — edit these four numbers
   --gcb-logo-h           logo height at the top of the page
   --gcb-logo-h-scrolled  logo height after scrolling down
   --gcb-header-h         header bar height (keep ~20px more than the logo)
   --gcb-header-h-scrolled
   ================================================================= */
:root{
  --gcb-logo-h:90px;
  --gcb-logo-h-scrolled:60px;
  --gcb-header-h:112px;
  --gcb-header-h-scrolled:80px;
}
body.gcb-page #header [data-row*="middle"]{ --height:var(--gcb-header-h) !important; --shrink-height:var(--gcb-header-h) !important; }
body.gcb-page.gcb-scrolled #header [data-row*="middle"]{ --height:var(--gcb-header-h-scrolled) !important; --shrink-height:var(--gcb-header-h-scrolled) !important; }
body.gcb-page .gh-hero{ padding-top:calc(var(--gcb-header-h) + var(--gcb-topbar-h)); }
#header .site-logo-container{ --logo-max-height:var(--gcb-logo-h) !important; --logo-shrink-height:var(--gcb-logo-h-scrolled) !important; }
#header .site-logo-container img, body.gcb-page #header .site-logo-container img{
  height:var(--gcb-logo-h) !important; max-height:none !important; width:auto !important; filter:none !important;
  transition:height .45s var(--ease);
}
body.gcb-scrolled #header .site-logo-container img{ height:var(--gcb-logo-h-scrolled) !important; }
/* Keep the logo exactly centred in the header bar.
   --gcb-logo-nudge moves it up (negative) or down (positive) if you want to fine-tune. */
:root{ --gcb-logo-nudge:0px; }
#header [data-row*="middle"] [data-id="logo"],
#header [data-row*="middle"] .site-branding{ display:flex !important; align-items:center !important; align-self:center !important; height:100%; margin:0 !important; padding:0 !important; }
#header .site-logo-container{ display:flex !important; align-items:center; line-height:0 !important; margin:0 !important; padding:0 !important; height:auto !important; }
#header .site-logo-container img{ display:block; margin:0 !important; transform:translateY(var(--gcb-logo-nudge)); }
#header .site-title-container, #header .site-title:empty{ display:none !important; }
@media (max-width:999px){ :root{ --gcb-logo-h:64px; --gcb-logo-h-scrolled:52px; --gcb-header-h:88px; --gcb-header-h-scrolled:70px; } }

.gcb-foot__logo img{ filter:none !important; max-height:72px; opacity:1; }

/* Inner pages: same lighter look as the homepage hero */
body.gcb-has-hero-img .gh-hero--page .gh-hero__glow{ opacity:.15; }
body.gcb-has-hero-img .gh-hero--page::before{
  background:
    linear-gradient(100deg, rgba(42,9,17,.55) 0%, rgba(51,11,20,.3) 40%, rgba(92,18,32,.1) 75%, rgba(92,18,32,.0) 100%),
    var(--gh-hero-img) center / cover no-repeat;
}

/* Homepage Hero height */
body.gcb-page-home .gh-hero{min-height:0 !important;height:90vh;}

/* homepage hero text move up spacing */
body.gcb-page-home .gh-hero__inner {padding-top:1rem; padding-bottom:6rem;}