/* Reusable editorial case-study layouts built on the homepage type and color system. */
.case-study-page { background:var(--bp-paper); color:var(--bp-ink); }
.case-study-page .bp-section { background-color:var(--bp-paper); }
.case-study-page h1,.case-study-page h2,.case-study-page h3 { color:var(--bp-ink); font-family:inherit; font-weight:600; }
.case-study-page h1 { max-width:920px; margin:0; font-size:clamp(42px,5.6vw,76px); line-height:1; letter-spacing:-.035em; text-wrap:balance; }
.case-study-page h2 { max-width:720px; margin:0; font-size:clamp(32px,3.8vw,52px); line-height:1.06; letter-spacing:-.025em; text-wrap:balance; }
.case-study-page h3 { margin:0; font-size:20px; line-height:1.25; }
.case-study-page .bp-eyebrow { color:var(--bp-rust); font-size:14px; }
.case-study-page .bp-link { font-size:14px; }
.cs-hero>.bp-wrap { padding-block:clamp(80px,10vw,136px); }
.cs-hero-grid { display:grid; grid-template-columns:minmax(0,7fr) minmax(280px,3fr); gap:clamp(56px,8vw,112px); align-items:end; margin-bottom:clamp(48px,6vw,72px); }
.cs-hero-lede { max-width:760px; margin:32px 0 0; color:var(--bp-ink); font-size:clamp(18px,2vw,24px); line-height:1.5; }
.cs-facts { margin:0; border-top:2px solid var(--deep-navy); }
.cs-facts div { padding:18px 0; border-bottom:1px solid var(--bp-line); }
.cs-facts dt { margin-bottom:5px; color:var(--bp-rust); font-family:'Space Mono',monospace; font-size:14px; font-weight:400; letter-spacing:.12em; text-transform:uppercase; }
.cs-facts dd { margin:0; font-size:14px; line-height:1.5; }
.cs-section>.bp-wrap { padding-block:clamp(72px,8vw,112px); }
.cs-section-compact>.bp-wrap { padding-block:clamp(56px,6vw,80px); }
.cs-section-feature>.bp-wrap { padding-block:clamp(88px,10vw,128px); }
.cs-narrative-grid { display:grid; grid-template-columns:minmax(260px,4fr) minmax(0,6fr); gap:clamp(48px,8vw,120px); align-items:start; }
.cs-prose { max-width:720px; }
.cs-prose p { margin:0; color:var(--bp-ink); font-size:17px; line-height:1.75; }
.cs-prose p+p { margin-top:24px; }
.cs-section-heading { max-width:780px; margin-bottom:clamp(48px,6vw,72px); }
.cs-section-heading .bp-eyebrow { margin-bottom:18px; }
.cs-visual { margin:0; }
.cs-visual-placeholder { display:flex; position:relative; justify-content:center; flex-direction:column; min-height:280px; padding:clamp(28px,5vw,64px); overflow:hidden; border:1px solid var(--bp-line); background-color:rgba(245,240,232,.82); background-image:linear-gradient(rgba(28,43,58,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(28,43,58,.045) 1px,transparent 1px); background-size:48px 48px; }
.cs-visual-placeholder::before,.cs-visual-placeholder::after { position:absolute; width:28px; height:28px; border-color:var(--bp-rust); content:''; }
.cs-visual-placeholder::before { top:18px; left:18px; border-top:1px solid; border-left:1px solid; }
.cs-visual-placeholder::after { right:18px; bottom:18px; border-right:1px solid; border-bottom:1px solid; }
.cs-visual-wide .cs-visual-placeholder { aspect-ratio:16/7; }
.cs-visual-panorama .cs-visual-placeholder { aspect-ratio:21/8; }
.cs-visual-standard .cs-visual-placeholder { aspect-ratio:4/3; }
.cs-visual-status { width:max-content; margin-bottom:18px; padding:5px 8px; border:1px solid var(--bp-rust); color:var(--bp-rust); font-family:'Space Mono',monospace; font-size:14px; letter-spacing:.12em; text-transform:uppercase; }
.cs-visual-placeholder strong { max-width:700px; color:var(--bp-ink); font-size:clamp(24px,3vw,40px); line-height:1.1; }
.cs-visual-placeholder p { max-width:720px; margin:18px 0 0; font-size:15px; line-height:1.65; }
.cs-visual-placeholder small { position:absolute; right:22px; bottom:18px; color:var(--bp-rust); font-family:'Space Mono',monospace; font-size:14px; letter-spacing:.08em; }
.cs-visual img { display:block; width:100%; height:auto; border:1px solid var(--bp-line); }
.cs-visual figcaption { max-width:760px; margin-top:12px; color:var(--bp-ink); font-size:14px; line-height:1.6; }
.cs-section-feature .cs-visual+.cs-pillar-grid,.cs-section-feature .cs-visual+.cs-capability-flow { margin-top:48px; }
.cs-requirements { margin-top:56px; border-top:2px solid var(--deep-navy); }
.cs-collection-label { margin:0; padding:18px 0; border-bottom:1px solid var(--bp-line); color:var(--bp-rust); font-family:'Space Mono',monospace; font-size:14px; letter-spacing:.12em; text-transform:uppercase; }
.cs-evidence-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; padding:0; list-style:none; }
.cs-evidence-list li { position:relative; min-width:0; padding:20px 28px 20px 22px; border-bottom:1px solid var(--bp-line); font-size:15px; line-height:1.6; }
.cs-evidence-list li::before { position:absolute; top:29px; left:0; width:8px; height:1px; background:var(--bp-rust); content:''; }
.cs-evidence-list li:nth-child(even) { padding-left:50px; }
.cs-evidence-list li:nth-child(even)::before { left:28px; }
.cs-evidence-list li:last-child:nth-child(odd) { grid-column:1/-1; }
.cs-tool-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); border-block:2px solid var(--deep-navy); }
.cs-narrative-grid+.cs-tool-grid,.cs-narrative-grid+.cs-decision-list { margin-top:56px; }
.cs-tool-grid article { display:flex; flex-direction:column; min-width:0; padding:28px 24px; }
.cs-tool-grid article+article { border-left:1px solid var(--bp-line); }
.cs-tool-grid h3 { margin-bottom:22px; font-size:17px; }
.cs-tool-grid>article>p { margin:0 0 18px; font-size:14px; line-height:1.6; }
.cs-item-label { display:block; margin-bottom:6px; color:var(--bp-rust); font-family:'Space Mono',monospace; font-size:14px; letter-spacing:.08em; text-transform:uppercase; }
.cs-tool-reason { padding-top:16px; border-top:1px solid var(--bp-line); }
.cs-tool-reason p { margin:0; color:var(--bp-ink); font-size:14px; line-height:1.65; }
.cs-pillar-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block:2px solid var(--deep-navy); }
.cs-pillar-grid article { min-width:0; padding:32px; }
.cs-pillar-grid article+article { border-left:1px solid var(--bp-line); }
.cs-pillar-grid h3 { margin-bottom:16px; }
.cs-pillar-grid p { margin:0; font-size:14px; line-height:1.65; }
.cs-capability-flow { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-top:2px solid var(--deep-navy); border-left:1px solid var(--bp-line); }
.cs-capability-flow article { position:relative; min-width:0; padding:30px 28px; border-right:1px solid var(--bp-line); border-bottom:1px solid var(--bp-line); }
.cs-capability-flow article:not(:last-child)::after { position:absolute; top:50%; right:-5px; z-index:1; width:9px; height:9px; border-top:1px solid var(--bp-rust); border-right:1px solid var(--bp-rust); background:var(--bp-paper); transform:translateY(-50%) rotate(45deg); content:''; }
.cs-capability-flow h3 { margin-bottom:12px; font-size:17px; }
.cs-capability-flow p { margin:0; font-size:14px; line-height:1.65; }
.cs-decision-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block:2px solid var(--deep-navy); }
.cs-decision-list article { min-width:0; padding:28px; }
.cs-decision-list article+article { border-left:1px solid var(--bp-line); }
.cs-decision-list h3 { margin-bottom:14px; font-size:17px; }
.cs-decision-list p { margin:0; font-size:14px; line-height:1.65; }
.cs-journey { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); position:relative; margin:0; padding:0; list-style:none; }
.cs-journey::before { position:absolute; top:27px; right:calc(100% / 12); left:calc(100% / 12); height:1px; background:var(--bp-rust); content:''; }
.cs-journey li { display:grid; position:relative; min-width:0; grid-template-rows:auto auto auto; padding-inline:12px; }
.cs-journey li>span { display:grid; position:relative; z-index:1; justify-self:center; width:54px; height:54px; margin-bottom:26px; place-items:center; border:1px solid var(--bp-rust); background:var(--bp-paper); color:var(--bp-rust); font-family:'Space Mono',monospace; font-size:14px; }
.cs-journey h3 { min-height:50px; margin-bottom:12px; font-size:15px; letter-spacing:.02em; text-transform:uppercase; }
.cs-journey p { margin:0; font-size:14px; line-height:1.65; }
.cs-workflow-record { margin-top:64px; padding:clamp(28px,4vw,48px); border-block:2px solid var(--deep-navy); background-image:linear-gradient(rgba(28,43,58,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(28,43,58,.035) 1px,transparent 1px); background-size:40px 40px; }
.cs-visual-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; margin-top:64px; }
.cs-visual-grid-count-1 { grid-template-columns:minmax(0,1fr); }
.cs-workflow-record ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:32px; margin:0; padding:0; counter-reset:workflow; list-style:none; }
.cs-workflow-record li { display:grid; grid-template-columns:36px minmax(0,1fr); position:relative; min-height:64px; align-items:start; padding:20px 12px 20px 0; border-bottom:1px solid var(--bp-line); font-size:15px; line-height:1.6; counter-increment:workflow; }
.cs-workflow-record li::before { color:var(--bp-rust); font-family:'Space Mono',monospace; font-size:14px; line-height:1.6; content:counter(workflow,decimal-leading-zero); }
.cs-evidence-note { margin:28px 0 0; color:var(--bp-ink); font-size:14px; font-style:italic; }
.cs-screenshot-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:32px; margin-top:64px; }
.cs-screenshot-grid figure { margin:0; }
.cs-screenshot-grid figure:first-child { grid-column:1/-1; }
.cs-screenshot-grid a { display:block; border:1px solid var(--bp-line); background:var(--white); }
.cs-screenshot-grid img { display:block; width:100%; height:auto; }
.cs-screenshot-grid figcaption { padding-top:14px; color:var(--bp-ink); font-size:14px; line-height:1.6; }
.cs-screenshot-grid figcaption strong { display:block; color:var(--bp-rust); font-family:'Space Mono',monospace; font-size:14px; font-weight:400; letter-spacing:.1em; text-transform:uppercase; }
.cs-screenshot-grid figcaption span { display:block; margin-top:5px; }
.cs-status { padding:28px 32px; border-left:3px solid var(--bp-rust); }
.cs-status p { margin:0; font-size:16px; line-height:1.7; }
.cs-outcome-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:64px 0 0; padding:0; border-top:2px solid var(--deep-navy); border-left:1px solid var(--bp-line); list-style:none; counter-reset:outcome; }
.cs-outcome-grid li { min-width:0; padding:28px; border-right:1px solid var(--bp-line); border-bottom:1px solid var(--bp-line); font-size:14px; line-height:1.65; counter-increment:outcome; }
.cs-outcome-grid li::before { display:block; margin-bottom:18px; color:var(--bp-rust); font-family:'Space Mono',monospace; font-size:14px; content:counter(outcome,decimal-leading-zero); }
.cs-related-product { margin-top:32px; }
.cs-related>.bp-wrap { padding-block:64px; }
.cs-related>div>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--bp-line); }
.cs-related a { padding:24px 32px 24px 0; color:var(--bp-ink); font-size:18px; font-weight:600; line-height:1.35; }
.cs-related a+a { padding-left:32px; border-left:1px solid var(--bp-line); }
.cs-related a:hover { color:var(--bp-rust); }
.cs-related a span { display:block; margin-bottom:8px; color:var(--bp-rust); font-family:'Space Mono',monospace; font-size:14px; font-weight:400; letter-spacing:.1em; text-transform:uppercase; }
.cs-archive-hero { max-width:960px; }
.cs-archive-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:2px solid var(--deep-navy); }
.cs-archive-grid article { display:flex; flex-direction:column; min-width:0; padding:36px 32px; }
.cs-archive-grid article+article { border-left:1px solid var(--bp-line); }
.cs-archive-grid h3 { margin-bottom:18px; font-size:24px; }
.cs-archive-grid article>p:not(.bp-eyebrow) { flex:1; margin:0 0 24px; font-size:14px; line-height:1.65; }
.case-study-page .bp-closing>.bp-wrap { max-width:1320px; }

