/* Precision Controller Lab — public marketing, editorial, and tester surfaces */

.gct-public-page {
  padding-bottom: 0;
  background:
    radial-gradient(circle at 8% 0, rgb(31 99 198 / 8%), transparent 28rem),
    var(--gct-canvas);
}

.gct-public-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  border-bottom: 1px solid rgb(217 226 236 / 86%);
  background: rgb(255 255 255 / 93%);
  backdrop-filter: saturate(150%) blur(14px);
}

.gct-public-header__inner {
  display: flex;
  width: min(calc(100% - 2.5rem), var(--gct-public-max));
  min-height: var(--gct-header-height);
  margin-inline: auto;
  align-items: center;
  gap: clamp(.75rem, 2vw, 1.5rem);
}

.gct-public-brand {
  display: inline-flex;
  min-width: max-content;
  align-items: center;
  gap: .625rem;
  color: var(--gct-navy-950);
  font-size: 1rem;
  font-weight: 850;
  letter-spacing: -.025em;
  line-height: 1;
  text-decoration: none;
}

.gct-public-brand:hover {
  color: var(--gct-navy-950);
}

.gct-public-brand__mark {
  position: relative;
  display: grid;
  width: 2.25rem;
  height: 1.875rem;
  place-items: center;
  border: 2px solid var(--gct-navy-900);
  border-radius: .6875rem .6875rem .8125rem .8125rem;
  background: var(--gct-surface);
  box-shadow: inset 0 -.3125rem 0 var(--gct-blue-100);
  color: var(--gct-navy-900);
  font-size: .6875rem;
  font-weight: 900;
}

.gct-public-brand__mark::before,
.gct-public-brand__mark::after {
  position: absolute;
  right: .4375rem;
  width: .3125rem;
  height: .3125rem;
  border-radius: 50%;
  background: var(--gct-red-600);
  content: "";
}

.gct-public-brand__mark::before {
  top: .4375rem;
}

.gct-public-brand__mark::after {
  right: .75rem;
  top: .75rem;
  background: var(--gct-blue-600);
}

.gct-public-brand__suffix {
  color: var(--gct-red-600);
  font-size: .75em;
  font-weight: 900;
}

.gct-public-nav {
  display: flex;
  margin-left: auto;
  align-items: center;
  gap: .125rem;
}

.gct-public-nav__link {
  display: inline-flex;
  min-height: 2.75rem;
  padding: .625rem .75rem;
  align-items: center;
  gap: .375rem;
  border-radius: var(--gct-radius-sm);
  color: var(--gct-ink-soft);
  font-size: var(--gct-font-size-sm);
  font-weight: 750;
  text-decoration: none;
}

.gct-public-nav__link:hover,
.gct-public-nav__link[aria-current="page"] {
  background: var(--gct-blue-050);
  color: var(--gct-blue-700);
}

.gct-public-header__actions {
  display: flex;
  align-items: center;
  gap: var(--gct-space-2);
}

.gct-public-header__menu-button {
  display: none;
}

.gct-public-menu {
  display: none;
}

.gct-public-menu[aria-hidden="false"],
.gct-public-menu.is-open {
  display: grid;
}

.gct-public-hero {
  position: relative;
  padding: clamp(3rem, 7vw, 6rem) 0 clamp(2.5rem, 5vw, 4.5rem);
  overflow: clip;
}

.gct-public-hero::after {
  position: absolute;
  z-index: -1;
  right: -11rem;
  bottom: -13rem;
  width: 35rem;
  height: 35rem;
  border: 1px solid rgb(31 99 198 / 10%);
  border-radius: 50%;
  box-shadow: inset 0 0 0 5rem rgb(31 99 198 / 2%), inset 0 0 0 10rem rgb(214 41 62 / 1.6%);
  content: "";
}

.gct-public-hero__grid {
  display: grid;
  width: min(calc(100% - 2.5rem), var(--gct-public-max));
  margin-inline: auto;
  align-items: center;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(0, 1.05fr) minmax(22rem, .75fr);
}

.gct-public-eyebrow {
  display: inline-flex;
  margin-bottom: var(--gct-space-4);
  align-items: center;
  gap: .5rem;
  color: var(--gct-red-700);
  font-size: var(--gct-font-size-xs);
  font-weight: 850;
  letter-spacing: .09em;
  line-height: 1.25;
  text-transform: uppercase;
}

.gct-public-eyebrow::before {
  width: 1.5rem;
  height: .1875rem;
  border-radius: var(--gct-radius-pill);
  background: linear-gradient(90deg, var(--gct-blue-600) 0 62%, var(--gct-red-600) 62%);
  content: "";
}

.gct-public-hero__copy h1 {
  max-width: 48rem;
  margin-bottom: var(--gct-space-5);
  font-size: var(--gct-font-size-display);
  letter-spacing: -.045em;
  line-height: var(--gct-line-tight);
}

.gct-public-hero__copy h1 em {
  color: var(--gct-blue-700);
  font-style: normal;
}

