﻿/* =============================================================
   Our Future - Grimsby site (Growing Together brand)
   Layered on top of colors_and_type.css
   ============================================================= */

html { scroll-behavior: smooth; }
body { background: var(--gt-white); }

img { max-width: 100%; display: block; }

.gt-container {
  max-width: var(--container-wide);
  margin: 0 auto;
  padding: 0 var(--sp-5);
}

/* ---------- Buttons ---------- */
.gt-btn {
  font-family: var(--font-display);
  font-weight: var(--w-bold);
  font-size: var(--fs-14);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  border: 0;
  padding: 14px 24px;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  line-height: 1;
  transition: background var(--dur-fast) var(--ease),
              color var(--dur-fast) var(--ease),
              transform var(--dur-fast) var(--ease);
}
.gt-btn--primary  { background: var(--gt-navy); color: var(--gt-white); }
.gt-btn--primary:hover  { background: var(--gt-blue); color: var(--gt-navy); }
.gt-btn--primary:active { transform: translateY(1px); }

.gt-btn--secondary {
  background: transparent; color: var(--gt-navy);
  border: 2px solid var(--gt-navy); padding: 12px 22px;
}
.gt-btn--secondary:hover  { background: var(--gt-navy); color: var(--gt-white); }
.gt-btn--secondary:active { transform: translateY(1px); }

.gt-btn--accent  { background: var(--gt-orange); color: var(--gt-white); }
.gt-btn--accent:hover  { background: var(--gt-navy); }

.gt-btn--ghost-light {
  background: transparent; color: var(--gt-white);
  border: 2px solid rgba(255,255,255,.7); padding: 12px 22px;
}
.gt-btn--ghost-light:hover { background: var(--gt-white); color: var(--gt-navy); border-color: var(--gt-white); }

.gt-link {
  font-family: var(--font-display);
  font-weight: var(--w-bold);
  font-size: var(--fs-14);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--gt-navy);
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 2px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent;
  border: 0;
  padding: 0;
}
.gt-link:hover { color: var(--gt-blue); }
.gt-link--light { color: var(--gt-white); }
.gt-link--light:hover { color: var(--gt-blue); }

/* ---------- Header ---------- */
.gt-header {
  position: sticky; top: 0; z-index: 50;
  background: var(--gt-white);
  border-bottom: 1px solid var(--gt-line);
}
.gt-header__inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 0; gap: 32px;
}
.gt-header__brand { display: inline-flex; text-decoration: none; color: inherit; }
.gt-header__nav { display: flex; gap: 36px; align-items: center; }
.gt-header__link {
  font-family: var(--font-display);
  font-weight: var(--w-bold);
  font-size: var(--fs-14);
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--gt-navy);
  text-decoration: none;
  padding: 10px 0;
  position: relative;
  background: transparent; border: 0; cursor: pointer;
}
.gt-header__link:hover { color: var(--gt-blue); }
.gt-header__link.is-active::after {
  content: ""; position: absolute; left: 0; right: 0; bottom: -17px;
  height: 3px; background: var(--gt-orange);
}

.gt-header__right { display: flex; align-items: center; gap: 20px; }

/* Translation widget */
.gt-translate {
  position: relative;
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-display);
  font-weight: var(--w-bold);
  font-size: var(--fs-12);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--gt-navy);
  background: transparent; border: 1.5px solid var(--gt-navy);
  padding: 8px 12px;
  cursor: pointer;
}
.gt-translate:hover { background: var(--gt-navy); color: var(--gt-white); }
.gt-translate__menu {
  position: absolute; top: calc(100% + 6px); right: 0;
  background: var(--gt-white); border: 1.5px solid var(--gt-navy);
  min-width: 180px; padding: 6px 0;
  display: flex; flex-direction: column;
  z-index: 60;
}
.gt-translate__item {
  font-family: var(--font-display);
  font-weight: var(--w-bold);
  font-size: var(--fs-12);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: left;
  background: transparent; border: 0;
  padding: 10px 14px; cursor: pointer; color: var(--gt-navy);
}
.gt-translate__item:hover { background: var(--gt-paper); color: var(--gt-blue); }
.gt-translate__item.is-active { color: var(--gt-orange); }

/* Hero CTA - larger, accented, prominent */
.gt-btn--hero {
  background: var(--gt-orange);
  color: var(--gt-white);
  font-size: var(--fs-16);
  padding: 20px 32px;
  letter-spacing: 0.04em;
  border: 0;
  position: relative;
  overflow: hidden;
  z-index: 0;
  box-shadow: 0 4px 0 0 rgba(0,0,0,.18);
  transform: translateY(0);
  transition: transform var(--dur-fast) var(--ease),
              box-shadow var(--dur-fast) var(--ease),
              background var(--dur-fast) var(--ease);
}
.gt-btn--hero::before {
  content: "";
  position: absolute; inset: 0;
  background: var(--gt-yellow);
  transform: translateX(-101%);
  transition: transform var(--dur-base) var(--ease);
  z-index: -1;
}
.gt-btn--hero:hover {
  color: var(--gt-navy);
  transform: translateY(-2px);
  box-shadow: 0 6px 0 0 rgba(0,0,0,.22);
}
.gt-btn--hero:hover::before { transform: translateX(0); }
.gt-btn--hero:active {
  transform: translateY(2px);
  box-shadow: 0 0 0 0 rgba(0,0,0,.18);
}
.gt-btn--hero span[aria-hidden] {
  font-size: 1.2em;
  display: inline-block;
  transition: transform var(--dur-fast) var(--ease);
}
.gt-btn--hero:hover span[aria-hidden] { transform: translateX(4px); }

/* ---------- Sections ---------- */
.gt-section { padding: var(--sp-9) 0; position: relative; overflow: hidden; }
.gt-section--tight { padding: var(--sp-8) 0; }
.gt-section.is-dark { background: var(--gt-navy); color: var(--gt-white); }
.gt-section.is-paper { background: var(--gt-paper); }

/* ---------- Dark-surface heading colour overrides ----------
   The base type rules in colors_and_type.css set every h1/h2/h3
   to var(--fg) (navy). On dark surfaces (.is-dark, .gt-vhero,
   .gt-pagehead, .gt-footer, .gt-external) we need to re-assert
   white so headings don't render navy-on-navy. */
.is-dark h1, .is-dark h2, .is-dark h3, .is-dark h4, .is-dark h5, .is-dark h6,
.is-dark .gt-sec-head__title,
.gt-pagehead h1, .gt-pagehead .gt-pagehead__h,
.gt-footer h1, .gt-footer h2, .gt-footer h3, .gt-footer h4, .gt-footer h5,
.gt-external h1, .gt-external h2, .gt-external h3, .gt-external .gt-external__h,
.gt-cta-strip h1, .gt-cta-strip h2, .gt-cta-strip .gt-cta-strip__h {
  color: var(--gt-white);
}
/* FGTC hero now has video background - paper text on dark scrim */
.gt-vhero .gt-vhero__h { color: var(--fgtc-paper); }
.gt-vhero .gt-vhero__lede { color: rgba(250, 248, 245, 0.86); }
.gt-vhero .fgtc-masthead-rule { color: var(--fgtc-paper); }
/* Keep nav items on one line */
.gt-header__link { white-space: nowrap; }

.gt-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: var(--fs-12);
  font-weight: var(--w-bold);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--fg-muted);
  margin-bottom: var(--sp-4);
}
.gt-eyebrow::before {
  content: ""; width: 24px; height: 2px; background: currentColor;
}

/* ---------- Section header ---------- */
.gt-sec-head { margin-bottom: var(--sp-7); display: grid; grid-template-columns: 2fr 1fr; gap: var(--sp-5); align-items: end; }
.gt-sec-head__title {
  font-family: var(--font-display);
  font-weight: var(--w-black);
  text-transform: uppercase;
  font-size: clamp(36px, 4vw, 56px);
  line-height: 1.02;
  letter-spacing: 0.005em;
  margin: 0;
}
.gt-sec-head__sub { color: var(--fg-muted); font-size: var(--fs-16); line-height: 1.5; max-width: 36ch; justify-self: end; margin: 0; }

.gt-display {
  font-family: var(--font-display);
  font-weight: var(--w-black);
  text-transform: uppercase;
  font-size: clamp(40px, 6vw, 96px);
  line-height: 0.96;
  letter-spacing: 0.005em;
  margin: 0;
}

.gt-prose p { font-size: var(--fs-18); line-height: 1.65; margin: 0 0 18px; }
.gt-prose p:last-child { margin-bottom: 0; }
.gt-prose--lg p { font-size: var(--fs-20); }

/* =============================================================
   HOME - Video Hero
   ============================================================= */
