:root {
  --gm-ink: var(--gkn-color-management-primary);
  --gm-ink-soft: var(--gkn-color-management-text-secondary);
  --gm-paper: var(--gkn-color-management-background);
  --gm-paper-light: var(--gkn-color-management-surface);
  --gm-paper-deep: var(--gkn-color-management-background-strong);
  --gm-line: var(--gkn-color-management-border);
  --gm-line-strong: var(--gkn-color-management-border-strong);
  --gm-gold: var(--gkn-color-management-accent);
  --gm-burgundy: var(--gkn-color-management-eyebrow);
  --gm-header-height: 76px;
  --gm-page-gutter: clamp(18px, 3vw, 56px);
  --gm-rail-width: clamp(230px, 18vw, 320px);
  --gm-serif: var(--gkn-font-family-management-serif);
  --gm-sans: var(--gkn-font-family-management-sans);
}

* { box-sizing: border-box; }
html {
  background: var(--gm-paper);
}
body {
  min-width: 320px;
  height: 100svh;
  margin: 0;
  overflow: hidden;
  color: var(--gm-ink);
  font-family: var(--gm-sans);
  font-size: var(--gkn-font-size-base);
  background:
    repeating-linear-gradient(0deg, rgba(18, 55, 47, 0.018) 0, rgba(18, 55, 47, 0.018) 1px, transparent 1px, transparent 4px),
    radial-gradient(circle at 82% 8%, rgba(161, 138, 71, 0.08), transparent 28%),
    var(--gm-paper);
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 1000; top: 10px; left: 10px; padding: 10px 16px; color: #fff; background: var(--gm-ink); transform: translateY(-150%); }
.skip-link:focus { transform: none; }

.gm-shell { height: 100svh; overflow: hidden; }
.gk-topbar {
  position: sticky;
  z-index: 100;
  top: 0;
  display: grid;
  grid-template-columns: minmax(230px, 1fr) auto minmax(190px, 1fr);
  align-items: center;
  width: min(calc(100% - (var(--gm-page-gutter) * 2)), 1760px);
  min-height: var(--gm-header-height);
  margin: 0 auto;
  border-bottom: 1px solid var(--gm-line);
  background: rgba(251, 250, 246, 0.96);
  backdrop-filter: blur(18px);
  transition: box-shadow .25s ease, background .25s ease;
}
.gk-topbar.is-scrolled { background: rgba(251, 250, 246, 0.985); box-shadow: 0 16px 34px rgba(14, 45, 38, .07); }
.gk-brand { align-self: stretch; display: flex; align-items: center; gap: 12px; width: max-content; padding: 0 14px; border-bottom: 1px solid var(--gm-gold); }
.gk-brand img { width: 42px; height: 42px; object-fit: contain; }
.gk-brand span { display: grid; gap: 2px; }
.gk-brand small { color: var(--gm-gold); font-size: 10px; font-weight: 700; letter-spacing: .17em; }
.gk-brand strong { font-family: var(--gm-serif); font-size: 20px; font-weight: 650; }
.gk-nav { display: flex; align-self: stretch; justify-content: center; gap: clamp(22px, 2.6vw, 52px); }
.gk-nav a { position: relative; display: grid; place-content: center; gap: 4px; min-width: max-content; text-align: center; color: #5f6b66; }
.gk-nav a > span { font-size: 13px; font-weight: 650; }
.gk-nav a small { font-size: 10px; color: #89918d; }
.gk-nav a::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 1px; background: var(--gm-gold); transform: scaleX(0); transition: transform .25s ease; }
.gk-nav a:hover, .gk-nav a[aria-current="page"] { color: var(--gm-ink); }
.gk-nav a:hover::after, .gk-nav a[aria-current="page"]::after { transform: scaleX(1); }
.gk-account { justify-self: end; display: flex; gap: 8px; }
.gk-button { display: inline-flex; min-height: 38px; align-items: center; justify-content: center; padding: 0 16px; border: 1px solid var(--gm-line-strong); font-size: 12px; font-weight: 650; letter-spacing: .03em; transition: .2s ease; }
.gk-button--solid { color: #fff; border-color: var(--gm-ink); background: var(--gm-ink); }
.gk-button:hover { border-color: var(--gm-gold); color: var(--gm-gold); }
.gk-button--solid:hover { color: #fff; background: #1d493f; }
.gk-nav-toggle { display: none; }

.gm-stage { position: relative; width: min(100%, 1920px); height: calc(100svh - var(--gm-header-height)); margin: 0 auto; overflow: hidden; }
.gm-chapter-rail {
  position: fixed;
  z-index: 30;
  top: var(--gm-header-height);
  bottom: 0;
  left: max(0px, calc((100vw - 1920px) / 2));
  width: var(--gm-rail-width);
  padding: clamp(32px, 4vh, 58px) 28px 24px var(--gm-page-gutter);
  border-right: 1px solid var(--gm-line);
  background: rgba(245, 243, 236, .88);
  backdrop-filter: blur(14px);
  overflow: auto;
  scrollbar-width: none;
}
.gm-chapter-rail::-webkit-scrollbar { display: none; }
.gm-chapter-rail__heading { display: grid; width: 100%; gap: 10px; margin: 0 0 30px; padding: 0; border: 0; color: var(--gm-ink); text-align: left; background: transparent; cursor: pointer; }
.gm-chapter-rail__heading span, .gm-card-label, .gm-kicker, .gm-eyebrow { color: var(--gm-gold); font-size: 10px; font-weight: 750; letter-spacing: .19em; text-transform: uppercase; }
.gm-chapter-rail__heading strong { font-family: var(--gm-serif); font-size: clamp(20px, 1.35vw, 26px); line-height: 1.35; }
.gm-chapter-rail__heading::after { content: ""; width: 36px; height: 1px; margin-top: 2px; background: var(--gm-line-strong); transition: width .2s ease, background .2s ease; }
.gm-chapter-rail__heading:hover::after, .gm-chapter-rail__heading.is-active::after { width: 72px; background: var(--gm-gold); }
.gm-chapter-rail__track { position: absolute; top: 146px; bottom: 58px; left: calc(var(--gm-page-gutter) + 6px); width: 1px; background: var(--gm-line); }
.gm-chapter-rail__track span { display: block; width: 1px; height: var(--gm-rail-progress, 0%); background: var(--gm-gold); transition: height .35s ease; }
.gm-chapter-groups, .gm-chapter-groups ol { list-style: none; margin: 0; padding: 0; }
.gm-chapter-group { position: relative; padding: 0 0 24px 24px; }
.gm-chapter-group__label { display: grid; grid-template-columns: 28px 1fr; align-items: baseline; margin-bottom: 9px; opacity: .55; transition: opacity .25s ease; }
.gm-chapter-group__label span, .gm-chapter-group button span { color: var(--gm-gold); font-size: 9px; font-weight: 750; letter-spacing: .1em; }
.gm-chapter-group__label strong { font-family: var(--gm-serif); font-size: 18px; font-weight: 600; }
.gm-chapter-group.is-active-group .gm-chapter-group__label { opacity: 1; }
.gm-chapter-group button { position: relative; display: grid; grid-template-columns: 34px 1fr; align-items: center; width: 100%; min-height: 32px; padding: 3px 0; border: 0; color: #77817d; text-align: left; background: transparent; cursor: pointer; }
.gm-chapter-group button::before { content: ""; position: absolute; left: calc(-24px - 3px); width: 7px; height: 7px; border: 1px solid #adb3af; border-radius: 50%; background: var(--gm-paper); transition: .2s ease; }
.gm-chapter-group button strong { font-size: 12px; font-weight: 500; }
.gm-chapter-group button:hover, .gm-chapter-group button.is-active { color: var(--gm-ink); }
.gm-chapter-group button.is-active::before { border-color: var(--gm-gold); background: var(--gm-gold); box-shadow: 0 0 0 5px rgba(161,138,71,.1); }
.gm-chapter-group button.is-active strong { font-weight: 700; }
.gm-chapter-rail__position { margin: 0 0 0 24px; color: #9a9f9c; font-size: 10px; letter-spacing: .16em; }
.gm-chapter-rail__position span { color: var(--gm-gold); font-size: 14px; }

.gm-deck { position: relative; height: 100%; margin-left: var(--gm-rail-width); overflow: hidden; }
.gm-hero, .gm-chapter {
  position: absolute;
  inset: 0;
  display: none;
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: rgba(18,55,47,.28) transparent;
  scrollbar-width: thin;
  border-bottom: 0;
}
.gm-hero.is-active { display: grid; }
.gm-chapter.is-active { display: block; }
.gm-hero { grid-template-columns: 1fr minmax(260px, .4fr); align-items: center; padding: clamp(54px, 8vh, 112px) clamp(34px, 6vw, 116px); }
.gm-hero::before, .gm-chapter::before { content: ""; position: absolute; pointer-events: none; border: 1px solid rgba(161,138,71,.16); border-radius: 50%; width: 640px; height: 640px; right: -250px; top: -310px; }
.gm-hero::after { content: ""; position: absolute; width: 1px; height: 70%; right: 34%; top: 15%; background: linear-gradient(transparent, var(--gm-line), transparent); }
.gm-hero__number { position: absolute; right: -2vw; bottom: -12vh; color: rgba(18,55,47,.035); font-family: Georgia, serif; font-size: clamp(280px, 34vw, 650px); line-height: .75; }
.gm-hero__content { position: relative; z-index: 1; max-width: 980px; }
.gm-eyebrow { display: flex; align-items: center; gap: 14px; }
.gm-eyebrow span, .gm-kicker::before { display: inline-block; width: 30px; height: 1px; background: var(--gm-gold); }
.gm-hero h1 { max-width: 1100px; margin: 28px 0 30px; font-family: var(--gm-serif); font-size: clamp(58px, 7.5vw, 126px); font-weight: 520; line-height: 1.02; letter-spacing: -.055em; }
.gm-hero__lead { max-width: 850px; color: var(--gm-ink-soft); font-family: var(--gm-serif); font-size: clamp(18px, 1.45vw, 28px); line-height: 1.75; }
.gm-hero__start { display: inline-flex; align-items: center; gap: 22px; margin-top: 36px; padding-bottom: 7px; border-bottom: 1px solid var(--gm-gold); font-size: 13px; font-weight: 700; }
.gm-hero__start i { font-style: normal; transition: transform .2s ease; }
.gm-hero__start:hover i { transform: translateY(4px); }
.gm-hero__index { position: relative; z-index: 1; display: grid; grid-template-columns: 38px 1fr; align-items: baseline; gap: 12px 14px; padding-left: 38px; }
.gm-hero__index span { color: var(--gm-gold); font-size: 11px; font-weight: 700; }
.gm-hero__index strong { font-family: var(--gm-serif); font-size: 21px; }
.gm-hero__index em { grid-column: 2; margin-top: -8px; color: #8a928e; font-size: 11px; font-style: normal; }

.gm-chapter { padding: clamp(30px, 4.5vh, 58px) clamp(34px, 5vw, 92px) 34px; background: rgba(251,250,246,.42); }
.gm-chapter:nth-child(odd) { background: rgba(239,237,229,.62); }
.gm-chapter__inner { position: relative; z-index: 1; display: flex; flex-direction: column; width: min(100%, 1500px); min-height: calc(100% - clamp(60px, 9vh, 92px)); margin: 0 auto; }
.gm-chapter__header { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .55fr); align-items: end; gap: 46px; padding-bottom: 30px; border-bottom: 1px solid var(--gm-line); }
.gm-kicker { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; }
.gm-kicker b { color: #8a938f; font-size: 9px; letter-spacing: .14em; }
.gm-chapter__header h2 { margin: 0; font-family: var(--gm-serif); font-size: clamp(42px, 4.5vw, 76px); font-weight: 520; line-height: 1.05; letter-spacing: -.045em; }
.gm-chapter__header > p { max-width: 520px; margin: 0 0 5px; color: var(--gm-ink-soft); font-family: var(--gm-serif); font-size: clamp(16px, 1.25vw, 22px); line-height: 1.7; }
.gm-card-label { display: block; margin-bottom: 18px; }
.gm-course-layout { display: grid; grid-template-columns: minmax(280px, .38fr) minmax(0, 1fr); gap: 22px; margin-top: 26px; }
.gm-context-card, .gm-challenges, .gm-program, .gm-syllabus article, .gm-levels section, .gm-agent-visual-card, .gm-agent-copy section { border: 1px solid var(--gm-line); background: rgba(251,250,246,.76); }
.gm-context-card { align-self: stretch; padding: clamp(26px, 3vw, 48px); border-left: 2px solid var(--gm-gold); }
.gm-context-card p { margin: 0; font-family: var(--gm-serif); font-size: clamp(16px, 1.2vw, 21px); line-height: 2; }
.gm-syllabus { display: grid; gap: 1px; border: 1px solid var(--gm-line); background: var(--gm-line); }
.gm-syllabus--four { grid-template-columns: repeat(2, minmax(0,1fr)); }
.gm-syllabus article { padding: 24px 26px; border: 0; }
.gm-syllabus article > span { color: var(--gm-gold); font-size: 10px; font-weight: 750; letter-spacing: .14em; }
.gm-syllabus h3 { margin: 12px 0 14px; font-family: var(--gm-serif); font-size: clamp(18px, 1.35vw, 24px); line-height: 1.45; }
.gm-syllabus ol, .gm-outline-grid ol { margin: 0; padding-left: 1.35em; color: var(--gm-ink-soft); }
.gm-syllabus li, .gm-outline-grid li { margin: 7px 0; font-size: 13px; line-height: 1.65; }
.gm-challenges { display: grid; grid-template-columns: 150px 1fr; gap: 24px; margin-top: 26px; padding: 24px 30px; border-left: 2px solid var(--gm-gold); }
.gm-challenges .gm-card-label { margin: 4px 0 0; }
.gm-challenges ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 28px; margin: 0; padding: 0; list-style: none; }
.gm-challenges li { position: relative; padding-left: 16px; color: var(--gm-ink-soft); font-size: 14px; line-height: 1.65; }
.gm-challenges li::before, .gm-agent-copy li::before { content: "—"; position: absolute; left: 0; color: var(--gm-gold); }
.gm-programs { display: grid; gap: 22px; margin-top: 22px; }
.gm-program { padding: 28px; }
.gm-program > header { display: flex; align-items: baseline; gap: 18px; margin-bottom: 20px; }
.gm-program > header span { color: var(--gm-gold); font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.gm-program > header h3 { margin: 0; font-family: var(--gm-serif); font-size: clamp(22px, 2vw, 34px); font-weight: 550; }
.gm-levels { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 1px; border: 1px solid var(--gm-line); background: var(--gm-line); }
.gm-levels section { padding: 24px; border: 0; }
.gm-levels section b { display: block; min-height: 46px; color: var(--gm-ink); font-family: var(--gm-serif); font-size: 17px; line-height: 1.5; }
.gm-levels section p { margin: 9px 0 0; color: var(--gm-ink-soft); font-size: 12px; line-height: 1.65; }
.gm-levels section p strong { color: var(--gm-gold); }
.gm-levels--wide { margin-top: 22px; }
.gm-outline-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; border: 1px solid var(--gm-line); background: var(--gm-line); }
.gm-outline-grid section { padding: 22px; background: rgba(251,250,246,.92); }
.gm-outline-grid section:nth-child(4), .gm-outline-grid section:nth-child(5) { grid-column: span 1; }
.gm-outline-grid b { font-family: var(--gm-serif); font-size: 16px; line-height: 1.55; }
.gm-next-link { align-self: flex-end; display: grid; grid-template-columns: auto 34px; align-items: center; column-gap: 20px; min-width: 260px; margin-top: 28px; padding: 16px 0 8px 20px; border-top: 1px solid var(--gm-line-strong); transition: border-color .2s ease; }
.gm-next-link span { color: var(--gm-gold); font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.gm-next-link strong { grid-row: 2; font-family: var(--gm-serif); font-size: 17px; font-weight: 600; }
.gm-next-link i { grid-column: 2; grid-row: 1 / 3; display: grid; width: 34px; height: 34px; place-items: center; border: 1px solid var(--gm-line-strong); border-radius: 50%; font-style: normal; transition: .2s ease; }
.gm-next-link:hover { border-color: var(--gm-gold); }
.gm-next-link:hover i { color: #fff; border-color: var(--gm-ink); background: var(--gm-ink); transform: translateY(3px); }
.gm-next-link--top:hover i { transform: translateY(-3px); }

.gm-chapter--agent { background: linear-gradient(135deg, rgba(232,233,226,.7), rgba(251,250,246,.82)); }
.gm-agent-layout { display: grid; grid-template-columns: minmax(260px, .34fr) minmax(0,1fr); gap: 22px; margin-top: 28px; }
.gm-agent-visual-card { position: sticky; top: calc(var(--gm-header-height) + 28px); align-self: start; min-height: 520px; padding: 34px; overflow: hidden; border-left: 2px solid var(--gm-gold); }
.gm-agent-visual-card h3 { position: relative; z-index: 2; margin: 35px 0 0; font-family: var(--gm-serif); font-size: clamp(28px, 2.6vw, 44px); font-weight: 520; line-height: 1.35; }
.gm-agent-copy { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; border: 1px solid var(--gm-line); background: var(--gm-line); }
.gm-agent-copy--two { grid-template-columns: 1fr; }
.gm-agent-copy section { padding: clamp(24px, 2.5vw, 42px); border: 0; }
.gm-agent-copy section:first-child:last-child, .gm-agent-copy--two section { min-height: 220px; }
.gm-agent-copy h3 { margin: 0 0 18px; font-family: var(--gm-serif); font-size: clamp(20px, 1.6vw, 29px); line-height: 1.5; }
.gm-agent-copy p, .gm-agent-copy li { position: relative; margin: 12px 0; color: var(--gm-ink-soft); font-size: clamp(14px, .98vw, 17px); line-height: 1.85; }
.gm-agent-copy p strong { color: var(--gm-ink); font-weight: 650; }
.gm-agent-copy ul { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
.gm-agent-copy li { padding-left: 18px; }

.gm-visual { position: relative; width: min(100%, 330px); aspect-ratio: 1; margin: 20px auto 0; }
.gm-visual em { position: absolute; right: 0; bottom: 0; color: var(--gm-gold); font-size: 9px; font-style: normal; font-weight: 700; letter-spacing: .2em; }
.gm-visual--executive > i { position: absolute; inset: 12%; border: 1px solid rgba(161,138,71,.45); border-radius: 50%; animation: gmPulse 3.8s ease-in-out infinite; }
.gm-visual--executive > i:nth-child(2) { inset: 25%; animation-delay: -.8s; }
.gm-visual--executive > i:nth-child(3) { inset: 38%; animation-delay: -1.6s; background: var(--gm-ink); }
.gm-document-stack { position: absolute; right: 0; bottom: 10%; width: 42%; height: 42%; }
.gm-document-stack b { position: absolute; inset: 0; border: 1px solid var(--gm-line-strong); background: rgba(251,250,246,.9); transform: translate(calc(var(--i, 0) * -8px), calc(var(--i, 0) * -8px)); }
.gm-document-stack b:nth-child(1) { --i: 2; }.gm-document-stack b:nth-child(2) { --i: 1; }.gm-document-stack b:nth-child(3) { --i: 0; }
.gm-document-stack b::before, .gm-document-stack b::after { content: ""; position: absolute; left: 15%; right: 15%; height: 1px; background: var(--gm-line); }
.gm-document-stack b::before { top: 35%; }.gm-document-stack b::after { top: 55%; }
.gm-visual--strategy .gm-orbit { position: absolute; inset: 10%; border: 1px solid var(--gm-line-strong); border-radius: 50%; animation: gmRotate 18s linear infinite; }
.gm-visual--strategy .gm-orbit::before, .gm-visual--strategy .gm-orbit::after { content: ""; position: absolute; inset: 16%; border: 1px solid var(--gm-line); border-radius: 50%; transform: rotate(55deg); }
.gm-visual--strategy .gm-orbit::after { inset: 38% 6%; }
.gm-visual--strategy .gm-orbit i { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--gm-burgundy); box-shadow: 0 0 0 6px rgba(123,39,59,.08); }
.gm-visual--strategy .gm-orbit i:nth-child(1) { top: 8%; left: 55%; }.gm-visual--strategy .gm-orbit i:nth-child(2) { top: 46%; right: -4px; background: var(--gm-gold); }.gm-visual--strategy .gm-orbit i:nth-child(3) { bottom: 4%; left: 28%; }.gm-visual--strategy .gm-orbit i:nth-child(4) { top: 30%; left: -3px; background: var(--gm-gold); }
.gm-data-bars { position: absolute; left: 25%; right: 25%; bottom: 33%; display: flex; align-items: end; justify-content: space-between; height: 28%; }
.gm-data-bars b { width: 14%; height: var(--h); background: rgba(18,55,47,.72); animation: gmBars 2.8s ease-in-out infinite alternate; }.gm-data-bars b:nth-child(1){--h:35%}.gm-data-bars b:nth-child(2){--h:78%;animation-delay:-.6s}.gm-data-bars b:nth-child(3){--h:52%;animation-delay:-1.2s}.gm-data-bars b:nth-child(4){--h:94%;animation-delay:-1.8s}
.gm-visual--network i { position: absolute; z-index: 2; width: 14px; height: 14px; border: 3px solid var(--gm-paper-light); border-radius: 50%; background: var(--gm-gold); box-shadow: 0 0 0 1px var(--gm-gold); animation: gmNode 3s ease-in-out infinite; }
.gm-visual--network i:nth-child(1){left:45%;top:10%}.gm-visual--network i:nth-child(2){right:11%;top:32%;animation-delay:-.5s}.gm-visual--network i:nth-child(3){right:18%;bottom:16%;animation-delay:-1s}.gm-visual--network i:nth-child(4){left:27%;bottom:9%;animation-delay:-1.5s}.gm-visual--network i:nth-child(5){left:7%;top:46%;animation-delay:-2s}.gm-visual--network i:nth-child(6){left:46%;top:48%;width:22px;height:22px;background:var(--gm-ink);box-shadow:0 0 0 8px rgba(18,55,47,.08)}
.gm-visual--network b { position: absolute; left: 50%; top: 50%; width: 43%; height: 1px; transform-origin: left center; background: var(--gm-line-strong); }.gm-visual--network b:nth-of-type(1){transform:rotate(-105deg)}.gm-visual--network b:nth-of-type(2){transform:rotate(-30deg)}.gm-visual--network b:nth-of-type(3){transform:rotate(38deg)}.gm-visual--network b:nth-of-type(4){transform:rotate(120deg)}.gm-visual--network b:nth-of-type(5){transform:rotate(178deg)}
@keyframes gmPulse { 0%,100%{transform:scale(.96);opacity:.5}50%{transform:scale(1.04);opacity:1} }
@keyframes gmRotate { to { transform: rotate(360deg); } }
@keyframes gmBars { to { height: calc(var(--h) * .72); opacity: .55; } }
@keyframes gmNode { 50% { transform: scale(1.2); } }

.gm-chapter__inner > * { opacity: 1; transform: none; }

@media (max-width: 1320px) {
  :root { --gm-rail-width: 242px; }
  .gk-topbar { grid-template-columns: 230px 1fr 130px; }
  .gk-nav { gap: 18px; }
  .gk-account .gk-button { padding: 0 11px; }
  .gm-chapter { padding-inline: 38px; }
  .gm-levels { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .gm-outline-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 1040px) {
  :root { --gm-header-height: 70px; }
  .gk-topbar { grid-template-columns: 1fr auto; }
  .gk-nav-toggle { justify-self: end; display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--gm-line); background: transparent; cursor: pointer; }
  .gk-nav-toggle > span:first-child, .gk-nav-toggle > span:first-child::before, .gk-nav-toggle > span:first-child::after { display: block; width: 18px; height: 1px; background: var(--gm-ink); content: ""; transition: .2s ease; }
  .gk-nav-toggle > span:first-child::before { transform: translateY(-6px); }.gk-nav-toggle > span:first-child::after { transform: translateY(5px); }
  .gk-nav { position: fixed; top: var(--gm-header-height); right: var(--gm-page-gutter); left: var(--gm-page-gutter); display: none; align-self: auto; padding: 14px 22px; border: 1px solid var(--gm-line); background: var(--gm-paper-light); box-shadow: 0 20px 40px rgba(18,55,47,.12); }
  .gk-nav.is-open { display: grid; grid-template-columns: repeat(2,1fr); }
  .gk-nav a { min-height: 54px; }
  .gk-account { position: fixed; right: calc(var(--gm-page-gutter) + 58px); }
  .gm-stage { display: grid; grid-template-rows: 48px minmax(0, 1fr); }
  .gm-chapter-rail { position: relative; top: auto; bottom: auto; left: auto; display: flex; width: 100%; height: 48px; align-items: stretch; padding: 0 var(--gm-page-gutter); border-right: 0; border-bottom: 1px solid var(--gm-line); background: rgba(245,243,236,.97); overflow-x: auto; overflow-y: hidden; }
  .gm-chapter-rail__heading { display: flex; width: auto; flex: 0 0 auto; align-items: center; margin: 0; padding: 0 18px 0 0; }
  .gm-chapter-rail__heading span, .gm-chapter-rail__heading::after { display: none; }
  .gm-chapter-rail__heading strong { font-family: var(--gm-sans); font-size: 12px; white-space: nowrap; }
  .gm-chapter-rail__heading.is-active strong { color: var(--gm-gold); }
  .gm-chapter-rail__track, .gm-chapter-rail__position, .gm-chapter-group__label { display: none; }
  .gm-chapter-groups { display: flex; width: max-content; }
  .gm-chapter-group { display: contents; }
  .gm-chapter-group ol { display: flex; }
  .gm-chapter-group button { display: flex; gap: 8px; min-height: 48px; padding: 0 14px; }
  .gm-chapter-group button::before { display: none; }
  .gm-deck { height: 100%; min-height: 0; margin-left: 0; }
  .gm-hero, .gm-chapter { height: 100%; min-height: 0; }
  .gm-course-layout, .gm-agent-layout { grid-template-columns: 1fr; }
  .gm-context-card { position: static; }
  .gm-agent-visual-card { position: relative; top: auto; min-height: 360px; display: grid; grid-template-columns: minmax(240px,.6fr) 1fr; align-items: center; }
  .gm-agent-visual-card .gm-card-label { position: absolute; top: 28px; left: 32px; }
}
@media (max-width: 760px) {
  :root { --gm-page-gutter: 14px; --gm-header-height: 64px; }
  .gk-topbar { width: calc(100% - 24px); }
  .gk-brand { padding: 0 5px; gap: 8px; }
  .gk-brand img { width: 34px; height: 34px; }
  .gk-brand small { font-size: 7px; }.gk-brand strong { font-size: 16px; }
  .gk-account { display: none; }
  .gk-nav { top: var(--gm-header-height); right: 12px; left: 12px; grid-template-columns: 1fr !important; }
  .gk-nav .gk-account { position: static; display: flex; grid-column: 1; justify-self: stretch; }
  .gk-nav .gk-account .gk-button { flex: 1; }
  .gm-hero { grid-template-columns: 1fr; height: 100%; min-height: 0; padding: 48px 24px; }
  .gm-hero::after { display: none; }
  .gm-hero h1 { font-size: clamp(48px, 15vw, 72px); }
  .gm-hero__lead { font-size: 17px; }
  .gm-hero__index { margin-top: 60px; padding: 28px 0 0; border-top: 1px solid var(--gm-line); }
  .gm-chapter { height: 100%; min-height: 0; padding: 38px 20px 28px; }
  .gm-chapter__inner { min-height: auto; }
  .gm-chapter__header { grid-template-columns: 1fr; gap: 18px; }
  .gm-chapter__header h2 { font-size: clamp(38px, 12vw, 54px); }
  .gm-chapter__header > p { font-size: 16px; }
  .gm-course-layout, .gm-programs, .gm-agent-layout { gap: 14px; }
  .gm-syllabus--four, .gm-challenges ul, .gm-levels, .gm-outline-grid, .gm-agent-copy { grid-template-columns: 1fr; }
  .gm-challenges { grid-template-columns: 1fr; }
  .gm-program { padding: 20px; }
  .gm-program > header { display: grid; }
  .gm-levels section b { min-height: 0; }
  .gm-agent-visual-card { display: block; min-height: auto; padding: 26px; }
  .gm-agent-visual-card .gm-card-label { position: static; }
  .gm-visual { max-width: 270px; }
  .gm-next-link { width: 100%; min-width: 0; margin-top: 22px; }
}

.gm-sandbox-layout { display: grid; grid-template-columns: minmax(300px, .86fr) minmax(420px, 1.14fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.gm-sandbox-copy > p { max-width: 640px; margin: 18px 0 24px; color: var(--gm-muted); font-size: clamp(15px, 1.05vw, 18px); line-height: 1.9; }
.gm-sandbox-copy ol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0 0 26px; padding: 1px; background: var(--gm-line); list-style: none; }
.gm-sandbox-copy li { display: grid; gap: 7px; min-height: 100px; padding: 20px; background: var(--gm-paper); }
.gm-sandbox-copy li b { color: var(--gm-ink); font-family: var(--gm-serif); font-size: 18px; }
.gm-sandbox-copy li span { color: var(--gm-muted); font-size: 13px; line-height: 1.65; }
.gm-sandbox-entry { display: inline-flex; align-items: center; gap: 28px; padding: 13px 18px; background: var(--gm-ink); color: #fff; font-size: 13px; text-decoration: none; }
.gm-sandbox-demo { position: relative; min-height: 430px; margin: 0; overflow: hidden; border: 1px solid var(--gm-line); background: #f3f1e9; box-shadow: 0 24px 60px rgba(19, 55, 48, .14); }
.gm-sandbox-demo::after { position: absolute; inset: 0; border: 1px solid rgba(255,255,255,.2); content: ""; pointer-events: none; }
.gm-sandbox-browser { display: flex; height: 38px; align-items: center; gap: 7px; padding: 0 13px; border-bottom: 1px solid var(--gm-line); background: #173c32; color: #fff; }
.gm-sandbox-browser > span { width: 7px; height: 7px; border-radius: 50%; background: #d7c184; }
.gm-sandbox-browser strong { margin-left: 7px; font-size: 9px; font-weight: 600; letter-spacing: .08em; }
.gm-sandbox-browser a { margin-left: auto; color: #fff; font-size: 9px; text-decoration: none; }
.gm-sandbox-demo iframe { display: block; width: 100%; height: 344px; border: 0; background: #f5f3ec; }
.gm-sandbox-demo figcaption { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; padding: 1px; border-top: 1px solid var(--gm-line); background: var(--gm-line); }
.gm-sandbox-demo figcaption button { display: flex; min-width: 0; align-items: center; gap: 9px; padding: 12px 10px; border: 0; background: rgba(247,245,238,.96); color: var(--gm-ink); cursor: pointer; text-align: left; }
.gm-sandbox-demo figcaption button b { color: var(--gm-gold); font-size: 9px; }
.gm-sandbox-demo figcaption button span { overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.gm-sandbox-demo figcaption button.is-active { background: var(--gm-ink); color: #fff; }
.gm-sandbox-demo figcaption button:focus-visible { outline: 2px solid var(--gm-gold); outline-offset: -3px; }
@media (max-width: 1000px) { .gm-sandbox-layout { grid-template-columns: 1fr; } .gm-sandbox-demo { min-height: 400px; } }
@media (max-width: 600px) { .gm-sandbox-copy ol { grid-template-columns: 1fr; } .gm-sandbox-demo { min-height: 390px; } .gm-sandbox-demo iframe { height: 300px; } .gm-sandbox-demo figcaption button span { display: none; } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .gm-chapter__inner > * { opacity: 1; transform: none; }
}

/* V8 · Compliance-aligned full-screen chapter deck, without page-turn animation */
:root {
  --gk-forest-950: var(--gm-ink);
  --gk-forest-900: var(--gm-ink);
  --gk-forest-800: #2f5b4d;
  --gk-gold: var(--gm-gold);
  --gk-soft: var(--gm-ink-soft);
  --gk-line: var(--gm-line);
  --gk-line-strong: var(--gm-line-strong);
  --gk-serif: var(--gm-serif);
  --gk-page-gutter: var(--gm-page-gutter);
  --gk-header-height: var(--gm-header-height);
}

.gk-topbar {
  position: sticky;
  z-index: 100;
  top: 0;
  display: grid;
  grid-template-columns: minmax(220px, .72fr) minmax(720px, 1.9fr) auto;
  align-items: center;
  gap: clamp(12px, 1.35vw, 24px);
  width: min(calc(100% - 32px), 1720px);
  min-height: var(--gk-header-height);
  margin: 0 auto;
  padding: 10px clamp(18px, 2vw, 34px);
  border: 0;
  border-bottom: 1px solid var(--gk-line-strong);
  border-radius: 0;
  background: rgba(248, 247, 242, .985);
  box-shadow: none;
  backdrop-filter: none;
}
.gk-topbar::after { position: absolute; bottom: -1px; left: 18px; width: 112px; height: 1px; content: ""; background: var(--gk-gold); }
.gk-brand { display: inline-flex; align-self: auto; align-items: center; gap: 11px; width: auto; min-width: 0; padding: 0; border: 0; }
.gk-brand img { width: 42px; height: 42px; object-fit: contain; }
.gk-brand span { display: grid; min-width: 0; gap: 0; line-height: 1.15; }
.gk-brand small { overflow: hidden; color: var(--gk-gold); font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: none; text-overflow: ellipsis; white-space: nowrap; }
.gk-brand strong { margin-top: 4px; color: var(--gk-forest-950); font-family: var(--gk-serif); font-size: 19px; font-weight: 700; letter-spacing: -.02em; white-space: nowrap; }
.gk-nav { display: flex; align-self: auto; align-items: stretch; justify-content: space-between; min-width: 0; gap: 1px; }
.gk-nav a { position: relative; display: grid; min-width: 0; place-content: initial; gap: 1px; padding: 9px clamp(7px, .62vw, 12px); color: #56625c; text-align: center; white-space: nowrap; }
.gk-nav a::after { right: 14px; bottom: 1px; left: 14px; }
.gk-nav a > span { font-size: 11.5px; font-weight: 650; letter-spacing: .01em; }
.gk-nav a small { color: var(--gk-soft); font-size: 8.5px; line-height: 1.35; }
.gk-account { position: static; display: flex; align-items: center; justify-self: end; gap: 8px; }
.gm-account-anchor { display: none; }
.gk-button { display: inline-flex; min-height: var(--gkn-button-height); align-items: center; justify-content: center; padding: 9px var(--gkn-button-padding-inline); border: 1px solid var(--gk-line-strong); border-radius: var(--gkn-button-radius); background: transparent; color: var(--gk-forest-900); font-size: var(--gkn-font-size-button); font-weight: var(--gkn-font-weight-semibold); box-shadow: none; }
.gk-button--solid { border-color: var(--gk-forest-950); background: var(--gk-forest-950); color: #fff; }

.gm-stage {
  position: relative;
  display: grid;
  grid-template-columns: 248px minmax(0, 1fr);
  width: min(calc(100% - (var(--gm-page-gutter) * 2)), 1760px);
  height: calc(100svh - var(--gm-header-height));
  margin: 0 auto;
  overflow: hidden;
}
.gm-chapter-rail {
  position: relative;
  z-index: 20;
  top: auto;
  right: auto;
  bottom: auto;
  left: auto;
  display: flex;
  width: auto;
  min-height: 0;
  flex-direction: column;
  padding: clamp(30px, 4.6vh, 52px) 26px 86px 8px;
  border-right: 1px solid var(--gm-line);
  background: transparent;
  backdrop-filter: none;
  overflow: hidden;
}
.gm-chapter-rail__heading { display: grid; width: 100%; gap: 5px; margin: 0; padding: 0 0 14px; cursor: pointer; }
.gm-chapter-rail__heading span { font-size: 9px; letter-spacing: .16em; }
.gm-chapter-rail__heading strong { font-size: 20px; line-height: 1.32; letter-spacing: -.03em; }
.gm-chapter-rail__heading::after { width: 32px; margin-top: 5px; }
.gm-chapter-rail__heading:hover::after, .gm-chapter-rail__heading.is-active::after { width: 64px; }
.gm-chapter-rail__track { top: 142px; bottom: 128px; left: 12px; }
.gm-chapter-rail__track span { width: 2px; transition: height .22s ease; }
.gm-chapter-groups { display: grid; gap: 10px; margin: auto 0; }
.gm-chapter-group { padding: 0 0 0 24px; }
.gm-chapter-group__label { grid-template-columns: 26px 1fr; margin-bottom: 2px; }
.gm-chapter-group__label strong { font-size: 15px; }
.gm-chapter-group ol { display: grid; gap: 0; }
.gm-chapter-group button { min-height: 25px; padding: 2px 0; }
.gm-chapter-group button::before { left: -27px; width: 7px; height: 7px; }
.gm-chapter-group button strong { overflow: hidden; font-size: var(--gkn-font-size-sidebar); text-overflow: ellipsis; white-space: nowrap; }
.gm-chapter-rail__position { display: none; }

.gm-deck { position: relative; isolation: isolate; height: 100%; min-height: 0; margin-left: 0; overflow: hidden; overscroll-behavior: none; contain: paint; }
.gm-hero, .gm-chapter {
  position: absolute;
  z-index: 1;
  inset: 0;
  display: none;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: clamp(24px, 3.8vh, 44px) clamp(30px, 4vw, 66px);
  overflow: hidden;
  opacity: 1;
  pointer-events: none;
}
.gm-hero.is-active { z-index: 3; display: grid; pointer-events: auto; }
.gm-chapter.is-active { z-index: 3; display: block; pointer-events: auto; }
.gm-chapter__inner { width: 100%; height: 100%; min-height: 0; margin: 0; }
.gm-hero { grid-template-columns: minmax(0, 1fr) minmax(240px, .34fr); align-items: center; }
.gm-hero h1 { margin: 18px 0 20px; font-size: clamp(56px, 6.8vw, 112px); }
.gm-hero__lead { max-width: 760px; font-size: clamp(16px, 1.2vw, 22px); line-height: 1.68; }
.gm-hero__start { margin-top: 24px; }
.gm-chapter { background: rgba(251,250,246,.42); }
.gm-chapter:nth-child(odd) { background: rgba(239,237,229,.62); }
.gm-chapter__header { flex: 0 0 auto; grid-template-columns: minmax(0,1fr) minmax(260px,.5fr); gap: 28px; padding-bottom: 16px; }
.gm-kicker { margin-bottom: 9px; }
.gm-chapter__header h2 { font-size: clamp(36px, 3.35vw, 58px); }
.gm-chapter__header > p { font-size: clamp(14px, 1vw, 18px); line-height: 1.55; }
.gm-card-label { margin-bottom: 10px; font-size: 9px; }
.gm-course-layout { flex: 0 0 auto; grid-template-columns: minmax(245px,.32fr) minmax(0,1fr); align-items: stretch; gap: 16px; min-height: 0; margin-top: 18px; }
.gm-context-card { min-height: 0; padding: clamp(20px, 2.2vw, 34px); overflow: hidden; }
.gm-context-card p { font-size: clamp(13px, .92vw, 16px); line-height: 1.78; }
.gm-syllabus { min-height: 0; gap: 12px; border: 0; background: transparent; overflow: hidden; }
.gm-syllabus article { min-height: 184px; padding: clamp(14px, 1.5vw, 21px); border: 1px solid var(--gm-line); border-top: 2px solid rgba(161,138,71,.52); overflow: hidden; }
.gm-syllabus h3 { margin: 7px 0 8px; font-size: clamp(15px, 1.08vw, 19px); line-height: 1.32; }
.gm-syllabus li, .gm-outline-grid li { margin: 3px 0; font-size: clamp(10px, .72vw, 12px); line-height: 1.42; }
.gm-challenges { flex: 0 0 auto; grid-template-columns: 110px 1fr; gap: 16px; margin-top: 14px; padding: 13px 20px; }
.gm-challenges ul { gap: 4px 20px; }
.gm-challenges li { font-size: clamp(10px, .76vw, 12px); line-height: 1.45; }
.gm-programs { flex: 0 0 auto; display: grid; min-height: 0; align-content: start; gap: 10px; margin-top: 12px; }
.gm-program { padding: 0; overflow: hidden; }
.gm-program > summary { display: grid; grid-template-columns: 110px minmax(0,1fr) 28px; align-items: center; gap: 12px; min-height: 48px; padding: 8px 16px; cursor: pointer; list-style: none; }
.gm-program > summary::-webkit-details-marker { display: none; }
.gm-program > summary span { color: var(--gm-gold); font-size: 9px; font-weight: 700; letter-spacing: .14em; }
.gm-program > summary h3 { margin: 0; font-family: var(--gm-serif); font-size: clamp(17px, 1.35vw, 22px); font-weight: 550; }
.gm-program > summary i { color: var(--gm-gold); font-size: 18px; font-style: normal; text-align: center; transition: transform .2s ease; }
.gm-program[open] > summary i { transform: rotate(45deg); }
.gm-levels { grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; border: 0; background: transparent; }
.gm-levels section { min-height: 202px; padding: clamp(14px, 1.2vw, 18px); border: 1px solid var(--gm-line); border-top: 2px solid rgba(161,138,71,.52); background: linear-gradient(145deg, rgba(255,254,250,.92), rgba(241,239,231,.7)); }
.gm-levels section b { min-height: 34px; font-size: clamp(12px, .92vw, 15px); line-height: 1.35; }
.gm-levels section p { margin-top: 5px; font-size: clamp(9px, .66vw, 11px); line-height: 1.38; }
.gm-levels--wide { flex: 0 0 auto; min-height: 0; margin-top: 18px; }
.gm-outline-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; border: 0; background: transparent; }
.gm-outline-grid section { padding: 10px 14px; border: 1px solid var(--gm-line); }
.gm-outline-grid b { font-size: clamp(11px, .82vw, 14px); line-height: 1.35; }
.gm-next-link { display: none; }
.gm-agent-layout { flex: 0 0 auto; grid-template-columns: minmax(230px,.28fr) minmax(0,1fr); min-height: 440px; gap: 16px; margin-top: 18px; }
.gm-agent-visual-card { position: relative; top: auto; min-height: 440px; height: auto; padding: 22px; }
.gm-agent-visual-card h3 { margin-top: 14px; font-size: clamp(22px, 2vw, 34px); }
.gm-visual { width: min(100%, 240px); margin-top: 4px; }
.gm-agent-copy { height: auto; min-height: 440px; overflow: hidden; }
.gm-agent-copy section { min-height: 0; padding: clamp(16px, 1.8vw, 28px); overflow: hidden; }
.gm-agent-copy h3 { margin-bottom: 10px; font-size: clamp(16px, 1.25vw, 21px); line-height: 1.35; }
.gm-agent-copy p, .gm-agent-copy li { margin: 7px 0; font-size: clamp(11px, .8vw, 14px); line-height: 1.55; }

.gm-chapter-cue { position: absolute; z-index: 32; bottom: 20px; left: 8px; display: grid; width: 222px; grid-template-columns: minmax(0,1fr) 46px; align-items: center; gap: 12px; padding: 0; border: 0; background: transparent; color: var(--gm-ink); cursor: pointer; text-align: left; }
.gm-chapter-cue__text { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 0 8px; }
.gm-chapter-cue__text small { grid-column: 1 / -1; color: var(--gm-gold); font-size: 8px; font-weight: 750; letter-spacing: .17em; }
.gm-chapter-cue__text strong { overflow: hidden; font-family: var(--gm-serif); font-size: 14px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.gm-chapter-cue__text em { color: var(--gm-ink-soft); font-size: 8px; font-style: normal; }
.gm-chapter-cue > i { position: relative; display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid var(--gm-line-strong); border-radius: 50%; background: rgba(248,247,242,.72); font-style: normal; transition: background .18s ease, color .18s ease; }
.gm-chapter-cue > i::before { position: absolute; inset: 4px; border: 1px solid transparent; border-top-color: var(--gm-gold); border-radius: 50%; content: ""; transform: rotate(38deg); }
.gm-chapter-cue:hover > i { background: var(--gm-ink); color: #fff; }

@media (min-width: 1181px) and (max-width: 1380px) {
  .gk-topbar { grid-template-columns: minmax(200px,.68fr) minmax(650px,1.9fr) auto; gap: 10px; }
  .gk-brand img { width: 38px; height: 38px; }
  .gk-brand small { font-size: 8px; }
  .gk-brand strong { font-size: 17px; }
  .gk-nav a { padding-inline: 6px; }
  .gk-nav a > span { font-size: 10.5px; }
  .gk-nav a small { font-size: 7.5px; }
}

@media (max-width: 1180px) {
  .gk-topbar { grid-template-columns: minmax(0,1fr) auto auto; gap: 14px; }
  .gk-nav { position: relative; inset: auto; display: flex; padding: 0; border: 0; background: transparent; box-shadow: none; }
  .gk-nav a { min-height: 0; padding-inline: 8px; }
  .gk-nav small { display: none; }
  .gk-nav-toggle { display: none; }
  .gk-account { position: static; right: auto; }
  .gm-stage { grid-template-columns: 206px minmax(0,1fr); }
  .gm-chapter-rail { padding-right: 18px; }
  .gm-chapter-rail__heading strong { font-size: 18px; }
  .gm-chapter-group button strong { font-size: 10px; }
  .gm-chapter-cue { width: 180px; }
  .gm-chapter { padding-inline: 26px; }
}

@media (max-width: 900px) and (min-width: 761px) {
  .gk-topbar { grid-template-columns: 1fr auto auto; width: 100%; min-height: var(--gm-header-height); padding-inline: 14px; }
  .gk-nav-toggle { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid var(--gm-line-strong); border-radius: 3px; background: transparent; cursor: pointer; }
  .gk-nav-toggle > span:first-child, .gk-nav-toggle > span:first-child::before, .gk-nav-toggle > span:first-child::after { width: 17px; height: 1px; content: ""; background: var(--gm-ink); }
  .gk-nav-toggle > span:first-child { position: relative; }
  .gk-nav-toggle > span:first-child::before, .gk-nav-toggle > span:first-child::after { position: absolute; left: 0; }
  .gk-nav-toggle > span:first-child::before { top: -5px; transform: none; }
  .gk-nav-toggle > span:first-child::after { top: 5px; transform: none; }
  .gk-nav { position: absolute; top: calc(100% + 8px); right: 0; left: 0; display: none; padding: 12px; border: 1px solid var(--gm-line); border-radius: 3px; background: rgba(250,250,246,.98); box-shadow: 0 20px 60px rgba(23,51,39,.14); }
  .gk-nav.is-open { display: grid; grid-template-columns: 1fr; }
  .gk-nav a { grid-template-columns: 1fr auto; min-height: 0; padding: 10px; text-align: left; }
  .gk-nav small { display: inline; }
  .gk-account { position: static; right: auto; }
  .gm-stage { display: grid; grid-template-columns: 154px minmax(0,1fr); height: calc(100svh - var(--gm-header-height)); }
  .gm-chapter-rail { position: relative; display: flex; width: auto; height: auto; padding: 26px 12px 74px 8px; border-right: 1px solid var(--gm-line); overflow: hidden; }
  .gm-chapter-rail__heading { display: grid; padding-right: 0; }
  .gm-chapter-rail__heading span { display: block; }
  .gm-chapter-rail__heading strong { font-family: var(--gm-serif); font-size: 15px; white-space: normal; }
  .gm-chapter-rail__heading::after { display: block; }
  .gm-chapter-rail__track { display: block; top: 124px; bottom: 120px; }
  .gm-chapter-groups { display: grid; width: auto; }
  .gm-chapter-group { display: block; }
  .gm-chapter-group__label { display: grid; }
  .gm-chapter-group ol { display: grid; }
  .gm-chapter-group button { display: grid; min-height: 22px; padding: 2px 0; }
  .gm-chapter-group button::before { display: block; }
  .gm-chapter-cue { left: 8px; width: 138px; grid-template-columns: 1fr 40px; }
  .gm-chapter-cue__text strong { font-size: 11px; }
  .gm-chapter-cue > i { width: 40px; height: 40px; }
  .gm-chapter { padding: 20px 24px; }
  .gm-context-card p, .gm-agent-copy p, .gm-agent-copy li { font-size: 10px; }
}

@media (max-width: 760px) {
  body, .gm-shell { height: auto; min-height: 100svh; overflow: auto; }
  .gk-topbar { grid-template-columns: 1fr auto; width: calc(100% - 24px); min-height: var(--gm-header-height); padding-inline: 8px; }
  .gk-nav-toggle { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--gm-line-strong); border-radius: 3px; background: transparent; }
  .gk-nav-toggle > span:first-child, .gk-nav-toggle > span:first-child::before, .gk-nav-toggle > span:first-child::after { width: 17px; height: 1px; content: ""; background: var(--gm-ink); }
  .gk-nav-toggle > span:first-child { position: relative; }
  .gk-nav-toggle > span:first-child::before, .gk-nav-toggle > span:first-child::after { position: absolute; left: 0; }
  .gk-nav-toggle > span:first-child::before { top: -5px; transform: none; }
  .gk-nav-toggle > span:first-child::after { top: 5px; transform: none; }
  .gk-nav { position: absolute; top: calc(100% + 8px); right: 0; left: 0; display: none; padding: 12px; border: 1px solid var(--gm-line); border-radius: 3px; background: rgba(250,250,246,.99); box-shadow: 0 20px 60px rgba(23,51,39,.14); }
  .gk-nav.is-open { display: grid; grid-template-columns: 1fr; }
  .gk-nav a { grid-template-columns: 1fr auto; min-height: 0; padding: 10px; text-align: left; }
  .gk-nav small { display: inline; }
  .gk-nav .gk-account { position: static; display: flex; grid-column: 1; justify-self: stretch; }
  .gk-nav .gk-account .gk-button { flex: 1; }
  .gm-stage { display: grid; width: 100%; height: calc(100svh - var(--gm-header-height)); grid-template-rows: 48px minmax(0,1fr); grid-template-columns: 1fr; }
  .gm-chapter-rail { position: relative; display: flex; width: 100%; height: 48px; flex-direction: row; align-items: stretch; padding: 0 14px; border: 0; border-bottom: 1px solid var(--gm-line); overflow-x: auto; overflow-y: hidden; }
  .gm-chapter-rail__heading { display: flex; width: auto; flex: 0 0 auto; align-items: center; margin: 0; padding: 0 16px 0 0; }
  .gm-chapter-rail__heading span, .gm-chapter-rail__heading::after { display: none; }
  .gm-chapter-rail__heading strong { font-family: var(--gm-sans); font-size: 11px; white-space: nowrap; }
  .gm-chapter-rail__track, .gm-chapter-group__label { display: none; }
  .gm-chapter-groups { display: flex; width: max-content; margin: 0; }
  .gm-chapter-group { display: contents; }
  .gm-chapter-group ol { display: flex; }
  .gm-chapter-group button { display: flex; width: auto; min-height: 48px; gap: 7px; padding: 0 12px; }
  .gm-chapter-group button::before { display: none; }
  .gm-chapter-group button strong { font-size: 11px; }
  .gm-deck { height: 100%; }
  .gm-hero, .gm-chapter { height: 100%; padding: 26px 18px; overflow-y: auto; }
  .gm-hero { grid-template-columns: 1fr; }
  .gm-hero__index { margin-top: 26px; }
  .gm-course-layout, .gm-agent-layout { grid-template-columns: 1fr; overflow: visible; }
  .gm-context-card, .gm-syllabus, .gm-agent-copy { overflow: visible; }
  .gm-agent-visual-card { display: none; }
  .gm-levels, .gm-outline-grid { grid-template-columns: 1fr; }
  .gm-programs { overflow: visible; }
  .gm-chapter-cue { display: none; }
}

/* V10 · editorial proportion and information hierarchy refinement */
@media (min-width: 901px) {
  .gm-stage { grid-template-columns: 260px minmax(0, 1fr); }
  .gm-chapter-rail { padding: clamp(34px, 4.4vh, 50px) 28px 88px 10px; }
  .gm-chapter-rail__heading { padding-bottom: 18px; }
  .gm-chapter-rail__heading strong { max-width: 190px; font-size: 21px; line-height: 1.38; }
  .gm-chapter-groups { gap: 14px; }
  .gm-chapter-group { padding-left: 26px; }
  .gm-chapter-group__label { margin-bottom: 4px; }
  .gm-chapter-group__label strong { font-size: 16px; }
  .gm-chapter-group button { min-height: 27px; }
  .gm-chapter-group button strong { font-size: 11.5px; }
  .gm-chapter-cue { width: 230px; }

  .gm-hero, .gm-chapter { padding: clamp(30px, 4.5vh, 50px) clamp(40px, 4.8vw, 78px); }
  .gm-chapter__inner { max-width: 1340px; padding-bottom: 34px; }
  .gm-chapter::after {
    position: absolute;
    right: clamp(40px, 4.8vw, 78px);
    bottom: 22px;
    color: rgba(161, 138, 71, .78);
    content: attr(data-folio);
    font-size: 8px;
    font-weight: 750;
    letter-spacing: .19em;
  }
  .gm-chapter__header { grid-template-columns: minmax(0, 1fr) minmax(300px, .46fr); gap: 42px; padding-bottom: 18px; }
  .gm-chapter__header h2 { font-size: clamp(40px, 3.25vw, 54px); line-height: 1.04; }
  .gm-chapter__header > p { max-width: 420px; padding-left: 22px; border-left: 1px solid var(--gm-line-strong); font-size: clamp(14px, .95vw, 17px); line-height: 1.65; }
  .gm-kicker { margin-bottom: 10px; }

  .gm-challenges { grid-template-columns: 118px minmax(0,1fr); margin-top: 18px; padding: 16px 20px; background: rgba(255,254,250,.64); }
  .gm-challenges ul { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; }
  .gm-challenges li { min-height: 34px; padding: 0 16px; border-left: 1px solid var(--gm-line); font-size: clamp(10px, .72vw, 12px); line-height: 1.5; }
  .gm-challenges li::before { display: none; }

  .gm-course-layout { grid-template-columns: minmax(270px, .34fr) minmax(0, 1fr); align-items: stretch; gap: 18px; margin-top: 20px; }
  .gm-context-card { display: flex; min-height: 396px; flex-direction: column; justify-content: center; padding: clamp(28px, 2.8vw, 44px); background: linear-gradient(150deg, rgba(255,254,250,.96), rgba(237,235,226,.72)); }
  .gm-context-card .gm-card-label { margin-bottom: 22px; }
  .gm-context-card p { font-size: clamp(14px, .96vw, 17px); line-height: 1.9; }
  .gm-syllabus { gap: 14px; }
  .gm-syllabus article { min-height: 191px; padding: clamp(18px, 1.6vw, 24px); background: rgba(255,254,250,.82); }
  .gm-syllabus article > span { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border: 1px solid rgba(161,138,71,.34); border-radius: 50%; font-size: 8px; }
  .gm-syllabus h3 { margin: 10px 0 9px; font-size: clamp(16px, 1.08vw, 19px); }
  .gm-syllabus li { font-size: clamp(10px, .7vw, 12px); line-height: 1.48; }

  .gm-levels, .gm-levels--wide { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
  .gm-levels section { position: relative; grid-column: span 2; min-height: 158px; padding: 20px 21px 18px; overflow: hidden; }
  .gm-levels section:nth-child(4), .gm-levels section:nth-child(5) { grid-column: span 3; }
  .gm-levels section::after { position: absolute; right: 13px; bottom: -13px; color: rgba(18,55,47,.035); content: counter(gm-level); counter-increment: gm-level; font-family: Georgia, serif; font-size: 74px; line-height: 1; }
  .gm-levels { counter-reset: gm-level; }
  .gm-levels section b { position: relative; z-index: 1; min-height: 0; font-size: clamp(13px, .9vw, 16px); line-height: 1.4; }
  .gm-levels section p { position: relative; z-index: 1; margin-top: 8px; font-size: clamp(10px, .7vw, 12px); line-height: 1.48; }
  .gm-levels--wide { margin-top: 20px; }

  .gm-programs { gap: 12px; margin-top: 14px; }
  .gm-program > summary { min-height: 54px; grid-template-columns: 112px minmax(0,1fr) 32px; padding: 9px 18px; }
  .gm-program > summary h3 { font-size: clamp(18px, 1.28vw, 22px); }
  .gm-program[open] > summary { border-bottom: 1px solid var(--gm-line); background: rgba(242,239,229,.68); }
  .gm-program[open] .gm-levels, .gm-program[open] .gm-outline-grid { padding: 14px; }
  .gm-outline-grid { grid-template-columns: repeat(6, minmax(0,1fr)); gap: 10px; }
  .gm-outline-grid section { grid-column: span 2; min-height: 128px; padding: 16px 18px; background: rgba(255,254,250,.78); }
  .gm-outline-grid section:nth-child(4), .gm-outline-grid section:nth-child(5) { grid-column: span 3; }
  .gm-outline-grid b { font-size: clamp(12px, .8vw, 14px); }
  .gm-outline-grid li { font-size: clamp(9px, .66vw, 11px); line-height: 1.42; }

  .gm-agent-layout { grid-template-columns: minmax(270px, .29fr) minmax(0,1fr); min-height: 424px; gap: 18px; margin-top: 20px; }
  .gm-agent-visual-card { min-height: 424px; padding: 28px; background: linear-gradient(150deg, rgba(255,254,250,.96), rgba(237,235,226,.74)); }
  .gm-agent-visual-card h3 { margin-top: 12px; font-size: clamp(25px, 2vw, 34px); line-height: 1.32; }
  .gm-visual { width: min(100%, 218px); }
  .gm-agent-copy { min-height: 424px; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; border: 0; background: transparent; }
  .gm-agent-copy section { min-height: 0; padding: 24px; border: 1px solid var(--gm-line); border-top: 2px solid rgba(161,138,71,.52); background: rgba(255,254,250,.8); }
  .gm-agent-copy h3 { font-size: clamp(16px, 1.08vw, 19px); line-height: 1.45; }
  .gm-agent-copy p, .gm-agent-copy li { font-size: clamp(11px, .74vw, 13px); line-height: 1.65; }
  .gm-agent-copy--two { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gm-agent-copy--network { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gm-agent-copy--network section { min-height: 202px; }
}

@media (min-width: 901px) and (max-height: 820px) {
  .gm-hero, .gm-chapter { padding-block: 24px; }
  .gm-chapter__header h2 { font-size: 40px; }
  .gm-challenges { margin-top: 12px; padding-block: 10px; }
  .gm-levels--wide, .gm-course-layout, .gm-agent-layout { margin-top: 12px; }
  .gm-levels section { min-height: 132px; padding: 15px 17px; }
  .gm-context-card { min-height: 330px; padding: 26px; }
  .gm-syllabus article { min-height: 158px; padding: 14px 18px; }
  .gm-agent-layout, .gm-agent-visual-card, .gm-agent-copy { min-height: 350px; }
  .gm-program > summary { min-height: 46px; }
  .gm-program[open] .gm-levels, .gm-program[open] .gm-outline-grid { padding: 9px; }
}

@media (max-width: 1180px) and (min-width: 901px) {
  .gm-stage { grid-template-columns: 218px minmax(0,1fr); }
  .gm-chapter-rail { padding-right: 18px; }
  .gm-chapter-rail__heading strong { font-size: 18px; }
  .gm-challenges ul { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px 0; }
  .gm-levels section { padding-inline: 15px; }
  .gm-agent-layout { grid-template-columns: 230px minmax(0,1fr); }
}

@media (max-width: 900px) and (min-width: 761px) {
  .gm-levels, .gm-levels--wide, .gm-outline-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gm-levels section, .gm-levels section:nth-child(4), .gm-levels section:nth-child(5), .gm-outline-grid section, .gm-outline-grid section:nth-child(4), .gm-outline-grid section:nth-child(5) { grid-column: auto; min-height: 0; }
  .gm-agent-copy, .gm-agent-copy--two, .gm-agent-copy--network { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

/* V11 · cross-page title scale, readable body copy and embedded agent demos */
.gm-hero h1 {
  max-width: 840px;
  margin: 18px 0 22px;
  font-size: clamp(50px, 5.1vw, 72px);
  line-height: 1.04;
  letter-spacing: -0.045em;
}

.gm-syllabus li,
.gm-levels section p,
.gm-outline-grid li {
  font-size: clamp(11px, 0.72vw, 12.5px);
  line-height: 1.52;
}

.gm-agent-demo-card {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 0;
  grid-template-rows: auto minmax(0, 1fr) auto;
  justify-items: center;
  gap: 10px;
  padding: var(--gkn-card-padding);
  overflow: hidden;
  border: 1px solid var(--gm-line);
  border-top: 2px solid rgba(161, 138, 71, 0.58);
  background:
    linear-gradient(150deg, rgba(255, 254, 250, 0.98), rgba(237, 235, 226, 0.76));
}

.gm-agent-demo-card .gm-card-label {
  width: 100%;
  margin: 0;
}

.gm-agent-demo-card img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  object-position: center;
  filter: saturate(0.94) contrast(0.99);
}

.gm-agent-demo-card > p {
  display: grid;
  width: 100%;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: baseline;
  gap: 9px;
  margin: 0;
  padding-top: 9px;
  border-top: 1px solid var(--gm-line);
}

.gm-agent-demo-card > p strong {
  color: var(--gm-ink);
  font-family: var(--gm-serif);
  font-size: 15px;
  font-weight: 650;
}

.gm-agent-demo-card > p span {
  overflow: hidden;
  color: var(--gm-ink-soft);
  font-size: 9px;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (min-width: 901px) {
  .gm-agent-layout {
    height: clamp(360px, 52vh, 520px);
    min-height: 0;
    grid-template-columns: minmax(240px, 0.31fr) minmax(0, 1fr);
    align-items: stretch;
    gap: clamp(18px, 2vw, 28px);
  }

  .gm-agent-copy,
  .gm-agent-copy--two,
  .gm-agent-copy--network {
    height: 100%;
    min-height: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-color: rgba(161, 138, 71, 0.58) transparent;
    scrollbar-width: thin;
  }

  .gm-agent-copy section {
    padding: clamp(19px, 1.65vw, 27px);
  }

  .gm-agent-copy h3 {
    margin-bottom: 11px;
    font-size: clamp(16.5px, 1.1vw, 20px);
    line-height: 1.42;
  }

  .gm-agent-copy p,
  .gm-agent-copy li {
    margin: 8px 0;
    font-size: clamp(12.5px, 0.82vw, 14px);
    line-height: 1.68;
  }

  .gm-syllabus article,
  .gm-levels section,
  .gm-outline-grid section {
    scrollbar-color: rgba(161, 138, 71, 0.48) transparent;
    scrollbar-width: thin;
  }
}

/* V12 · editorial agent demonstration system */
@media (min-width: 901px) {
  .gm-chapter--agent .gm-chapter__header {
    padding-bottom: clamp(12px, 1.7vh, 18px);
  }

  .gm-chapter--agent .gm-chapter__header h2 {
    font-size: clamp(40px, 3.3vw, 58px);
    line-height: 1.03;
  }

  .gm-agent-layout {
    height: clamp(390px, 50vh, 520px);
    grid-template-columns: minmax(280px, 0.42fr) minmax(0, 1fr);
    gap: clamp(18px, 1.8vw, 28px);
    margin-top: clamp(12px, 1.8vh, 20px);
  }

  .gm-agent-demo-card {
    position: relative;
    display: grid;
    height: 100%;
    grid-template-rows: auto minmax(0, 1fr) auto;
    gap: 12px;
    padding: var(--gkn-card-padding);
    border: 0;
    border-top: 2px solid var(--gm-gold);
    background:
      radial-gradient(circle at 78% 18%, rgba(184, 158, 79, 0.18), transparent 32%),
      linear-gradient(145deg, #17382f 0%, #0f2b24 100%);
    box-shadow: 0 18px 48px rgba(18, 55, 47, 0.12);
  }

  .gm-agent-demo-card::after {
    position: absolute;
    right: -42px;
    bottom: -58px;
    width: 150px;
    height: 150px;
    border: 1px solid rgba(207, 190, 121, 0.18);
    border-radius: 50%;
    content: "";
    pointer-events: none;
  }

  .gm-agent-demo-card .gm-card-label {
    position: relative;
    z-index: 2;
    color: #c9b76e;
    font-size: 9px;
    letter-spacing: 0.17em;
  }

  .gm-agent-demo-window {
    position: relative;
    z-index: 1;
    display: grid;
    min-height: 0;
    place-items: center;
    padding: 10px;
    overflow: hidden;
    border: 1px solid rgba(225, 218, 181, 0.34);
    background: rgba(248, 247, 242, 0.98);
    box-shadow: 0 14px 34px rgba(3, 18, 14, 0.2);
  }

  .gm-agent-demo-window::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 42%;
    height: 2px;
    content: "";
    background: var(--gm-gold);
  }

  .gm-agent-demo-window img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: contain;
    object-position: center;
    filter: saturate(0.92) contrast(1.01);
  }

  .gm-agent-demo-card > p {
    position: relative;
    z-index: 2;
    grid-template-columns: 1fr;
    gap: 2px;
    padding-top: 10px;
    border-color: rgba(225, 218, 181, 0.24);
  }

  .gm-agent-demo-card > p strong {
    color: #fffdf5;
    font-size: clamp(17px, 1.25vw, 20px);
  }

  .gm-agent-demo-card > p span {
    color: rgba(244, 240, 220, 0.62);
    font-size: 9px;
    text-align: left;
  }

  .gm-agent-copy,
  .gm-agent-copy--two {
    height: 100%;
    min-height: 0;
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--gm-line-strong);
    background: rgba(255, 254, 250, 0.76);
  }

  .gm-agent-copy section {
    position: relative;
    min-height: 0;
    padding: clamp(16px, 1.35vw, 22px);
    border: 0;
    background: transparent;
  }

  .gm-agent-copy--executive {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(3, minmax(0, 1fr));
  }

  .gm-agent-copy--executive section {
    display: grid;
    grid-template-columns: minmax(150px, 0.76fr) repeat(2, minmax(0, 1fr));
    align-items: center;
    gap: clamp(12px, 1.4vw, 22px);
  }

  .gm-agent-copy--executive section + section {
    border-top: 1px solid var(--gm-line);
  }

  .gm-agent-copy--executive section::before {
    position: absolute;
    top: 50%;
    left: 0;
    width: 3px;
    height: 42%;
    content: "";
    background: var(--gm-gold);
    opacity: 0.7;
    transform: translateY(-50%);
  }

  .gm-agent-copy--executive h3,
  .gm-agent-copy--executive p {
    margin: 0;
  }

  .gm-agent-copy--executive h3 {
    font-size: clamp(15px, 1.02vw, 18px);
    line-height: 1.48;
  }

  .gm-agent-copy--executive p {
    font-size: clamp(11.5px, 0.75vw, 13px);
    line-height: 1.58;
  }

  .gm-agent-copy--two {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 0.78fr) minmax(0, 1.22fr);
  }

  .gm-agent-copy--two section {
    display: grid;
    grid-template-columns: minmax(92px, 0.2fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(18px, 2vw, 32px);
  }

  .gm-agent-copy--two section + section {
    border-top: 1px solid var(--gm-line);
    background: rgba(239, 236, 225, 0.34);
  }

  .gm-agent-copy--two h3 {
    margin: 0;
    padding-top: 2px;
    color: var(--gm-gold-deep);
    font-size: clamp(18px, 1.35vw, 23px);
  }

  .gm-agent-copy--two ul {
    display: grid;
    min-height: 0;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px clamp(16px, 2vw, 28px);
    align-content: center;
    align-self: stretch;
  }

  .gm-agent-copy--two section:last-child ul {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .gm-agent-copy--two li {
    display: grid;
    align-content: center;
    margin: 0;
    padding: 10px 0 10px 16px;
    border-top: 1px solid rgba(161, 138, 71, 0.32);
    font-size: clamp(11.5px, 0.76vw, 13px);
    line-height: 1.58;
  }

  .gm-agent-copy--two li::before {
    top: 1.18em;
  }
}

@media (min-width: 901px) and (max-height: 760px) {
  .gm-chapter--agent .gm-chapter__header h2 {
    font-size: clamp(37px, 3vw, 46px);
  }

  .gm-agent-layout {
    height: 390px;
  }

  .gm-agent-demo-card {
    padding: 13px;
  }

  .gm-agent-copy--executive section {
    padding: 11px 15px;
    gap: 11px;
  }

  .gm-agent-copy--executive h3 {
    font-size: 14.5px;
  }

  .gm-agent-copy--executive p,
  .gm-agent-copy--two li {
    font-size: 11.5px;
    line-height: 1.48;
  }

  .gm-agent-copy--two section {
    padding: 13px 16px;
    gap: 14px;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  .gm-agent-layout {
    grid-template-columns: 260px minmax(0, 1fr);
  }

  .gm-agent-copy--executive section {
    grid-template-columns: minmax(140px, 0.72fr) repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .gm-agent-demo-window {
    display: grid;
    min-height: 480px;
    place-items: center;
    padding: 18px;
    background: var(--gm-paper);
  }

  .gm-agent-demo-window img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
}

@media (min-width: 901px) and (max-height: 760px) {
  .gm-hero h1 {
    font-size: clamp(50px, 5.1vw, 72px);
  }

  .gm-agent-layout {
    height: 360px;
    margin-top: 10px;
  }

  .gm-agent-demo-card {
    padding: 13px;
  }

  .gm-agent-copy section {
    padding: 17px;
  }
}

@media (max-width: 900px) {
  .gm-agent-demo-card {
    min-height: 520px;
  }
}

@media (max-width: 760px) {
  .gm-hero h1 {
    font-size: clamp(44px, 13vw, 62px);
  }

  .gm-agent-demo-card {
    display: none;
  }

  .gm-agent-copy p,
  .gm-agent-copy li {
    font-size: 13px;
    line-height: 1.7;
  }
}

/* V13 · final cascade guard for compact desktop viewports */
@media (min-width: 901px) and (max-height: 760px) {
  .gm-chapter--agent .gm-agent-layout {
    height: 390px;
    margin-top: 10px;
  }

  .gm-chapter--agent .gm-agent-copy--executive section {
    padding: 11px 15px;
  }

  .gm-chapter--agent .gm-agent-copy--two section {
    padding: 13px 16px;
  }
}

/* V14 · compact desktop stage and title scale
   Keep the global navigation rail wide while tightening the management canvas. */
@media (min-width: 901px) {
  .gm-stage {
    width: min(calc(100% - (var(--gm-page-gutter) * 2)), 1180px);
  }

  .gm-hero h1 {
    font-size: clamp(46px, 4.7vw, 60px);
  }

  .gm-chapter__header h2,
  .gm-chapter--agent .gm-chapter__header h2 {
    font-size: clamp(34px, 3.1vw, 46px);
  }

  .gm-chapter-rail__heading strong {
    font-size: clamp(18px, 1.45vw, 19px);
  }

  .gm-hero__index strong {
    font-size: 19px;
  }

  .gm-program > header h3,
  .gm-program > summary h3 {
    font-size: clamp(16px, 1.18vw, 20px);
  }

  .gm-levels section b {
    font-size: clamp(12px, .84vw, 15px);
  }

  .gm-outline-grid b {
    font-size: clamp(11px, .76vw, 13px);
  }

  .gm-agent-visual-card h3 {
    font-size: clamp(22px, 1.85vw, 30px);
  }

  .gm-agent-demo-card > p strong {
    font-size: clamp(16px, 1.1vw, 18px);
  }

  .gm-agent-copy h3,
  .gm-agent-copy--executive h3 {
    font-size: clamp(15px, 1vw, 18px);
  }

  .gm-agent-copy--two h3 {
    font-size: clamp(16px, 1.15vw, 20px);
  }
}

/* V18 · compact single-screen canvas aligned to the canonical navigation */
@media (min-width: 901px) {
  html body .gm-shell > main.gm-stage {
    width: min(calc(100% - (var(--gkn-nav-gutter) * 2)), 1760px) !important;
    max-width: none !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  /* Actual Management route uses chapter headers (h1/h2), while the legacy
     hero route uses .gm-hero h1. Cover both selectors at the final cascade. */
  html body .gm-shell > main.gm-stage .gm-hero h1,
  html body .gm-shell > main.gm-stage .gm-chapter__header h1 {
    font-size: clamp(38px, 3.6vw, 48px) !important;
    line-height: 1.06;
  }

  html body .gm-shell > main.gm-stage .gm-chapter__header h2,
  html body .gm-shell > main.gm-stage .gm-chapter--agent .gm-chapter__header h2,
  html body .gm-shell > main.gm-stage .gm-service-summary h2 {
    font-size: clamp(28px, 2.55vw, 36px) !important;
    line-height: 1.08;
  }

  html body .gm-shell > main.gm-stage .gm-chapter {
    padding: clamp(20px, 2.7vh, 30px) clamp(24px, 2.2vw, 36px) !important;
  }

  html body .gm-shell > main.gm-stage .gm-chapter__header {
    gap: 20px !important;
    padding-bottom: 12px !important;
  }

  html body .gm-shell > main.gm-stage .gm-course-layout {
    gap: 12px !important;
    margin-top: 12px !important;
  }

  html body .gm-shell > main.gm-stage .gm-context-card {
    padding: clamp(18px, 1.25vw, 24px) !important;
  }

  html body .gm-shell > main.gm-stage .gm-syllabus article {
    padding: clamp(12px, 1vw, 16px) !important;
  }

  html body .gm-shell > main.gm-stage .gm-programs,
  html body .gm-shell > main.gm-stage .gm-levels--wide,
  html body .gm-shell > main.gm-stage .gm-agent-layout {
    margin-top: 12px !important;
  }

  html body .gm-shell > main.gm-stage .gm-agent-copy section {
    padding: clamp(14px, 1.15vw, 20px) !important;
  }

  html body .gm-shell > main.gm-stage .gm-chapter-rail__heading strong {
    font-size: clamp(16px, 1.35vw, 18px) !important;
  }

  html body .gm-shell > main.gm-stage .gm-hero__index strong {
    font-size: 17px !important;
  }

  html body .gm-shell > main.gm-stage .gm-program > header h3,
  html body .gm-shell > main.gm-stage .gm-program > summary h3 {
    font-size: clamp(15px, 1.08vw, 18px) !important;
  }

  html body .gm-shell > main.gm-stage .gm-levels section b {
    font-size: clamp(11px, .78vw, 14px) !important;
  }

  html body .gm-shell > main.gm-stage .gm-outline-grid b {
    font-size: clamp(10px, .7vw, 12px) !important;
  }

  html body .gm-shell > main.gm-stage .gm-agent-visual-card h3 {
    font-size: clamp(20px, 1.65vw, 26px) !important;
  }

  html body .gm-shell > main.gm-stage .gm-agent-demo-card > p strong {
    font-size: clamp(14px, 1vw, 16px) !important;
  }

  html body .gm-shell > main.gm-stage .gm-agent-copy h3,
  html body .gm-shell > main.gm-stage .gm-agent-copy--executive h3 {
    font-size: clamp(14px, .9vw, 16px) !important;
  }

  html body .gm-shell > main.gm-stage .gm-agent-copy--two h3 {
    font-size: clamp(15px, 1.05vw, 18px) !important;
  }
}

/* V20 · integrated AI in Team and decision-intelligence chapters */
.gm-chapter-rail__heading {
  cursor: default;
}

.gm-ai-team-layout {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.gm-ai-team-system,
.gm-ai-team-twin {
  min-width: 0;
  border: 1px solid var(--gm-line);
  background: rgba(255, 254, 250, 0.82);
}

.gm-ai-team-system {
  padding: 20px 22px 0;
  border-top: 2px solid rgba(161, 138, 71, 0.58);
}

.gm-ai-team-system > header {
  display: grid;
  grid-template-columns: minmax(210px, 0.34fr) minmax(0, 0.66fr);
  align-items: end;
  gap: clamp(28px, 4vw, 64px);
  padding-bottom: 18px;
}

.gm-ai-team-system h3,
.gm-ai-team-twin__copy h3 {
  margin: 8px 0 0;
  font-family: var(--gm-serif);
  font-size: clamp(23px, 1.65vw, 30px);
  font-weight: 600;
  line-height: 1.24;
}

.gm-ai-team-system .gm-card-label,
.gm-ai-team-twin__copy .gm-card-label {
  margin: 0;
}

.gm-ai-team-system > header > p {
  margin: 0;
  color: var(--gm-ink-soft);
  font-size: clamp(11px, 0.78vw, 13px);
  line-height: 1.7;
}

.gm-ai-team-levels {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--gm-line);
  list-style: none;
}

.gm-ai-team-levels li {
  position: relative;
  min-height: 116px;
  padding: 17px clamp(14px, 1.3vw, 22px) 18px;
  overflow: hidden;
  border-right: 1px solid var(--gm-line);
  background: linear-gradient(180deg, rgba(255, 254, 250, 0.16), rgba(239, 236, 225, 0.28));
}

.gm-ai-team-levels li:last-child {
  border-right: 0;
}

.gm-ai-team-levels li > span,
.gm-ai-team-outcomes article > span {
  color: var(--gm-gold);
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0.14em;
}

.gm-ai-team-levels li > strong {
  display: block;
  margin-top: 9px;
  font-family: var(--gm-serif);
  font-size: clamp(16px, 1.1vw, 19px);
}

.gm-ai-team-levels li > p {
  margin: 6px 0 0;
  color: var(--gm-ink-soft);
  font-size: clamp(10px, 0.7vw, 11.5px);
  line-height: 1.55;
}

.gm-ai-team-twin {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 0.32fr);
  min-height: 260px;
  overflow: hidden;
  border: 0;
  background:
    radial-gradient(circle at 75% 18%, rgba(184, 158, 79, 0.16), transparent 30%),
    linear-gradient(138deg, #18382f 0%, #102c25 100%);
  box-shadow: 0 18px 48px rgba(18, 55, 47, 0.12);
}

.gm-ai-team-twin .gm-agent-demo-card {
  height: auto;
  min-height: 0 !important;
  padding: 17px 18px;
  border: 0;
  border-left: 1px solid rgba(225, 218, 181, 0.18);
  border-top: 0;
  border-radius: 0;
  background: rgba(7, 31, 25, 0.2);
  box-shadow: none;
}

.gm-ai-team-twin__copy {
  display: grid;
  align-content: center;
  padding: clamp(24px, 2.6vw, 38px);
}

.gm-ai-team-twin__copy > header {
  display: grid;
  grid-template-columns: minmax(200px, 0.52fr) minmax(0, 0.48fr);
  align-items: end;
  gap: 22px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(225, 218, 181, 0.2);
}

.gm-ai-team-twin__copy > header .gm-card-label {
  grid-column: 1;
  grid-row: 1;
}

.gm-ai-team-twin__copy h3 {
  grid-column: 1;
  grid-row: 2;
  color: #fffdf5;
}

.gm-ai-team-twin__copy > header > p {
  grid-column: 2;
  grid-row: 1 / span 2;
  margin: 0;
  color: rgba(244, 240, 220, 0.68);
  font-size: clamp(11px, 0.76vw, 12.5px);
  line-height: 1.65;
}

.gm-ai-team-outcomes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}

.gm-ai-team-outcomes article {
  min-width: 0;
  padding: 17px 20px 0 0;
}

.gm-ai-team-outcomes article + article {
  padding-left: 20px;
  border-left: 1px solid rgba(225, 218, 181, 0.18);
}

.gm-ai-team-outcomes article strong {
  display: block;
  margin-top: 7px;
  color: #fffdf5;
  font-family: var(--gm-serif);
  font-size: 15px;
}

.gm-ai-team-outcomes article p {
  margin: 5px 0 0;
  color: rgba(244, 240, 220, 0.62);
  font-size: 10.5px;
  line-height: 1.58;
}

.gm-ai-team-twin .gm-agent-demo-window {
  min-height: 0;
  aspect-ratio: 4 / 3;
  padding: 7px;
}

.gm-ai-team-twin .gm-agent-demo-window img {
  width: 100%;
  height: 125%;
  object-fit: cover;
  object-position: center 18%;
}

.gm-ai-team-twin .gm-agent-demo-card > p strong {
  font-size: 14px !important;
}

.gm-war-room-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(270px, 0.31fr);
  gap: 14px;
  margin-top: 14px;
}

.gm-war-room-system {
  display: grid;
  min-width: 0;
  grid-template-rows: auto 1fr auto;
  border: 1px solid var(--gm-line);
  border-top: 2px solid rgba(161, 138, 71, 0.58);
  background: rgba(255, 254, 250, 0.82);
}

.gm-war-room-system > header {
  display: grid;
  grid-template-columns: minmax(230px, 0.43fr) minmax(0, 0.57fr);
  align-items: end;
  gap: clamp(28px, 4vw, 60px);
  padding: 22px 24px 20px;
  border-bottom: 1px solid var(--gm-line);
}

.gm-war-room-system > header .gm-card-label {
  grid-column: 1;
  margin: 0 0 -24px;
}

.gm-war-room-system > header h3 {
  grid-column: 1;
  margin: 32px 0 0;
  font-family: var(--gm-serif);
  font-size: clamp(23px, 1.65vw, 30px);
  font-weight: 600;
  line-height: 1.25;
}

.gm-war-room-system > header > p {
  grid-column: 2;
  grid-row: 1 / span 2;
  margin: 0;
  color: var(--gm-ink-soft);
  font-size: clamp(11px, 0.78vw, 13px);
  line-height: 1.72;
}

.gm-war-room-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.gm-war-room-flow li {
  min-width: 0;
  padding: clamp(20px, 2vw, 28px);
  border-right: 1px solid var(--gm-line);
}

.gm-war-room-flow li:last-child {
  border-right: 0;
}

.gm-war-room-flow span,
.gm-war-room-output > span {
  color: var(--gm-gold);
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0.16em;
}

.gm-war-room-flow strong {
  display: block;
  margin-top: 10px;
  font-family: var(--gm-serif);
  font-size: clamp(17px, 1.18vw, 21px);
}

.gm-war-room-flow p {
  margin: 9px 0 0;
  color: var(--gm-ink-soft);
  font-size: clamp(10.5px, 0.72vw, 12px);
  line-height: 1.65;
}

.gm-war-room-output {
  display: grid;
  grid-template-columns: 120px minmax(210px, 0.48fr) minmax(0, 0.52fr);
  align-items: center;
  gap: 20px;
  padding: 17px 24px;
  color: #fffdf5;
  background: #17352d;
}

.gm-war-room-output strong {
  font-family: var(--gm-serif);
  font-size: clamp(14px, 0.98vw, 17px);
}

.gm-war-room-output small {
  color: rgba(244, 240, 220, 0.66);
  font-size: 10.5px;
  line-height: 1.5;
}

.gm-war-room-demo.gm-agent-demo-card {
  height: auto;
  min-height: 0;
  padding: 17px 18px;
}

.gm-war-room-demo .gm-agent-demo-window {
  min-height: 0;
  aspect-ratio: 5 / 4;
  padding: 7px;
}

.gm-war-room-demo .gm-agent-demo-window img {
  width: 100%;
  height: 130%;
  object-fit: cover;
  object-position: center 12%;
}

.gm-war-room-demo.gm-agent-demo-card > p strong {
  font-size: 15px !important;
}

@media (max-width: 1180px) {
  .gm-ai-team-system > header,
  .gm-war-room-system > header { gap: 24px; }
  .gm-ai-team-twin { grid-template-columns: minmax(0, 1fr) 240px; }
  .gm-war-room-layout { grid-template-columns: minmax(0, 1fr) 250px; }
}

@media (max-width: 760px) {
  .gm-ai-team-layout,
  .gm-war-room-layout { display: block; }
  .gm-ai-team-system,
  .gm-ai-team-twin,
  .gm-war-room-system { margin-bottom: 14px; }
  .gm-ai-team-system,
  .gm-war-room-system { padding: 18px 18px 0; }
  .gm-ai-team-system > header,
  .gm-war-room-system > header { display: block; padding: 0 0 16px; }
  .gm-ai-team-system > header > p,
  .gm-war-room-system > header > p { margin-top: 12px; }
  .gm-war-room-system > header .gm-card-label,
  .gm-war-room-system > header h3 { margin: 0; }
  .gm-war-room-system > header h3 { margin-top: 8px; }
  .gm-ai-team-levels,
  .gm-war-room-flow { grid-template-columns: 1fr; }
  .gm-ai-team-levels li,
  .gm-war-room-flow li { min-height: 0; padding: 14px 0; border-right: 0; border-bottom: 1px solid var(--gm-line); }
  .gm-ai-team-levels li:last-child,
  .gm-war-room-flow li:last-child { border-bottom: 0; }
  .gm-ai-team-twin { display: block; }
  .gm-ai-team-twin__copy { padding: 22px; }
  .gm-ai-team-twin__copy > header { display: block; }
  .gm-ai-team-twin__copy > header > p { margin-top: 10px; }
  .gm-ai-team-outcomes { grid-template-columns: 1fr; }
  .gm-ai-team-outcomes article,
  .gm-ai-team-outcomes article + article { padding: 14px 0; border-left: 0; border-bottom: 1px solid rgba(225, 218, 181, 0.18); }
  .gm-ai-team-outcomes article:last-child { border-bottom: 0; }
  .gm-war-room-output { grid-template-columns: 1fr; gap: 5px; margin: 0 -18px; }
  .gm-ai-team-twin .gm-agent-demo-card,
  .gm-war-room-layout .gm-agent-demo-card { display: none; }
}

/* V21 · landscape conversation cases and split AI in Team narrative */
.gm-ai-team-principle {
  display: grid;
  grid-template-columns: 150px minmax(240px, 0.55fr) minmax(0, 0.45fr);
  align-items: center;
  gap: 24px;
  margin: 0 -22px;
  padding: 20px 24px;
  color: #fffdf5;
  background:
    radial-gradient(circle at 82% 10%, rgba(184, 158, 79, 0.16), transparent 34%),
    #17352d;
}

.gm-ai-team-principle > span,
.gm-conversation-copy footer > span {
  color: #c9b76e;
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0.16em;
}

.gm-ai-team-principle > strong {
  font-family: var(--gm-serif);
  font-size: clamp(17px, 1.2vw, 21px);
}

.gm-ai-team-principle > p {
  margin: 0;
  color: rgba(244, 240, 220, 0.66);
  font-size: 11px;
  letter-spacing: 0.08em;
}

.gm-conversation-layout {
  display: grid;
  height: clamp(440px, 55vh, 545px);
  min-height: 0;
  grid-template-columns: minmax(280px, 0.36fr) minmax(540px, 0.64fr);
  gap: 14px;
  margin-top: 14px;
}

.gm-conversation-copy {
  --gm-conversation-padding: clamp(23px, 2.2vw, 34px);
  display: flex;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  padding: var(--gm-conversation-padding);
  overflow: hidden;
  border: 1px solid var(--gm-line);
  border-top: 2px solid rgba(161, 138, 71, 0.58);
  background: rgba(255, 254, 250, 0.82);
}

.gm-conversation-copy .gm-card-label {
  margin: 0;
}

.gm-conversation-copy > h3 {
  margin: 12px 0 10px;
  font-family: var(--gm-serif);
  font-size: clamp(23px, 1.65vw, 30px);
  font-weight: 600;
  line-height: 1.28;
}

.gm-conversation-copy > p {
  margin: 0;
  color: var(--gm-ink-soft);
  font-size: clamp(11px, 0.76vw, 12.5px);
  line-height: 1.68;
}

.gm-conversation-points {
  display: grid;
  margin-top: 20px;
  border-top: 1px solid var(--gm-line);
}

.gm-conversation-points article {
  position: relative;
  display: grid;
  grid-template-columns: 50px 92px minmax(0, 1fr);
  align-items: baseline;
  gap: 10px;
  padding: 14px 0;
  border-bottom: 1px solid var(--gm-line);
}

.gm-conversation-points article > span {
  color: var(--gm-gold);
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0.12em;
}

.gm-conversation-points article > strong {
  font-family: var(--gm-serif);
  font-size: 15px;
  line-height: 1.4;
}

.gm-conversation-points article > p {
  margin: 0;
  color: var(--gm-ink-soft);
  font-size: 10.5px;
  line-height: 1.55;
}

.gm-conversation-copy > footer {
  display: grid;
  gap: 7px;
  margin: auto calc(0px - var(--gm-conversation-padding)) calc(0px - var(--gm-conversation-padding));
  padding: 17px var(--gm-conversation-padding);
  color: #fffdf5;
  background: #17352d;
}

.gm-conversation-copy > footer strong {
  font-family: var(--gm-serif);
  font-size: 14px;
  font-weight: 600;
}

.gm-chat-window {
  position: relative;
  display: grid;
  min-width: 0;
  min-height: 0;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  overflow: hidden;
  border: 1px solid rgba(225, 218, 181, 0.22);
  border-top: 2px solid var(--gm-gold);
  color: #fffdf5;
  background:
    radial-gradient(circle at 86% 8%, rgba(184, 158, 79, 0.18), transparent 31%),
    linear-gradient(142deg, #18382f 0%, #102c25 100%);
  box-shadow: 0 18px 48px rgba(18, 55, 47, 0.12);
}

.gm-chat-header {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 12px 20px;
  border-bottom: 1px solid rgba(225, 218, 181, 0.18);
}

.gm-chat-header > div {
  display: grid;
  gap: 3px;
}

.gm-chat-header small,
.gm-chat-header > span {
  color: #c9b76e;
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0.14em;
}

.gm-chat-header strong {
  font-family: var(--gm-serif);
  font-size: 18px;
  font-weight: 600;
}

.gm-chat-header > span {
  padding: 6px 9px;
  border: 1px solid rgba(201, 183, 110, 0.38);
}

.gm-chat-source {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  margin: 10px 14px 0;
  padding: 9px 12px;
  border: 1px solid rgba(18, 55, 47, 0.12);
  border-left: 2px solid var(--gm-gold);
  color: var(--gm-ink);
  background: rgba(255, 254, 250, 0.96);
}

.gm-chat-source > span,
.gm-chat-source > small {
  color: var(--gm-gold);
  font-size: 8px;
  font-weight: 750;
  letter-spacing: 0.1em;
}

.gm-chat-source > p {
  margin: 0;
  color: var(--gm-ink-soft);
  font-size: 10px;
}

.gm-chat-source > small {
  padding: 4px 6px;
  border: 1px solid rgba(161, 138, 71, 0.3);
}

.gm-chat-viewport {
  min-height: 0;
  margin: 10px 14px;
  overflow: hidden;
  border: 1px solid rgba(225, 218, 181, 0.18);
  background:
    repeating-linear-gradient(0deg, rgba(18, 55, 47, 0.018) 0, rgba(18, 55, 47, 0.018) 1px, transparent 1px, transparent 4px),
    #f5f3ec;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0, #000 18px, #000 calc(100% - 18px), transparent 100%);
}

.gm-chat-stream {
  display: grid;
  gap: 10px;
  padding: 20px;
  color: var(--gm-ink);
  will-change: transform;
}

.gm-chapter.is-active .gm-chat-window--executive .gm-chat-stream {
  animation: gmChatRollExecutive 13s cubic-bezier(0.6, 0, 0.3, 1) infinite;
}

.gm-chapter.is-active .gm-chat-window--strategy .gm-chat-stream {
  animation: gmChatRollStrategy 15s cubic-bezier(0.6, 0, 0.3, 1) infinite;
}

.gm-chat-message {
  display: flex;
  max-width: 86%;
  align-items: flex-start;
  gap: 9px;
}

.gm-chat-message > p,
.gm-chat-message--agent > div {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(18, 55, 47, 0.13);
  background: rgba(255, 254, 250, 0.98);
  box-shadow: 0 8px 20px rgba(20, 56, 47, 0.04);
  font-size: clamp(10.5px, 0.7vw, 12px);
  line-height: 1.58;
}

.gm-chat-message--user {
  justify-self: end;
}

.gm-chat-message--user > p {
  color: #fff;
  border-color: #21483e;
  border-radius: 14px 4px 14px 14px;
  background: #21483e;
}

.gm-chat-message--agent {
  justify-self: start;
}

.gm-chat-message--agent > span {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 7px;
  color: #fff;
  background: #17352d;
  font-family: Georgia, serif;
  font-size: 8px;
}

.gm-chat-message--agent > div {
  border-radius: 4px 14px 14px 14px;
}

.gm-chat-message--agent strong {
  display: block;
  margin-bottom: 4px;
  font-family: var(--gm-serif);
  font-size: 13px;
}

.gm-chat-message--agent p {
  margin: 0;
  color: var(--gm-ink-soft);
}

.gm-chat-message--agent small {
  display: block;
  margin-top: 7px;
  color: var(--gm-gold);
  font-size: 8px;
  font-weight: 700;
}

.gm-chat-event {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  margin-top: 7px;
  padding: 7px 8px;
  border: 1px solid var(--gm-line);
  background: rgba(239, 236, 225, 0.58);
}

.gm-chat-event b,
.gm-chat-event small {
  color: var(--gm-gold);
  font-size: 8px;
}

.gm-chat-event p {
  color: var(--gm-ink) !important;
  font-size: 10px;
  line-height: 1.45;
}

.gm-chat-message--agent ol {
  display: grid;
  gap: 4px;
  margin: 7px 0 0;
  padding-left: 1.25em;
  color: var(--gm-ink-soft);
  font-size: 10px;
}

.gm-chat-composer {
  position: relative;
  display: flex;
  height: 48px;
  align-items: center;
  gap: 10px;
  padding: 8px 14px 12px;
  border-top: 1px solid rgba(225, 218, 181, 0.18);
}

.gm-chat-composer > span {
  display: flex;
  height: 30px;
  flex: 1;
  align-items: center;
  padding: 0 12px;
  border: 1px solid rgba(225, 218, 181, 0.24);
  border-radius: 16px;
  color: rgba(244, 240, 220, 0.54);
  font-size: 9px;
}

.gm-chat-composer > i {
  position: relative;
  display: block;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(201, 183, 110, 0.45);
  border-radius: 50%;
}

.gm-chat-composer::after {
  position: absolute;
  right: 14px;
  bottom: 5px;
  left: 14px;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, var(--gm-gold) 0 16%, rgba(201, 183, 110, 0.18) 16% 100%);
  animation: gmChatProgress 13s linear infinite;
  transform-origin: left;
}

.gm-chat-window--strategy .gm-chat-composer::after {
  animation-duration: 15s;
}

@keyframes gmChatRollExecutive {
  0% { opacity: 0; transform: translateY(0); }
  4%, 16% { opacity: 1; transform: translateY(0); }
  42%, 52% { opacity: 1; transform: translateY(-82px); }
  78%, 92% { opacity: 1; transform: translateY(-165px); }
  97% { opacity: 0; transform: translateY(-165px); }
  100% { opacity: 0; transform: translateY(0); }
}

@keyframes gmChatRollStrategy {
  0% { opacity: 0; transform: translateY(0); }
  4%, 14% { opacity: 1; transform: translateY(0); }
  39%, 48% { opacity: 1; transform: translateY(-138px); }
  76%, 92% { opacity: 1; transform: translateY(-286px); }
  97% { opacity: 0; transform: translateY(-286px); }
  100% { opacity: 0; transform: translateY(0); }
}

@keyframes gmChatProgress {
  0% { transform: scaleX(0); }
  94% { transform: scaleX(1); }
  100% { transform: scaleX(0); }
}

@media (max-width: 1180px) and (min-width: 901px) {
  .gm-conversation-layout {
    grid-template-columns: minmax(250px, 0.35fr) minmax(440px, 0.65fr);
  }

  .gm-conversation-points article {
    grid-template-columns: 44px 76px minmax(0, 1fr);
    gap: 7px;
  }
}

@media (max-width: 900px) {
  .gm-conversation-layout {
    display: grid;
    height: auto;
    grid-template-columns: 1fr;
  }

  .gm-conversation-copy {
    min-height: 440px;
    overflow: visible;
  }

  .gm-chat-window {
    min-height: 520px;
  }

  .gm-chat-viewport {
    min-height: 350px;
  }
}

@media (max-width: 760px) {
  .gm-ai-team-principle {
    grid-template-columns: 1fr;
    gap: 6px;
    margin-inline: -18px;
    padding: 18px;
  }

  .gm-conversation-copy {
    min-height: 470px;
    padding: 20px;
  }

  .gm-conversation-points article {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .gm-conversation-points article > p {
    grid-column: 2;
  }

  .gm-conversation-copy > footer {
    margin: auto -20px -20px;
    padding: 16px 20px;
  }

  .gm-chat-window {
    min-height: 500px;
  }

  .gm-chat-header {
    padding-inline: 14px;
  }

  .gm-chat-header > span {
    display: none;
  }

  .gm-chat-source {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .gm-chat-source > small {
    display: none;
  }

  .gm-chat-stream {
    padding: 16px 12px;
  }

  .gm-chat-message {
    max-width: 94%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .gm-chapter.is-active .gm-chat-window .gm-chat-stream,
  .gm-chat-composer::after {
    animation: none;
  }

  .gm-chat-viewport {
    overflow-y: auto;
    mask-image: none;
  }
}

/* V24 · faithful portrait applications */
.gm-ai-team-system > header {
  display: block;
  padding-bottom: 16px;
}

.gm-ai-team-challenges {
  display: grid;
  grid-template-columns: 110px repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--gm-line);
  border-bottom: 1px solid var(--gm-line);
  background: rgba(239, 236, 225, 0.34);
}

.gm-ai-team-challenges > * {
  display: flex;
  min-height: 44px;
  align-items: center;
  margin: 0;
  padding: 10px 16px;
  border-right: 1px solid var(--gm-line);
  border-bottom: 1px solid var(--gm-line);
}

.gm-ai-team-challenges > :nth-child(3),
.gm-ai-team-challenges > :last-child {
  border-right: 0;
}

.gm-ai-team-challenges > :nth-last-child(-n + 2),
.gm-ai-team-challenges > span {
  border-bottom: 0;
}

.gm-ai-team-challenges > span {
  grid-row: 1 / 3;
  justify-content: center;
  color: var(--gm-gold-deep);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.12em;
}

.gm-ai-team-challenges p {
  color: var(--gm-ink-soft);
  font-size: clamp(10px, 0.72vw, 12px);
  line-height: 1.5;
}

.gm-ai-team-levels {
  border-top: 0;
}

.gm-portrait-layout {
  display: grid;
  min-height: 0;
  flex: 1 1 auto;
  grid-template-columns: minmax(240px, 0.34fr) minmax(0, 0.66fr);
  gap: clamp(18px, 2vw, 30px);
  margin-top: 18px;
}

.gm-portrait-demo-card {
  display: grid;
  min-height: 0;
  grid-template-rows: auto minmax(0, 1fr) auto;
  padding: 16px;
  overflow: hidden;
  border: 1px solid rgba(225, 218, 181, 0.22);
  background: #17352d;
  box-shadow: 0 18px 48px rgba(18, 55, 47, 0.14);
}

.gm-portrait-demo-card .gm-card-label {
  margin-bottom: 12px;
  color: #c9b76e;
}

.gm-portrait-demo-window {
  min-height: 0;
  overflow: hidden;
  border: 1px solid rgba(225, 218, 181, 0.4);
  background: #102c25;
}

.gm-portrait-demo-window img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: contain;
  object-position: center;
}

.gm-portrait-demo-card > p {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  margin: 0;
  padding-top: 12px;
  color: #fffdf5;
}

.gm-portrait-demo-card > p strong {
  font-family: var(--gm-serif);
  font-size: clamp(16px, 1.25vw, 20px);
  font-weight: 600;
}

.gm-portrait-demo-card > p span {
  color: rgba(244, 240, 220, 0.62);
  font-size: 9px;
  letter-spacing: 0.05em;
  text-align: right;
}

.gm-portrait-copy {
  display: grid;
  min-height: 0;
  border-top: 2px solid rgba(161, 138, 71, 0.58);
  border-bottom: 1px solid var(--gm-line);
  background: rgba(255, 254, 250, 0.78);
}

.gm-portrait-copy--three {
  grid-template-rows: repeat(3, minmax(0, 1fr));
}

.gm-portrait-copy--three article {
  display: grid;
  grid-template-columns: 46px minmax(110px, 0.25fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(14px, 1.8vw, 28px);
  padding: clamp(18px, 2vw, 30px);
  border: 1px solid var(--gm-line);
  border-top: 0;
}

.gm-portrait-copy article > span,
.gm-portrait-copy section > span {
  color: var(--gm-gold-deep);
  font-size: 9px;
  font-weight: 750;
  letter-spacing: 0.13em;
}

.gm-portrait-copy h3 {
  margin: 0;
  font-family: var(--gm-serif);
  font-size: clamp(18px, 1.45vw, 24px);
  font-weight: 600;
}

.gm-portrait-copy p,
.gm-portrait-copy li {
  margin: 0;
  color: var(--gm-ink-soft);
  font-size: clamp(11px, 0.78vw, 13px);
  line-height: 1.72;
}

.gm-portrait-copy--strategy {
  grid-template-rows: minmax(0, 0.78fr) minmax(0, 1.22fr);
}

.gm-portrait-copy--strategy section {
  display: grid;
  min-height: 0;
  grid-template-columns: 72px 90px minmax(0, 1fr);
  align-items: center;
  gap: clamp(16px, 2vw, 30px);
  padding: clamp(20px, 2.2vw, 34px);
  border: 1px solid var(--gm-line);
  border-top: 0;
}

.gm-portrait-copy--strategy section:last-child {
  background: rgba(239, 236, 225, 0.34);
}

.gm-portrait-copy--strategy ul {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.gm-portrait-copy--strategy li {
  position: relative;
  padding-left: 15px;
}

.gm-portrait-copy--strategy li::before {
  position: absolute;
  top: 0.78em;
  left: 0;
  width: 5px;
  height: 1px;
  content: "";
  background: var(--gm-gold);
}

@media (max-width: 900px) {
  .gm-portrait-layout {
    grid-template-columns: 1fr;
  }

  .gm-portrait-demo-card {
    min-height: 620px;
  }
}

@media (max-width: 760px) {
  .gm-ai-team-challenges {
    grid-template-columns: 1fr;
  }

  .gm-ai-team-challenges > *,
  .gm-ai-team-challenges > :nth-child(3),
  .gm-ai-team-challenges > :last-child,
  .gm-ai-team-challenges > :nth-last-child(-n + 2),
  .gm-ai-team-challenges > span {
    grid-row: auto;
    border-right: 0;
    border-bottom: 1px solid var(--gm-line);
  }

  .gm-ai-team-challenges > span {
    justify-content: flex-start;
  }

  .gm-portrait-demo-card {
    min-height: 560px;
  }

  .gm-portrait-copy--three article,
  .gm-portrait-copy--strategy section {
    grid-template-columns: 40px minmax(0, 1fr);
  }

  .gm-portrait-copy--three p,
  .gm-portrait-copy--strategy ul {
    grid-column: 2;
  }
}
