/* Page-local commonAgent composition. Shared chrome stays under its own styles. */
.page-commonagent { --page-accent: #315c43; }
.ca {
  --ca-paper: #f7f4ed;
  --ca-brown: #2a2118;
  --ca-cream: #e8ddd0;
  --ca-green: #315c43;
  --ca-accent: #7ec09a;
  --ca-muted: #4a5560;
  --ca-rule: rgba(42, 33, 24, .2);
  --ca-support: 'Atkinson Hyperlegible Next', 'Atkinson Hyperlegible Next Fallback', sans-serif;
  background: var(--ca-paper);
  color: #141617;
  font-family: var(--sans);
  font-size: 17px;
  line-height: 1.6;
}
.ca *, .ca *::before, .ca *::after { box-sizing: border-box; }
.ca-wrap { max-width: 1200px; margin: 0 auto; padding: 0 clamp(22px, 4vw, 40px); }
.ca h1, .ca h2, .ca h3, .ca h4 { color: inherit; margin: 0; text-wrap: balance; }
.ca h1 { font-size: clamp(38px, 5vw, 64px); font-weight: 600; letter-spacing: -.035em; line-height: 1.06; }
.ca h2 { font-size: clamp(30px, 3.5vw, 44px); font-weight: 600; letter-spacing: -.025em; line-height: 1.13; }
.ca h3 { font-size: 21px; font-weight: 600; line-height: 1.3; }
.ca h4 { font-size: 20px; font-weight: 600; }
.ca p { margin: 18px 0 0; }
.ca a { color: var(--ca-green); text-underline-offset: 4px; text-decoration-thickness: 1px; }
.ca a:hover { text-decoration-thickness: 2px; }
.ca :is(a, summary):focus-visible { outline: 3px solid #0e5c82; outline-offset: 5px; }
.ca section[id], .ca [id="restart-method"] { scroll-margin-top: 100px; }
.ca .ca-eyebrow { margin: 0 0 16px; color: var(--ca-green); font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.ca-hero { padding: 46px 0 160px; background: var(--ca-brown); color: var(--ca-cream); }
.ca-brand { display: flex; justify-content: space-between; align-items: center; gap: 22px; margin-bottom: 48px; }
.ca-brand img { width: 260px; max-width: 65%; height: auto; display: block; }
.ca-brand > span { font-family: var(--ca-support); font-size: 14px; }
.ca-hero-grid { display: grid; grid-template-columns: 1.3fr 1fr; gap: 60px; align-items: start; }
.ca .ca-intro { margin: 0; font-size: clamp(19px, 2vw, 24px); line-height: 1.45; }
.ca-jumps { margin-top: 24px; display: grid; justify-items: start; }
.ca-jumps a { color: var(--ca-accent); min-height: 44px; display: inline-flex; align-items: center; gap: 18px; font-size: 16px; }
/* Disabled until the owner attaches release destinations. */
.ca-release-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.ca-downloads-title { flex-basis: 100%; margin: 0; font: 600 20px/1.3 var(--sans); color: var(--ca-cream); }
.ca-release-actions button { min-width: 130px; min-height: 48px; padding: 12px 24px; border: 1px solid var(--ca-accent); border-radius: 6px; background: var(--ca-green); color: #fefdfa; font: 600 17px/1.3 var(--sans); }
.ca-release-actions .ca-release-source { background: transparent; color: var(--ca-cream); border-color: var(--ca-cream); }
.ca-release-actions button:disabled { opacity: 1; cursor: not-allowed; }
.ca-shot { margin: 0; min-width: 0; }
.ca-shot > a { display: block; border-radius: 10px; }
.ca-shot img { display: block; width: 100%; height: auto; border: 1px solid #aab0b5; border-radius: 10px; }
.ca-shot figcaption { margin-top: 12px; color: var(--ca-muted); font-family: var(--ca-support); font-size: 14px; line-height: 1.5; }
.ca-hero-shot { position: relative; margin: -106px 0 68px; }
.ca-hero-shot img { box-shadow: 0 24px 55px -30px rgba(42, 33, 24, .45); }
.ca-section-head { max-width: 720px; }
.ca-section-head > p:last-child { max-width: 63ch; color: var(--ca-muted); font-size: 19px; }
.ca-permissions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px; margin: 36px 0 0; }
.ca-permissions > div { border-top: 2px solid var(--ca-green); padding-top: 18px; }
.ca-permissions dt { font-size: 21px; font-weight: 600; }
.ca-permissions dt span { display: block; font-size: 13px; color: var(--ca-green); margin-bottom: 13px; }
.ca-permissions dd { margin: 10px 0 0; color: var(--ca-muted); }
.ca .ca-model-note { border-top: 1px solid var(--ca-rule); padding-top: 25px; margin-top: 36px; color: var(--ca-muted); font-size: 16px; }
.ca-model-note strong { color: #141617; }
.ca-work { padding-bottom: 84px; }
.ca-memory { background: #eee9df; padding: 76px 0 56px; }
.ca-memory-intro { display: grid; grid-template-columns: 1.3fr 1fr; gap: 70px; align-items: center; }
.ca-memory-intro > div > p:last-child { max-width: 58ch; }
.ca-result { border-left: 2px solid var(--ca-green); padding: 16px 0 16px 30px; }
.ca-result > span { font-family: var(--ca-support); font-size: 14px; }
.ca-result > strong { display: block; font-size: 76px; font-weight: 600; line-height: 1.3; letter-spacing: -.04em; color: var(--ca-green); font-variant-numeric: tabular-nums; }
.ca-result > strong > span { font-size: 21px; letter-spacing: 0; }
.ca-result p { margin: 0 0 14px; }
.ca-result a { font-size: 14px; }
.ca-chart-heading { margin-top: 56px; display: flex; gap: 16px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.ca .ca-legend { margin: 0; display: flex; flex-wrap: wrap; gap: 18px; font-family: var(--ca-support); font-size: 13px; }
.ca-legend span { display: inline-flex; align-items: center; gap: 7px; }
.ca-legend i { width: 12px; height: 12px; display: inline-block; }
.ca-key-saved, .ca-bar-saved { background: var(--ca-green); }
.ca-key-reread, .ca-bar-reread { background: #889096; }
.ca-charts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; margin-top: 24px; }
.ca-model-chart { min-width: 0; padding: 20px 0 0; border-top: 1px solid var(--ca-rule); }
.ca-chart-row { margin-top: 24px; }
.ca-chart-row p { margin: 0 0 8px; font-family: var(--ca-support); font-size: 14px; }
.ca-bar-row { display: grid; grid-template-columns: minmax(0, 1fr) 68px; align-items: center; gap: 8px; margin: 6px 0; }
.ca-bar { display: block; height: 12px; width: var(--bar); }
.ca-bar-row > span:last-child { text-align: right; font-size: 14px; font-variant-numeric: tabular-nums; }
.ca .ca-axis { display: flex; justify-content: space-between; margin: 14px 76px 0 0; border-top: 1px solid var(--ca-rule); padding-top: 5px; font-family: var(--ca-support); font-size: 12px; color: var(--ca-muted); }
.ca .ca-method { max-width: 100ch; font-family: var(--ca-support); font-size: 14px; color: var(--ca-muted); margin-top: 25px; }
.ca-response { padding: 68px 0 72px; background: var(--ca-green); color: #fefdfa; }
.ca-response .ca-eyebrow { color: #fefdfa; }
.ca-response-heading { padding-bottom: 34px; border-bottom: 1px solid rgba(254, 253, 250, .35); }
.ca-response h2 { font-size: clamp(38px, 6vw, 70px); letter-spacing: -.035em; line-height: 1.1; }
.ca .ca-response-lead { margin-top: 16px; font-size: clamp(20px, 2.4vw, 28px); line-height: 1.4; }
.ca-response-grid { display: grid; grid-template-columns: 1.15fr 1fr; gap: 64px; margin-top: 38px; align-items: start; }
.ca-response-story > h3 { font-size: clamp(24px, 2.6vw, 31px); line-height: 1.2; }
.ca-response-story > p { max-width: 55ch; }
.ca-response-protection { border-top: 1px solid rgba(254, 253, 250, .35); margin-top: 28px; padding-top: 24px; }
.ca-response-protection p { margin-top: 12px; }
.ca-response-api { min-width: 0; padding: 30px; border-radius: 10px; background: var(--ca-brown); color: var(--ca-cream); }
.ca-response-api .ca-eyebrow { color: var(--ca-accent); }
.ca .ca-response-endpoint { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 16px 0; margin: 18px 0 0; border-top: 1px solid rgba(232, 221, 208, .3); border-bottom: 1px solid rgba(232, 221, 208, .3); }
.ca-response-endpoint > span { color: var(--ca-accent); font-size: 13px; font-weight: 600; letter-spacing: .06em; }
.ca-response code { font-family: var(--ca-support); font-size: 1em; color: inherit; background: transparent; padding: 0; overflow-wrap: anywhere; }
.ca-response-api dl { margin: 24px 0 0; }
.ca-response-api dl > div + div { margin-top: 20px; }
.ca-response-api dt { font-weight: 600; }
.ca-response-api dd { margin: 5px 0 0; font-size: 16px; }
.ca .ca-response-access { border-top: 1px solid rgba(232, 221, 208, .3); margin-top: 24px; padding-top: 18px; font-family: var(--ca-support); font-size: 14px; }
.ca-benchmark { padding-top: 84px; padding-bottom: 84px; }
.ca-bench-grid { display: grid; grid-template-columns: 1fr 1.8fr; gap: 48px; margin-top: 36px; align-items: start; }
.ca-steps { margin: 0; padding: 0; list-style: none; counter-reset: step; }
.ca-steps li { position: relative; counter-increment: step; padding: 0 0 28px 39px; }
.ca-steps li::before { content: counter(step); position: absolute; top: 0; left: 0; font-size: 16px; font-weight: 600; color: var(--ca-green); border-bottom: 2px solid var(--ca-green); width: 22px; }
.ca-steps p { margin-top: 10px; font-size: 16px; color: var(--ca-muted); }
.ca-review { margin-top: 20px; border-top: 1px solid var(--ca-rule); }
.ca-review summary { cursor: pointer; min-height: 48px; padding: 12px 0; color: var(--ca-green); font-weight: 600; }
.ca-review .ca-shot { margin-top: 10px; }
.ca-foundation { padding: 60px 0; background: var(--ca-brown); color: var(--ca-cream); }
.ca-foundation .ca-eyebrow, .ca-foundation a { color: var(--ca-accent); }
.ca-foundation-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 70px; }
.ca-foundation p { max-width: 45ch; }
.ca-stack { margin: 0; padding: 0 0 0 23px; border-left: 1px solid rgba(232,221,208,.3); }
.ca-stack > div { position: relative; padding: 0 0 24px; }
.ca-stack > div:last-child { padding-bottom: 0; }
.ca-stack > div::before { content: ''; position: absolute; left: -29px; top: 9px; width: 11px; height: 11px; border-radius: 50%; background: var(--ca-accent); border: 2px solid var(--ca-brown); }
.ca-stack dt { font-size: 20px; font-weight: 600; }
.ca-stack dd { margin: 5px 0 0; font-size: 16px; }
.ca-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 760px) {
  .ca-hero { padding-top: 32px; padding-bottom: 110px; }
  .ca-brand { align-items: start; flex-direction: column; gap: 10px; margin-bottom: 35px; }
  .ca-brand img { width: 230px; max-width: 100%; }
  .ca-hero-grid, .ca-memory-intro, .ca-foundation-grid, .ca-bench-grid { grid-template-columns: 1fr; gap: 32px; }
  .ca-hero-shot { margin-top: -68px; margin-bottom: 45px; }
  .ca-permissions { grid-template-columns: 1fr; gap: 24px; }
  .ca-permissions dt span { display: inline; margin-right: 14px; }
  .ca-permissions dd { margin-top: 6px; }
  .ca-work { padding-bottom: 52px; }
  .ca-memory { padding-top: 52px; padding-bottom: 44px; }
  .ca-result { padding-left: 22px; }
  .ca-result > strong { font-size: 66px; }
  .ca-charts { grid-template-columns: 1fr; gap: 22px; }
  .ca-chart-row { margin-top: 18px; }
  .ca-benchmark { padding-top: 52px; padding-bottom: 52px; }
  .ca-steps li:last-child { padding-bottom: 0; }
  .ca-response { padding: 48px 0; }
  .ca-response-grid { grid-template-columns: 1fr; gap: 30px; margin-top: 28px; }
  .ca-response-api { padding: 24px; }
  .ca-foundation { padding: 48px 0; }
}

/* Owner requested removing corner labels from preview presentation. */
.ca-shot > a { aspect-ratio:1440 / 866; overflow:hidden; border:1px solid #aab0b5; }
.ca-shot > a img { border:0; border-radius:0; }