/*
 * Evicourse System Diagrams
 * .esd provides the architectural container and accessible caption.
 * Layout-specific recipes vary, but DOM order must preserve the logical flow.
 * Event-Driven Automation Diagram recipe (.eda): trigger, automation boundary,
 * sequential responsibilities and responsible systems, human handoff, outcome.
 * Boundaries and labels must distinguish automated behavior from human action;
 * diagrams must retain readable text and a linear mobile presentation.
 */
.esd { margin:64px 0 0; border-block:2px solid var(--deep-navy); background-color:var(--bp-paper); background-image:linear-gradient(rgba(28,43,58,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(28,43,58,.035) 1px,transparent 1px); background-size:48px 48px; }
.esd-header { padding:28px 0; border-bottom:1px solid var(--bp-line); }
.esd-kicker { margin:0 0 8px; color:var(--bp-rust); font-family:'Space Mono',monospace; font-size:14px; letter-spacing:.1em; text-transform:uppercase; }
.esd-header h3 { font-size:clamp(24px,2.5vw,34px); }
.eda-header>div { max-width:860px; }
.eda-header>div>p:last-child { margin:14px 0 0; font-size:16px; line-height:1.65; }
.eda-flow { display:grid; grid-template-columns:minmax(210px,.78fr) minmax(520px,2.25fr) minmax(210px,.78fr); gap:clamp(28px,4vw,56px); align-items:center; padding:clamp(40px,6vw,72px) 0; }
.eda-area-label { margin:0 0 14px; color:var(--bp-rust); font-family:'Space Mono',monospace; font-size:14px; letter-spacing:.1em; text-transform:uppercase; }
.eda-handoff { position:relative; min-width:0; }
.eda-human-node { display:grid; grid-template-columns:52px minmax(0,1fr); gap:16px; padding:22px 0; border-block:2px solid var(--deep-navy); }
.eda-human-node h4,.eda-automation h4 { margin:0 0 10px; color:var(--bp-ink); font-size:20px; font-weight:600; line-height:1.3; }
.eda-human-node p,.eda-automation header>p:last-child,.eda-step-list p,.eda-technical-note { margin:0; font-size:15px; line-height:1.65; }
.eda-human-node small,.eda-step-list small { display:block; margin-top:12px; color:var(--bp-rust); font-family:'Space Mono',monospace; font-size:14px; line-height:1.5; }
.eda-node-number { color:var(--bp-rust); font-family:'Space Mono',monospace; font-size:14px; line-height:1.6; text-transform:uppercase; }
.eda-trigger::after,.eda-automation::after { position:absolute; top:50%; right:calc(-1 * clamp(28px,4vw,56px)); width:clamp(28px,4vw,56px); height:1px; background:var(--bp-rust); content:''; }
.eda-trigger::before,.eda-automation::before { position:absolute; z-index:1; top:calc(50% - 4px); right:calc(-1 * clamp(28px,4vw,56px)); width:8px; height:8px; border-top:1px solid var(--bp-rust); border-right:1px solid var(--bp-rust); transform:rotate(45deg); content:''; }
.eda-automation { position:relative; min-width:0; padding:28px; border:2px solid var(--deep-navy); background:rgba(245,240,232,.88); }
.eda-automation>header { padding-bottom:24px; border-bottom:1px solid var(--bp-line); }
.eda-step-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding:28px 0 0; list-style:none; }
.eda-step-list li { display:grid; position:relative; grid-template-columns:40px minmax(0,1fr); gap:12px; min-width:0; padding-right:24px; }
.eda-step-list li+li { padding-left:24px; border-left:1px solid var(--bp-line); }
.eda-step-list li+li::before { position:absolute; top:12px; left:-1px; width:24px; height:1px; background:var(--bp-rust); transform:translateX(-100%); content:''; }
.eda-step-list li+li::after { position:absolute; top:8px; left:-8px; width:8px; height:8px; border-top:1px solid var(--bp-rust); border-right:1px solid var(--bp-rust); transform:rotate(45deg); content:''; }
.eda-step-list h5 { margin:0 0 9px; color:var(--bp-ink); font-size:17px; font-weight:600; line-height:1.35; }
.eda-technical-note { margin-top:24px; padding-top:18px; border-top:1px dashed var(--bp-line); }
.eda-outcome { display:grid; grid-template-columns:minmax(160px,.3fr) minmax(0,1fr); gap:32px; padding:26px 0; border-top:2px solid var(--deep-navy); }
.eda-outcome>p:last-child { max-width:860px; margin:0; font-size:17px; line-height:1.65; }
.esd figcaption { padding:22px 0 28px; border-top:1px solid var(--bp-line); color:var(--bp-ink); font-size:14px; line-height:1.65; }

