/* ControlStack proposal and shared workday review sections. Typography is scoped to .csr-page. */
.csr-page { --csr-ink:#0d253b; --csr-muted:#bfd1e1; --csr-blue:#75caff; --csr-green:#b4e475; color:#eef6fc; background:#041524; }
.csr-page *, .csr-page *::before, .csr-page *::after { box-sizing:border-box; }
.csr-page h2, .csr-page h3, .csr-page strong { color:inherit; }
.csr-page h2, .csr-page h3 { font-family:Exo,Arial,sans-serif; }
.csr-page h2 { font-size:clamp(27px,2.35vw,36px); line-height:1.22; letter-spacing:-.6px; }
.csr-page h3 { font-size:20px; line-height:1.35; }
.csr-page p { margin:0; font-size:15px; line-height:1.75; }
.csr-page .csr-eyebrow { color:#8fc6f2; font-size:10px; font-weight:700; line-height:1.5; text-transform:uppercase; letter-spacing:1.7px; }
.csr-page .csr-eyebrow + h2 { margin-top:12px; }
.csr-page a:focus-visible, .csr-page button:focus-visible, .csr-page summary:focus-visible { outline:2px solid #b4e475; outline-offset:5px; }
.csr-hero { padding:6px 0 58px; background:radial-gradient(ellipse at 80% 20%,#123d5c80,transparent 55%),#041524; }
.csr-hero-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:5%; align-items:start; }
.csr-hero-grid > *, .csr-section-head > *, .csr-faq-grid > *, .csr-included-grid > * { min-width:0; }
.csr-page .csr-review-label { display:flex; align-items:center; gap:8px; width:fit-content; margin-bottom:24px; padding:5px 10px; border:1px solid #5b7893; border-radius:4px; color:#d1deea; background:#102b3d; font-size:10px; letter-spacing:.3px; }
.csr-review-label > span { width:5px; height:5px; border-radius:50%; background:#b4e475; }
.csr-hero h1 { margin:10px 0 0; color:#fff; }
.csr-hero h1 > span { color:#71c9ff; }
.csr-hero h1 > sup { display:inline-block; vertical-align:top; margin:5px 0 0 3px; font:500 15px/1.4 Arial,sans-serif; letter-spacing:0; }
.csr-page .csr-hero-copy > h2 { margin:17px 0 22px; color:#fff; font-size:clamp(27px,2.3vw,35px); }
.csr-page .csr-hero-lead { max-width:490px; margin-bottom:18px; color:#e3eef7; font-size:20px; line-height:1.5; }
.csr-hero-copy > p:not([class]) { margin-top:15px; max-width:520px; color:#bfd1e1; }
.csr-actions { display:flex; align-items:center; flex-wrap:wrap; gap:20px; margin-top:28px; }
.csr-actions .button, .csr-cta .button { font-size:12px; padding:14px 20px; gap:20px; }
.csr-text-link { color:#e6f4ff; font-size:12px; font-weight:600; }
.csr-text-link > span { margin-left:9px; color:#8fc6f2; }
.csr-page .csr-hero-footnote { margin-top:23px; font-size:11px; color:#91aec6; }
/* A two-lane process diagram: user actions on the left, service interventions on the right. */
.csr-story { margin:0; padding:25px 26px 18px; border:1px solid #39617b; border-radius:14px; background:linear-gradient(145deg,#102e44,#071d30); box-shadow:0 20px 50px #0003; }
.csr-page .csr-story figcaption h2 { margin-top:9px; font-size:26px; line-height:1.25; }
.csr-page .csr-story figcaption > p:last-child { margin-top:10px; max-width:440px; font-size:12px; line-height:1.65; color:#c4d6e4; }
.csr-flow { margin-top:20px; padding:13px 14px 14px; overflow:hidden; border:1px solid #315a71; border-radius:10px; background:radial-gradient(ellipse at 50% 38%,#164b57 0%,#0a263b 55%,#061b2e 100%); }
.csr-flow-header { display:flex; justify-content:space-between; gap:10px; color:#a8c3d5; font-size:9px; font-weight:700; letter-spacing:.8px; text-transform:uppercase; }
.csr-flow-header > span:last-child { color:#b7df98; letter-spacing:1px; white-space:nowrap; }
.csr-flow-header i { display:inline-block; width:6px; height:6px; margin-right:5px; border-radius:50%; background:#b4e475; }
.csr-flow-art { display:block; width:100%; height:auto; margin:3px auto -3px; overflow:visible; }
.csr-flow-halo { fill:none; stroke:#49b8e0; stroke-width:14; opacity:.08; }
.csr-flow-route { fill:none; stroke:url(#csr-route-gradient); stroke-width:2; stroke-dasharray:5 5; opacity:.7; }
.csr-flow-arrow { fill:none; stroke:#a8d985; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.csr-flow-laptop rect:first-child { fill:#103958; stroke:#69bdf0; stroke-width:2; }
.csr-flow-laptop rect:nth-child(2) { fill:#071d30; stroke:#477997; stroke-width:1; }
.csr-flow-laptop path:nth-of-type(1) { fill:#307497; stroke:#8ac9eb; stroke-width:1.3; stroke-linejoin:round; }
.csr-flow-laptop path:nth-of-type(2) { fill:none; stroke:#5388a4; stroke-width:2; stroke-linecap:round; }
.csr-flow-laptop circle { fill:#a9e084; }
.csr-flow-shield circle { fill:#123e3c; stroke:#a6d878; stroke-width:1.5; }
.csr-flow-shield path:nth-of-type(1) { fill:#1e5b4a; stroke:#c1ee98; stroke-width:2; stroke-linejoin:round; }
.csr-flow-shield path:nth-of-type(2) { fill:none; stroke:#ddf9c5; stroke-width:2.5; stroke-linecap:round; stroke-linejoin:round; }
.csr-flow-dlp circle { fill:#103f40; stroke:#a6d878; stroke-width:1.5; }
.csr-flow-dlp text { fill:#e2f7d1; font:700 10px 'Open Sans',Arial,sans-serif; letter-spacing:.3px; }
.csr-story[data-story-scene="2"] .csr-flow-dlp circle { fill:#266448; stroke:#d3ffac; stroke-width:2; filter:drop-shadow(0 0 5px #b4e47599); }
.csr-flow-teammate > circle:first-child { fill:#0b304c; stroke:#6eb5e2; stroke-width:1.5; }
.csr-flow-teammate > circle:nth-child(2) { fill:#7eb9d9; }
.csr-flow-teammate > path:nth-child(3) { fill:#4b8eb4; }
.csr-flow-approved { fill:#b4e475; stroke:#0b304c; stroke-width:2; }
.csr-flow-check { fill:none; stroke:#143c32; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.csr-flow-file { transform:translate(139px,76px); }
.csr-story[data-story-scene="1"] .csr-flow-file { transform:translate(196px,76px); }
.csr-story[data-story-scene="2"] .csr-flow-file { transform:translate(370px,76px); }
.csr-story[data-story-scene="3"] .csr-flow-file { transform:translate(401px,76px); }
.csr-file-shadow { fill:#e6f7ff; stroke:#6fcef5; stroke-width:2; }
.csr-file-paper { fill:#e6f7ff; stroke:#185a7c; stroke-width:1.5; stroke-linejoin:round; }
.csr-file-fold { fill:none; stroke:#185a7c; stroke-width:1.2; stroke-linecap:round; stroke-linejoin:round; }
.csr-flow-labels { display:grid; grid-template-columns:1fr 1fr 1fr; gap:5px; color:#d0e2ef; font-size:10px; font-weight:700; line-height:1.4; text-align:center; }
.csr-story-progress { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:5px; margin:15px 0 0; }
.csr-progress-stage { display:flex; align-items:center; justify-content:center; gap:5px; min-height:37px; padding:5px; border:1px solid #31566b; border-radius:5px; background:#0b2738; color:#b1c8d7; font-size:9px; font-weight:600; line-height:1.25; text-align:left; }
.csr-progress-stage img { flex:0 0 15px; opacity:.7; }
.csr-progress-stage > span { display:grid; gap:2px; }
.csr-progress-stage strong { font-size:10px; line-height:1.2; }
.csr-progress-stage > span > span { font-size:9px; line-height:1.25; }
.csr-progress-stage.is-current { border-color:#a0d17a; background:#244b3d; color:#e2f7d1; box-shadow:inset 0 0 0 1px #a0d17a30; }
.csr-progress-stage.is-current img { opacity:1; }
.csr-story-legend { display:grid; grid-template-columns:.87fr 1.13fr; gap:25px; margin:22px 0 9px; padding-inline:12px; font-size:9px; font-weight:700; letter-spacing:1.2px; text-transform:uppercase; color:#b0cadf; }
.csr-story-legend > span:last-child { color:#b4e475; }
.csr-story-steps { list-style:none; margin:0; padding:0; display:grid; gap:10px; }
.csr-story-steps > li { position:relative; }
.csr-story-steps > li:not(:last-child)::after { content:""; position:absolute; z-index:1; left:23px; bottom:-10px; height:10px; width:1px; background:#5f8aa8; }
.csr-story-step { position:relative; display:grid; grid-template-columns:.87fr 1.13fr; gap:25px; width:100%; padding:12px; border:1px solid #35556d; border-radius:7px; background:#061a2c; color:#e9f3fb; font-family:'Open Sans',Arial,sans-serif; text-align:left; cursor:pointer; }
.csr-story-step:disabled { cursor:default; opacity:1; }
.csr-story-step > span { min-width:0; }
.csr-story-action { display:flex; align-items:flex-start; gap:9px; }
.csr-step-number { flex:0 0 23px; margin-top:2px; color:#79b9e5; font:600 10px/21px Exo,Arial,sans-serif; border:1px solid #3e6381; border-radius:50%; text-align:center; }
.csr-story-action > span:last-child { display:grid; gap:5px; }
.csr-story-step strong { font-size:12px; font-weight:700; line-height:1.4; }
.csr-story-action > span > span, .csr-story-intervention > span:not(.csr-intervention-title):not(.csr-evidence-tag) { font-size:10.5px; line-height:1.55; color:#b8cee0; }
.csr-story-intervention { position:relative; display:grid; align-content:start; gap:5px; }
.csr-story-intervention::before { content:"→"; position:absolute; left:-21px; top:0; color:#a7d96a; font-size:15px; }
.csr-intervention-title { display:flex; align-items:flex-start; gap:6px; color:#d3edb5; }
.csr-intervention-title > img { flex:0 0 17px; width:17px; height:17px; }
.csr-evidence-tag { width:fit-content; margin-top:2px; font-size:8px; line-height:1.4; color:#bdd9a4; padding:3px 5px; border:1px solid #7da85355; border-radius:3px; }
.csr-story-steps > .is-current .csr-story-step { border-color:#91ba62; background:#113141; box-shadow:inset 3px 0 #a9d96d; }
.csr-story-outcome { display:flex; gap:10px; padding:16px 0 13px; margin-top:13px; border-top:1px solid #3f6077; }
.csr-story-outcome > img { flex:0 0 24px; }
.csr-page .csr-story-outcome p { display:grid; gap:4px; font-size:11px; line-height:1.55; color:#d3e7bf; }
.csr-story-outcome p > span { color:#b8cee0; font-size:10px; }
.csr-page .csr-story-caption { padding-top:10px; border-top:1px solid #35556d; font-size:9px; line-height:1.6; color:#a6bdcf; }
/* The requirement and the service package alternate dark and light reading surfaces. */
.csr-requirement { padding:33px 0; background:#102f46; border-block:1px solid #36566c; }
.csr-requirement-grid { display:grid; grid-template-columns:.5fr 1.9fr .8fr; gap:40px; align-items:start; }
.csr-page .csr-requirement h2 { margin:0 0 12px; font-size:24px; }
.csr-requirement-grid > div > p { color:#c5d7e4; font-size:14px; }
.csr-page .csr-requirement-result { padding-left:27px; border-left:2px solid #8cc63f; color:#b9cfe0; font-size:14px; line-height:1.8; }
.csr-requirement-result > strong { color:#eff8e6; font-size:18px; line-height:1.5; }
.csr-section { padding-block:64px; }
.csr-section-head { display:grid; grid-template-columns:1.2fr 1fr; align-items:end; gap:10%; margin-bottom:35px; }
.csr-section-head > p { max-width:500px; color:#bfcfdf; }
.csr-capabilities { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:30px; }
.csr-capabilities article { display:flex; flex-direction:column; padding-top:20px; border-top:1px solid #4c6b80; }
.csr-capability-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; color:#86a8c0; font:500 12px/1 Exo,Arial,sans-serif; }
.csr-capabilities h3 { margin:0 0 13px; font-size:20px; }
.csr-capabilities article > p { color:#bfcfdf; font-size:14px; line-height:1.8; }
.csr-page .csr-capability-value { margin-top:auto; padding-top:18px; color:#c6e9a7; font-size:12px; font-weight:600; }
.csr-bgt-layer { display:grid; grid-template-columns:.75fr 1.1fr 2fr; gap:30px; align-items:start; margin-top:39px; padding:27px 30px; border-left:3px solid #8cc63f; background:#102e42; }
.csr-bgt-layer > h3 { margin:0; font-size:22px; }
.csr-bgt-layer > p:last-child { color:#c4d5e2; font-size:14px; }
.csr-included { color:#0d253b; background:#eef3f5; }
.csr-included .csr-eyebrow { color:#42667e; }
.csr-included-grid { display:grid; grid-template-columns:.95fr 1.05fr; gap:10%; }
.csr-included-intro > p:not(.csr-eyebrow) { margin-top:22px; max-width:470px; color:#38566b; }
.csr-laptop { display:flex; align-items:flex-start; gap:16px; padding:23px; margin-top:30px; background:#0c2e45; color:#f0f7fc; border-left:3px solid #8cc63f; border-radius:0 7px 7px 0; }
.csr-laptop > img { flex:0 0 34px; }
.csr-page .csr-laptop p { display:grid; gap:8px; font-size:14px; line-height:1.6; }
.csr-laptop p > span { color:#bfd2e1; font-size:12px; }
.csr-deliverables { margin:0; padding:0; list-style:none; }
.csr-deliverables > li { display:flex; gap:20px; padding:20px 0; border-top:1px solid #b8c9d3; }
.csr-deliverables > li:first-child { padding-top:0; border-top:0; }
.csr-deliverables > li:last-child { padding-bottom:0; }
.csr-deliverables > li > span { flex:0 0 24px; padding-top:3px; color:#476e83; font:600 12px/1.6 Exo,Arial,sans-serif; }
.csr-deliverables h3 { margin:0 0 8px; font-size:19px; }
.csr-deliverables p { color:#38566b; font-size:14px; }
.csr-faq-grid { display:grid; grid-template-columns:.8fr 1.4fr; gap:12%; }
.csr-faq header > p:not(.csr-eyebrow) { margin-top:20px; max-width:320px; color:#c2d2df; font-size:14px; }
/* Preserve the current page's typography inside the shared section. */
.csr-page .csx-why { color:#f4f8ff; font:400 16px/1.6 'Open Sans',Arial,sans-serif; }
.csr-page .csx-why h2 { letter-spacing:normal; }
.csr-page .csx-why .eyebrow { margin-bottom:16px; font-size:11px; line-height:1.6; font-weight:600; letter-spacing:1.7px; }
@media (max-width:640px) { .csr-page .csx-why .eyebrow { margin-bottom:13px; } }
.csr-cta { padding-block:42px; border-block:1px solid #42627a; background:radial-gradient(ellipse at 80% 100%,#28614955,transparent 65%),#102f46; }
.csr-cta > div { display:flex; gap:40px; justify-content:space-between; align-items:center; }
.csr-cta h2 { margin-top:12px; }
.csr-cta p:not(.csr-eyebrow) { margin-top:16px; max-width:620px; color:#c3d6e5; font-size:14px; }
.csr-cta .button { flex-shrink:0; }
@media (prefers-reduced-motion:no-preference) {
  .csr-story-step { transition:background .25s,border-color .25s,box-shadow .25s; }
  .csr-progress-stage { transition:border-color .3s,background .3s,box-shadow .3s; }
  .csr-flow-dlp circle { transition:fill .3s,stroke .3s,filter .3s; }
  .csr-flow-file { transition:transform 1.1s cubic-bezier(.4,0,.2,1); }
  .csr-story[data-playing="true"] .is-current .csr-story-intervention::before { animation:csr-flow 1s ease-out 3; }
  @keyframes csr-flow { 0% { transform:translateX(-4px); opacity:.35; } 65%,100% { transform:translateX(0); opacity:1; } }
}
@media (max-width:1150px) {
  .csr-hero-grid { gap:4%; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
  .csr-story { padding:21px 18px 16px; }
  .csr-story-step { grid-template-columns:.85fr 1.15fr; gap:21px; padding:10px; }
  .csr-story-legend { gap:21px; padding-inline:10px; }
  .csr-story-action { gap:7px; }
  .csr-intervention-title > img { display:none; }
  .csr-requirement-grid { grid-template-columns:.65fr 2fr; gap:25px; }
  .csr-requirement-result { grid-column:2; }
  .csr-requirement-result br { display:none; }
  .csr-capabilities { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
  .csr-bgt-layer { grid-template-columns:1fr 2fr; gap:17px 28px; }
  .csr-bgt-layer > .csr-eyebrow { grid-column:1 / -1; }
}
@media (max-width:900px) {
  .csr-hero-grid { grid-template-columns:1fr; gap:35px; }
  .csr-hero-copy > p:not([class]), .csr-page .csr-hero-lead { max-width:640px; }
  .csr-story { max-width:650px; width:100%; justify-self:center; padding:25px; }
  .csr-story-step { grid-template-columns:.9fr 1.1fr; gap:32px; padding:14px; }
  .csr-story-step strong { font-size:14px; }
  .csr-story-action > span > span, .csr-story-intervention > span:not(.csr-intervention-title):not(.csr-evidence-tag) { font-size:12px; }
  .csr-evidence-tag { font-size:9px; }
  .csr-story-legend { grid-template-columns:.9fr 1.1fr; padding-inline:14px; gap:32px; }
  .csr-intervention-title > img { display:block; }
  .csr-section-head { grid-template-columns:1fr; gap:22px; }
  .csr-included-grid { gap:6%; }
  .csr-faq-grid { gap:6%; grid-template-columns:.8fr 1.3fr; }
  .csr-cta > div { align-items:start; }
}
@media (max-width:640px) {
  .csr-hero { padding-bottom:42px; }
  .csr-page .csr-review-label { margin-bottom:22px; }
  .csr-page .csr-hero-copy > h2 { font-size:27px; margin-top:13px; }
  .csr-page .csr-hero-lead { font-size:18px; }
  .csr-page .csr-hero-footnote { font-size:10px; }
  .csr-story { padding:21px 14px 16px; border-radius:10px; }
  .csr-flow { padding:12px 9px; }
  .csr-flow-labels { font-size:9px; }
  .csr-story-progress { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .csr-progress-stage { min-height:30px; justify-content:flex-start; padding-inline:8px; }
  .csr-page .csr-story figcaption h2 { font-size:23px; }
  .csr-desktop-break { display:none; }
  .csr-story-step { grid-template-columns:.85fr 1.15fr; gap:20px; padding:11px 9px; }
  .csr-story-action { gap:6px; }
  .csr-step-number { flex-basis:18px; font-size:8px; line-height:16px; }
  .csr-story-step strong { font-size:11px; }
  .csr-story-action > span > span, .csr-story-intervention > span:not(.csr-intervention-title):not(.csr-evidence-tag) { font-size:10px; }
  .csr-intervention-title > img { display:none; }
  .csr-story-intervention::before { left:-17px; font-size:13px; }
  .csr-story-legend { grid-template-columns:.85fr 1.15fr; padding-inline:9px; gap:20px; font-size:8px; letter-spacing:.6px; }
  .csr-evidence-tag { font-size:8px; }
  .csr-story-steps > li:not(:last-child)::after { left:18px; }
  .csr-story-outcome { align-items:start; }
  .csr-requirement { padding-block:30px; }
  .csr-requirement-grid { grid-template-columns:1fr; gap:17px; }
  .csr-requirement-result { grid-column:auto; }
  .csr-section { padding-block:44px; }
  .csr-capabilities { gap:25px; }
  .csr-capabilities h3 { font-size:18px; }
  .csr-capabilities article > p { font-size:13px; }
  .csr-bgt-layer { grid-template-columns:1fr; padding:23px 21px; gap:13px; }
  .csr-included-grid, .csr-faq-grid { grid-template-columns:1fr; gap:31px; }
  .csr-included h2 br, .csr-faq h2 br { display:none; }
  .csr-deliverables > li { gap:14px; }
  .csr-cta > div { flex-direction:column; gap:26px; }
}
@media (max-width:370px) {
  .csr-capabilities { grid-template-columns:1fr; }
  .csr-story { padding-inline:10px; }
  .csr-step-number { display:none; }
  .csr-story-steps > li:not(:last-child)::after { left:16px; }
}

/* Workday section on the current page. */
.cs-workday-review .csr-hero { padding-block:56px; border-top:1px solid #1d4a7366; }
.cs-workday-review .csr-hero-grid { max-width:1200px; margin-inline:auto; }
.cs-workday-review .csr-readiness { display:grid; justify-items:center; max-width:520px; margin-top:24px; padding:26px 28px; border:1px solid #5b95c633; border-radius:18px; background:linear-gradient(180deg,#0c2542,#0a2038); text-align:center; }
@media (max-width:900px) {
  .cs-workday-review .csr-readiness { margin-inline:auto; }
}
@media (max-width:640px) {
  .cs-workday-review .csr-hero { padding-block:42px; }
}