.gt-vhero {
  position: relative;
  min-height: 560px;
  display: grid;
  align-items: end;
  background: var(--gt-navy);
  color: var(--gt-white);
  overflow: hidden;
}
.gt-vhero__video {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
}
.gt-vhero__placeholder {
  position: absolute; inset: 0;
  background:
    radial-gradient(120% 80% at 50% 30%, #2d1f5a 0%, #0e0628 100%);
  z-index: 0;
  overflow: hidden;
}
.gt-vhero__placeholder::before {
  /* faked moody skyline / industrial silhouette */
  content: "";
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,.45) 80%),
    linear-gradient(180deg, #3a3144 0 50%, #1a1230 50% 100%);
  clip-path: polygon(
    0% 100%, 0% 70%, 4% 70%, 4% 60%, 8% 60%, 8% 70%,
    14% 70%, 14% 50%, 18% 50%, 18% 40%, 22% 40%, 22% 56%, 26% 56%,
    26% 64%, 32% 64%, 32% 30%, 36% 30%, 36% 28%, 40% 28%, 40% 64%,
    48% 64%, 48% 56%, 52% 56%, 52% 44%, 58% 44%, 58% 56%, 64% 56%,
    64% 66%, 72% 66%, 72% 54%, 78% 54%, 78% 70%, 86% 70%, 86% 60%,
    92% 60%, 92% 74%, 100% 74%, 100% 100%
  );
  opacity: .85;
}
.gt-vhero__placeholder::after {
  /* color tints */
  content: "";
  position: absolute; left: 0; right: 0; bottom: 0; height: 60%;
  background:
    radial-gradient(40% 60% at 15% 100%, rgba(246,181,69,.35), transparent 70%),
    radial-gradient(40% 60% at 85% 100%, rgba(240,90,40,.30), transparent 70%);
}
.gt-vhero__scrim {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(24,12,60,.10) 0%, rgba(24,12,60,.20) 40%, rgba(24,12,60,.85) 100%);
  z-index: 1;
}
.gt-vhero__inner {
  position: relative; z-index: 2;
  padding: 56px 0 64px;
  width: 100%;
}
.gt-vhero__h {
  font-family: var(--font-display);
  font-weight: var(--w-black);
  text-transform: uppercase;
  font-size: clamp(48px, 7vw, 112px);
  line-height: 0.92;
  letter-spacing: 0.005em;
  margin: 0 0 28px;
  max-width: 16ch;
}
.gt-vhero__lede {
  font-size: var(--fs-20); line-height: 1.55; max-width: 56ch;
  margin: 0 0 36px; color: rgba(255,255,255,.92);
}
.gt-vhero__cta { display: flex; gap: 16px; flex-wrap: wrap; }
.gt-vhero__playtag {
  position: absolute; top: 32px; right: 32px;
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); text-transform: uppercase;
  color: rgba(255,255,255,.9);
  z-index: 3;
}
.gt-vhero__playdot {
  width: 10px; height: 10px; border-radius: 50%;
  background: var(--gt-orange);
  box-shadow: 0 0 0 0 rgba(240,90,40,.6);
  animation: gt-pulse 1.8s ease-out infinite;
}
@keyframes gt-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(240,90,40,.6); }
  100% { box-shadow: 0 0 0 14px rgba(240,90,40,0); }
}

/* Decorative blocks layered into hero */
.gt-vhero__blocks { position: absolute; inset: 0; z-index: 1; pointer-events: none; }
.gt-vhero__blocks .b-circle {
  position: absolute; top: -120px; right: -80px;
  width: 320px; height: 320px; background: var(--gt-green);
  border-radius: 50%; opacity: .95;
}
.gt-vhero__blocks .b-bar {
  position: absolute; top: 36%; left: -60px;
  width: 320px; height: 22px; background: var(--gt-blue);
  transform: rotate(-4deg);
}
.gt-vhero__blocks .b-trap {
  position: absolute; bottom: -40px; right: 8%;
  width: 200px; height: 140px; background: var(--gt-yellow);
  clip-path: polygon(0% 30%, 100% 0%, 100% 100%, 0% 100%);
  opacity: .9;
}

/* =============================================================
   HOME - Invitation strip
   ============================================================= */
.gt-invite {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 64px;
  align-items: center;
}
.gt-invite__h {
  font-family: var(--font-display);
  font-weight: var(--w-black);
  text-transform: uppercase;
  font-size: clamp(36px, 4.5vw, 64px);
  line-height: 1.0;
  letter-spacing: 0.005em;
  margin: 0 0 24px;
}
.gt-invite__ways {
  display: flex; flex-direction: column; gap: 0;
  border-top: 1px solid var(--gt-line);
}
.gt-invite__way {
  display: grid; grid-template-columns: 56px 1fr auto;
  gap: 20px; align-items: center;
  padding: 22px 0; border-bottom: 1px solid var(--gt-line);
  text-decoration: none; color: var(--gt-navy);
  font-family: var(--font-display);
  font-weight: var(--w-bold);
  font-size: var(--fs-18);
  cursor: pointer;
  transition: padding var(--dur-fast) var(--ease);
  background: none; border-left: 0; border-right: 0; border-top: 0; width: 100%; text-align: left;
}
.gt-invite__way:hover { padding-left: 12px; color: var(--gt-blue); }
.gt-invite__waynum {
  font-family: var(--font-display);
  font-weight: var(--w-black);
  font-size: var(--fs-32);
  letter-spacing: 0.005em;
}
.gt-invite__way:nth-child(1) .gt-invite__waynum { color: var(--gt-orange); }
.gt-invite__way:nth-child(2) .gt-invite__waynum { color: var(--gt-blue); }
.gt-invite__way:nth-child(3) .gt-invite__waynum { color: var(--gt-green); }
.gt-invite__way:nth-child(4) .gt-invite__waynum { color: var(--gt-yellow); }

/* =============================================================
   HOME - Context blocks (parts of the website)
   ============================================================= */
.gt-context {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  border-top: 2px solid var(--gt-navy);
}
.gt-context__cell {
  padding: 40px 36px 44px;
  border-bottom: 2px solid var(--gt-navy);
  border-right: 1px solid var(--gt-navy);
  position: relative;
  background: var(--gt-white);
  display: flex; flex-direction: column; gap: 16px;
  text-decoration: none; color: var(--gt-navy);
  cursor: pointer; text-align: left;
  transition: background var(--dur-fast) var(--ease);
  border-top: 0; border-left: 0;
}
.gt-context__cell:nth-child(3n) { border-right: 0; }
.gt-context__cell:hover { background: var(--gt-paper); }
.gt-context__cell:hover .gt-context__h { color: var(--gt-blue); }
.gt-context__num {
  font-family: var(--font-display);
  font-weight: var(--w-black);
  font-size: var(--fs-14);
  letter-spacing: var(--ls-eyebrow);
  color: var(--fg-muted);
}
.gt-context__h {
  font-family: var(--font-display);
  font-weight: var(--w-black);
  text-transform: uppercase;
  font-size: var(--fs-32);
  line-height: 1.04;
  letter-spacing: 0.005em;
  margin: 0;
  transition: color var(--dur-fast) var(--ease);
}
.gt-context__p { font-size: var(--fs-16); line-height: 1.6; margin: 0; color: var(--gt-navy); }
.gt-context__more {
  margin-top: auto;
  font-family: var(--font-display);
  font-weight: var(--w-bold);
  font-size: var(--fs-12);
  letter-spacing: var(--ls-eyebrow);
  text-transform: uppercase;
  color: var(--gt-navy);
  display: inline-flex; align-items: center; gap: 8px;
  padding-top: 16px;
}
.gt-context__chip {
  position: absolute; top: 24px; right: 24px;
  width: 36px; height: 36px;
}
.gt-context__cell:nth-child(1) .gt-context__chip { background: var(--gt-orange); }
.gt-context__cell:nth-child(2) .gt-context__chip { background: var(--gt-blue); border-radius: 50%; }
.gt-context__cell:nth-child(3) .gt-context__chip { background: var(--gt-green); clip-path: polygon(50% 0, 100% 100%, 0 100%); }

/* =============================================================
   FOOTER
   ============================================================= */
.gt-footer {
  background: var(--gt-navy);
  color: var(--gt-white);
  padding: 80px 0 32px;
  position: relative; overflow: hidden;
}
.gt-footer__grid {
  display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.4fr; gap: 48px;
  padding-bottom: 56px; border-bottom: 1px solid rgba(255,255,255,.14);
  position: relative; z-index: 1;
}
.gt-footer__strap { color: rgba(255,255,255,.7); font-size: var(--fs-14); margin: 20px 0 0; max-width: 32ch; line-height: 1.6; }
.gt-footer__h {
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); text-transform: uppercase; letter-spacing: var(--ls-eyebrow);
  margin: 0 0 18px; color: rgba(255,255,255,.6);
}
.gt-footer__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 12px; }
.gt-footer__list a, .gt-footer__list button {
  color: rgba(255,255,255,.86); text-decoration: none; font-size: var(--fs-15, 0.95rem);
  background: none; border: 0; padding: 0; text-align: left; cursor: pointer;
  font-family: inherit;
}
.gt-footer__list a:hover, .gt-footer__list button:hover { color: var(--fgtc-paper); }
.gt-footer__base { padding-top: 28px; display: flex; justify-content: space-between; font-size: var(--fs-12); color: rgba(255,255,255,.5); flex-wrap: wrap; gap: 16px; position: relative; z-index: 1; }

/* ── Powered by Our Future band (homepage, below header) ── */
.gt-of-band { background: #FAF8F5; border-top: 1px solid var(--fgtc-line); border-bottom: 1px solid var(--fgtc-line); padding: 32px 0; }
.gt-of-band__inner { display: flex; align-items: center; justify-content: center; gap: 20px; text-decoration: none; transition: opacity 0.15s; }
.gt-of-band__inner:hover { opacity: 0.7; }
.gt-of-band__label { font-size: var(--fs-14); font-weight: var(--w-bold); letter-spacing: var(--ls-eyebrow); text-transform: uppercase; color: var(--fg-muted); }
.gt-of-band__logo { height: 56px; width: auto; display: block; }

.gt-newsletter { display: flex; gap: 0; margin-bottom: 18px; }
.gt-newsletter input {
  flex: 1; font: inherit; font-family: var(--font-body);
  font-size: var(--fs-14);
  padding: 12px 14px;
  border: 1.5px solid rgba(255,255,255,.4);
  background: transparent; color: var(--gt-white);
  border-radius: 0; outline: 0;
  border-right: 0;
}
.gt-newsletter input::placeholder { color: rgba(255,255,255,.5); }
.gt-newsletter input:focus { border-color: var(--gt-blue); box-shadow: 0 0 0 3px rgba(51,187,229,.25); border-right: 0; }
.gt-newsletter button {
  background: var(--gt-orange); color: var(--gt-white);
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); letter-spacing: 0.06em; text-transform: uppercase;
  border: 0; padding: 0 18px; cursor: pointer;
  transition: background var(--dur-fast) var(--ease);
}
.gt-newsletter button:hover { background: var(--gt-blue); color: var(--gt-navy); }
.gt-newsletter--success {
  display: flex; align-items: center; gap: 10px;
  background: rgba(190,205,51,.12);
  border: 1.5px solid var(--gt-green);
  padding: 12px 14px;
  font-size: var(--fs-14);
  color: var(--gt-white);
}
.gt-newsletter--success .dot { width: 8px; height: 8px; background: var(--gt-green); border-radius: 50%; }