.gct-public-hero__lede {
  max-width: 43rem;
  margin-bottom: var(--gct-space-6);
  color: var(--gct-ink-soft);
  font-size: clamp(1.0625rem, 1.8vw, 1.25rem);
  line-height: 1.65;
}

.gct-public-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gct-space-3);
}

.gct-public-trust-list {
  display: flex;
  margin: var(--gct-space-5) 0 0;
  padding: 0;
  flex-wrap: wrap;
  gap: .625rem 1.25rem;
  color: var(--gct-muted);
  font-size: var(--gct-font-size-sm);
  font-weight: 650;
  list-style: none;
}

.gct-public-trust-list li {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
}

.gct-public-trust-list li::before {
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: var(--gct-green-600);
  content: "";
}

.gct-public-hero__preview {
  position: relative;
  min-width: 0;
  padding: clamp(1.25rem, 3vw, 1.75rem);
  overflow: hidden;
  border: 1px solid #284867;
  border-radius: var(--gct-radius-xl);
  background:
    radial-gradient(circle at 90% 0, rgb(51 120 213 / 25%), transparent 36%),
    linear-gradient(145deg, var(--gct-navy-800), var(--gct-navy-950));
  box-shadow: var(--gct-shadow-lg);
  color: #d5e1ed;
}

.gct-public-hero__preview::after {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgb(255 255 255 / 8%) 1px, transparent 1px);
  background-size: 1.125rem 1.125rem;
  content: "";
  mask-image: linear-gradient(to bottom, #000, transparent 70%);
  pointer-events: none;
}

.gct-public-preview__top,
.gct-public-preview__body,
.gct-public-preview__metrics {
  position: relative;
  z-index: 1;
}

.gct-public-preview__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gct-space-3);
}

.gct-public-preview__label {
  color: #9eb1c5;
  font-family: var(--gct-font-mono);
  font-size: var(--gct-font-size-xs);
  font-weight: 700;
  letter-spacing: .08em;
}

.gct-public-preview__body {
  display: grid;
  min-height: 15rem;
  margin-block: var(--gct-space-5);
  place-items: center;
  border: 1px solid rgb(255 255 255 / 9%);
  border-radius: var(--gct-radius-lg);
  background: rgb(255 255 255 / 4%);
}