/* Intelligence Engine Architecture and Information-Processing Flow recipes. */
.iea,.ief { border-block:1px solid var(--bp-line); }
.iea-header>div,.ief-header>div { max-width:860px; }
.iea-header>div>p:last-child,.ief-header>div>p:last-child { margin:14px 0 0; font-size:16px; line-height:1.65; }
.iea-flow { display:grid; grid-template-columns:minmax(0,1fr); justify-items:center; padding:clamp(40px,6vw,72px) 0; }
.iea-area-label,.ief-area-label { margin:0 0 10px; color:var(--bp-rust); font-family:'Space Mono',monospace; font-size:14px; letter-spacing:.1em; text-transform:uppercase; }
.iea-terminal { position:relative; width:min(100%,760px); padding:24px 28px; border-block:1px solid var(--bp-line); background:rgba(245,240,232,.9); text-align:center; }
.iea-terminal:first-child { margin-bottom:56px; }
.iea-terminal:last-child { margin-top:56px; }
.iea-terminal:first-child::after,.iea-boundary::after { position:absolute; z-index:1; right:50%; bottom:-56px; width:1px; height:56px; background:var(--bp-rust); content:''; }
.iea-terminal:first-child::before,.iea-boundary::before { position:absolute; z-index:2; right:calc(50% - 4px); bottom:-56px; width:8px; height:8px; border-right:1px solid var(--bp-rust); border-bottom:1px solid var(--bp-rust); transform:rotate(45deg); content:''; }
.iea-terminal h4,.iea-boundary h4,.ief-step-list h4 { margin:0; color:var(--bp-ink); font-size:20px; font-weight:600; line-height:1.3; }
.iea-terminal>p:last-child { max-width:700px; margin:10px auto 0; font-size:15px; line-height:1.65; }
.iea-boundary { position:relative; width:100%; padding:28px; border:1px solid var(--bp-line); background:rgba(245,240,232,.88); }
.iea-boundary>header { padding-bottom:24px; border-bottom:1px solid var(--bp-line); }
.iea-step-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; padding:28px 0 0; list-style:none; }
.iea-step-list li { display:grid; position:relative; grid-template-columns:38px minmax(0,1fr); gap:10px; min-width:0; padding-right:24px; }
.iea-step-list li+li { padding-left:24px; border-left:1px solid var(--bp-line); }
.iea-step-list li+li::before { position:absolute; top:12px; left:-1px; width:24px; height:1px; background:var(--bp-rust); transform:translateX(-100%); content:''; }
.iea-step-list li+li::after { position:absolute; top:8px; left:-9px; width:8px; height:8px; border-top:1px solid var(--bp-rust); border-right:1px solid var(--bp-rust); transform:rotate(45deg); content:''; }
.iea-node-number,.ief-node-number { color:var(--bp-rust); font-family:'Space Mono',monospace; font-size:14px; line-height:1.6; }
.iea-step-list h5 { margin:0 0 9px; color:var(--bp-ink); font-size:17px; font-weight:600; line-height:1.35; }
.iea-step-list p,.ief-step-list p { margin:0; font-size:14px; line-height:1.65; }
.iea-guardrails { margin:28px 0 0; padding-top:18px; border-top:1px dashed var(--bp-line); color:var(--bp-ink); font-family:'Space Mono',monospace; font-size:14px; line-height:1.65; text-align:center; }
.iea+.cs-capability-flow { margin-top:40px; border-top:1px solid var(--bp-line); }
.ief-step-list { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); margin:0; padding:clamp(40px,6vw,72px) 0; list-style:none; }
.ief-step-list li { display:grid; position:relative; align-content:start; min-width:0; padding:0 24px; }
.ief-step-list li:first-child { padding-left:0; }
.ief-step-list li:last-child { padding-right:0; }
.ief-step-list li+li { border-left:1px solid var(--bp-line); }
.ief-step-list li+li::before { position:absolute; top:11px; left:0; width:24px; height:1px; background:var(--bp-rust); transform:translateX(-100%); content:''; }
.ief-step-list li+li::after { position:absolute; top:7px; left:-9px; width:8px; height:8px; border-top:1px solid var(--bp-rust); border-right:1px solid var(--bp-rust); transform:rotate(45deg); content:''; }
.ief-step-list h4 { min-height:52px; margin:12px 0 10px; font-size:17px; }
.ief-throughout { display:grid; grid-template-columns:minmax(180px,.35fr) minmax(0,1fr); gap:28px; padding:24px 0; border-top:1px solid var(--bp-line); }
.ief-throughout p { margin:0; font-size:15px; line-height:1.65; }
.ief-throughout .ief-area-label { font-size:14px; }
.cs-hero .cs-visual.has-asset img { border:0; }
@media (max-width:1023.98px) {
 .cs-hero-grid,.cs-narrative-grid { grid-template-columns:minmax(0,1fr); }
 .cs-hero-grid { align-items:start; }
 .cs-facts { max-width:640px; }
 .cs-tool-grid { grid-template-columns:repeat(2,minmax(0,1fr)); border-left:1px solid var(--bp-line); }
 .cs-tool-grid article { border-right:1px solid var(--bp-line); border-bottom:1px solid var(--bp-line); }
 .cs-tool-grid article+article { border-left:0; }
 .cs-pillar-grid,.cs-capability-flow,.cs-decision-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cs-pillar-grid { border-left:1px solid var(--bp-line); }
 .cs-pillar-grid article { border-right:1px solid var(--bp-line); border-bottom:1px solid var(--bp-line); }
 .cs-pillar-grid article+article { border-left:0; }
 .cs-decision-list { border-left:1px solid var(--bp-line); }
 .cs-decision-list article { border-right:1px solid var(--bp-line); border-bottom:1px solid var(--bp-line); }
 .cs-decision-list article+article { border-left:0; }
 .cs-journey { grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 24px; }
 .cs-journey::before { display:none; }
 .cs-outcome-grid,.cs-archive-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .cs-archive-grid { border-left:1px solid var(--bp-line); }
 .cs-archive-grid article { border-right:1px solid var(--bp-line); border-bottom:1px solid var(--bp-line); }
 .cs-archive-grid article+article { border-left:0; }
 .eda-flow { grid-template-columns:minmax(0,1fr); align-items:stretch; }
 .eda-trigger::after,.eda-automation::after { top:auto; right:50%; bottom:calc(-1 * clamp(28px,4vw,56px)); width:1px; height:clamp(28px,4vw,56px); }
 .eda-trigger::before,.eda-automation::before { top:auto; right:calc(50% - 4px); bottom:calc(-1 * clamp(28px,4vw,56px)); transform:rotate(135deg); }
 .iea-step-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .iea-step-list li { padding:22px 20px; border-bottom:1px solid var(--bp-line); }
 .iea-step-list li+li { border-left:0; }
 .iea-step-list li:nth-child(even) { border-left:1px solid var(--bp-line); }
 .iea-step-list li+li::before,.iea-step-list li+li::after { display:none; }
 .ief-step-list { grid-template-columns:repeat(3,minmax(0,1fr)); row-gap:40px; }
 .ief-step-list li:nth-child(4) { padding-left:0; border-left:0; }
 .ief-step-list li:nth-child(4)::before,.ief-step-list li:nth-child(4)::after { display:none; }
}
@media (max-width:767.98px) {
 .cs-evidence-list,.cs-tool-grid,.cs-pillar-grid,.cs-capability-flow,.cs-decision-list,.cs-workflow-record ol,.cs-screenshot-grid,.cs-visual-grid,.cs-outcome-grid,.cs-related>div>div,.cs-archive-grid { grid-template-columns:minmax(0,1fr); }
 .cs-evidence-list li:nth-child(even) { padding-left:22px; }
 .cs-evidence-list li:nth-child(even)::before { left:0; }
 .cs-capability-flow article:not(:last-child)::after { top:auto; right:50%; bottom:-5px; transform:translateX(50%) rotate(135deg); }
 .cs-journey { grid-template-columns:minmax(0,1fr); gap:0; }
 .cs-journey li { display:grid; grid-template-columns:54px minmax(0,1fr); grid-template-rows:auto auto; column-gap:22px; padding:0 0 32px; }
 .cs-journey li:not(:last-child)::after { position:absolute; top:54px; bottom:0; left:27px; width:1px; background:var(--bp-rust); content:''; }
 .cs-journey li>span { grid-row:1/3; margin:0; }
 .cs-journey h3 { min-height:0; }
 .cs-journey p { grid-column:2; }
 .cs-screenshot-grid figure:first-child { grid-column:auto; }
 .cs-related a+a { padding-left:0; border-top:1px solid var(--bp-line); border-left:0; }
 .cs-visual-placeholder { min-height:320px; aspect-ratio:auto!important; }
 .cs-visual-placeholder small { position:static; margin-top:26px; }
 .eda-flow { gap:36px; }
 .eda-automation { padding:24px 20px; }
 .eda-step-list { grid-template-columns:minmax(0,1fr); gap:0; }
 .eda-step-list li { grid-template-columns:40px minmax(0,1fr); padding:22px 0; }
 .eda-step-list li+li { padding-left:0; border-top:1px solid var(--bp-line); border-left:0; }
 .eda-step-list li+li::before { top:0; left:19px; width:1px; height:22px; transform:translateY(-100%); }
 .eda-step-list li+li::after { top:-8px; left:16px; transform:rotate(135deg); }
 .eda-outcome { grid-template-columns:minmax(0,1fr); gap:8px; }
 .iea-terminal { padding:22px 20px; text-align:left; }
 .iea-terminal>p:last-child { margin-inline:0; }
 .iea-boundary { padding:24px 20px; }
 .iea-step-list,.ief-step-list { grid-template-columns:minmax(0,1fr); }
 .iea-step-list li,.ief-step-list li,.ief-step-list li:first-child,.ief-step-list li:last-child { grid-template-columns:40px minmax(0,1fr); padding:22px 0; }
 .iea-step-list li+li,.iea-step-list li:nth-child(even),.ief-step-list li+li,.ief-step-list li:nth-child(4) { border-top:1px solid var(--bp-line); border-left:0; }
 .iea-step-list li+li::before,.ief-step-list li+li::before,.ief-step-list li:nth-child(4)::before { display:block; top:0; left:19px; width:1px; height:22px; transform:translateY(-100%); }
 .iea-step-list li+li::after,.ief-step-list li+li::after,.ief-step-list li:nth-child(4)::after { display:block; top:-8px; left:16px; transform:rotate(135deg); }
 .ief-step-list { row-gap:0; }
 .ief-step-list h4 { min-height:0; margin:0 0 9px; }
 .ief-throughout { grid-template-columns:minmax(0,1fr); gap:8px; }
}