.gt-socials { display: flex; gap: 10px; margin-top: 18px; }
.gt-socials a {
  width: 40px; height: 40px;
  border: 1.5px solid rgba(255,255,255,.4);
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--gt-white); text-decoration: none;
  transition: background var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease);
}
.gt-socials a:hover { background: var(--gt-blue); border-color: var(--gt-blue); color: var(--gt-navy); }
.gt-socials svg { width: 18px; height: 18px; }

.gt-footer__blocks { position: absolute; inset: 0; z-index: 0; pointer-events: none; opacity: .14; }
.gt-footer__blocks .b1 { position: absolute; bottom: -80px; right: -80px; width: 320px; height: 320px; border-radius: 50%; background: var(--gt-blue); }
.gt-footer__blocks .b2 { position: absolute; top: -40px; right: 38%; width: 140px; height: 140px; background: var(--gt-yellow); clip-path: polygon(50% 0,100% 100%,0 100%); }

/* =============================================================
   ABOUT - History + People + Priorities + FAQs
   ============================================================= */
.gt-about-hero {
  background: var(--gt-navy); color: var(--gt-white);
  padding: 120px 0 96px;
  position: relative; overflow: hidden;
}
.gt-about-hero__strapline {
  font-family: var(--font-display);
  font-weight: var(--w-black);
  text-transform: uppercase;
  font-size: clamp(48px, 6vw, 96px);
  line-height: 0.95;
  letter-spacing: 0.005em;
  margin: 0 0 24px;
}
.gt-about-hero__lede { font-size: var(--fs-20); line-height: 1.5; max-width: 56ch; color: rgba(255,255,255,.88); }
.gt-about-hero__blocks { position: absolute; inset: 0; pointer-events: none; opacity: .9; }
.gt-about-hero__blocks .b1 { position: absolute; top: -60px; right: -60px; width: 260px; height: 260px; background: var(--gt-orange); border-radius: 50%; opacity: .25; }
.gt-about-hero__blocks .b2 { position: absolute; bottom: -100px; left: -60px; width: 320px; height: 320px; background: var(--gt-blue); clip-path: polygon(50% 0,100% 100%,0 100%); opacity: .18; }

.gt-history { display: grid; grid-template-columns: 1fr 1.4fr; gap: 80px; align-items: start; }
.gt-history__title {
  font-family: var(--font-display);
  font-weight: var(--w-black); text-transform: uppercase;
  font-size: clamp(36px, 4vw, 56px); line-height: 1.02; margin: 0;
  letter-spacing: 0.005em;
}
.gt-history__body p { font-size: var(--fs-18); line-height: 1.65; margin: 0 0 18px; }
.gt-history__body p:last-child { margin-bottom: 0; }
.gt-history__body a { color: var(--fgtc-ink); text-decoration: underline; text-decoration-color: var(--fgtc-vermillion); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.gt-history__body a:hover { color: var(--fgtc-vermillion); }

.gt-timeline { margin-top: 64px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 2px solid var(--gt-navy); }
.gt-timeline__item { padding: 28px 28px 32px; border-right: 1px solid var(--gt-line); position: relative; }
.gt-timeline__item:last-child { border-right: 0; }
.gt-timeline__item::before {
  content: ""; position: absolute; top: -8px; left: 28px;
  width: 14px; height: 14px;
}
.gt-timeline__item:nth-child(1)::before { background: var(--gt-orange); }
.gt-timeline__item:nth-child(2)::before { background: var(--gt-blue); border-radius: 50%; }
.gt-timeline__item:nth-child(3)::before { background: var(--gt-green); clip-path: polygon(50% 0,100% 100%,0 100%); }
.gt-timeline__item:nth-child(4)::before { background: var(--gt-yellow); }
.gt-timeline__year {
  font-family: var(--font-display); font-weight: var(--w-black);
  font-size: var(--fs-32); letter-spacing: 0.005em; margin-bottom: 8px;
}
.gt-timeline__h { font-family: var(--font-display); font-weight: var(--w-bold); font-size: var(--fs-16); margin: 0 0 8px; text-transform: none; letter-spacing: 0; }
.gt-timeline__p { font-size: var(--fs-14); line-height: 1.5; color: var(--fg-muted); margin: 0; }

.gt-people { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px; }
.gt-person {
  display: flex; flex-direction: column;
  background: var(--gt-white);
  border: 1px solid var(--gt-line);
  padding: 24px;
  position: relative;
}
.gt-person__photo {
  aspect-ratio: 4 / 5;
  background: linear-gradient(160deg, #4a4458, #2a2240);
  position: relative;
  overflow: hidden;
  margin-bottom: 20px;
}
.gt-person__chip {
  position: absolute; top: -1px; right: -1px;
  width: 56px; height: 56px;
  z-index: 2;
}
.gt-person:nth-child(6n+1) .gt-person__chip { background: var(--gt-orange); }
.gt-person:nth-child(6n+2) .gt-person__chip { background: var(--gt-blue); border-radius: 0 0 0 56px; }
.gt-person:nth-child(6n+3) .gt-person__chip { background: var(--gt-green); clip-path: polygon(0 0, 100% 0, 100% 100%); }
.gt-person:nth-child(6n+4) .gt-person__chip { background: var(--gt-yellow); }
.gt-person:nth-child(6n+5) .gt-person__chip { background: var(--gt-blue); }
.gt-person:nth-child(6n+6) .gt-person__chip { background: var(--gt-orange); border-radius: 50%; }
.gt-person__n {
  font-family: var(--font-display); font-weight: var(--w-black);
  text-transform: uppercase; font-size: var(--fs-20); margin: 0 0 4px;
  letter-spacing: 0.005em;
}
.gt-person__r { font-size: var(--fs-12); color: var(--fg-muted); letter-spacing: var(--ls-eyebrow); text-transform: uppercase; font-weight: var(--w-bold); margin-bottom: 14px; }
.gt-person__q {
  font-size: var(--fs-15, 0.95rem); line-height: 1.55;
  color: var(--gt-navy); font-style: italic;
  position: relative; padding-left: 14px;
  border-left: 3px solid var(--gt-orange);
}
.gt-person:nth-child(6n+2) .gt-person__q { border-left-color: var(--gt-blue); }
.gt-person:nth-child(6n+3) .gt-person__q { border-left-color: var(--gt-green); }
.gt-person:nth-child(6n+4) .gt-person__q { border-left-color: var(--gt-yellow); }
.gt-person:nth-child(6n+5) .gt-person__q { border-left-color: var(--gt-blue); }
.gt-person:nth-child(6n+6) .gt-person__q { border-left-color: var(--gt-orange); }

.gt-priorities {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 0;
  border-top: 2px solid var(--gt-white);
  border-left: 2px solid var(--gt-white);
}
.gt-priority {
  padding: 32px 28px 36px;
  border-right: 2px solid var(--gt-white);
  border-bottom: 2px solid var(--gt-white);
  background: rgba(255,255,255,.04);
  color: var(--gt-white);
  display: flex; flex-direction: column; gap: 12px;
  min-height: 220px;
  position: relative;
}
.gt-priority__num {
  font-family: var(--font-display); font-weight: var(--w-black);
  font-size: var(--fs-56); line-height: 0.9; letter-spacing: 0.005em;
}
.gt-priority:nth-child(9n+1) .gt-priority__num { color: var(--gt-orange); }
.gt-priority:nth-child(9n+2) .gt-priority__num { color: var(--gt-blue); }
.gt-priority:nth-child(9n+3) .gt-priority__num { color: var(--gt-green); }
.gt-priority:nth-child(9n+4) .gt-priority__num { color: var(--gt-yellow); }
.gt-priority:nth-child(9n+5) .gt-priority__num { color: var(--gt-orange); }
.gt-priority:nth-child(9n+6) .gt-priority__num { color: var(--gt-blue); }
.gt-priority:nth-child(9n+7) .gt-priority__num { color: var(--gt-green); }
.gt-priority:nth-child(9n+8) .gt-priority__num { color: var(--gt-yellow); }
.gt-priority:nth-child(9n+9) .gt-priority__num { color: var(--gt-orange); }
.gt-priority__h {
  font-family: var(--font-display); font-weight: var(--w-black);
  text-transform: uppercase; font-size: var(--fs-20);
  line-height: 1.1; letter-spacing: 0.005em; margin: 0;
}
.gt-priority__p { font-size: var(--fs-14); line-height: 1.55; color: rgba(255,255,255,.78); margin: 0; }

.gt-faqs { display: flex; flex-direction: column; border-top: 1px solid var(--gt-line); border-bottom: 1px solid var(--gt-line); }
.gt-faq { border-bottom: 1px solid var(--gt-line); }
.gt-faq:last-child { border-bottom: 0; }
.gt-faq__q {
  width: 100%; text-align: left;
  background: none; border: 0; cursor: pointer;
  padding: 24px 0; display: flex; align-items: center; justify-content: space-between;
  font-family: var(--font-display); font-weight: var(--w-black);
  text-transform: uppercase; font-size: var(--fs-18);
  letter-spacing: 0.005em; color: var(--gt-navy);
  gap: 24px;
}
.gt-faq__q:hover { color: var(--gt-blue); }
.gt-faq__icon {
  flex-shrink: 0; width: 32px; height: 32px;
  border: 1.5px solid var(--gt-navy);
  display: inline-flex; align-items: center; justify-content: center;
  position: relative;
  transition: background var(--dur-fast) var(--ease);
}
.gt-faq__icon::before, .gt-faq__icon::after {
  content: ""; position: absolute; background: var(--gt-navy);
  transition: transform var(--dur-fast) var(--ease);
}
.gt-faq__icon::before { width: 14px; height: 2px; }
.gt-faq__icon::after  { width: 2px; height: 14px; }
.gt-faq.is-open .gt-faq__icon { background: var(--gt-navy); }
.gt-faq.is-open .gt-faq__icon::before { background: var(--gt-white); }
.gt-faq.is-open .gt-faq__icon::after { transform: scaleY(0); }
.gt-faq__a {
  font-size: var(--fs-16); line-height: 1.65; color: var(--gt-navy);
  padding: 0 80px 28px 0;
  max-width: 80ch;
}

/* =============================================================
   LATEST - stats, blogs, social embed
   ============================================================= */
.gt-bignums {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
  border-top: 2px solid var(--gt-white);
  border-bottom: 2px solid var(--gt-white);
}
.gt-bignum {
  padding: 48px 32px;
  border-right: 1px solid rgba(255,255,255,.18);
  position: relative;
}
.gt-bignum:last-child { border-right: 0; }
.gt-bignum__live {
  position: absolute; top: 20px; right: 20px;
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); text-transform: uppercase;
  color: rgba(255,255,255,.7);
}
.gt-bignum__live .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gt-green); animation: gt-blink 1.6s ease-in-out infinite; }
@keyframes gt-blink { 50% { opacity: .35; } }
.gt-bignum__num {
  font-family: var(--font-display); font-weight: var(--w-black);
  font-size: clamp(56px, 6vw, 96px); line-height: 0.92;
  letter-spacing: 0.005em; color: var(--gt-white);
  display: flex; align-items: baseline; gap: 4px;
}
.gt-bignum:nth-child(1) .gt-bignum__num { color: var(--gt-orange); }
.gt-bignum:nth-child(2) .gt-bignum__num { color: var(--gt-blue); }
.gt-bignum:nth-child(3) .gt-bignum__num { color: var(--gt-green); }
.gt-bignum:nth-child(4) .gt-bignum__num { color: var(--gt-yellow); }
.gt-bignum__lbl {
  font-family: var(--font-body); font-weight: var(--w-regular);
  font-size: var(--fs-14); color: rgba(255,255,255,.78);
  margin-top: 16px; max-width: 22ch; line-height: 1.5;
}