.gct-public-preview__controller {
  position: relative;
  width: min(82%, 19rem);
  aspect-ratio: 1.65;
  border: 2px solid #6f8397;
  border-radius: 42% 42% 35% 35% / 42% 42% 58% 58%;
  background: linear-gradient(145deg, #3c536b, #15273a 72%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 18%), 0 1.25rem 2rem rgb(0 0 0 / 25%);
}

.gct-public-preview__controller::before,
.gct-public-preview__controller::after {
  position: absolute;
  bottom: -20%;
  width: 29%;
  height: 60%;
  border: 2px solid #60768d;
  background: linear-gradient(150deg, #334a61, #101d2c);
  content: "";
}

.gct-public-preview__controller::before {
  left: 7%;
  transform: rotate(14deg);
  border-radius: 50% 20% 70% 40%;
}

.gct-public-preview__controller::after {
  right: 7%;
  transform: rotate(-14deg);
  border-radius: 20% 50% 40% 70%;
}

.gct-public-preview__metrics {
  display: grid;
  gap: var(--gct-space-2);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gct-public-preview__metric {
  min-width: 0;
  padding: var(--gct-space-3);
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: var(--gct-radius-sm);
  background: rgb(255 255 255 / 5%);
}

.gct-public-preview__metric span,
.gct-public-preview__metric small {
  display: block;
  overflow: hidden;
  color: #9aadc0;
  font-size: var(--gct-font-size-xs);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.gct-public-preview__metric strong {
  display: block;
  margin-block: .125rem;
  color: #fff;
  font-family: var(--gct-font-mono);
  font-size: 1rem;
  font-variant-numeric: tabular-nums;
}

.gct-public-proof-strip {
  display: grid;
  width: min(calc(100% - 2.5rem), var(--gct-public-max));
  margin: 0 auto var(--gct-space-10);
  padding: var(--gct-space-4);
  border: 1px solid var(--gct-line);
  border-radius: var(--gct-radius-md);
  background: var(--gct-surface);
  box-shadow: var(--gct-shadow-xs);
  gap: var(--gct-space-3);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gct-public-proof-strip__item {
  min-width: 0;
  padding: .25rem var(--gct-space-4);
  border-right: 1px solid var(--gct-line);
}

.gct-public-proof-strip__item:last-child {
  border-right: 0;
}

.gct-public-proof-strip__item strong,
.gct-public-proof-strip__item span {
  display: block;
}

.gct-public-proof-strip__item strong {
  color: var(--gct-navy-950);
  font-size: var(--gct-font-size-sm);
}

.gct-public-proof-strip__item span {
  color: var(--gct-muted);
  font-size: var(--gct-font-size-xs);
}

.gct-public-section {
  padding: clamp(3.5rem, 7vw, 6.5rem) 0;
}

.gct-public-section--compact {
  padding-block: clamp(2.5rem, 4vw, 4rem);
}

.gct-public-section--muted {
  border-block: 1px solid var(--gct-line);
  background: var(--gct-canvas-blue);
}

.gct-public-section--dark {
  background: var(--gct-navy-950);
  color: #c5d3df;
}

.gct-public-section--dark :where(h2, h3) {
  color: #fff;
}

.gct-public-section__heading {
  display: flex;
  margin-bottom: clamp(1.5rem, 4vw, 2.75rem);
  align-items: end;
  justify-content: space-between;
  gap: var(--gct-space-6);
}

.gct-public-section__heading > div {
  max-width: 48rem;
}

.gct-public-section__heading > p {
  max-width: 30rem;
  margin-bottom: 0;
  color: var(--gct-muted);
}

.gct-public-directory {
  display: grid;
  gap: var(--gct-space-4);
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gct-public-directory__card {
  display: flex;
  min-width: 0;
  min-height: 13rem;
  padding: var(--gct-space-6);
  border: 1px solid var(--gct-line);
  border-radius: var(--gct-radius-md);
  background: var(--gct-surface);
  box-shadow: var(--gct-shadow-xs);
  color: inherit;
  text-decoration: none;
  flex-direction: column;
  transition: transform var(--gct-duration-base) var(--gct-ease-standard), border-color var(--gct-duration-base) ease, box-shadow var(--gct-duration-base) ease;
}

.gct-public-directory__card:hover {
  transform: translateY(-3px);
  border-color: var(--gct-blue-200);
  box-shadow: var(--gct-shadow-sm);
  color: inherit;
}

.gct-public-directory__card p {
  color: var(--gct-muted);
}

.gct-public-directory__card .gct-public-card-link {
  margin-top: auto;
  color: var(--gct-blue-700);
  font-size: var(--gct-font-size-sm);
  font-weight: 800;
}

.gct-public-author-card {
  display: grid;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  align-items: center;
  gap: var(--gct-space-6);
  border: 1px solid var(--gct-line);
  border-radius: var(--gct-radius-lg);
  background: var(--gct-surface);
  box-shadow: var(--gct-shadow-sm);
  grid-template-columns: auto minmax(0, 1fr) auto;
}

.gct-public-author-card__avatar {
  display: grid;
  width: 4.5rem;
  height: 4.5rem;
  place-items: center;
  border: 1px solid var(--gct-blue-200);
  border-radius: 50%;
  background: var(--gct-blue-050);
  color: var(--gct-blue-700);
  font-size: 1.25rem;
  font-weight: 850;
}

.gct-public-breadcrumbs ol {
  display: flex;
  margin: 0;
  padding: var(--gct-space-4) 0 0;
  flex-wrap: wrap;
  gap: .375rem;
  color: var(--gct-muted);
  font-size: var(--gct-font-size-sm);
  list-style: none;
}

.gct-public-breadcrumbs li:not(:last-child)::after {
  margin-left: .375rem;
  color: var(--gct-line-strong);
  content: "/";
}

.gct-public-article-header {
  padding: clamp(2.5rem, 6vw, 5rem) 0 clamp(2rem, 4vw, 3.5rem);
  border-bottom: 1px solid var(--gct-line);
  background: linear-gradient(180deg, rgb(239 246 255 / 82%), transparent);
}

.gct-public-article-header__inner {
  display: grid;
  align-items: center;
  gap: clamp(1.5rem, 5vw, 4rem);
  grid-template-columns: minmax(0, 1.25fr) minmax(17rem, .55fr);
}

.gct-public-article-header h1 {
  max-width: 56rem;
  font-size: clamp(2.125rem, 4.5vw, 3.75rem);
}

.gct-public-article-meta {
  display: flex;
  margin-top: var(--gct-space-5);
  flex-wrap: wrap;
  gap: .5rem 1rem;
  color: var(--gct-muted);
  font-size: var(--gct-font-size-sm);
}

.gct-public-prose-layout {
  display: grid;
  align-items: start;
  gap: clamp(2rem, 5vw, 4rem);
  grid-template-columns: 14rem minmax(0, var(--gct-reading-max));
}

.gct-public-toc {
  position: sticky;
  top: calc(var(--gct-header-height) + var(--gct-space-5));
  display: grid;
  padding: var(--gct-space-4);
  border: 1px solid var(--gct-line);
  border-radius: var(--gct-radius-md);
  background: var(--gct-surface);
  gap: .25rem;
}

.gct-public-toc a {
  display: flex;
  min-height: 2.75rem;
  padding: .625rem .75rem;
  align-items: center;
  border-radius: .5rem;
  color: var(--gct-muted);
  font-size: var(--gct-font-size-sm);
  font-weight: 650;
  text-decoration: none;
}

.gct-public-toc a:hover,
.gct-public-toc a[aria-current="true"] {
  background: var(--gct-blue-050);
  color: var(--gct-blue-700);
}

.gct-public-prose {
  min-width: 0;
  color: var(--gct-ink-soft);
  font-size: 1.0625rem;
}

.gct-public-prose :where(h2, h3) {
  scroll-margin-top: calc(var(--gct-header-height) + var(--gct-space-6));
}

.gct-public-prose h2 {
  margin-top: 2.5em;
}

.gct-public-prose h3 {
  margin-top: 1.8em;
}

.gct-public-prose :where(p, li) {
  max-width: 72ch;
}

.gct-public-prose a {
  font-weight: 650;
}

.gct-public-sources {
  padding: var(--gct-space-5);
  border: 1px solid var(--gct-line);
  border-radius: var(--gct-radius-md);
  background: var(--gct-surface-muted);
}

.gct-public-tester {
  overflow: hidden;
  border: 1px solid #284766;
  border-radius: var(--gct-radius-xl);
  background: var(--gct-navy-950);
  box-shadow: var(--gct-shadow-lg);
  color: #c6d4e1;
}

.gct-public-tester__toolbar {
  display: flex;
  min-height: 5rem;
  padding: var(--gct-space-4) var(--gct-space-5);
  align-items: center;
  justify-content: space-between;
  gap: var(--gct-space-4);
  border-bottom: 1px solid rgb(255 255 255 / 10%);
  background: rgb(255 255 255 / 3%);
}

.gct-public-tester__toolbar h2 {
  margin-bottom: .25rem;
  color: #fff;
}

.gct-public-tester__toolbar p {
  margin-bottom: 0;
  color: #9bafc2;
  font-size: var(--gct-font-size-sm);
}

.gct-public-tester__grid {
  display: grid;
  grid-template-columns: minmax(22rem, .78fr) minmax(0, 1.22fr);
}

.gct-public-tester__visual {
  display: grid;
  min-height: 35rem;
  padding: var(--gct-space-6);
  place-items: center;
  border-right: 1px solid rgb(255 255 255 / 10%);
  background: radial-gradient(circle at 50% 45%, rgb(51 120 213 / 15%), transparent 45%);
}

.gct-public-tester__panel {
  min-width: 0;
  padding: var(--gct-space-5);
}

.gct-public-tester__tabs {
  display: flex;
  margin-bottom: var(--gct-space-5);
  padding-bottom: var(--gct-space-2);
  overflow-x: auto;
  gap: .25rem;
  border-bottom: 1px solid rgb(255 255 255 / 10%);
}

.gct-public-tester__tab {
  min-height: 2.75rem;
  padding: .625rem .75rem;
  border: 0;
  border-radius: var(--gct-radius-sm);
  background: transparent;
  color: #9cafc2;
  font-size: var(--gct-font-size-sm);
  font-weight: 750;
  white-space: nowrap;
}

.gct-public-tester__tab:hover,
.gct-public-tester__tab[aria-selected="true"] {
  background: rgb(51 120 213 / 16%);
  color: #fff;
}

.gct-public-tester__module {
  padding: var(--gct-space-5);
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: var(--gct-radius-md);
  background: rgb(255 255 255 / 4%);
}

.gct-public-tester__module h3 {
  color: #fff;
}

.gct-public-tester__module p {
  color: #a9bac9;
}

.gct-public-tester__action-tray {
  display: flex;
  padding: var(--gct-space-4) var(--gct-space-5);
  align-items: center;
  justify-content: space-between;
  gap: var(--gct-space-4);
  border-top: 1px solid rgb(255 255 255 / 10%);
  background: #091728;
}

.gct-public-footer {
  padding: var(--gct-space-16) 0 var(--gct-space-6);
  border-top: 4px solid transparent;
  border-image: linear-gradient(90deg, var(--gct-blue-600) 0 70%, var(--gct-red-600) 70%) 1;
  background: var(--gct-navy-950);
  color: #aebdcc;
}

.gct-public-footer__grid {
  display: grid;
  gap: clamp(2rem, 6vw, 5rem);
  grid-template-columns: minmax(15rem, .8fr) minmax(0, 1.6fr);
}

.gct-public-footer__links {
  display: grid;
  gap: var(--gct-space-6);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.gct-public-footer h2 {
  color: #fff;
  font-size: var(--gct-font-size-sm);
  letter-spacing: .03em;
  text-transform: uppercase;
}

.gct-public-footer__links a {
  display: block;
  min-height: 2rem;
  color: #aebdcc;
  font-size: var(--gct-font-size-sm);
  text-decoration: none;
}

.gct-public-footer__links a:hover {
  color: #fff;
}

.gct-public-footer__bottom {
  display: flex;
  margin-top: var(--gct-space-10);
  padding-top: var(--gct-space-5);
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--gct-space-5);
  border-top: 1px solid rgb(255 255 255 / 10%);
  font-size: var(--gct-font-size-xs);
}

.gct-mobile-dock {
  display: none;
}

@media (max-width: 68rem) {
  .gct-public-nav {
    display: none;
  }

  .gct-public-header__actions {
    margin-left: auto;
  }

  .gct-public-header__menu-button {
    display: inline-grid;
  }

  .gct-public-menu {
    position: absolute;
    top: calc(100% + .5rem);
    right: 1rem;
    left: 1rem;
    padding: var(--gct-space-2);
    border: 1px solid var(--gct-line);
    border-radius: var(--gct-radius-md);
    background: var(--gct-surface);
    box-shadow: var(--gct-shadow-md);
  }

  .gct-public-menu a {
    display: flex;
    min-height: 2.75rem;
    padding: .625rem .75rem;
    align-items: center;
    border-radius: .5rem;
    color: var(--gct-ink-soft);
    font-weight: 750;
    text-decoration: none;
  }

  .gct-public-menu a:hover {
    background: var(--gct-blue-050);
    color: var(--gct-blue-700);
  }

  .gct-public-hero__grid,
  .gct-public-article-header__inner {
    grid-template-columns: minmax(0, 1fr);
  }

  .gct-public-hero__preview {
    width: min(100%, 43rem);
  }

  .gct-public-directory {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gct-public-prose-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .gct-public-toc {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gct-public-tester__grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .gct-public-tester__visual {
    min-height: 27rem;
    border-right: 0;
    border-bottom: 1px solid rgb(255 255 255 / 10%);
  }

  .gct-public-footer__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 48rem) {
  .gct-public-page {
    padding-bottom: calc(var(--gct-mobile-dock-height) + env(safe-area-inset-bottom));
  }

  .gct-public-header__inner,
  .gct-public-hero__grid,
  .gct-public-proof-strip {
    width: calc(100% - 1.5rem);
  }

  .gct-public-header__inner {
    min-height: var(--gct-mobile-header-height);
  }

  .gct-public-header__actions .gct-button {
    display: none;
  }

  .gct-public-hero {
    padding-top: var(--gct-space-10);
  }

  .gct-public-hero__copy h1 {
    font-size: clamp(2.25rem, 12vw, 3.5rem);
  }

  .gct-public-hero__actions .gct-button {
    width: 100%;
  }

  .gct-public-preview__body {
    min-height: 12rem;
  }

  .gct-public-preview__metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gct-public-preview__metric:last-child {
    grid-column: 1 / -1;
  }

  .gct-public-proof-strip,
  .gct-public-directory {
    grid-template-columns: minmax(0, 1fr);
  }

  .gct-public-proof-strip__item {
    padding: var(--gct-space-2);
    border-right: 0;
    border-bottom: 1px solid var(--gct-line);
  }

  .gct-public-proof-strip__item:last-child {
    border-bottom: 0;
  }

  .gct-public-section__heading,
  .gct-public-author-card,
  .gct-public-tester__toolbar,
  .gct-public-tester__action-tray,
  .gct-public-footer__bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .gct-public-author-card {
    display: flex;
  }

  .gct-public-toc {
    grid-template-columns: minmax(0, 1fr);
  }

  .gct-public-tester {
    border-right: 0;
    border-left: 0;
    border-radius: 0;
  }

  .gct-public-tester__visual {
    min-height: 21rem;
  }

  .gct-public-tester__panel,
  .gct-public-tester__module {
    padding: var(--gct-space-4);
  }

  .gct-public-tester__action-tray {
    position: sticky;
    z-index: 4;
    bottom: var(--gct-mobile-dock-height);
  }

  .gct-public-tester__action-tray .gct-button {
    width: 100%;
  }

  .gct-public-footer__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .gct-mobile-dock {
    position: fixed;
    z-index: 1100;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    min-height: var(--gct-mobile-dock-height);
    padding: .3125rem max(.375rem, env(safe-area-inset-right)) max(.3125rem, env(safe-area-inset-bottom)) max(.375rem, env(safe-area-inset-left));
    border-top: 1px solid rgb(217 226 236 / 90%);
    background: rgb(255 255 255 / 96%);
    box-shadow: 0 -.5rem 1.75rem rgb(7 17 31 / 10%);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    backdrop-filter: saturate(150%) blur(14px);
  }

  .gct-mobile-dock__link {
    display: flex;
    min-width: 0;
    min-height: 3.5rem;
    padding: .25rem .125rem;
    align-items: center;
    justify-content: center;
    gap: .1875rem;
    border-radius: var(--gct-radius-sm);
    color: var(--gct-muted);
    font-size: var(--gct-font-size-xs);
    font-weight: 750;
    line-height: 1.1;
    text-align: center;
    text-decoration: none;
    flex-direction: column;
  }

  .gct-mobile-dock__link:hover,
  .gct-mobile-dock__link[aria-current="page"] {
    background: var(--gct-blue-050);
    color: var(--gct-blue-700);
  }
}

@media (max-width: 30rem) {
  .gct-public-footer__links {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* PHP template compatibility and editorial surfaces */
.gct-public-brand > span:last-child,.gct-public-brand strong,.gct-public-brand small { display: block; }
.gct-public-brand__suffix { color: var(--gct-red-600); font-size: .7rem; letter-spacing: .08em; }
.gct-header-actions { display: flex; align-items: center; gap: .55rem; }
.gct-search-button { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 1px solid var(--gct-line); border-radius: var(--gct-radius-sm); color: var(--gct-navy-900); }
.gct-search-button svg { width: 1.15rem; fill: none; stroke: currentColor; stroke-width: 1.8; }
.gct-account-button { display: flex; min-height: 2.75rem; padding: .25rem .6rem; align-items: center; gap: .5rem; border: 1px solid var(--gct-line); border-radius: var(--gct-radius-sm); color: var(--gct-navy-900); text-decoration: none; }
.gct-account-button > span { display: grid; width: 1.9rem; height: 1.9rem; place-items: center; border-radius: 50%; background: var(--gct-blue-600); color: #fff; font-size: .72rem; font-weight: 850; }
.gct-account-button b { font-size: .78rem; }
.gct-menu-toggle { display: none; width: 2.75rem; height: 2.75rem; padding: .7rem; border: 1px solid var(--gct-line); border-radius: var(--gct-radius-sm); background: #fff; }
.gct-menu-toggle i { display: block; height: 2px; margin: 3px 0; background: currentColor; }
.gct-public-menu { padding: 1rem; border-top: 1px solid var(--gct-line); background: #fff; }
.gct-public-menu a { display: block; min-height: 2.75rem; padding: .7rem; border-radius: .5rem; color: var(--gct-navy-900); font-weight: 700; text-decoration: none; }
.gct-public-footer__grid { width: min(calc(100% - 2rem),var(--gct-public-max)); margin-inline: auto; }
.gct-footer-intro { max-width: 24rem; }
.gct-footer-intro > p { color: #9fb0c1; }
.gct-footer-proof { display: flex; margin: 1rem 0; flex-wrap: wrap; gap: .4rem; }
.gct-footer-proof span { padding: .35rem .55rem; border: 1px solid rgb(255 255 255 / 12%); border-radius: 99px; color: #c8d5e1; font-size: .7rem; }
.gct-publisher-line a { color: #fff; }
.gct-page-intro { display: grid; width: min(calc(100% - 2rem),var(--gct-public-max)); margin: 0 auto; padding: clamp(3rem,7vw,6rem) 0 clamp(2rem,4vw,3rem); align-items: end; gap: 2rem; grid-template-columns: minmax(0,1fr) minmax(20rem,.65fr); }
.gct-page-intro h1 { max-width: 48rem; margin: .35rem 0 .7rem; font-size: clamp(2.3rem,5vw,4rem); }
.gct-page-intro p { max-width: 48rem; margin: 0; color: var(--gct-muted); font-size: 1.1rem; }
.gct-search-inline { display: flex; padding: .5rem; gap: .5rem; border: 1px solid var(--gct-line); border-radius: var(--gct-radius-md); background: #fff; box-shadow: var(--gct-shadow-sm); }
.gct-search-inline input { min-width: 0; flex: 1; border: 0; }
.gct-learning-grid { width: min(calc(100% - 2rem),var(--gct-public-max)); margin-inline: auto; padding-block: 1rem 5rem; }
.gct-article-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.gct-article-card { display: flex; min-width: 0; padding: 1.35rem; border: 1px solid var(--gct-line); border-radius: var(--gct-radius-lg); background: #fff; box-shadow: var(--gct-shadow-xs); flex-direction: column; }
.gct-article-card:hover { border-color: var(--gct-blue-200); box-shadow: var(--gct-shadow-sm); transform: translateY(-2px); }
.gct-article-card h2,.gct-article-card h3 { margin: .7rem 0; font-size: 1.25rem; line-height: 1.3; }
.gct-article-card h2 a,.gct-article-card h3 a { color: var(--gct-navy-900); text-decoration: none; }
.gct-article-card p { color: var(--gct-muted); font-size: .9rem; }
.gct-card-meta,.gct-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--gct-muted); font-size: .72rem; }
.gct-card-meta span { color: var(--gct-blue-700); font-weight: 800; text-transform: uppercase; }
.gct-card-footer { margin-top: auto; padding-top: 1rem; }
.gct-card-footer a,.gct-article-card > a { color: var(--gct-blue-700); font-weight: 800; text-decoration: none; }
.gct-pagination { display: flex; margin-top: 2rem; justify-content: center; gap: .4rem; }
.gct-pagination a { display: grid; width: 2.75rem; height: 2.75rem; place-items: center; border: 1px solid var(--gct-line); border-radius: .6rem; background: #fff; text-decoration: none; }
.gct-pagination a[aria-current="page"] { border-color: var(--gct-blue-600); background: var(--gct-blue-600); color: #fff; }
.gct-article-shell { width: min(calc(100% - 2rem),var(--gct-public-max)); margin-inline: auto; padding-block: 1.25rem 5rem; }
.gct-article { width: min(100%,var(--gct-reading-max)); margin-inline: auto; }
.gct-article-header { padding: clamp(2rem,5vw,4.5rem) 0 2rem; border-bottom: 1px solid var(--gct-line); }
.gct-article-header h1 { margin: .55rem 0 1rem; font-size: clamp(2.25rem,5vw,4.1rem); letter-spacing: -.04em; line-height: 1.05; }
.gct-article-deck { color: var(--gct-muted); font-size: clamp(1.05rem,2vw,1.28rem); line-height: 1.65; }
.gct-byline { display: flex; margin-top: 1.5rem; align-items: center; gap: .75rem; }
.gct-avatar { display: grid; width: 2.8rem; height: 2.8rem; place-items: center; border-radius: 50%; background: var(--gct-navy-900); color: #fff; font-weight: 900; }
.gct-byline span,.gct-byline small { display: block; }
.gct-byline small { color: var(--gct-muted); }
.gct-article-utility { margin: 2rem 0; padding: 1.1rem 1.2rem; border-left: 4px solid var(--gct-blue-600); border-radius: 0 var(--gct-radius-md) var(--gct-radius-md) 0; background: var(--gct-blue-050); }
.gct-article-utility p { margin: .25rem 0 0; color: var(--gct-ink-soft); }
.gct-prose { color: var(--gct-ink-soft); font-size: 1.04rem; line-height: 1.78; }
.gct-prose h2 { margin: 2.7rem 0 .8rem; color: var(--gct-navy-900); font-size: 1.8rem; }
.gct-prose h3 { margin: 2rem 0 .7rem; color: var(--gct-navy-900); }
.gct-prose a { color: var(--gct-blue-700); text-decoration-thickness: .08em; text-underline-offset: .16em; }
.gct-prose :where(ul,ol) { padding-left: 1.35rem; }
.gct-prose table { display: block; width: 100%; margin: 1.5rem 0; overflow-x: auto; border-collapse: collapse; }
.gct-prose :where(th,td) { min-width: 9rem; padding: .75rem; border: 1px solid var(--gct-line); text-align: left; vertical-align: top; }
.gct-prose th { background: var(--gct-canvas-blue); color: var(--gct-navy-900); }
.gct-prose blockquote { margin: 1.5rem 0; padding: 1rem 1.25rem; border-left: 4px solid var(--gct-red-600); background: var(--gct-red-050); }
.gct-article-review { display: flex; margin-top: 3rem; padding: 1.5rem; align-items: center; justify-content: space-between; gap: 1.5rem; border: 1px solid var(--gct-line); border-radius: var(--gct-radius-lg); background: var(--gct-surface-muted); }
.gct-article-review h2 { margin: .35rem 0; }
.gct-article-review p { margin: 0; }
.gct-related { margin-top: 4rem; }
.gct-related > h2 { margin: .35rem 0 1rem; }
.gct-related-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.gct-related-grid > a { display: flex; min-height: 12rem; padding: 1.2rem; border: 1px solid var(--gct-line); border-radius: var(--gct-radius-md); background: #fff; color: var(--gct-navy-900); text-decoration: none; flex-direction: column; }
.gct-related-grid span,.gct-related-grid small { color: var(--gct-muted); font-size: .72rem; }
.gct-related-grid strong { margin: .6rem 0; font-size: 1.05rem; }
.gct-related-grid small { margin-top: auto; color: var(--gct-blue-700); font-weight: 800; }
.gct-profile-shell,.gct-publisher-shell,.gct-search-page { width: min(calc(100% - 2rem),var(--gct-public-max)); margin-inline: auto; padding-block: clamp(2rem,6vw,5rem); }
.gct-profile-card { display: grid; padding: clamp(1.5rem,4vw,3rem); align-items: center; gap: 2rem; border: 1px solid var(--gct-line); border-radius: var(--gct-radius-xl); background: linear-gradient(135deg,#fff,var(--gct-blue-050)); grid-template-columns: 8rem 1fr; }
.gct-profile-monogram { display: grid; width: 8rem; height: 8rem; place-items: center; border-radius: 2rem; background: var(--gct-navy-900); color: #fff; font-size: 3rem; font-weight: 900; }
.gct-profile-card h1,.gct-publisher-hero h1 { margin: .35rem 0 .7rem; font-size: clamp(2.5rem,6vw,4.6rem); }
.gct-profile-card p,.gct-publisher-hero p { max-width: 50rem; color: var(--gct-muted); font-size: 1.08rem; }
.gct-profile-links { display: flex; flex-wrap: wrap; gap: .6rem 1rem; }
.gct-trust-grid,.gct-publisher-principles { display: grid; margin: 2rem 0 4rem; gap: 1rem; grid-template-columns: repeat(3,minmax(0,1fr)); }
.gct-trust-grid article,.gct-publisher-principles article { padding: 1.35rem; border: 1px solid var(--gct-line); border-radius: var(--gct-radius-md); background: #fff; }
.gct-trust-grid article > span,.gct-publisher-principles article > span { color: var(--gct-red-600); font-size: .72rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.gct-publisher-hero { padding: clamp(2rem,6vw,5rem); border-radius: var(--gct-radius-xl); background: radial-gradient(circle at 90% 10%,rgb(51 120 213 / 30%),transparent 34%),var(--gct-navy-950); color: #fff; }
.gct-publisher-hero h1 { color: #fff; }
.gct-publisher-hero p { color: #c5d2df; }
.gct-publisher-principles { grid-template-columns: repeat(4,minmax(0,1fr)); }
.gct-fact-panel,.gct-home-trust { display: grid; padding: 1.5rem; align-items: center; gap: 2rem; border: 1px solid var(--gct-line); border-radius: var(--gct-radius-lg); background: var(--gct-surface-muted); grid-template-columns: .8fr 1.2fr; }
.gct-home-trust aside { padding: 1.25rem; border-radius: var(--gct-radius-md); background: var(--gct-navy-900); color: #cbd7e3; }
.gct-home-trust aside strong { color: #fff; }
.gct-home-trust aside li { margin: .45rem 0; }
.gct-search-page > header { max-width: 48rem; margin-bottom: 3rem; }
.gct-search-large label { display: block; margin-bottom: .5rem; font-weight: 750; }
.gct-search-large > div { display: flex; gap: .6rem; }
.gct-search-large input { flex: 1; }
.gct-search-results > h2 { margin-bottom: 1.25rem; }
.gct-search-list { display: grid; gap: .8rem; }
.gct-search-list article { padding: 1.15rem 1.25rem; border: 1px solid var(--gct-line); border-radius: var(--gct-radius-md); background: #fff; }
.gct-search-list article > span { color: var(--gct-blue-700); font-size: .7rem; font-weight: 850; text-transform: uppercase; }
.gct-search-list h3 { margin: .35rem 0; }
.gct-search-list p { margin: 0; color: var(--gct-muted); }
.gct-consent { position: fixed; z-index: 2000; right: 1rem; bottom: 1rem; display: grid; width: min(calc(100% - 2rem),43rem); padding: 1.15rem; align-items: center; gap: 1rem; border: 1px solid var(--gct-line); border-radius: var(--gct-radius-lg); background: #fff; box-shadow: var(--gct-shadow-lg); grid-template-columns: 1fr auto; }
.gct-consent[hidden] { display: none; }
.gct-consent p { margin: .25rem 0; color: var(--gct-muted); font-size: .82rem; }
.gct-consent-actions { display: flex; gap: .5rem; }
.gct-consent-options { display: flex; flex-wrap: wrap; gap: .5rem; margin: .75rem 0; }
.gct-consent-options label { display: flex; align-items: center; gap: .45rem; padding: .55rem .7rem; border: 1px solid var(--gct-line); border-radius: .75rem; background: var(--gct-surface-soft,#f6f8fb); }
.gct-consent-options span { display: grid; line-height: 1.2; }
.gct-consent-options small { color: var(--gct-muted); }
.gct-footer-privacy-button { padding: 0; border: 0; background: transparent; color: inherit; text-decoration: underline; cursor: pointer; font: inherit; }
.api-docs code { padding: .15rem .3rem; border-radius: .25rem; background: var(--gct-canvas-blue); }
.api-docs pre { padding: 1rem; overflow-x: auto; border-radius: var(--gct-radius-md); background: var(--gct-navy-950); color: #d7e5f1; }

@media (max-width: 64rem) { .gct-primary-nav { display: none; } .gct-menu-toggle { display: block; } .gct-page-intro { grid-template-columns: 1fr; } .gct-article-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .gct-publisher-principles { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 48rem) { .gct-sign-in,.gct-account-button b { display: none; } .gct-article-grid,.gct-related-grid,.gct-trust-grid,.gct-publisher-principles { grid-template-columns: 1fr; } .gct-article-review,.gct-consent { align-items: stretch; grid-template-columns: 1fr; } .gct-profile-card,.gct-fact-panel,.gct-home-trust { grid-template-columns: 1fr; } .gct-profile-monogram { width: 5rem; height: 5rem; border-radius: 1.25rem; font-size: 2rem; } .gct-consent-actions { flex-direction: column; } .connection-controls .status-pill { min-width: 0; max-width: 100%; justify-content: flex-start; overflow-wrap: anywhere; } }
@media (max-width: 48rem) {
  .gct-public-header__inner { gap: .5rem; }
  .gct-header-actions.gct-public-header__actions { gap: .3rem; }
}
@media (max-width: 22rem) {
  .gct-public-header__actions .gct-search-button { display: none; }
}
