/* Growthym Native: component styles. Tokens come from theme.json (CSS custom properties).
   Design language matched to growthym.com: Inter only (900 headlines, bold uppercase tracking-widest labels),
   brand black #050505 / gold #AA7B3F, Tailwind gray neutrals, square corners, black/white buttons with a gold sweep. */

:root {
  --gy-gold: var(--wp--preset--color--gold);
  --gy-gold-light: var(--wp--preset--color--gold-light);
  --gy-gold-deep: var(--wp--preset--color--gold-deep);
  --gy-ink: var(--wp--preset--color--ink);
  --gy-night: var(--wp--preset--color--night);
  --gy-paper: var(--wp--preset--color--paper);
  --gy-warm: var(--wp--preset--color--paper-warm);
  --gy-mute: var(--wp--preset--color--mute);
  --gy-hair: var(--wp--preset--color--hairline);
  --gy-soft: var(--wp--preset--color--ink-soft);
  --gy-label: var(--wp--preset--font-family--inter);
  --gy-body: var(--wp--preset--color--body);
  --gy-slate: var(--wp--preset--color--slate);
  --gy-line-dark: #1F2937;
  --gy-sweep: 300ms;
  --gy-ease: cubic-bezier(.4, 0, .2, 1);
  --gy-fast: 180ms;
  --gy-base: 420ms;
  --gy-header-h: 80px;
}

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
img, video { max-width: 100%; height: auto; }
*:focus-visible { outline: 2px solid var(--gy-gold); outline-offset: 3px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); }