.gt-blogs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.gt-blog {
  background: var(--gt-white);
  border: 1px solid var(--gt-line);
  display: flex; flex-direction: column;
  text-decoration: none; color: inherit;
  cursor: pointer;
  transition: border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.gt-blog:hover { border-color: var(--gt-navy); transform: translateY(-2px); }
.gt-blog__media {
  position: relative; height: 220px; overflow: hidden;
  background: linear-gradient(150deg, #5a504a, #2c2c34);
}
.gt-blog__media--alt { background: linear-gradient(150deg, #3a4a5e, #1a2a3e); }
.gt-blog__media--alt2 { background: linear-gradient(150deg, #4a5e4a, #1a2a1a); }
.gt-blog__media--alt3 { background: linear-gradient(150deg, #5e4a3a, #2a1f1a); }
.gt-blog__media--alt4 { background: linear-gradient(150deg, #5a4a5e, #2a1a3a); }
.gt-blog__media--alt5 { background: linear-gradient(150deg, #4a5a5e, #1a2a3a); }
.gt-blog__body { padding: 22px 24px 24px; flex: 1; display: flex; flex-direction: column; }
.gt-blog__eye {
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); text-transform: uppercase;
  color: var(--fg-muted); margin-bottom: 12px;
}
.gt-blog__h {
  font-family: var(--font-display); font-weight: var(--w-black);
  text-transform: uppercase; font-size: var(--fs-24);
  line-height: 1.08; letter-spacing: 0.005em; margin: 0 0 12px;
}
.gt-blog__p { font-size: var(--fs-14); line-height: 1.55; margin: 0 0 18px; color: var(--gt-navy); }
.gt-blog__more {
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); text-transform: uppercase;
  text-decoration: underline; text-underline-offset: 4px;
  color: var(--gt-navy); margin-top: auto;
}

.gt-social { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.gt-social__col { display: flex; flex-direction: column; gap: 16px; }
.gt-social__h {
  font-family: var(--font-display); font-weight: var(--w-black);
  text-transform: uppercase; font-size: var(--fs-24);
  letter-spacing: 0.005em; margin: 0 0 4px;
  display: flex; align-items: center; gap: 12px;
}
.gt-social__pill {
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); text-transform: uppercase;
  background: var(--gt-orange); color: var(--gt-white);
  padding: 4px 10px;
}
.gt-social__h--roch .gt-social__pill { background: var(--gt-blue); color: var(--gt-navy); }
.gt-social__embed {
  border: 1px solid var(--gt-line);
  background: var(--gt-white);
  padding: 0;
  display: flex; flex-direction: column;
}
.gt-social__post {
  display: grid; grid-template-columns: 48px 1fr;
  gap: 14px; padding: 18px 20px;
  border-bottom: 1px solid var(--gt-line);
  align-items: start;
}
.gt-social__post:last-child { border-bottom: 0; }
.gt-social__avatar {
  width: 48px; height: 48px; border-radius: 50%;
  background: var(--gt-orange);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-weight: var(--w-black);
  font-size: var(--fs-18); color: var(--gt-white);
  letter-spacing: 0.005em;
}
.gt-social__col--roch .gt-social__avatar { background: var(--gt-blue); color: var(--gt-navy); }
.gt-social__handle {
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-14); margin-bottom: 4px;
}
.gt-social__handle span { color: var(--fg-muted); font-weight: var(--w-regular); margin-left: 6px; font-size: var(--fs-12); }
.gt-social__text { font-size: var(--fs-14); line-height: 1.55; margin: 0; }
.gt-social__meta { font-size: var(--fs-12); color: var(--fg-muted); margin-top: 10px; display: flex; gap: 16px; }

/* =============================================================
   GET INVOLVED
   ============================================================= */
.gt-ways {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  border-top: 2px solid var(--gt-navy);
  border-left: 2px solid var(--gt-navy);
}
.gt-way {
  padding: 36px 32px 32px;
  border-right: 2px solid var(--gt-navy);
  border-bottom: 2px solid var(--gt-navy);
  background: var(--gt-white);
  color: var(--gt-navy);
  text-decoration: none;
  display: flex; flex-direction: column; gap: 14px;
  position: relative; overflow: hidden;
  cursor: pointer; text-align: left;
  transition: background var(--dur-base) var(--ease), color var(--dur-base) var(--ease);
  min-height: 320px;
}
.gt-way:hover { background: var(--gt-navy); color: var(--gt-white); }
.gt-way:hover .gt-way__more { color: var(--gt-blue); }
.gt-way__tag {
  align-self: flex-start;
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); text-transform: uppercase;
  padding: 4px 10px;
  background: var(--gt-paper); color: var(--gt-navy);
  border: 1px solid var(--gt-navy);
}
.gt-way:hover .gt-way__tag { background: var(--gt-white); color: var(--gt-navy); border-color: var(--gt-white); }
.gt-way__tag--grimsby { background: var(--gt-orange); color: var(--gt-white); border-color: var(--gt-orange); }
.gt-way__tag--rochdale { background: var(--gt-blue); color: var(--gt-navy); border-color: var(--gt-blue); }
.gt-way__h {
  font-family: var(--font-display); font-weight: var(--w-black);
  text-transform: uppercase; font-size: var(--fs-32);
  line-height: 1.12; letter-spacing: 0.005em; margin: 0;
}
.gt-way__p { font-size: var(--fs-15, 0.95rem); line-height: 1.55; margin: 0; max-width: 36ch; }
.gt-way__more {
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); text-transform: uppercase;
  margin-top: auto; display: inline-flex; align-items: center; gap: 8px;
}
/* Decorative chip per card */
.gt-way__chip { position: absolute; pointer-events: none; opacity: .9; }
.gt-way:nth-child(6n+1) .gt-way__chip { top: -30px; right: -30px; width: 120px; height: 120px; background: var(--gt-orange); border-radius: 50%; opacity: .12; }
.gt-way:nth-child(6n+2) .gt-way__chip { top: -30px; right: -30px; width: 110px; height: 110px; background: var(--gt-yellow); opacity: .15; }
.gt-way:nth-child(6n+3) .gt-way__chip { top: -20px; right: -20px; width: 100px; height: 100px; background: var(--gt-green); clip-path: polygon(50% 0,100% 100%,0 100%); opacity: .15; }
.gt-way:nth-child(6n+4) .gt-way__chip { top: -20px; right: -20px; width: 110px; height: 22px; background: var(--gt-blue); transform: rotate(-6deg); opacity: .35; }
.gt-way:nth-child(6n+5) .gt-way__chip { top: -30px; right: -30px; width: 120px; height: 120px; background: var(--gt-blue); border-radius: 50%; opacity: .15; }
.gt-way:nth-child(6n+6) .gt-way__chip { top: -20px; right: -20px; width: 100px; height: 100px; background: var(--gt-orange); opacity: .14; }
.gt-way:hover .gt-way__chip { opacity: .25; }

.gt-locallead {
  background: var(--gt-paper);
  border: 1px solid var(--gt-line);
  padding: 40px;
  display: grid;
  grid-template-columns: 120px 1fr auto;
  gap: 32px;
  align-items: center;
}
.gt-locallead__avatar {
  width: 120px; height: 120px;
  background: linear-gradient(160deg, #5a504a, #2c2c34);
  position: relative; overflow: hidden;
}
.gt-locallead__avatar::after {
  content: ""; position: absolute; top: -1px; right: -1px;
  width: 40px; height: 40px; background: var(--gt-orange);
}
.gt-locallead__r {
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); text-transform: uppercase;
  color: var(--fg-muted); margin-bottom: 6px;
}
.gt-locallead__n {
  font-family: var(--font-display); font-weight: var(--w-black);
  text-transform: uppercase; font-size: var(--fs-32);
  line-height: 1.02; margin: 0 0 8px;
  letter-spacing: 0.005em;
}
.gt-locallead__bio { font-size: var(--fs-14); line-height: 1.55; max-width: 50ch; color: var(--gt-navy); margin: 0; }
.gt-locallead__contact { display: flex; flex-direction: column; gap: 6px; }
.gt-locallead__contact a {
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-14); color: var(--gt-navy);
  text-decoration: none;
  display: inline-flex; align-items: center; gap: 8px;
}
.gt-locallead__contact a:hover { color: var(--gt-blue); }

/* =============================================================
   FUND page - grants, steps
   ============================================================= */
.gt-grants { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border-top: 1px solid var(--gt-line); }
.gt-grant { padding: 32px 36px; border-bottom: 1px solid var(--gt-line); display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: start; background: var(--gt-white); }
.gt-grant:nth-child(odd) { border-right: 1px solid var(--gt-line); }
.gt-grant__cat {
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); text-transform: uppercase;
  color: var(--fg-muted); margin-bottom: 6px;
}
.gt-grant__h { font-family: var(--font-display); font-weight: var(--w-black); text-transform: uppercase; font-size: var(--fs-20); line-height: 1.1; margin: 0 0 8px; letter-spacing: 0.005em; }
.gt-grant__loc { font-size: var(--fs-14); color: var(--fg-muted); margin: 0; }
.gt-grant__amt {
  font-family: var(--font-display); font-weight: var(--w-black);
  font-size: var(--fs-32); line-height: 1; color: var(--gt-navy);
  letter-spacing: 0.005em;
}

.gt-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.gt-step { padding: 36px 32px; position: relative; background: var(--gt-white); }
.gt-step + .gt-step { border-left: 1px solid var(--gt-line); }
.gt-step__n {
  font-family: var(--font-display); font-weight: var(--w-black); font-size: var(--fs-72);
  line-height: 1; color: var(--gt-orange); letter-spacing: 0.005em;
}
.gt-step:nth-child(2) .gt-step__n { color: var(--gt-blue); }
.gt-step:nth-child(3) .gt-step__n { color: var(--gt-green); }
.gt-step:nth-child(4) .gt-step__n { color: var(--gt-yellow); }
.gt-step__h { font-family: var(--font-display); font-weight: var(--w-black); text-transform: uppercase; font-size: var(--fs-20); line-height: 1.1; margin: 16px 0 10px; letter-spacing: 0.005em; }
.gt-step__p { font-size: var(--fs-14); line-height: 1.55; margin: 0; color: var(--fg-muted); }

/* ---------- Page header (non-video) ---------- */
.gt-pagehead {
  background: var(--gt-navy); color: var(--gt-white);
  padding: 96px 0 64px; position: relative; overflow: hidden;
}
.gt-pagehead__inner { position: relative; z-index: 1; }
.gt-pagehead__crumb {
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); text-transform: uppercase;
  color: rgba(255,255,255,.6); margin-bottom: 18px;
  display: inline-flex; align-items: center; gap: 12px;
}
.gt-pagehead__crumb::before {
  content: ""; width: 24px; height: 2px; background: var(--gt-orange);
}
.gt-pagehead__h {
  font-family: var(--font-display); font-weight: var(--w-black);
  text-transform: uppercase; font-size: clamp(48px, 6vw, 96px);
  line-height: 0.94; letter-spacing: 0.005em; margin: 0 0 24px; max-width: 18ch;
}
.gt-pagehead__lede { font-size: var(--fs-18); line-height: 1.55; max-width: 56ch; color: rgba(255,255,255,.88); }
.gt-pagehead__blocks { position: absolute; inset: 0; pointer-events: none; }
.gt-pagehead__blocks .b1 { position: absolute; top: -80px; right: -60px; width: 280px; height: 280px; background: var(--gt-orange); border-radius: 50%; opacity: .18; }
.gt-pagehead__blocks .b2 { position: absolute; bottom: -60px; right: 24%; width: 120px; height: 22px; background: var(--gt-blue); transform: rotate(-4deg); opacity: .6; }
.gt-pagehead__blocks .b3 { position: absolute; bottom: -40px; left: 8%; width: 140px; height: 100px; background: var(--gt-yellow); clip-path: polygon(0% 30%, 100% 0%, 100% 100%, 0% 100%); opacity: .25; }

/* ---------- Map placeholder ---------- */
.gt-map {
  position: relative; height: 560px;
  background: #e9edf2;
  border: 1px solid var(--gt-line);
  overflow: hidden;
}
.gt-map::before {
  /* fake street grid */
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(0deg, rgba(24,12,60,.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(24,12,60,.08) 1px, transparent 1px),
    linear-gradient(0deg, rgba(24,12,60,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(24,12,60,.04) 1px, transparent 1px),
    radial-gradient(60% 70% at 50% 50%, #f5f7fa 0%, #d8dee6 100%);
  background-size: 120px 120px, 120px 120px, 40px 40px, 40px 40px, auto;
}
.gt-map::after {
  /* river */
  content: ""; position: absolute; left: -10%; top: 55%; right: -10%; height: 80px;
  background: #bcd5e5;
  transform: rotate(-3deg);
  box-shadow: 0 0 0 3px #a8c5d8 inset;
}
.gt-map__pin {
  position: absolute; width: 32px; height: 32px;
  background: var(--gt-orange);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-display); font-weight: var(--w-black);
  font-size: var(--fs-14); color: var(--gt-white);
  letter-spacing: 0.005em;
  box-shadow: 0 2px 8px rgba(24,12,60,.25);
  transform: translate(-50%, -100%);
  cursor: pointer; transition: transform var(--dur-fast) var(--ease);
}
.gt-map__pin:hover { transform: translate(-50%, -100%) scale(1.12); }
.gt-map__pin::after {
  content: ""; position: absolute; left: 50%; bottom: -8px;
  width: 0; height: 0; border-left: 6px solid transparent; border-right: 6px solid transparent; border-top: 8px solid var(--gt-orange);
  transform: translateX(-50%);
}
.gt-map__pin--blue { background: var(--gt-blue); color: var(--gt-navy); }
.gt-map__pin--blue::after { border-top-color: var(--gt-blue); }
.gt-map__pin--green { background: var(--gt-green); color: var(--gt-navy); }
.gt-map__pin--green::after { border-top-color: var(--gt-green); }
.gt-map__pin--yellow { background: var(--gt-yellow); color: var(--gt-navy); }
.gt-map__pin--yellow::after { border-top-color: var(--gt-yellow); }

.gt-map__toggle {
  position: absolute; top: 20px; left: 20px; z-index: 2;
  background: var(--gt-white); border: 1.5px solid var(--gt-navy);
  display: inline-flex; padding: 4px;
}
.gt-map__toggle button {
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); text-transform: uppercase;
  background: transparent; color: var(--gt-navy);
  border: 0; padding: 8px 14px; cursor: pointer;
}
.gt-map__toggle button.is-on { background: var(--gt-orange); color: var(--gt-white); }

.gt-map__legend {
  position: absolute; top: 20px; right: 20px; z-index: 2;
  background: var(--gt-white); border: 1.5px solid var(--gt-navy);
  padding: 14px 16px;
  font-family: var(--font-display); font-size: var(--fs-12);
  letter-spacing: var(--ls-eyebrow); text-transform: uppercase; color: var(--gt-navy);
}
.gt-map__legend h5 { font-family: var(--font-display); font-weight: var(--w-bold); font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); margin: 0 0 10px; }
.gt-map__legend ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; font-weight: var(--w-bold); }
.gt-map__legend li { display: flex; align-items: center; gap: 8px; }
.gt-map__legend i { width: 14px; height: 14px; display: inline-block; }

/* Project cards (alternative to map) */
.gt-projects { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.gt-project {
  background: var(--gt-white);
  border: 1px solid var(--gt-line);
  padding: 24px;
  display: flex; flex-direction: column; gap: 12px;
  cursor: pointer;
  transition: border-color var(--dur-fast) var(--ease), transform var(--dur-fast) var(--ease);
}
.gt-project:hover { border-color: var(--gt-navy); transform: translateY(-2px); }
.gt-project__tag {
  align-self: flex-start;
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); text-transform: uppercase;
  padding: 4px 10px; background: var(--gt-orange); color: var(--gt-white);
}
.gt-project__tag--blue { background: var(--gt-blue); color: var(--gt-navy); }
.gt-project__tag--green { background: var(--gt-green); color: var(--gt-navy); }
.gt-project__tag--yellow { background: var(--gt-yellow); color: var(--gt-navy); }
.gt-project__h {
  font-family: var(--font-display); font-weight: var(--w-black);
  text-transform: uppercase; font-size: var(--fs-20);
  line-height: 1.05; letter-spacing: 0.005em; margin: 0;
}
.gt-project__p { font-size: var(--fs-14); line-height: 1.55; margin: 0; color: var(--gt-navy); }
.gt-project__meta {
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); text-transform: uppercase;
  color: var(--fg-muted); margin-top: auto;
  display: flex; gap: 12px;
}

/* ---------- Forms ---------- */
.gt-form { display: flex; flex-direction: column; gap: 18px; }
.gt-field { display: flex; flex-direction: column; gap: 8px; }
.gt-field label {
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); text-transform: uppercase;
}
.gt-field input, .gt-field textarea, .gt-field select {
  width: 100%; font: inherit; font-family: var(--font-body);
  font-size: var(--fs-16);
  padding: 14px 16px; border: 1.5px solid var(--gt-navy);
  background: var(--gt-white); color: var(--gt-navy);
  border-radius: 0; outline: 0;
  transition: border-color var(--dur-fast) var(--ease), box-shadow var(--dur-fast) var(--ease);
}
.gt-field input:focus, .gt-field textarea:focus, .gt-field select:focus {
  border-color: var(--gt-blue);
  box-shadow: 0 0 0 3px rgba(51,187,229,.25);
}
.gt-field textarea { min-height: 120px; resize: vertical; }
.gt-field__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }

/* ---------- Eventbrite mock ---------- */
.gt-eb {
  background: var(--gt-white);
  border: 1px solid var(--gt-line);
  display: flex; flex-direction: column;
}
.gt-eb__bar {
  padding: 14px 20px; background: var(--gt-paper);
  border-bottom: 1px solid var(--gt-line);
  display: flex; align-items: center; justify-content: space-between;
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); text-transform: uppercase;
  color: var(--fg-muted);
}
.gt-eb__bar strong { color: var(--gt-orange); }
.gt-event {
  display: grid; grid-template-columns: 100px 1fr auto;
  gap: 24px; padding: 24px 28px; align-items: center;
  border-bottom: 1px solid var(--gt-line);
  cursor: pointer;
  transition: background var(--dur-fast) var(--ease);
}
.gt-event:last-child { border-bottom: 0; }
.gt-event:hover { background: var(--gt-paper); }
.gt-event__date {
  text-align: center;
  border: 2px solid var(--gt-navy);
  padding: 10px 4px;
}
.gt-event__day {
  font-family: var(--font-display); font-weight: var(--w-black);
  font-size: var(--fs-32); line-height: 1; letter-spacing: 0.005em;
  color: var(--gt-orange);
}
.gt-event__mo {
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); text-transform: uppercase;
  margin-top: 6px;
}
.gt-event__h { font-family: var(--font-display); font-weight: var(--w-black); text-transform: uppercase; font-size: var(--fs-20); line-height: 1.1; margin: 0 0 6px; letter-spacing: 0.005em; }
.gt-event__meta { font-size: var(--fs-14); color: var(--fg-muted); display: flex; gap: 16px; flex-wrap: wrap; }
.gt-event__cta { font-family: var(--font-display); font-weight: var(--w-bold); font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); text-transform: uppercase; color: var(--gt-orange); }
.gt-event:hover .gt-event__cta { color: var(--gt-blue); }

