
.f-gs {
  padding: var(--f-space-xl) clamp(16px, 4vw, 48px);
  background: var(--f-gs-ground);
  color: var(--f-gs-ink);
  --f-gs-ground: var(--brand-bg-muted, #EDEDED);
  --f-gs-ink: var(--brand-ink);
  --f-gs-strong: var(--brand-ink-strong);
  --f-gs-quiet: var(--f-quiet-ink);
  --f-gs-rule: color-mix(in oklab, var(--brand-ink), transparent 84%);
  --f-gs-card: var(--brand-bg);
  --f-gs-shadow: color-mix(in oklab, var(--brand-ink), transparent 90%);
  --f-gs-shadow-hover: color-mix(in oklab, var(--brand-ink), transparent 86%);
}
.f-gs-dark {
  --f-gs-ground: var(--brand-surface-dark);
  --f-gs-ink: var(--brand-ink-on-dark);
  --f-gs-strong: var(--brand-ink-on-dark);
  --f-gs-quiet: color-mix(in oklab, var(--brand-ink-on-dark), transparent 26%);
  --f-gs-rule: color-mix(in oklab, var(--brand-ink-on-dark), transparent 82%);
  --f-gs-card: color-mix(in oklab, var(--brand-surface-dark), var(--brand-ink-on-dark) 6%);
  --f-gs-shadow: color-mix(in oklab, var(--brand-surface-dark), transparent 0%);
  --f-gs-shadow-hover: color-mix(in oklab, var(--brand-surface-dark), transparent 0%);
}
.f-gs-page { --f-gs-ground: var(--brand-bg); }
.f-gs h2,
.f-gs h3 { color: inherit; }
.f-gs-inner { width: min(1200px, 100%); margin-inline: auto; }
.f-gs-head {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: var(--f-space-m) var(--f-space-l);
  align-items: end;
  margin-bottom: var(--f-space-l);
}
.f-gs-kicker {
  margin: 0 0 var(--f-space-xs);
  color: var(--f-accent-ink);
  font-size: var(--f-text-caption);
  font-weight: 700;
  letter-spacing: var(--f-track-eyebrow);
  text-transform: uppercase;
}
.f-gs-dark .f-gs-kicker { color: var(--brand-accent-bright, var(--brand-accent)); }
.f-gs-title { margin: 0; max-width: 18ch; font-size: var(--f-h2); }
.f-gs-lead { display: flex; align-items: end; gap: var(--f-space-m); }
.f-gs-intro { margin: 0; max-width: 50ch; color: var(--f-gs-quiet); }
.f-gs-head-centered .f-gs-head {
  display: block;
  text-align: center;
}
.f-gs-head-centered .f-gs-title,
.f-gs-head-centered .f-gs-intro { margin-inline: auto; }
.f-gs-head-centered .f-gs-title { max-width: none; }
.f-gs-head-centered .f-gs-lead {
  justify-content: center;
  margin-top: var(--f-space-xs);
}
.f-gs-cta,
.f-gs-link {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--f-space-s);
  color: inherit;
  font-size: var(--f-text-small);
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.f-gs-cta {
  flex: none;
  min-height: 44px;
  padding: var(--f-space-xs) var(--f-space-s);
  border: 1px solid var(--f-gs-rule);
  border-radius: var(--brand-cta-radius);
}
.f-gs-cta span:last-child,
.f-gs-link span:last-child { transition: translate 0.35s var(--f-ease); }
.f-gs-cta:hover span:last-child,
.f-gs-cta:focus-visible span:last-child,
.f-gs-card:hover .f-gs-link span:last-child,
.f-gs-link:focus-visible span:last-child { translate: 5px 0; }
.f-gs-note {
  width: fit-content;
  margin: calc(var(--f-space-m) * -1) 0 var(--f-space-m);
  padding-bottom: var(--f-space-2xs);
  border-bottom: 1px solid var(--brand-accent);
  color: var(--f-gs-quiet);
  font-size: var(--f-text-caption);
}
.f-gs-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--f-space-s);
  margin: 0;
  padding: 0;
  list-style: none;
}
.f-gs-cell,
.f-gs-card { min-width: 0; height: 100%; }
.f-gs-card { position: relative; }
.f-gs-media { position: relative; overflow: clip; }
.f-gs-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(1) contrast(1.04);
  scale: 1.001;
  transition: filter 0.65s var(--f-ease), scale 0.65s var(--f-ease);
}
.f-gs-card:hover .f-gs-image,
.f-gs-card.is-lit .f-gs-image,
.f-gs-card:has(.f-gs-link:focus-visible) .f-gs-image { filter: none; scale: 1.035; }
.f-gs-copy { position: relative; z-index: 1; }
.f-gs-card-title {
  margin: 0;
  color: inherit;
  font-size: var(--f-h4);
  line-height: var(--f-lh-h4);
}
.f-gs-body { margin: 0; max-width: 42ch; color: var(--f-gs-quiet); font-size: var(--f-text-small); }
.f-gs-link { width: 100%; margin-top: auto; color: var(--f-accent-ink); }
.f-gs-dark .f-gs-link { color: var(--brand-accent-bright, var(--brand-accent)); }
.f-gs-link::after { content: ""; position: absolute; inset: 0; }
.f-gs-link:focus-visible { outline: none; }
.f-gs-card:has(.f-gs-link:focus-visible) { outline: 3px solid var(--brand-accent); outline-offset: 4px; }
.f-gs-dark .f-gs-card:has(.f-gs-link:focus-visible) { outline-color: var(--brand-accent-bright, var(--brand-accent)); }
.f-gs-card {
  display: flex;
  flex-direction: column;
  overflow: clip;
  background: var(--f-gs-card);
  border: 0;
  border-radius: calc(var(--brand-cta-radius) * 3);
  box-shadow: 0 10px 28px var(--f-gs-shadow);
  transition: translate 0.45s var(--f-ease), box-shadow 0.45s var(--f-ease);
}
.f-gs-media {
  aspect-ratio: 3 / 2;
  flex: 0 0 auto;
  width: 100%;
  min-height: 0;
}
.f-gs-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--f-space-s);
  padding: var(--f-space-m);
}
.f-gs-light .f-gs-link,
.f-gs-page .f-gs-link {
  color: color-mix(in oklab, var(--f-accent-ink), var(--brand-ink-strong) 18%);
}
.f-gs-card:has(.f-gs-link:focus-visible) {
  translate: 0 -8px;
  box-shadow: 0 20px 48px var(--f-gs-shadow-hover);
}
@media (hover: hover) {
  .f-gs-card:hover {
    translate: 0 -8px;
    box-shadow: 0 20px 48px var(--f-gs-shadow-hover);
  }
}
@media (max-width: 800px) {
  .f-gs-head { grid-template-columns: 1fr; align-items: start; }
  .f-gs-lead { align-items: start; flex-direction: column; }
  .f-gs-grid { grid-template-columns: 1fr; gap: var(--f-space-m); }
}
@media (prefers-reduced-motion: reduce) {
  .f-gs-image,
  .f-gs-card,
  .f-gs-cta span:last-child,
  .f-gs-link span:last-child { transition: none; }
  .f-gs-card:hover .f-gs-image,
  .f-gs-card.is-lit .f-gs-image,
  .f-gs-card:has(.f-gs-link:focus-visible) .f-gs-image { scale: 1; }
}
@media print {
  .f-gs-image { filter: none; }
}
.f-gs-switch { display: none; }
.f-gs-switchable .f-gs-head {
  display: block;
  margin-bottom: var(--f-space-s);
  text-align: center;
}
.f-gs-switchable .f-gs-title { max-width: none; }
.f-gs-live .f-gs-switch-wrap {
  display: flex;
  justify-content: center;
}
.f-gs-live .f-gs-switch {
  position: relative;
  display: grid;
  grid-template-columns: repeat(var(--f-gs-tab-count, 2), minmax(0, 1fr));
  width: min(100%, 296px);
  gap: 0;
  margin-bottom: clamp(28px, 3.6vw, 48px);
  padding: 4px;
  border: 1px solid var(--f-gs-rule);
  border-radius: 999px;
  background: color-mix(in oklab, var(--f-gs-card), var(--f-gs-ground) 34%);
}
.f-gs-tab {
  position: relative;
  z-index: 1;
  appearance: none;
  min-height: 44px;
  margin: 0;
  padding: 8px 18px;
  border: 0; background: none;
  border-radius: 999px;
  font-family: var(--brand-font-display, inherit);
  font-weight: 700;
  text-transform: var(--brand-display-transform, none);
  font-size: var(--f-text-lead);
  line-height: 1;
  letter-spacing: 0.02em;
  color: var(--f-gs-quiet);
  cursor: pointer;
  transition: color 0.28s var(--f-ease);
}
.f-gs-tab:hover { color: var(--f-gs-ink); }
.f-gs-tab[aria-pressed="true"] { color: var(--brand-ink-on-dark); }
.f-gs-tab:focus-visible {
  outline: 2px solid var(--f-accent-ink);
  outline-offset: 2px;
}
.f-gs-ind {
  position: absolute;
  inset: 0;
  display: block;
  border-radius: inherit;
  background: var(--brand-ink-strong);
  clip-path: inset(4px var(--f-gs-clip-right, 50%) 4px var(--f-gs-clip-left, 4px) round 999px);
  pointer-events: none;
  transition: clip-path 0.28s cubic-bezier(0.16, 1, 0.3, 1);
}
.f-gs-dark .f-gs-ind { background: #333333; }
.f-gs-dark .f-gs-tab[aria-pressed="true"] { color: var(--brand-ink-on-dark); }
.f-gs-panel { min-width: 0; }
.f-gs-panel + .f-gs-panel { margin-top: clamp(40px, 5vw, 72px); }
.f-gs-live .f-gs-panel + .f-gs-panel { margin-top: 0; }
.f-gs-live .f-gs-panel.is-off { display: none; }
.f-gs-glabel {
  margin: 0 0 var(--f-space-s);
  font-size: var(--f-h4);
  color: var(--f-gs-ink);
}
.f-gs-live .f-gs-glabel {
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0; border: 0;
  overflow: hidden; white-space: nowrap;
  clip-path: inset(50%);
}
@media (prefers-reduced-motion: no-preference) {
  .f-gs-live .f-gs-panel.is-in {
    animation: f-gs-wipe 0.42s var(--f-ease) both;
  }
}
@keyframes f-gs-wipe {
  from { clip-path: inset(0 var(--wr, 0%) 0 var(--wl, 100%)); opacity: 0; translate: var(--dx, -20px) 0; }
  to   { clip-path: inset(0 0 0 0); opacity: 1; translate: 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  .f-gs-ind, .f-gs-tab { transition: none !important; }
}
@media print {
  .f-gs-live .f-gs-switch { display: none; }
  .f-gs-live .f-gs-panel.is-off { display: block; }
  .f-gs-live .f-gs-glabel {
    position: static;
    width: auto; height: auto;
    margin: 0 0 var(--f-space-s);
    clip-path: none;
  }
}
.f-gs-foot {
  margin-top: clamp(36px, 4.5vw, 56px);
  display: flex;
  justify-content: center;
}
.f-gs-body + .f-gs-body { margin-top: 0.7em; }