/* ---------- Typography helpers ---------- */
/* Eyebrow: Inter, bold, uppercase, tracking-widest, brand gold (same on light and dark, as on growthym.com) */
.gy-eyebrow,
.is-style-gy-eyebrow {
  font-family: var(--gy-label);
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--gy-gold);
  margin-bottom: 1rem;
}
.is-style-gy-lead,
.gy-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.55; }
.is-style-gy-mute,
.gy-mute { color: var(--gy-mute); }
.has-ink-background-color .gy-mute,
.has-night-background-color .gy-mute,
.has-ink-background-color .is-style-gy-mute,
.has-night-background-color .is-style-gy-mute { color: #6B7280; }
.gy-mono, .is-style-gy-mono { font-family: var(--gy-label); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.gy-hair { border-top: 1px solid var(--gy-hair); }
.gy-section { position: relative; }

/* Headings: gold underline accent */
.is-style-gy-underline::after,
.gy-h-underline::after {
  content: "";
  display: block;
  width: 72px;
  height: 3px;
  background: var(--gy-gold);
  margin-top: 1rem;
}
.has-text-align-center.is-style-gy-underline::after { margin-left: auto; margin-right: auto; }

/* ---------- Dark surfaces (black sections, as on growthym.com) ---------- */
.has-ink-background-color,
.has-night-background-color,
.has-slate-background-color { color: var(--gy-paper); }
.has-ink-background-color a:not(.wp-element-button):not(.wp-block-navigation-item__content),
.has-night-background-color a:not(.wp-element-button):not(.wp-block-navigation-item__content),
.has-slate-background-color a:not(.wp-element-button):not(.wp-block-navigation-item__content) { color: var(--gy-paper); }
.has-ink-background-color a:not(.wp-element-button):hover,
.has-night-background-color a:not(.wp-element-button):hover,
.has-slate-background-color a:not(.wp-element-button):hover { color: var(--gy-gold); }
.has-ink-background-color .wp-block-separator,
.has-night-background-color .wp-block-separator { border-color: var(--gy-line-dark); }

/* Body copy: gray-600 on light surfaces, gray-400 on dark; headings stay black / white (zero specificity, so block colour settings still win) */
:where(.wp-site-blocks, .editor-styles-wrapper) :where(p, li, dd, figcaption, td) { color: var(--gy-body); }
:where(.has-ink-background-color, .has-night-background-color, .has-slate-background-color, .gy-footer, .gy-sticky) :where(p, li, dd, figcaption, td) { color: var(--gy-soft); }
:where(.has-ink-background-color, .has-night-background-color, .has-slate-background-color) :where(.has-paper-background-color, .has-paper-warm-background-color, .gy-form-card) :where(p, li, dd, figcaption, td) { color: var(--gy-body); }
:where(.wp-site-blocks, .editor-styles-wrapper) :where(p, li) strong { color: var(--gy-ink); }
:where(.has-ink-background-color, .has-night-background-color, .has-slate-background-color, .gy-footer) :where(p, li) strong { color: var(--gy-paper); }

/* ---------- Cards (service-card on growthym.com: white, gray-200 border, p-10, lift + gold border on hover) ---------- */
.is-style-gy-card,
.is-style-gy-card-lead,
.gy-card {
  border: 1px solid var(--gy-hair);
  background: var(--gy-paper);
  padding: 2.5rem 2.25rem;
  border-radius: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  transition: transform 400ms cubic-bezier(.175, .885, .32, 1.275), border-color 300ms ease, box-shadow 300ms ease;
}
.is-style-gy-card:hover,
.is-style-gy-card-lead:hover,
.gy-card:hover { transform: translateY(-8px); border-color: var(--gy-gold); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08); }
.is-style-gy-card > *, .is-style-gy-card-lead > *, .gy-card > * { margin-block-start: 0 !important; }
.is-style-gy-card > * + *, .is-style-gy-card-lead > * + *, .gy-card > * + * { margin-block-start: 0.25rem !important; }
.is-style-gy-card-lead { border-top: 4px solid var(--gy-gold); box-shadow: 0 0 30px rgba(170, 123, 63, 0.15); }
.is-style-gy-card .wp-block-heading, .is-style-gy-card-lead .wp-block-heading { font-size: 1.25rem; font-weight: 700; letter-spacing: -0.01em; line-height: 1.3; color: var(--gy-ink); }
.is-style-gy-card .gy-eyebrow, .is-style-gy-card-lead .gy-eyebrow { margin-bottom: 0.5rem; }
.is-style-gy-card p, .is-style-gy-card-lead p { color: var(--gy-body); font-size: 0.9375rem; line-height: 1.65; }
.is-style-gy-card .wp-block-list, .is-style-gy-card-lead .wp-block-list { font-size: var(--wp--preset--font-size--small); }
.is-style-gy-card .wp-block-list li, .is-style-gy-card-lead .wp-block-list li { color: var(--gy-mute); }
.is-style-gy-card .gy-card-foot, .is-style-gy-card-lead .gy-card-foot { margin-top: auto !important; padding-top: 1rem; border-top: 1px solid var(--gy-hair); font-size: var(--wp--preset--font-size--small); }
.is-style-gy-card .wp-block-buttons, .is-style-gy-card-lead .wp-block-buttons { margin-top: auto !important; padding-top: 0.75rem; }
.is-style-gy-card .wp-block-button__link, .is-style-gy-card-lead .wp-block-button__link { font-size: 0.75rem; padding: 0.75rem 1.25rem; }
/* Cards on black: transparent, gray-800 border, gold border on hover (white form cards excepted) */
.has-ink-background-color .is-style-gy-card:not(.gy-form-card),
.has-night-background-color .is-style-gy-card:not(.gy-form-card),
.has-ink-background-color .gy-card,
.has-night-background-color .gy-card { border-color: var(--gy-line-dark); background: transparent; box-shadow: none; }
.has-ink-background-color .is-style-gy-card:not(.gy-form-card):hover,
.has-night-background-color .is-style-gy-card:not(.gy-form-card):hover { border-color: var(--gy-gold); box-shadow: none; }
.has-ink-background-color .is-style-gy-card:not(.gy-form-card) .wp-block-heading,
.has-night-background-color .is-style-gy-card:not(.gy-form-card) .wp-block-heading { color: var(--gy-paper); }
.has-ink-background-color .is-style-gy-card:not(.gy-form-card) p,
.has-night-background-color .is-style-gy-card:not(.gy-form-card) p { color: var(--gy-soft); }
.has-ink-background-color .is-style-gy-card-lead,
.has-night-background-color .is-style-gy-card-lead { background: var(--gy-slate); border: 0; border-top: 4px solid var(--gy-gold); }
/* Labels and big numbers inside cards keep their own type */
.is-style-gy-card .gy-eyebrow, .is-style-gy-card-lead .gy-eyebrow, .is-style-gy-card p.gy-eyebrow, .is-style-gy-card-lead p.gy-eyebrow { color: var(--gy-gold); font-size: 0.75rem; line-height: 1.35; }
.is-style-gy-card p.gy-num, .is-style-gy-card p.gy-count, .is-style-gy-card-lead p.gy-num, .is-style-gy-card-lead p.gy-count { font-size: clamp(2.25rem, 3vw, 3.25rem); line-height: 1; color: var(--gy-ink); }
.has-ink-background-color .is-style-gy-card p.gy-num, .has-night-background-color .is-style-gy-card p.gy-num,
.has-ink-background-color .is-style-gy-card p.gy-count, .has-night-background-color .is-style-gy-card p.gy-count { color: var(--gy-paper); }
.gy-form-card:hover { transform: none; }
@media (max-width: 781px) {
  .is-style-gy-card, .is-style-gy-card-lead, .gy-card { padding: 1.75rem 1.5rem; }
}

/* ---------- Callouts ---------- */
/* Gray panel with a gold rule */
.is-style-gy-callout,
.gy-callout {
  background: var(--gy-warm);
  border-left: 4px solid var(--gy-gold);
  padding: 1.75rem 2rem;
  border-radius: 0;
}
/* Quote card on growthym.com: white, gold left rule, lifted */
.is-style-gy-callout-line {
  background: var(--gy-paper);
  border: 0;
  border-left: 4px solid var(--gy-gold);
  padding: 2rem;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}
.is-style-gy-callout > * , .is-style-gy-callout-line > * { margin-block-start: 0 !important; }
.is-style-gy-callout > * + *, .is-style-gy-callout-line > * + * { margin-block-start: 0.6rem !important; }
.is-style-gy-callout .wp-block-heading, .is-style-gy-callout-line .wp-block-heading { font-size: 1.25rem; font-weight: 700; letter-spacing: -0.01em; color: var(--gy-ink); }
/* On black: the gray-900 "Growthym is not a vendor" panel */
.has-ink-background-color .is-style-gy-callout,
.has-night-background-color .is-style-gy-callout,
.has-ink-background-color .is-style-gy-callout-line,
.has-night-background-color .is-style-gy-callout-line { background: var(--gy-slate); border: 0; border-left: 4px solid var(--gy-gold); color: var(--gy-paper); box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5); }
.has-ink-background-color .is-style-gy-callout .wp-block-heading,
.has-night-background-color .is-style-gy-callout .wp-block-heading,
.has-ink-background-color .is-style-gy-callout-line .wp-block-heading,
.has-night-background-color .is-style-gy-callout-line .wp-block-heading { color: var(--gy-paper); }
.has-ink-background-color .is-style-gy-callout p,
.has-night-background-color .is-style-gy-callout p,
.has-ink-background-color .is-style-gy-callout-line p,
.has-night-background-color .is-style-gy-callout-line p { color: #D1D5DB; }

.is-style-gy-warm { background: var(--gy-warm); }
.gy-tag,
.is-style-gy-tag {
  display: inline-block;
  background: var(--gy-gold);
  color: #fff;
  font-family: var(--gy-label);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.3rem 0.6rem;
  vertical-align: middle;
}

/* ---------- Lists ---------- */
/* Gold check marks (fa-check on growthym.com) */
.is-style-gy-checks { list-style: none; padding-left: 0 !important; }
.is-style-gy-checks li { position: relative; padding-left: 1.75rem; margin-bottom: 0.6rem; }
.is-style-gy-checks li::before { content: ""; position: absolute; left: 0.1rem; top: 0.42em; width: 0.7rem; height: 0.38rem; border-left: 2px solid var(--gy-gold); border-bottom: 2px solid var(--gy-gold); transform: rotate(-45deg); }
/* Red crosses for "not a fit" (fa-xmark text-red-500) */
.is-style-gy-nots { list-style: none; padding-left: 0 !important; }
.is-style-gy-nots li { position: relative; padding-left: 1.75rem; margin-bottom: 0.6rem; }
.is-style-gy-nots li::before { content: "\2715"; position: absolute; left: 0.05rem; top: 0; font-size: 0.85em; font-weight: 700; color: #EF4444; }
.is-style-gy-numbered { list-style: none; padding-left: 0 !important; counter-reset: gy; }
.is-style-gy-numbered li { position: relative; padding-left: 3rem; margin-bottom: 1rem; counter-increment: gy; }
.is-style-gy-numbered li::before { content: counter(gy, decimal-leading-zero); position: absolute; left: 0; top: 0.1em; font-family: var(--gy-label); font-size: 0.875rem; font-weight: 900; color: var(--gy-gold); letter-spacing: 0.02em; }
.wp-block-list.is-style-gy-inline { list-style: none; padding-left: 0 !important; display: flex; flex-wrap: wrap; gap: 0.5rem 1.5rem; font-size: var(--wp--preset--font-size--small); color: var(--gy-mute); }

/* ---------- Buttons ----------
   growthym.com: square, uppercase, bold, tracking-widest, 2px border.
   Light surfaces: black button; black surfaces: white button. Hover: gold fill sweeps in from the left. */
.wp-block-button__link {
  border-radius: 0 !important;
  background-image: linear-gradient(var(--gy-gold), var(--gy-gold));
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 0% 100%;
  transition: background-size var(--gy-sweep) ease, color var(--gy-sweep) ease, border-color var(--gy-sweep) ease, box-shadow var(--gy-sweep) ease;
}
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible { background-size: 100% 100%; color: var(--gy-paper) !important; border-color: var(--gy-gold) !important; }
.wp-block-button:not([class*="is-style-"]) .wp-block-button__link:hover,
.wp-block-button.is-style-fill .wp-block-button__link:hover { background-color: var(--gy-ink); }
/* Default button on black: white with black text */
:is(.has-ink-background-color, .has-night-background-color, .has-slate-background-color, .gy-sticky) .wp-block-button:not([class*="is-style-"]) .wp-block-button__link,
:is(.has-ink-background-color, .has-night-background-color, .has-slate-background-color, .gy-sticky) .wp-block-button.is-style-fill .wp-block-button__link { background-color: var(--gy-paper); color: var(--gy-ink); border-color: var(--gy-paper); box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.3); }
:is(.has-ink-background-color, .has-night-background-color, .has-slate-background-color, .gy-sticky) .wp-block-button:not([class*="is-style-"]) .wp-block-button__link:hover,
:is(.has-ink-background-color, .has-night-background-color, .has-slate-background-color, .gy-sticky) .wp-block-button.is-style-fill .wp-block-button__link:hover { background-color: var(--gy-paper); box-shadow: 0 0 30px rgba(170, 123, 63, 0.35); }
/* White cards/forms inside black sections keep the black button */
:is(.has-ink-background-color, .has-night-background-color) :is(.gy-form-card, .has-paper-background-color) .wp-block-button:not([class*="is-style-"]) .wp-block-button__link { background-color: var(--gy-ink); color: var(--gy-paper); border-color: var(--gy-ink); box-shadow: none; }
/* Outline: transparent, 2px border; fills black (or white on black) on hover */
.wp-block-button.is-style-gy-outline .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent !important;
  background-image: none;
  color: var(--gy-ink) !important;
  border: 2px solid var(--gy-ink) !important;
}
.wp-block-button.is-style-gy-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover { background-color: var(--gy-ink) !important; color: var(--gy-paper) !important; border-color: var(--gy-ink) !important; }
.has-ink-background-color .wp-block-button.is-style-gy-outline .wp-block-button__link,
.has-night-background-color .wp-block-button.is-style-gy-outline .wp-block-button__link,
.has-ink-background-color .wp-block-button.is-style-outline .wp-block-button__link,
.has-night-background-color .wp-block-button.is-style-outline .wp-block-button__link { color: var(--gy-paper) !important; border-color: #FFFFFF !important; }
.has-ink-background-color .wp-block-button.is-style-gy-outline .wp-block-button__link:hover,
.has-night-background-color .wp-block-button.is-style-gy-outline .wp-block-button__link:hover,
.has-ink-background-color .wp-block-button.is-style-outline .wp-block-button__link:hover,
.has-night-background-color .wp-block-button.is-style-outline .wp-block-button__link:hover { background-color: var(--gy-paper) !important; color: var(--gy-ink) !important; border-color: var(--gy-paper) !important; }
/* Text link: uppercase label with a gold rule */
.wp-block-button.is-style-gy-ghost .wp-block-button__link {
  background: transparent !important;
  color: var(--gy-ink) !important;
  padding: 0.5rem 0 !important;
  border: 0 !important;
  border-bottom: 2px solid var(--gy-gold) !important;
  border-radius: 0 !important;
  font-size: 0.75rem;
}
.wp-block-button.is-style-gy-ghost .wp-block-button__link:hover { color: var(--gy-gold) !important; }
.has-ink-background-color .wp-block-button.is-style-gy-ghost .wp-block-button__link,
.has-night-background-color .wp-block-button.is-style-gy-ghost .wp-block-button__link { color: var(--gy-paper) !important; }
.wp-block-button.is-style-gy-ink .wp-block-button__link { background-color: var(--gy-ink) !important; color: var(--gy-paper) !important; border-color: var(--gy-ink) !important; }
.gy-arrow::after, .wp-block-button__link.gy-arrow::after { content: " \2192"; }
.wp-block-buttons { gap: 1rem 1.25rem; }

/* ---------- Proof strip ---------- */
.gy-proof { border-top: 1px solid var(--gy-hair); border-bottom: 1px solid var(--gy-hair); gap: 0 !important; }
.gy-proof.is-layout-flex > .wp-block-group { flex: 1 1 13rem; min-width: 0; }
.gy-proof > .wp-block-group,
.gy-proof > .wp-block-column { padding: 1.75rem 1.5rem; border-right: 1px solid var(--gy-hair); }
.gy-proof > :last-child { border-right: 0; }
.has-ink-background-color .gy-proof, .has-night-background-color .gy-proof { border-color: var(--gy-line-dark); }
.has-ink-background-color .gy-proof > .wp-block-group, .has-night-background-color .gy-proof > .wp-block-group { border-color: var(--gy-line-dark); }
.gy-num,
.gy-count {
  font-size: clamp(2.25rem, 3vw, 3.25rem);
  font-weight: 900;
  letter-spacing: -0.04em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  display: block;
  margin: 0 0 0.5rem 0;
}
.gy-num, .gy-count { color: var(--gy-ink); }
.has-ink-background-color .gy-num, .has-night-background-color .gy-num, .has-ink-background-color .gy-count, .has-night-background-color .gy-count { color: var(--gy-paper); }
.gy-num small, .gy-count small { font-size: 0.5em; font-weight: 700; letter-spacing: 0; margin-left: 0.15em; }
.gy-proof p:not(.gy-num):not(.gy-count) { font-size: var(--wp--preset--font-size--small); color: var(--gy-mute); line-height: 1.4; margin: 0; }
.has-ink-background-color .gy-proof p:not(.gy-num), .has-night-background-color .gy-proof p:not(.gy-num) { color: var(--gy-soft); }
@media (max-width: 781px) {
  .gy-proof > .wp-block-group { border-right: 0; border-bottom: 1px solid var(--gy-hair); }
  .gy-proof > :last-child { border-bottom: 0; }
}

/* Client name strip */
.gy-logos { display: flex; flex-wrap: wrap; gap: 0.75rem 2.5rem; align-items: center; font-family: var(--gy-label); font-size: 0.875rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; color: #9CA3AF; }
.gy-logos li { list-style: none; }
.wp-block-list.gy-logos { padding-left: 0 !important; }

/* ---------- Audit console (hero): the gray-900 panel with a gold top rule from growthym.com ---------- */
.gy-console {
  background: var(--gy-slate);
  color: #D1D5DB;
  border: 0;
  border-top: 4px solid var(--gy-gold);
  font-family: var(--gy-label);
  font-size: 0.875rem;
  line-height: 1.55;
  padding: 2rem 2rem 1.75rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 30px rgba(170, 123, 63, 0.15);
  font-variant-numeric: tabular-nums;
}
.gy-console p { margin: 0 0 0.5rem 0; font-size: inherit; line-height: inherit; }
.gy-console .gy-console__title { color: var(--gy-gold); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.75rem; margin-bottom: 1.25rem; display: flex; justify-content: space-between; gap: 1rem; }
.gy-console .gy-console__line { color: var(--gy-soft); }
.gy-console .gy-console__line strong { color: #fff; font-weight: 700; }
.gy-console .gy-console__line.is-warn strong { color: var(--gy-gold-light); }
.gy-console .gy-meter { display: grid; grid-template-columns: 8.5rem 1fr 3.5rem; gap: 0.75rem; align-items: center; margin: 0.45rem 0; color: #D1D5DB; font-weight: 600; }
.gy-console .gy-meter .gy-meter__bar { height: 8px; background: var(--gy-line-dark); position: relative; }
.gy-console .gy-meter .gy-meter__bar i { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: var(--gy-gold); transition: width 900ms var(--gy-ease); }
.gy-console .gy-meter .gy-meter__val { text-align: right; color: #fff; font-weight: 700; }
.gy-console .gy-console__foot { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--gy-line-dark); color: #6B7280; font-size: 0.75rem; }
.js .gy-console.is-animated .gy-console__line,
.js .gy-console.is-animated .gy-meter { opacity: 0; transform: translateY(4px); transition: opacity var(--gy-base) var(--gy-ease), transform var(--gy-base) var(--gy-ease); }
.js .gy-console.is-animated .gy-console__line.show,
.js .gy-console.is-animated .gy-meter.show { opacity: 1; transform: none; }

/* ---------- Four-vertical rail (tabs): the "How We Engage" tabs on growthym.com ---------- */
.gy-rail { position: relative; }
.gy-rail__tabs { display: flex; gap: 0; border-bottom: 1px solid var(--gy-hair); margin-bottom: 2.5rem; overflow-x: auto; }
.gy-rail__tab {
  flex: 1 0 auto;
  appearance: none;
  background: none;
  border: 0;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  padding: 1rem 1rem 0.9rem;
  text-align: left;
  font: inherit;
  font-weight: 700;
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #9CA3AF;
  cursor: pointer;
  position: relative;
  min-width: 11rem;
  transition: color var(--gy-fast) var(--gy-ease);
}
.gy-rail__tab:hover { color: var(--gy-ink); }
.gy-rail__tab .n { display: block; font-family: var(--gy-label); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; color: inherit; margin-bottom: 0.25rem; }
.gy-rail__tab .t { text-transform: none; letter-spacing: 0; font-weight: 600; font-size: 0.875rem; }
.gy-rail__tab[aria-selected="true"] { color: var(--gy-gold); border-bottom-color: var(--gy-gold); }
.gy-rail__tab[aria-selected="true"] .t { color: var(--gy-ink); }
.gy-rail__tab .bar { position: absolute; left: 0; bottom: -2px; height: 2px; width: 0; background: var(--gy-gold-light); }
.gy-rail__tab[aria-selected="true"] .bar { animation: gy-fill var(--gy-rail-ms, 6s) linear forwards; }
@keyframes gy-fill { from { width: 0 } to { width: 100% } }
.js .gy-rail__item[hidden] { display: none; }
.gy-rail__item { animation: gy-fade var(--gy-base) var(--gy-ease); }
@keyframes gy-fade { from { opacity: 0; transform: translateY(10px) } to { opacity: 1; transform: none } }
.gy-rail__item > .wp-block-columns { margin-top: 0; }
.no-js .gy-rail__item + .gy-rail__item { margin-top: 3rem; padding-top: 3rem; border-top: 1px solid var(--gy-hair); }

/* ---------- Steps / flow ---------- */
.gy-steps { --gap: 2rem; }
.gy-steps > .wp-block-group { border-top: 3px solid var(--gy-gold); padding-top: 1.25rem; }
.gy-steps > .wp-block-group > .gy-eyebrow { margin-bottom: 0.5rem; }
.gy-steps > .wp-block-group > .wp-block-heading { font-size: 1.25rem; font-weight: 700; margin-bottom: 0.5rem; }
.gy-steps > .wp-block-group > p { color: var(--gy-body); font-size: var(--wp--preset--font-size--small); }
.has-ink-background-color .gy-steps > .wp-block-group > p, .has-night-background-color .gy-steps > .wp-block-group > p { color: var(--gy-soft); }

/* Weeks bar */
.gy-weeks { display: grid; grid-template-columns: repeat(12, 1fr); gap: 4px; }
.gy-weeks > * { border: 1px solid var(--gy-hair); min-height: 3.25rem; display: flex; align-items: flex-end; padding: 0.4rem 0.5rem; font-family: var(--gy-label); font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--gy-mute); margin: 0 !important; }
.gy-weeks > .a { background: var(--gy-gold); border-color: var(--gy-gold); color: #fff; }
.gy-weeks > .b { background: var(--gy-ink); border-color: var(--gy-ink); color: #fff; }
.gy-weeks > .r { border-color: var(--gy-gold); color: var(--gy-gold); }
@media (max-width: 781px) { .gy-weeks { grid-template-columns: repeat(6, 1fr); } }

/* ---------- Tables ---------- */
.wp-block-table.is-style-gy-data table { border-collapse: collapse; width: 100%; }
.wp-block-table.is-style-gy-data th { font-family: var(--gy-label); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gy-mute); background: var(--gy-warm); text-align: left; }
.wp-block-table.is-style-gy-data td, .wp-block-table.is-style-gy-data th { border: 1px solid var(--gy-hair); padding: 0.8rem 0.9rem; vertical-align: top; }
.wp-block-table.is-style-gy-data td:first-child { font-weight: 700; color: var(--gy-ink); }
.wp-block-table.is-style-gy-data a { color: var(--gy-gold); }

/* ---------- FAQ (Details) ---------- */
.gy-faq .wp-block-details, .wp-block-details.is-style-gy-faq { border-bottom: 1px solid var(--gy-hair); padding: 1rem 0; margin: 0; }
.gy-faq .wp-block-details:first-child, .wp-block-details.is-style-gy-faq:first-child { border-top: 1px solid var(--gy-hair); }
.gy-faq .wp-block-details summary, .wp-block-details.is-style-gy-faq summary { font-weight: 700; font-size: 1.125rem; color: var(--gy-ink); cursor: pointer; list-style: none; position: relative; padding-right: 2.5rem; line-height: 1.3; }
.gy-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.gy-faq .wp-block-details summary::after, .wp-block-details.is-style-gy-faq summary::after { content: "+"; position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-family: var(--gy-label); font-size: 1.5rem; font-weight: 400; color: var(--gy-gold); transition: transform var(--gy-fast) var(--gy-ease); }
.gy-faq .wp-block-details[open] summary::after, .wp-block-details.is-style-gy-faq[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.gy-faq .wp-block-details > *:not(summary), .wp-block-details.is-style-gy-faq > *:not(summary) { color: var(--gy-body); margin-top: 0.75rem; max-width: 62ch; }
.has-ink-background-color .gy-faq .wp-block-details, .has-night-background-color .gy-faq .wp-block-details { border-color: var(--gy-line-dark); }
.has-ink-background-color .gy-faq .wp-block-details > *:not(summary) { color: var(--gy-soft); }
.has-ink-background-color .gy-faq .wp-block-details summary, .has-night-background-color .gy-faq .wp-block-details summary { color: var(--gy-paper); }

/* ---------- Forms (Contact Form 7 and generic) ---------- */
.gy-form input[type="text"], .gy-form input[type="email"], .gy-form input[type="url"], .gy-form input[type="tel"], .gy-form textarea, .gy-form select,
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="url"], .wpcf7 input[type="tel"], .wpcf7 textarea, .wpcf7 select {
  width: 100%; border: 1px solid var(--gy-hair); background: var(--gy-paper); color: var(--gy-ink); padding: 0.85rem 1rem; font: inherit; font-size: var(--wp--preset--font-size--small); border-radius: 0; box-shadow: none; -webkit-appearance: none;
}
.gy-form input:focus, .gy-form textarea:focus, .wpcf7 input:focus, .wpcf7 textarea:focus { outline: none; border-color: var(--gy-gold); box-shadow: 0 0 0 3px rgba(170, 123, 63, 0.15); }
.gy-form label, .wpcf7 label { display: block; font-family: var(--gy-label); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gy-ink); margin-bottom: 0.4rem; }
.wpcf7 p { margin: 0 0 1rem; }
.wpcf7 .wpcf7-form-control-wrap { display: block; }
.wpcf7 input[type="submit"], .gy-form button, .gy-form input[type="submit"] {
  background: var(--gy-ink); color: #fff; border: 2px solid var(--gy-ink); padding: 1rem 2rem; font: inherit; font-weight: 700; font-size: 0.875rem; letter-spacing: 0.1em; text-transform: uppercase; cursor: pointer; border-radius: 0; width: auto; transition: background-color var(--gy-sweep) ease, border-color var(--gy-sweep) ease;
}
.wpcf7 input[type="submit"]:hover, .gy-form button:hover, .gy-form input[type="submit"]:hover { background: var(--gy-gold); border-color: var(--gy-gold); }
.wpcf7 .wpcf7-spinner { display: none; }
.wpcf7 form .wpcf7-response-output { margin: 1rem 0 0; padding: 0.75rem 1rem; border: 1px solid var(--gy-gold); font-size: var(--wp--preset--font-size--small); }
.gy-form-note { font-family: var(--gy-label); font-size: 0.75rem; color: var(--gy-mute); margin-top: 0.75rem; }
.gy-form-missing { border: 1px dashed var(--gy-gold); padding: 1rem 1.25rem; font-size: var(--wp--preset--font-size--small); background: var(--gy-warm); }
.gy-form-missing code { font-family: var(--wp--preset--font-family--mono); }
.has-ink-background-color .gy-form input, .has-night-background-color .gy-form input, .has-ink-background-color .wpcf7 input:not([type="submit"]), .has-night-background-color .wpcf7 input:not([type="submit"]) { background: var(--gy-slate); border-color: var(--gy-line-dark); color: #fff; }

/* ---------- Header (growthym.com: white, 80px, gray-200 rule, uppercase 12px nav, black CTA) ---------- */
.gy-header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: rgba(255, 255, 255, 0.97);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--gy-hair);
  transition: box-shadow var(--gy-fast) var(--gy-ease);
}
.gy-header.is-scrolled { box-shadow: 0 8px 24px rgba(0, 0, 0, 0.06); }
.admin-bar .gy-header { top: var(--wp-admin--admin-bar--height, 32px); }
.gy-header__row { min-height: var(--gy-header-h); gap: 2rem; }
.gy-logo { margin: 0 !important; line-height: 0; flex: 0 0 auto; }
.gy-logo img { width: 160px; height: auto; display: block; }
.gy-header .wp-block-site-logo img { width: 160px; height: auto; display: block; }
.gy-header .wp-block-site-logo.is-default-size img { width: 160px; }
.gy-header .wp-block-site-title { font-size: 1.15rem; }
.gy-nav .wp-block-navigation-item__content { text-decoration: none; padding: 0.35rem 0; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #111827; transition: color var(--gy-fast) var(--gy-ease); }
.gy-nav > .wp-block-navigation__container { gap: 2.25rem; }
.gy-nav > .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content,
.gy-nav > .wp-block-navigation__container > .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content { color: var(--gy-gold); }
.gy-nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { position: relative; }
.gy-nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; bottom: -4px; height: 2px; width: 100%; background: var(--gy-gold); transform: scaleX(0); transform-origin: left; transition: transform 300ms ease; }
.gy-nav > .wp-block-navigation__container > .wp-block-navigation-item:hover > .wp-block-navigation-item__content::after,
.gy-nav > .wp-block-navigation__container > .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.gy-nav .wp-block-navigation__submenu-icon { color: var(--gy-gold); }
.gy-nav .wp-block-navigation__submenu-container { border: 1px solid var(--gy-hair); border-top: 4px solid var(--gy-gold); background: var(--gy-paper); border-radius: 0; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08); padding: 0.5rem 0; min-width: 16rem; }
.gy-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.5rem 1rem; font-size: 0.875rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: #4B5563; }
.gy-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--gy-warm); color: var(--gy-gold); }
.gy-header .gy-header__cta { flex: 0 0 auto; }
.gy-header .gy-header__cta .wp-block-button__link { padding: 0.75rem 1.5rem !important; font-size: 0.75rem !important; letter-spacing: 0.06em; border-width: 0; box-shadow: none; }