/* ---------- Disclaimers / callouts ---------- */
.gt-callout {
  border-left: 4px solid var(--gt-orange);
  padding: 18px 20px;
  background: var(--gt-paper);
  font-size: var(--fs-14); line-height: 1.6;
}
.gt-callout--blue { border-left-color: var(--gt-blue); }
.gt-callout--green { border-left-color: var(--gt-green); }
.gt-callout strong { font-family: var(--font-display); font-weight: var(--w-bold); text-transform: uppercase; font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); display: block; margin-bottom: 6px; color: var(--gt-navy); }

/* ---------- Two-column intros ---------- */
.gt-twocol { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; align-items: start; }
.gt-twocol__h {
  font-family: var(--font-display); font-weight: var(--w-black);
  text-transform: uppercase; font-size: clamp(32px, 3.5vw, 48px);
  line-height: 1.04; letter-spacing: 0.005em; margin: 0 0 8px;
}

/* ---------- Refer a friend ---------- */
.gt-refer {
  background: var(--gt-yellow);
  padding: 48px;
  display: grid; grid-template-columns: 1fr auto;
  gap: 32px; align-items: center;
}
.gt-refer__h {
  font-family: var(--font-display); font-weight: var(--w-black);
  text-transform: uppercase; font-size: clamp(28px, 3vw, 44px);
  line-height: 1.04; letter-spacing: 0.005em; margin: 0 0 8px;
  color: var(--gt-navy);
}
.gt-refer__p { font-size: var(--fs-16); color: var(--gt-navy); margin: 0; max-width: 50ch; }

/* ---------- Embedded forms (Home Wins, Circle) ---------- */
.gt-embed-form {
  background: var(--gt-white);
  border: 2px solid var(--gt-navy);
  padding: 40px;
  position: relative;
}
.gt-embed-form__tag {
  position: absolute; top: -1px; left: -1px;
  background: var(--gt-orange); color: var(--gt-white);
  font-family: var(--font-display); font-weight: var(--w-bold);
  font-size: var(--fs-12); letter-spacing: var(--ls-eyebrow); text-transform: uppercase;
  padding: 8px 14px;
}

/* ---------- Circle (Rochdale) external link card ---------- */
.gt-external {
  background: var(--gt-navy); color: var(--gt-white);
  padding: 40px;
  display: grid; grid-template-columns: 1fr auto; gap: 32px;
  align-items: center; position: relative; overflow: hidden;
}
.gt-external__h {
  font-family: var(--font-display); font-weight: var(--w-black);
  text-transform: uppercase; font-size: var(--fs-32);
  line-height: 1.04; letter-spacing: 0.005em; margin: 0 0 8px;
}

/* ---------- Misc helpers ---------- */
.gt-stack-sm { display: flex; flex-direction: column; gap: 8px; }
.gt-stack { display: flex; flex-direction: column; gap: 16px; }
.gt-stack-lg { display: flex; flex-direction: column; gap: 32px; }
.gt-row { display: flex; gap: 16px; align-items: center; flex-wrap: wrap; }

/* ---------- Image slot styling ---------- */
image-slot { display: block; }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .gt-header__nav { gap: 20px; }
  .gt-header__inner { gap: 16px; }
  .gt-context { grid-template-columns: 1fr 1fr; }
  .gt-context__cell:nth-child(3n) { border-right: 1px solid var(--gt-navy); }
  .gt-context__cell:nth-child(2n) { border-right: 0; }
  .gt-ways { grid-template-columns: repeat(2, 1fr); }
  .gt-priorities { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 820px) {
  .gt-header__nav { gap: 14px; }
  .gt-header__link { font-size: var(--fs-12); }
  .gt-translate { padding: 6px 10px; font-size: 11px; }
}
.gt-header__burger {
  display: none;
  background: transparent; border: 1.5px solid var(--gt-navy);
  width: 40px; height: 40px;
  align-items: center; justify-content: center;
  cursor: pointer; padding: 0;
}
.gt-header__burger svg { width: 18px; height: 18px; }
.gt-header__nav--mobile {
  position: fixed; top: 84px; left: 0; right: 0;
  background: var(--gt-white);
  border-bottom: 1px solid var(--gt-line);
  padding: 16px 24px 24px;
  display: flex; flex-direction: column;
  gap: 4px;
  z-index: 49;
  box-shadow: 0 8px 24px rgba(24,12,60,.08);
}
.gt-header__nav--mobile .gt-header__link {
  padding: 14px 0;
  border-bottom: 1px solid var(--gt-line);
  font-size: var(--fs-16);
}
.gt-header__nav--mobile .gt-header__link:last-child { border-bottom: 0; }
.gt-header__nav--mobile .gt-header__link.is-active::after { display: none; }
.gt-header__nav--mobile .gt-header__link.is-active { color: var(--gt-orange); }

