/* Data Foundry local design example. Existing page rules remain scoped and unchanged. */
body.cs-page-data-foundry { animation:none !important; opacity:1 !important; transform:none !important; }
.cs-page-data-foundry .df-hero { padding-block:32px 64px; }
.cs-page-data-foundry .df-breadcrumb { margin-bottom:40px; }
.cs-page-data-foundry .df-breadcrumb ol { display:flex; flex-wrap:wrap; gap:8px 12px; margin:0; padding:0; list-style:none; font-size:13px; line-height:1.6; color:var(--cs-muted); }
.cs-page-data-foundry .df-breadcrumb li { display:flex; align-items:baseline; gap:12px; margin:0; }
.cs-page-data-foundry .df-breadcrumb li+li::before { content:'/'; color:#7d8594; }
.cs-page-data-foundry .df-breadcrumb a { display:inline-flex; align-items:center; min-height:32px; text-underline-offset:5px; }
.cs-page-data-foundry .df-hero-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:56px; align-items:center; }
.cs-page-data-foundry .df-hero h1 { font-size:56px; line-height:1.12; text-wrap:balance; }
.cs-page-data-foundry .df-hero .cs-lead { margin-top:28px; }
.cs-page-data-foundry .df-status { display:inline-block; padding:7px 0; border-block:1px solid #697181; color:var(--cs-muted); font-size:14px; font-weight:400; line-height:1.5; }
.cs-page-data-foundry .cs-paper .df-status { border-color:#b9b9b7; color:var(--cs-slate); }
.cs-page-data-foundry .df-availability { margin-top:28px; }
.cs-page-data-foundry .df-availability p { font-size:16px; margin-top:16px; }
.cs-page-data-foundry .df-editorial { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:64px; }
.cs-page-data-foundry .df-editorial>h2 { max-width:490px; }
.cs-page-data-foundry .df-subsection { margin-top:48px; padding-top:40px; border-top:1px solid var(--cs-paper-line); }
.cs-page-data-foundry .df-materials { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px; margin-top:32px; }
.cs-page-data-foundry .df-materials h3 { font-size:24px; line-height:1.25; letter-spacing:-.025em; }
.cs-page-data-foundry .df-materials p { font-size:17px; }
.cs-page-data-foundry .df-programme { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:64px; }
.cs-page-data-foundry .df-programme h2 { max-width:490px; scroll-margin-top:24px; }
.cs-page-data-foundry .df-roadmap h2 { font-size:28px; }
.cs-page-data-foundry .df-roadmap-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 40px; margin:24px 0 0; }
.cs-page-data-foundry .df-roadmap-list>div { padding-block:20px; border-top:1px solid var(--cs-paper-line); }
.cs-page-data-foundry .df-roadmap-list dt { font-size:18px; font-weight:500; line-height:1.5; }
.cs-page-data-foundry .df-roadmap-list dd { margin:8px 0 0; font-size:14px; line-height:1.5; color:var(--cs-slate); }
.cs-page-data-foundry .df-programme-code { font-size:14px; font-weight:500; letter-spacing:.03em; margin-bottom:16px; }
.cs-page-data-foundry .df-paper-rule { border-top:1px solid var(--cs-paper-line); }
.cs-page-data-foundry .df-definition-list { margin:32px 0 0; }
.cs-page-data-foundry .df-definition-list>div { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:64px; padding-block:24px; border-top:1px solid var(--cs-paper-line); }
.cs-page-data-foundry .df-definition-list dt { font-size:20px; font-weight:500; line-height:1.5; max-width:360px; }
.cs-page-data-foundry .df-definition-list dd { margin:0; }
.cs-page-data-foundry .df-definition-list dd p { margin:0; }
.cs-page-data-foundry .df-review-date { font-size:13px; margin:40px 0 0; }
.cs-page-data-foundry .df-programme-hero-grid { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,.8fr); gap:64px; align-items:center; }
.cs-page-data-foundry .df-programme-status { padding:32px; border-left:1px solid var(--cs-line); }
.cs-page-data-foundry .df-programme-status .df-programme-code { margin-top:24px; }
.cs-page-data-foundry .df-example { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.05fr); gap:56px; align-items:center; }
.cs-page-data-foundry .df-example .cs-eyebrow { font-size:13px; font-weight:500; }
.cs-page-data-foundry .df-example h2 { font-size:36px; }
.cs-page-data-foundry .df-example-details { margin:24px 0 0; }
.cs-page-data-foundry .df-example-details>div { margin-top:20px; }
.cs-page-data-foundry .df-example-details dt { font-size:16px; font-weight:500; line-height:1.5; margin-bottom:8px; }
.cs-page-data-foundry .df-example-details dd { margin:0; }
.cs-page-data-foundry .df-example-details p { font-size:16px; }
.cs-page-data-foundry .df-coverage { padding-left:20px; margin:0 0 24px; }
.cs-page-data-foundry .df-coverage li { color:var(--cs-slate); margin-bottom:12px; padding-left:4px; }
.cs-page-data-foundry .cs-closing h2 { font-size:42px; }
.cs-page-data-foundry .cs-closing-actions { align-items:flex-start; }
.cs-page-data-foundry .cs-closing p+p { font-size:16px; }
/* Complete HTML labels and underlying SVG connections stay visible during motion. */
.cs-page-data-foundry .df-diagram { margin:0; padding:32px; min-width:0; border:1px solid var(--cs-line); border-radius:10px; background:var(--cs-navy); color:var(--cs-text); }
.cs-page-data-foundry .df-diagram figcaption { text-align:left; font-size:15px; font-weight:500; line-height:1.5; color:var(--cs-muted); margin-bottom:28px; }
.cs-page-data-foundry .df-artwork { min-width:0; }
.cs-page-data-foundry .ai-chain { display:grid; gap:32px; padding:0; margin:0; list-style:none; }
.cs-page-data-foundry .ai-chain>li { position:relative; margin:0; min-width:0; }
.cs-page-data-foundry .ai-node { display:flex; align-items:center; gap:20px; border:1.5px solid #687184; border-radius:6px; padding:16px 20px; background:#ffffff04; }
.cs-page-data-foundry .ai-node strong { font-size:15px; font-weight:500; line-height:1.5; color:var(--cs-text); }
.cs-page-data-foundry .df-icon { flex:none; width:48px; height:48px; fill:none; stroke:#7d8594; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.cs-page-data-foundry .df-icon *, .cs-page-data-foundry .ai-route-arrow * { vector-effect:non-scaling-stroke; }
.cs-page-data-foundry .ai-route-arrow { display:block; position:absolute; top:-24px; left:calc(50% - 14px); width:28px; height:16px; transform:rotate(90deg); fill:none; stroke:#7d8594; stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.cs-page-data-foundry .df-diagram .df-diagram-note { margin:24px 0 0; padding-top:20px; border-top:1px solid var(--cs-line); color:var(--cs-muted); font-size:14px; line-height:1.5; }
.cs-page-data-foundry .df-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.cs-page-data-foundry .df-diagram-horizontal { container-type:inline-size; }
@container (min-width:450px) {
  .cs-page-data-foundry .df-diagram-horizontal .ai-chain { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .cs-page-data-foundry .df-diagram-horizontal .ai-node { flex-direction:column; text-align:center; gap:16px; padding:20px 8px; height:100%; }
  .cs-page-data-foundry .df-diagram-horizontal .ai-route-arrow { transform:none; left:-30px; top:calc(50% - 8px); }
}
/* Small additions within the three approved existing pages. */
.cs-page-index .df-home-note { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:48px; margin-top:32px; padding-top:32px; border-top:1px solid var(--cs-line); }
.cs-page-index .df-home-note h3 { font-size:26px; line-height:1.25; margin:0 0 16px; letter-spacing:-.025em; font-weight:500; }
.cs-page-index .df-home-note .cs-eyebrow { margin-bottom:16px; }
.cs-page-index .df-home-note p:not(.cs-eyebrow) { font-size:17px; max-width:74ch; margin-bottom:0; }
.cs-page-ai .df-ai-note { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:48px; border-top:1px solid var(--cs-paper-line); padding-top:32px; margin-top:48px; }
.cs-page-ai .df-ai-note h2 { font-size:28px; margin-bottom:16px; }
.cs-page-ai .df-ai-note p:not(.cs-eyebrow) { font-size:17px; margin-bottom:0; }
.cs-page-ai .df-ai-note .cs-eyebrow { margin-bottom:16px; }
.cs-page-services .df-service-note { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:40px; padding-top:24px; margin-top:28px; border-top:1px solid var(--cs-line); }
.cs-page-services .df-service-note h4 { font-size:20px; margin-bottom:12px; }
.cs-page-services .df-service-note p { font-size:16px; margin-bottom:0; }
@media (max-width:1200px) {
  .cs-page-data-foundry .cs-wrap { padding-inline:40px; }
  .cs-page-data-foundry .df-hero-grid, .cs-page-data-foundry .df-editorial, .cs-page-data-foundry .df-programme, .cs-page-data-foundry .df-definition-list>div, .cs-page-data-foundry .df-example { gap:40px; }
  .cs-page-data-foundry .df-hero h1 { font-size:48px; }
}
@media (max-width:900px) {
  .cs-page-data-foundry .df-hero-grid, .cs-page-data-foundry .df-programme-hero-grid, .cs-page-data-foundry .df-example { grid-template-columns:1fr; gap:40px; }
  .cs-page-data-foundry .df-hero-grid>.df-diagram { width:100%; max-width:620px; }
  .cs-page-data-foundry .df-programme-status { border-left:0; border-top:1px solid var(--cs-line); padding:24px 0 0; }
  .cs-page-index .df-home-note, .cs-page-ai .df-ai-note, .cs-page-services .df-service-note { grid-template-columns:1fr; gap:20px; }
}
@media (max-width:760px) {
  .cs-page-data-foundry .df-editorial, .cs-page-data-foundry .df-materials, .cs-page-data-foundry .df-programme, .cs-page-data-foundry .df-definition-list>div { grid-template-columns:1fr; gap:16px; }
  .cs-page-data-foundry .df-materials { gap:32px; }
  .cs-page-data-foundry .df-editorial>h2 { margin-bottom:8px; max-width:600px; }
  .cs-page-data-foundry .df-definition-list dt { max-width:none; }
  .cs-page-data-foundry .df-programme { gap:24px; }
}
@media (max-width:600px) {
  .cs-page-data-foundry .cs-wrap { padding-inline:24px; }
  .cs-page-data-foundry .df-hero { padding-block:24px 48px; }
  .cs-page-data-foundry .df-breadcrumb { margin-bottom:28px; }
  .cs-page-data-foundry .df-breadcrumb ol { font-size:12px; }
  .cs-page-data-foundry .df-hero h1 { font-size:38px; }
  .cs-page-data-foundry .df-materials p, .cs-page-index .df-home-note p:not(.cs-eyebrow), .cs-page-ai .df-ai-note p:not(.cs-eyebrow) { font-size:16px; }
  .cs-page-data-foundry .df-materials h3 { font-size:24px; margin-bottom:16px; }
  .cs-page-data-foundry .df-roadmap h2 { font-size:24px; }
  .cs-page-data-foundry .df-roadmap-list { grid-template-columns:1fr; }
  .cs-page-data-foundry .df-roadmap-list dt { font-size:16px; }
  .cs-page-data-foundry .df-subsection { margin-top:40px; padding-top:32px; }
  .cs-page-data-foundry .df-diagram { padding:24px 20px; }
  .cs-page-data-foundry .ai-node { gap:16px; padding:16px; }
  .cs-page-data-foundry .df-icon { width:40px; height:40px; }
  .cs-page-data-foundry .df-example h2, .cs-page-data-foundry .cs-closing h2 { font-size:30px; }
  .cs-page-index .df-home-note h3, .cs-page-ai .df-ai-note h2 { font-size:24px; }
}
@media (max-width:360px) {
  .cs-page-data-foundry .cs-wrap { padding-inline:20px; }
  .cs-page-data-foundry .df-hero h1 { font-size:34px; }
  .cs-page-data-foundry .df-diagram { padding-inline:16px; }
  .cs-page-data-foundry .ai-node { padding-inline:12px; gap:12px; }
}
@media print {
  .cs-page-data-foundry, .cs-page-data-foundry .cs-main, .cs-page-data-foundry .cs-closing, .cs-page-data-foundry .df-diagram { background:#fff !important; color:#111 !important; }
  .cs-page-data-foundry .cs-site-header, .cs-page-data-foundry .cs-footer, .cs-page-data-foundry .cs-skip, .cs-page-data-foundry .df-breadcrumb { display:none !important; }
  .cs-page-data-foundry .cs-main :is(h1,h2,h3,h4,p,span,strong,dt,dd,li,a,figcaption) { color:#111 !important; }
  .cs-page-data-foundry .cs-wrap { width:auto; max-width:none; padding-inline:0; }
  .cs-page-data-foundry .cs-section, .cs-page-data-foundry .df-hero { padding-block:24px; }
  .cs-page-data-foundry .df-hero-grid, .cs-page-data-foundry .df-programme-hero-grid, .cs-page-data-foundry .df-example { display:block; }
  .cs-page-data-foundry .df-diagram { margin-block:24px; break-inside:avoid; }
  .cs-page-data-foundry :is(h1,h2,h3,h4,dt,summary) { break-after:avoid; }
  .cs-page-data-foundry .cs-faq details::details-content { content-visibility:visible; height:auto; }
}

/* Paired publisher-cycle labels; keep the existing four-stage artwork and timing. */
.cs-page-data-foundry .df-node-copy { min-width:0; }
.cs-page-data-foundry .df-node-copy strong { display:block; }
.cs-page-data-foundry .df-node-copy span { display:block; margin-top:4px; color:var(--cs-muted); font-size:14px; line-height:1.5; }