/* Mega menu: a submenu with class gy-mega becomes a full-width, four-column panel on desktop */
@media (min-width: 1024px) {
  .gy-nav .wp-block-navigation-item.gy-mega { position: static; }
  .gy-nav .wp-block-navigation__responsive-container:not(.is-menu-open),
  .gy-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-dialog,
  .gy-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container,
  nav.gy-nav { position: static !important; }
  .gy-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item.has-child:not(.gy-mega) { position: relative; }
  .gy-nav .gy-mega > .wp-block-navigation__submenu-container {
    left: 0 !important; right: 0 !important; top: 100% !important; width: min(100vw - 2rem, 1200px) !important; margin-left: auto; margin-right: auto;
    display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 0 1.5rem; padding: 1.5rem 1.75rem 1.75rem;
  }
  .gy-nav .gy-mega > .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; top: -1.5rem; height: 1.5rem; }
  .gy-nav .gy-mega > .wp-block-navigation__submenu-container > .wp-block-navigation-item { display: block; }
  .gy-nav .gy-mega > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-family: var(--gy-label); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gy-gold); padding: 0.35rem 0 0.6rem; background: none; border-bottom: 1px solid var(--gy-hair); margin-bottom: 0.5rem; }
  .gy-nav .gy-mega > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover { background: none; }
  .gy-nav .gy-mega > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation__submenu-icon { display: none; }
  .gy-nav .gy-mega .wp-block-navigation-item .wp-block-navigation__submenu-container {
    position: static !important; opacity: 1 !important; visibility: visible !important; transform: none !important; display: block !important;
    border: 0; box-shadow: none; padding: 0; min-width: 0; width: auto !important; height: auto !important; overflow: visible !important;
  }
  .gy-nav .gy-mega .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.35rem 0; font-size: 0.875rem; font-weight: 500; color: #4B5563; }
  .gy-nav .gy-mega .wp-block-navigation-item .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: none; color: var(--gy-gold); }
  .gy-nav .gy-mega > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content .wp-block-navigation-item__label { white-space: normal; }
}
/* Mobile overlay */
.gy-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--gy-paper); padding: 4.5rem 1.5rem 2rem; }
.gy-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
.gy-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; text-align: left; width: 100%; gap: 0; }
.gy-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item,
.gy-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { width: 100%; justify-content: flex-start !important; align-items: flex-start !important; text-align: left; }
.gy-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { width: auto; text-align: left; }
.gy-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 0.9375rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.6rem 0; }
.gy-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0; box-shadow: none; padding: 0 0 0 0 !important; }
.gy-nav .wp-block-navigation__responsive-container.is-menu-open .gy-mega > .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-family: var(--gy-label); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gy-gold); padding: 1rem 0 0.35rem; }
.gy-nav .wp-block-navigation__responsive-container.is-menu-open .gy-mega .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 0.9375rem; font-weight: 500; letter-spacing: 0; text-transform: none; padding: 0.3rem 0; }
.gy-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-icon { display: none; }
.gy-nav .wp-block-navigation__responsive-container.is-menu-open > .wp-block-navigation__responsive-close { width: 100%; }
.gy-nav .wp-block-navigation__responsive-container-open, .gy-nav .wp-block-navigation__responsive-container-close { color: var(--gy-ink); }
.gy-nav .wp-block-navigation__responsive-container-close { top: 1rem; right: 1.25rem; }