@media (max-width: 640px) {
  .gt-header__nav { display: none; }
  .gt-header__burger { display: inline-flex; }
  .gt-vhero { min-height: 520px; }
  .gt-stats, .gt-bignums { grid-template-columns: repeat(2, 1fr); }
  .gt-blogs, .gt-projects, .gt-cards { grid-template-columns: 1fr; }
  .gt-people { grid-template-columns: 1fr 1fr; }
  .gt-priorities { grid-template-columns: 1fr; }
  .gt-context { grid-template-columns: 1fr; }
  .gt-context__cell { border-right: 0 !important; }
  .gt-ways { grid-template-columns: 1fr 1fr; }
  .gt-way { grid-column: span 1; }
  .gt-footer__grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .gt-newsletter { min-width: 0; }
  .gt-newsletter input { min-width: 0; }
  .gt-newsletter button { white-space: nowrap; }
  .gt-twocol, .gt-history, .gt-invite, .gt-social { grid-template-columns: 1fr; gap: 32px; }
  .gt-timeline { grid-template-columns: 1fr 1fr; }
  .gt-grants, .gt-steps { grid-template-columns: 1fr; }
  .gt-grant { border-right: 0 !important; }
  .gt-step + .gt-step { border-left: 0; border-top: 1px solid var(--gt-line); }
  .gt-locallead, .gt-cta-strip, .gt-refer, .gt-external { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  .gt-footer__grid { grid-template-columns: 1fr; }
}

/* =============================================================
   FGTC OVERRIDES
   ============================================================= */

/* Buttons - sharp, flat, masthead-y. No sweeps or drop shadows. */
.gt-btn {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: 0.06em;
  font-size: var(--fs-14);
  padding: 14px 26px;
  border-radius: 0;
}
.gt-btn--primary { background: var(--fgtc-vermillion); color: var(--fgtc-paper); }
.gt-btn--primary:hover { background: var(--fgtc-teal); color: var(--fgtc-paper); }
.gt-btn--secondary { border: 1.5px solid var(--fgtc-ink); color: var(--fgtc-ink); padding: 12px 24px; }
.gt-btn--secondary:hover { background: var(--fgtc-vermillion); border-color: var(--fgtc-vermillion); color: var(--fgtc-paper); }
.gt-btn--accent { background: var(--fgtc-vermillion); color: var(--fgtc-paper); }
.gt-btn--accent:hover { background: var(--fgtc-teal); color: var(--fgtc-paper); }
.gt-btn--ghost-light { border: 1.5px solid rgba(250,248,245,.7); color: var(--fgtc-paper); padding: 12px 24px; }
.gt-btn--ghost-light:hover { background: var(--fgtc-paper); color: var(--fgtc-ink); border-color: var(--fgtc-paper); }

/* Hero CTA - strip the GT yellow-sweep + dropshadow. Flat vermillion. */
.gt-btn--hero {
  background: var(--fgtc-vermillion);
  color: var(--fgtc-paper);
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--fs-18);
  letter-spacing: 0.08em;
  padding: 22px 36px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  transform: none;
  position: relative;
  overflow: hidden;
}
.gt-btn--hero::before { display: none; }
.gt-btn--hero:hover {
  background: var(--fgtc-teal);
  color: var(--fgtc-paper);
  transform: none;
  box-shadow: none;
}
.gt-btn--hero:active { transform: translateY(1px); box-shadow: none; }
.gt-btn--hero span[aria-hidden] { font-size: 1em; transition: transform var(--dur-fast) var(--ease); }
.gt-btn--hero:hover span[aria-hidden] { transform: translateX(4px); }

/* Links - FGTC link style */
.gt-link {
  color: var(--fgtc-teal);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1.5px;
  font-family: var(--font-display);
  letter-spacing: 0.06em;
  font-weight: 400;
  text-transform: uppercase;
  font-size: var(--fs-14);
}
.gt-link:hover { color: var(--fgtc-teal-deep); }
.gt-link--light { color: var(--fgtc-paper); }
.gt-link--light:hover { color: var(--fgtc-vermillion); }

/* ---------- Header ---------- */
.gt-header { background: var(--fgtc-paper); border-bottom: 1.5px solid var(--fgtc-ink); }
.gt-header__inner { padding: 26px 0; }
.gt-header__link {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--fs-16);
  letter-spacing: 0.06em;
  color: var(--fgtc-ink);
}
.gt-header__link:hover { color: var(--fgtc-teal); }
.gt-header__link.is-active::after {
  background: var(--fgtc-vermillion);
  height: 3px;
  bottom: -27px;
}

.gt-translate {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: 0.08em;
  border: 1.5px solid var(--fgtc-ink);
  color: var(--fgtc-ink);
  border-radius: 0;
  font-size: 11px;
}
.gt-translate:hover { background: var(--fgtc-ink); color: var(--fgtc-paper); }
.gt-translate__menu { border: 1.5px solid var(--fgtc-ink); border-radius: 0; }
.gt-translate__item { font-family: var(--font-display); letter-spacing: 0.04em; }
.gt-translate__item.is-active { color: var(--fgtc-vermillion); }

.gt-header__burger { border: 1.5px solid var(--fgtc-ink); border-radius: 0; }

/* ── Transparent overlay header (home page only) ── */
.gt-header.is-overlay {
  position: absolute;
  top: 0; left: 0; right: 0;
  background: transparent;
  border-bottom: none;
  z-index: 10;
}
.gt-header.is-overlay::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(26,26,26,0.62) 0%, rgba(26,26,26,0) 100%);
  pointer-events: none;
}
.gt-header.is-overlay .gt-header__inner { position: relative; z-index: 1; }
.gt-header.is-overlay .gt-header__link { color: var(--fgtc-paper); }
.gt-header.is-overlay .gt-header__link:hover { color: var(--fgtc-vermillion); }
.gt-header.is-overlay .gt-header__link.is-active::after { background: var(--fgtc-paper); }
.gt-header.is-overlay .gt-header__burger { color: var(--fgtc-paper); border-color: rgba(250,248,245,0.5); }
.gt-header.is-overlay .gt-translate { color: var(--fgtc-paper); border-color: rgba(250,248,245,0.5); }
.gt-header.is-overlay .gt-translate:hover { background: var(--fgtc-paper); color: var(--fgtc-ink); }

/* Push hero inner content below the overlay header */
body.home .gt-vhero__inner { padding-top: 128px; }

/* ---------- Eyebrow - short rule + caps ---------- */
.gt-eyebrow {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: 0.18em;
  font-size: var(--fs-12);
  color: var(--fgtc-ink-3);
  display: inline-flex;
  align-items: center;
  gap: var(--sp-3);
  margin-bottom: var(--sp-4);
}
.gt-eyebrow::before {
  content: "";
  width: 32px; height: 1.5px;
  background: currentColor;
}

/* ---------- Section header ---------- */
.gt-sec-head__title {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(36px, 4.5vw, 64px);
  letter-spacing: 0.005em;
  line-height: 1.0;
}
.gt-sec-head__sub {
  font-family: var(--font-body);
  font-size: var(--fs-18);
  font-weight: 300;
  color: var(--fgtc-ink-2);
  line-height: 1.55;
  max-width: 38ch;
}

/* ---------- Display ---------- */
.gt-display {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(56px, 9vw, 128px);
  line-height: 0.92;
  letter-spacing: 0;
}

.gt-prose p { font-family: var(--font-body); font-weight: 400; font-size: var(--fs-18); line-height: 1.6; color: var(--fgtc-ink); }
.gt-prose--lg p { font-size: var(--fs-20); font-weight: 300; }

/* =============================================================
   HOME - Video Hero rewritten as FGTC masthead
   Paper bg, no decorations, big Bebas type.
   ============================================================= */
.gt-vhero {
  background: var(--fgtc-ink);
  color: var(--fgtc-paper);
  min-height: 640px;
  display: grid;
  align-items: stretch;
  border-bottom: 1.5px solid var(--fgtc-ink);
  position: relative;
  overflow: hidden;
}
.gt-vhero__placeholder,
.gt-vhero__blocks,
.gt-vhero__playtag { display: none; }
.gt-vhero__video {
  display: block;
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
  filter: saturate(1) brightness(1);
}
.gt-vhero__scrim {
  display: block;
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(26,26,26,0.25) 0%, rgba(26,26,26,0.55) 75%, rgba(26,26,26,0.78) 100%);
  z-index: 1;
}
.gt-vhero__inner { z-index: 2; }
.gt-vhero__inner {
  padding: 64px 0 88px;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 100%;
}
.gt-vhero__h {
  font-family: var(--font-display);
  font-weight: 400;
  text-transform: uppercase;
  font-size: clamp(72px, 11vw, 200px);
  line-height: 0.88;
  letter-spacing: 0.005em;
  margin: 32px 0 28px;
  color: var(--fgtc-ink);
  max-width: 14ch;
}
.gt-vhero__lede {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: var(--fs-20);
  line-height: 1.55;
  max-width: 62ch;
  color: var(--fgtc-ink-2);
  margin: 0 0 40px;
}
.gt-vhero__cta { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; }


/* Masthead rule above hero copy (FGTC's signature device) */
.fgtc-masthead-rule {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: var(--fs-14);
  color: var(--fgtc-ink);
}
.fgtc-masthead-rule::before,
.fgtc-masthead-rule::after {
  content: "";
  height: 1.5px;
  background: currentColor;
}
.fgtc-masthead-rule::before { width: 80px; flex: 0 0 auto; }
.fgtc-masthead-rule::after { flex: 1; }

/* =============================================================
   HOME - Invitation strip (de-coloured numbers)
   ============================================================= */
.gt-invite__h {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(40px, 5vw, 72px);
  line-height: 0.96;
}
.gt-invite__ways { border-top: 1.5px solid var(--fgtc-ink); }
.gt-invite__way {
  border-bottom: 1.5px solid var(--fgtc-line);
  font-family: var(--font-body);
  font-weight: 600;
  font-size: var(--fs-18);
  color: var(--fgtc-ink);
}
.gt-invite__waynum {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--fs-32);
  letter-spacing: 0.01em;
  color: var(--fgtc-vermillion) !important;
}
.gt-invite__way:hover { color: var(--fgtc-teal); }

/* =============================================================
   HOME - Context cells (no chips)
   ============================================================= */
.gt-context {
  border-top: 1.5px solid var(--fgtc-ink);
  border-bottom: 1.5px solid var(--fgtc-ink);
}
.gt-context__cell {
  border-right: 1.5px solid var(--fgtc-line);
  border-bottom: 0;
  background: var(--fgtc-paper);
}
.gt-context__cell:nth-child(3n) { border-right: 0; }
.gt-context__cell:hover { background: var(--fgtc-paper-2); }
.gt-context__cell:hover .gt-context__h { color: var(--fgtc-teal); }
.gt-context__chip { display: none; }
.gt-context__num {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: var(--fs-12);
  letter-spacing: 0.18em;
  color: var(--fgtc-ink-3);
}
.gt-context__h {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(28px, 2.5vw, 40px);
  line-height: 1.02;
}
.gt-context__p {
  font-family: var(--font-body);
  font-size: var(--fs-16);
  line-height: 1.6;
  color: var(--fgtc-ink-2);
}
.gt-context__more {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: 0.08em;
  font-size: var(--fs-12);
}

/* =============================================================
   FOOTER - teal bg, paper text
   ============================================================= */
.gt-footer { background: var(--fgtc-teal); color: var(--fgtc-paper); }
.gt-footer__blocks { display: none; }
.gt-footer__h {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: 0.18em;
  color: rgba(250,248,245,.6);
}
.gt-footer__strap { color: rgba(250,248,245,.7); font-family: var(--font-body); }
.gt-footer__grid { border-bottom-color: rgba(250,248,245,.16); }

.gt-newsletter input { color: var(--fgtc-paper); border-color: rgba(250,248,245,.35); }
.gt-newsletter input::placeholder { color: rgba(250,248,245,.45); }
.gt-newsletter button {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: 0.1em;
  background: var(--fgtc-vermillion);
  border-radius: 0;
}
.gt-newsletter button:hover { background: var(--fgtc-paper); color: var(--fgtc-ink); }
.gt-newsletter--success { border-color: var(--fgtc-vermillion); }
.gt-newsletter--success .dot { background: var(--fgtc-vermillion); }

.gt-socials a { border-color: rgba(250,248,245,.35); color: var(--fgtc-paper); border-radius: 0; }
.gt-socials a:hover { background: var(--fgtc-paper); color: var(--fgtc-ink); border-color: var(--fgtc-paper); }

.gt-footer__base { color: rgba(250,248,245,.45); border-top-color: rgba(250,248,245,.12); }

/* =============================================================
   Page head - ink bg, no decorations
   ============================================================= */
.gt-pagehead { background: var(--fgtc-ink); color: var(--fgtc-paper); }
.gt-pagehead__blocks { display: none; }
.gt-pagehead__crumb {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: 0.18em;
  color: rgba(250,248,245,.65);
}
.gt-pagehead__crumb::before { background: var(--fgtc-vermillion); }
.gt-pagehead__h {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(48px, 7vw, 128px);
  line-height: 0.92;
  letter-spacing: 0.005em;
  color: var(--fgtc-paper);
}
.gt-pagehead__lede {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: var(--fs-20);
  color: rgba(250,248,245,.8);
}

/* =============================================================
   Suppress decorative bits across remaining components
   ============================================================= */
.gt-person__chip { display: none; }
.gt-priority__num { color: var(--fgtc-vermillion) !important; }
.gt-step__n { color: var(--fgtc-vermillion) !important; }
.gt-way__chip { display: none; }
.gt-bignum__num,
.gt-bignum__num span { color: var(--fgtc-vermillion) !important; }
.gt-event__day { color: var(--fgtc-vermillion); }
.gt-map__pin { background: var(--fgtc-vermillion); color: var(--fgtc-paper); }
.gt-map__pin--blue,
.gt-map__pin--green,
.gt-map__pin--yellow { background: var(--fgtc-teal); color: var(--fgtc-paper); }
.gt-map__pin::after { border-top-color: var(--fgtc-vermillion); }
.gt-map__pin--blue::after,
.gt-map__pin--green::after,
.gt-map__pin--yellow::after { border-top-color: var(--fgtc-teal); }
.gt-project__tag,
.gt-project__tag--blue,
.gt-project__tag--green,
.gt-project__tag--yellow {
  background: var(--fgtc-ink);
  color: var(--fgtc-paper);
  border-radius: 0;
  font-family: var(--font-display);
  letter-spacing: 0.06em;
  font-weight: 400;
}
.gt-way__tag,
.gt-way__tag--grimsby,
.gt-way__tag--rochdale {
  background: transparent;
  color: var(--fgtc-ink);
  border: 1.5px solid var(--fgtc-ink);
  border-radius: 0;
  font-family: var(--font-display);
  letter-spacing: 0.08em;
  font-weight: 400;
}
.gt-way:hover .gt-way__tag {
  background: transparent;
  color: var(--fgtc-paper);
  border-color: var(--fgtc-paper);
}

.gt-callout { border-left-color: var(--fgtc-vermillion); background: var(--fgtc-paper-2); }
.gt-callout--blue,
.gt-callout--green { border-left-color: var(--fgtc-teal); }

.gt-field input, .gt-field textarea, .gt-field select {
  border-radius: 0;
  border-color: var(--fgtc-ink);
  font-family: var(--font-body);
}
.gt-field label {
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: 0.18em;
}
.gt-embed-form { border: 1.5px solid var(--fgtc-ink); }
.gt-embed-form__tag {
  background: var(--fgtc-ink);
  color: var(--fgtc-paper);
  font-family: var(--font-display);
  font-weight: 400;
  letter-spacing: 0.12em;
}

.is-dark .gt-eyebrow { color: var(--fgtc-vermillion) !important; }


/* 3-card Get Involved (FGTC has no Fund page) */
.gt-ways { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 1080px) { .gt-ways { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px)  { .gt-ways { grid-template-columns: 1fr; } }

/* Real-image cover treatment for blog cards - let the photo show through */
.gt-blog__media img,
.gt-blog__media .gt-photo-cover {
  width: 100%; height: 100%; object-fit: cover; display: block;
  filter: saturate(0.85);
}
.gt-blog__media { background: var(--fgtc-paper-2); }

/* Future Builder photo treatment */
.gt-person__photo img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  filter: saturate(0.85);
}

/* Local lead avatar - fill with real photo */
.gt-locallead__avatar img {
  width: 100%; height: 100%; object-fit: cover; display: block;
}

/* Feature photo block - full-bleed image with caption */
.fgtc-feature {
  margin-top: var(--sp-8);
  position: relative;
}
.fgtc-feature__img {
  width: 100%;
  height: clamp(320px, 56vw, 640px);
  object-fit: cover;
  display: block;
  filter: saturate(0.85);
}
.fgtc-feature__caption {
  margin-top: var(--sp-3);
  font-family: var(--font-body);
  font-size: var(--fs-12);
  letter-spacing: 0.02em;
  color: var(--fgtc-ink-3);
  font-style: italic;
}

/* Banner image after a page head */
.fgtc-banner {
  width: 100%;
  height: clamp(280px, 40vw, 480px);
  object-fit: cover;
  display: block;
  border-bottom: 1.5px solid var(--fgtc-ink);
  filter: saturate(0.85);
}


/* =============================================================
   Page-head background image support
   ============================================================= */
.gt-pagehead { position: relative; overflow: hidden; }
.gt-pagehead__bg-img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
  filter: saturate(0.9) brightness(0.9);
}
.gt-pagehead__bg-scrim {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(26,26,26,0.2) 0%, rgba(26,26,26,0.5) 70%, rgba(26,26,26,0.68) 100%);
  z-index: 1;
}
.gt-pagehead__inner { position: relative; z-index: 2; }

/* =============================================================
   Section with background image (used on About 9-priorities + Latest live numbers)
   ============================================================= */
.fgtc-section-bg {
  position: relative;
  overflow: hidden;
}
.fgtc-section-bg__img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  z-index: 0;
  filter: saturate(0.7) brightness(0.55);
}
.fgtc-section-bg__scrim {
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(26,26,26,0.65) 0%, rgba(26,26,26,0.82) 100%);
  z-index: 1;
}
.fgtc-section-bg > .gt-container,
.fgtc-section-bg > .gt-container-wide { position: relative; z-index: 2; }


/* =============================================================
   FGTC bluer backgrounds - bolder teal blocks for variety
   ============================================================= */
.is-teal { background: var(--fgtc-teal-pale); }
.is-tealpale { background: var(--fgtc-teal-tint); }

/* On teal-pale sections (mid-tone), bump heading contrast */
.is-teal .gt-sec-head__title,
.is-teal h2 { color: var(--fgtc-ink); }
.is-teal .gt-prose p,
.is-teal p { color: var(--fgtc-ink); }
.is-teal .gt-eyebrow { color: var(--fgtc-ink-2); }

/* Cards on teal sections sit on paper for contrast */
.is-teal .gt-news,
.is-teal .gt-blog,
.is-teal .gt-person,
.is-teal .gt-embed-form,
.is-teal .gt-eb { background: var(--fgtc-paper); border-color: var(--fgtc-ink); }

/* Home invitation block - colour the numbers teal instead of vermillion for variety */
.gt-section.is-teal .gt-invite__waynum,
.is-teal .gt-invite__waynum { color: var(--fgtc-teal-deep) !important; }

/* Section heads on teal-tint feel light, give them a thin top rule */
.is-tealpale .gt-sec-head { border-top: 1.5px solid var(--fgtc-teal); padding-top: var(--sp-6); }

/* Map placeholder gets a slight teal cast to feel like Pennine sky */
.gt-map { background: var(--fgtc-teal-tint); }
.gt-map::after { background: var(--fgtc-teal-pale); box-shadow: 0 0 0 3px var(--fgtc-teal) inset; }

/* Local lead avatar background - teal not warm grey */
.gt-locallead { background: var(--fgtc-teal-tint); border-color: var(--fgtc-teal); }
.gt-locallead__avatar { background: var(--fgtc-teal-pale); }

/* Yellow refer-strip - replace with teal-pale to fit palette */
.gt-refer { background: var(--fgtc-teal-pale); }

/* Callouts on teal sections need lighter bg */
.is-teal .gt-callout { background: var(--fgtc-paper); }