/* ---------- Footer (growthym.com: brand black, 4px gold top rule, gold uppercase column heads, gray-400 links) ---------- */
.gy-footer { border-top: 4px solid var(--gy-gold); }
.gy-footer .wp-block-heading { font-family: var(--gy-label); font-size: 0.875rem; font-weight: 700; line-height: 1.4; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gy-gold); margin-bottom: 1.5rem; }
.gy-footer .wp-block-list { list-style: none; padding-left: 0 !important; margin: 0; }
.gy-footer .wp-block-list li { margin-bottom: 0.75rem; font-size: var(--wp--preset--font-size--small); line-height: 1.45; color: var(--gy-soft); }
.gy-footer .wp-block-list li a:not(.wp-element-button) { color: var(--gy-soft); text-decoration: none; transition: color var(--gy-fast) var(--gy-ease); }
.gy-footer .wp-block-list li a:not(.wp-element-button):hover { color: var(--gy-gold); }
.gy-footer p { color: var(--gy-soft); font-size: var(--wp--preset--font-size--small); line-height: 1.65; }
.gy-footer .gy-footer__contact a:not(.wp-element-button) { color: var(--gy-soft); }
.gy-footer .gy-footer__contact a:not(.wp-element-button):hover { color: var(--gy-gold); }
.gy-footer .gy-footer__bottom { border-top: 1px solid var(--gy-line-dark); font-size: 0.75rem; color: #6B7280; }
.gy-footer .gy-footer__bottom p { font-size: 0.75rem; color: #6B7280; }
.gy-footer .gy-footer__bottom a:not(.wp-element-button) { color: #6B7280; text-decoration: none; }
.gy-footer .gy-footer__bottom a:not(.wp-element-button):hover { color: var(--gy-gold); }
.gy-footer .wp-block-social-links .wp-social-link { border-radius: 0; }
.gy-footer .wp-block-social-links .wp-social-link:hover { color: var(--gy-gold) !important; }
.gy-footer .wp-block-site-logo img, .gy-footer .gy-logo img { width: 160px; height: auto; }

/* ---------- Sticky mobile CTA ---------- */
body .gy-sticky { display: none; }
@media (max-width: 781px) {
  body:not(.gy-no-sticky) .gy-sticky {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 55;
    align-items: center; justify-content: space-between; gap: 0.75rem;
    background: var(--gy-ink); color: var(--gy-paper); padding: 0.7rem 1rem; border-top: 1px solid var(--gy-line-dark);
    transform: translateY(0); transition: transform var(--gy-base) var(--gy-ease);
  }
  .gy-sticky.is-hidden { transform: translateY(110%); }
  .gy-sticky p { margin: 0; font-size: 0.8125rem; line-height: 1.3; color: var(--gy-paper); }
  .gy-sticky .wp-block-buttons { margin: 0; flex: 0 0 auto; }
  .gy-sticky .wp-block-button__link { padding: 0.6rem 0.9rem !important; font-size: 0.75rem !important; white-space: nowrap; }
  body:not(.gy-no-sticky) { padding-bottom: 4.5rem; }
}

/* ---------- Hero (growthym.com: black, gold glow top right, heavy white headline with a gold gradient phrase) ---------- */
.gy-hero { position: relative; overflow: hidden; isolation: isolate; }
.gy-hero::before { content: ""; position: absolute; top: -12rem; right: -10rem; width: 38rem; height: 38rem; border-radius: 50%; background: var(--gy-gold); opacity: 0.12; filter: blur(110px); pointer-events: none; z-index: -1; animation: gy-glow 5s ease-in-out infinite; }
.gy-hero::after { content: ""; position: absolute; inset: auto 0 0 0; height: 1px; background: var(--gy-line-dark); }
@keyframes gy-glow { 0%, 100% { opacity: 0.12; } 50% { opacity: 0.06; } }
.gy-hero h1 { max-width: 15ch; }
.gy-hero .gy-lead { max-width: 56ch; color: #9CA3AF; }
.gy-hero .gy-hero__meta { font-family: var(--gy-label); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #6B7280; }
.gy-hero .wp-block-columns { align-items: center; }
.gy-hero .wp-block-buttons { margin-top: 2rem; }
@media (max-width: 781px) { .gy-hero .wp-block-columns { gap: 2.5rem; } .gy-hero::before { width: 22rem; height: 22rem; right: -8rem; } }
/* Gold gradient text (from-brand-gold via-yellow-200 to-brand-gold) */
.gy-grad, mark.gy-grad {
  background: linear-gradient(90deg, #AA7B3F 0%, #FEF08A 50%, #AA7B3F 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  padding: 0;
}
/* Closing CTA sections on black carry the same gold glow, on the right */
.gy-audit.has-ink-background-color, .gy-strip.has-ink-background-color { position: relative; overflow: hidden; isolation: isolate; }
.gy-audit.has-ink-background-color::before { content: ""; position: absolute; top: 0; right: 0; width: 50%; height: 100%; background: var(--gy-gold); opacity: 0.08; filter: blur(64px); transform: translateX(50%); pointer-events: none; z-index: -1; }

/* ---------- Work tiles / query cards ---------- */
.gy-post-card { border: 1px solid var(--gy-hair); background: var(--gy-paper); height: 100%; display: flex; flex-direction: column; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); transition: transform 400ms cubic-bezier(.175, .885, .32, 1.275), border-color 300ms ease, box-shadow 300ms ease; }
.gy-post-card:hover { transform: translateY(-8px); border-color: var(--gy-gold); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.08); }
.gy-post-card .wp-block-post-featured-image { margin: 0; }
.gy-post-card .wp-block-post-featured-image img { aspect-ratio: 16 / 10; object-fit: cover; width: 100%; }
.gy-post-card .gy-post-card__body { padding: 1.75rem 1.75rem 1.75rem; display: flex; flex-direction: column; gap: 0.5rem; flex: 1; }
.gy-post-card .wp-block-post-title { font-size: 1.25rem; font-weight: 700; letter-spacing: -0.01em; line-height: 1.3; margin: 0; }
.gy-post-card .wp-block-post-title a { text-decoration: none; }
.gy-post-card .wp-block-post-title a:hover { color: var(--gy-gold); }
.gy-post-card .wp-block-post-excerpt { margin: 0; }
.gy-post-card .wp-block-post-excerpt__more-text { margin-top: 0.75rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.gy-post-card .wp-block-post-excerpt__more-link { text-decoration: none; border-bottom: 2px solid var(--gy-gold); padding-bottom: 2px; }
.gy-post-card .gy-post-card__meta { margin-top: auto; padding-top: 0.75rem; display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; font-size: 0.8125rem; color: var(--gy-mute); }
.gy-post-card .gy-post-card__meta > * { margin: 0; }
.gy-case-tile { position: relative; border: 0; border-left: 4px solid var(--gy-ink); background: var(--gy-paper); box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05); padding: 2rem; min-height: 16rem; display: flex; flex-direction: column; transition: border-color 300ms ease; }
.gy-case-tile:hover { border-left-color: var(--gy-gold); }
.gy-case-tile .wp-block-post-title { margin-top: auto; font-size: 1.25rem; font-weight: 700; }
.gy-case-tile .wp-block-post-title a { text-decoration: none; }
.gy-case-tile .wp-block-post-excerpt { color: var(--gy-mute); }
.wp-block-query-pagination { font-family: var(--gy-label); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.wp-block-query-pagination a { text-decoration: none; }

/* Article layout */
.gy-article .wp-block-post-content { font-size: 1.125rem; line-height: 1.7; }
.gy-article .wp-block-post-content > * { max-width: 46rem; margin-left: auto; margin-right: auto; }
.gy-article .wp-block-post-content > .alignwide { max-width: 1200px; }
.gy-article .wp-block-post-content > .alignfull { max-width: none; }
.gy-article .wp-block-post-content h2 { margin-top: 2.5rem; font-size: 1.75rem; }
.gy-article .wp-block-post-content h3 { margin-top: 1.75rem; }
.gy-article .wp-block-post-content a { color: var(--gy-gold); }
.gy-article .wp-block-post-content figure { margin: 1.75rem auto; }
.gy-article .wp-block-post-content table { font-size: var(--wp--preset--font-size--small); }
.gy-article .wp-block-post-featured-image img { width: 100%; aspect-ratio: 2 / 1; object-fit: cover; }
.gy-article-meta { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; align-items: center; font-size: var(--wp--preset--font-size--small); color: var(--gy-mute); }
.gy-article-meta > * { margin: 0 !important; }
.gy-article-meta .wp-block-post-author-name a { text-decoration: none; }
.gy-updated { font-family: var(--gy-label); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gy-mute); }
.gy-breadcrumb { font-family: var(--gy-label); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gy-mute); }
.gy-breadcrumb a { color: var(--gy-mute); text-decoration: none; }
.gy-breadcrumb a:hover { color: var(--gy-gold); }
.gy-breadcrumb span.sep { margin: 0 0.5rem; color: var(--gy-hair); }

/* ---------- Scorecard / report mock panels (patterns) ---------- */
.gy-score { background: var(--gy-slate); color: #fff; border-top: 4px solid var(--gy-gold); padding: 1.75rem 1.75rem; font-family: var(--gy-label); font-size: 0.875rem; box-shadow: 0 0 30px rgba(170, 123, 63, 0.15); }
.gy-score p { margin: 0; font-size: inherit; }
.gy-score .gy-score__hd { display: flex; justify-content: space-between; gap: 1rem; color: #9CA3AF; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; margin-bottom: 1rem; }
.gy-score .gy-score__hd strong { color: var(--gy-gold); }
.gy-report { border: 1px solid var(--gy-hair); border-top: 4px solid var(--gy-gold); background: var(--gy-paper); box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.08); }
.gy-report > * { margin: 0 !important; }
.gy-report .gy-report__hd { display: flex; justify-content: space-between; gap: 1rem; padding: 0.9rem 1.25rem; border-bottom: 1px solid var(--gy-hair); font-family: var(--gy-label); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gy-mute); }
.gy-report .gy-report__hd strong { color: var(--gy-gold); }
.gy-report .gy-report__row { display: grid; grid-template-columns: 6.5rem 1fr; gap: 0.75rem; padding: 0.8rem 1.25rem; border-bottom: 1px solid var(--gy-hair); font-size: var(--wp--preset--font-size--small); }
.gy-report .gy-report__row:last-child { border-bottom: 0; }
.gy-report .gy-report__row strong { font-family: var(--gy-label); font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gy-gold); padding-top: 0.2rem; }
.gy-report .gy-report__kpis { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--gy-hair); }
.gy-report .gy-report__kpis > * { padding: 0.9rem 1.25rem; border-right: 1px solid var(--gy-hair); margin: 0 !important; }
.gy-report .gy-report__kpis > :last-child { border-right: 0; }
.gy-report .gy-report__kpis strong { display: block; font-size: 1.75rem; font-weight: 900; color: var(--gy-ink); letter-spacing: -0.03em; line-height: 1; margin-bottom: 0.25rem; }
.gy-report .gy-report__kpis span { font-size: 0.75rem; color: var(--gy-mute); }

/* ---------- Reveal on scroll ---------- */
.js .gy-reveal { opacity: 0; transform: translateY(14px); transition: opacity 640ms var(--gy-ease), transform 640ms var(--gy-ease); }
.js .gy-reveal.in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  .js .gy-reveal, .js .gy-console.is-animated .gy-console__line, .js .gy-console.is-animated .gy-meter { opacity: 1 !important; transform: none !important; transition: none !important; }
  .gy-rail__item { animation: none; }
  html { scroll-behavior: auto; }
}

/* ---------- 404 ---------- */
.gy-404 h1 { font-size: clamp(3rem, 12vw, 8rem); font-weight: 900; letter-spacing: -0.05em; }

/* ---------- Legacy pages (old PHP templates) ---------- */
body.gy-legacy .gy-header, body.gy-legacy .gy-footer, body.gy-legacy .gy-sticky { font-family: Inter, ui-sans-serif, system-ui, sans-serif; }
body.gy-legacy .gy-header ul, body.gy-legacy .gy-footer ul { list-style: none; }
body.gy-legacy .gy-footer .wp-block-list li { color: var(--gy-soft); }
body.gy-legacy main > .h-20:first-child { display: none; }

/* ---------- Editor tweaks ---------- */
.editor-styles-wrapper .gy-console, .editor-styles-wrapper .gy-score { min-height: 4rem; }
.editor-styles-wrapper .gy-rail__item { display: block !important; }
.editor-styles-wrapper .gy-sticky { display: flex; position: static; background: var(--gy-ink); color: #fff; padding: 0.7rem 1rem; }
.editor-styles-wrapper .gy-reveal { opacity: 1; transform: none; }

/* ---------- Additions: layout glue, header brand, categories, mocks, forms on dark ---------- */
.wp-site-blocks > * { margin-block-start: 0 !important; }
.wp-block-post-content > .alignfull, main.wp-block-group > .alignfull, main.wp-block-group > .wp-block-post-content { margin-block-start: 0 !important; }
.gy-landing > .wp-block-post-content > *:first-child { margin-top: 0; }
.gy-header__brand { align-items: center; gap: 0.75rem; }
.gy-header__row:has(.wp-block-site-logo img) .gy-header__title { display: none; }
.gy-header__title a { text-decoration: none; font-weight: 900; letter-spacing: -0.03em; color: var(--gy-ink); }
@media (max-width: 1023px) {
  .gy-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
  .gy-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
}
@media (max-width: 599px) { .gy-header .gy-header__cta { display: none; } .gy-header .wp-block-site-logo img, .gy-logo img { width: 136px; } }
.gy-cats { list-style: none; padding-left: 0 !important; display: flex; flex-wrap: wrap; gap: 0.5rem 0.75rem; margin: 1.5rem 0 0; }
.gy-cats li a { display: inline-block; border: 1px solid var(--gy-hair); background: var(--gy-paper); padding: 0.35rem 0.75rem; font-family: var(--gy-label); font-size: 0.75rem; font-weight: 700; text-decoration: none; color: var(--gy-ink); }
.gy-cats li a:hover, .gy-cats li.current-cat a { border-color: var(--gy-gold); color: var(--gy-gold); }
.gy-tag-row, .gy-tag-row a { font-family: var(--gy-label); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gy-gold); text-decoration: none; }
.gy-post-card .wp-block-post-terms.gy-tag-row { margin: 0; }
.gy-case-tile .wp-block-post-terms a { text-decoration: none; }
.gy-footer__contact a { text-decoration: none; }
.gy-footer__top { gap: 3rem; }
.gy-footer__cols { gap: 2rem 1.5rem; }
.gy-pillar-row { border-top: 1px solid var(--gy-hair); }
.gy-pillar-row:first-child { border-top: 0; }
.gy-pillar-row h2 a { text-decoration: none; }
.gy-pillar-row h2 a:hover { color: var(--gy-gold); }
.gy-cards { gap: 1.5rem; }
.gy-hero__meta { margin-top: 0.5rem; }
.gy-form-card, .has-ink-background-color .gy-form-card, .has-night-background-color .gy-form-card { background: var(--gy-paper) !important; color: var(--gy-ink); }
.has-ink-background-color .gy-form-card, .has-night-background-color .gy-form-card { border-color: var(--gy-paper); }
.gy-form-card p, .gy-form-card label, .gy-form-card .wp-block-heading { color: var(--gy-ink); }
.has-ink-background-color .gy-form-card p:not(.gy-eyebrow), .has-night-background-color .gy-form-card p:not(.gy-eyebrow) { color: var(--gy-body); }
.has-ink-background-color .gy-form-card .wp-block-heading, .has-night-background-color .gy-form-card .wp-block-heading { color: var(--gy-ink); }
.gy-form-card a:not(.wp-element-button) { color: var(--gy-gold) !important; }
.gy-form-card .gy-eyebrow { color: var(--gy-gold); }
.gy-form-card { border-top: 4px solid var(--gy-gold) !important; box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.35); }
.gy-form-card .gy-form-missing { color: var(--gy-ink); }
mark.gy-verify { background: #FEF3C7; color: var(--gy-ink); padding: 0 0.25em; font-family: var(--gy-label); font-size: 0.75em; font-weight: 700; letter-spacing: 0.04em; }
.gy-score .gy-score__table { margin: 0; }
.gy-score .gy-score__table table { border-collapse: collapse; width: 100%; color: #fff; font-size: 0.8125rem; }
.gy-score .gy-score__table th, .gy-score .gy-score__table td { border: 1px solid var(--gy-line-dark); padding: 0.55rem 0.7rem; text-align: left; }
.gy-score .gy-score__table th { color: var(--gy-gold); font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.75rem; }
.gy-score .gy-console__foot { border-top: 1px solid var(--gy-line-dark); color: #6B7280; margin-top: 1rem; padding-top: 0.75rem; font-size: 0.75rem; }
.gy-report .gy-report__kpis { display: grid; }
.gy-search .wp-block-search__input { border: 1px solid var(--gy-hair); border-radius: 0; padding: 0.7rem 0.9rem; font-family: inherit; }
.gy-search .wp-block-search__button { background: var(--gy-ink); color: #fff; border: 0; border-radius: 0; font-weight: 700; font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; padding: 0.7rem 1.25rem; }
.gy-search .wp-block-search__button:hover { background: var(--gy-gold); }
.gy-search .wp-block-search__inside-wrapper { border-color: var(--gy-hair); border-radius: 0; }
.gy-pagination { margin-top: 2.5rem; font-family: var(--gy-label); font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.gy-pagination a { text-decoration: none; }
.gy-pagination .page-numbers.current { color: var(--gy-gold); font-weight: 700; }
.gy-post-nav a { text-decoration: none; font-weight: 600; }
.gy-avatar img { border-radius: 0; }
.gy-strip h2 { margin-bottom: 0.5rem; }
.gy-grid { gap: 1.25rem; }
.gy-audit .gy-mute a { color: var(--gy-gold); }
.gy-rail .gy-rail__item .is-style-gy-card-lead { background: var(--gy-paper); }
.has-ink-background-color .gy-cards .is-style-gy-card p, .has-night-background-color .gy-cards .is-style-gy-card p { color: var(--gy-soft); }
.has-ink-background-color .gy-cards .is-style-gy-card .gy-num, .has-night-background-color .gy-cards .is-style-gy-card .gy-num { color: #fff; }
.has-ink-background-color .is-style-gy-card .gy-card-foot, .has-night-background-color .is-style-gy-card .gy-card-foot { border-color: var(--gy-line-dark); }
.gy-console__title span { color: #6B7280; font-weight: 500; letter-spacing: 0; text-transform: none; }

.gy-form-card .wp-block-button.is-style-gy-outline .wp-block-button__link { color: var(--gy-ink) !important; border-color: var(--gy-ink) !important; }
.js .gy-rail .gy-rail__item .wp-block-column:first-child > .gy-eyebrow:first-child { display: none; }

/* Flex-column containers: never center children through the constrained layout's auto margins */
.is-style-gy-card > *, .is-style-gy-card-lead > *, .gy-card > *, .gy-post-card__body > *, .gy-case-tile > *, .gy-console > *, .gy-score > *, .gy-report > * { margin-left: 0 !important; margin-right: 0 !important; max-width: none !important; }
@media (max-width: 781px) {
  .gy-rail__tabs { overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
  .gy-rail__tabs::-webkit-scrollbar { display: none; }
  .gy-rail__tab { flex: 0 0 auto; padding: 0.75rem 1rem 0.7rem; min-width: 0; }
  .gy-rail__tab .t { display: none; }
  .gy-rail__tab .n { font-size: 0.6875rem; white-space: nowrap; margin: 0; }
}
.gy-console .gy-console__title { flex-wrap: wrap; }
.gy-console .gy-console__title span { white-space: nowrap; }
