/* Scoped Omni case study; inherits the portfolio's light and dark palettes. */
.omni-timeline{list-style:none;margin:0;padding:0}
.omni-stage{display:grid;grid-template-columns:235px minmax(0,1fr);gap:56px;border-top:1px solid var(--line);padding:38px 0}
.omni-stage:last-child{border-bottom:1px solid var(--line)}
.omni-stage-date{position:relative;padding-left:45px}
.omni-index{position:absolute;left:0;top:3px;font-size:12px;color:var(--accent-mid);font-variant-numeric:tabular-nums}
.omni-stage-date>p{margin:0 0 13px;font-size:15px;line-height:1.55;font-weight:600}
.omni-stage-tag{display:inline-block;font-size:11px;padding:5px 10px;border:1px solid var(--line);border-radius:5px;color:var(--muted)}
.omni-stage-story h3{font-size:27px;line-height:1.25;margin:0 0 16px}
.omni-stage-story>p,.omni-decision p{font-size:16px;line-height:1.75;color:var(--muted);margin:0}
.omni-stage-story details{margin-top:20px}
.omni-stage-story summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;cursor:pointer;padding:10px 0;color:var(--blue);font-size:13px;font-weight:600;border-bottom:1px solid var(--line);min-height:44px}
.omni-stage-story summary::-webkit-details-marker{display:none}
.omni-stage-story summary>span{font-size:20px;font-weight:400;transition:transform .2s}
.omni-stage-story details[open] summary>span{transform:rotate(45deg)}
.omni-decision{padding:20px 22px;background:var(--soft);border-radius:0 0 8px 8px}
.omni-decision .omni-lesson{border-left:2px solid var(--accent-mid);padding-left:16px;margin-top:16px;font-size:14px}
.omni-lesson strong{color:var(--ink);font-weight:600}
.omni-architecture{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.omni-input{display:flex;gap:30px;align-items:center;padding:23px 28px;border-bottom:1px solid var(--line)}
.omni-input .eyebrow{margin:0;color:var(--muted);font-size:10px}
.omni-input strong{font-weight:500;font-size:18px}
.omni-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.omni-node{position:relative;padding:30px 28px;min-width:0}
.omni-node+.omni-node{border-left:1px solid var(--line)}
.omni-node+.omni-node:before{content:'→';position:absolute;left:-13px;top:30px;background:var(--surface);width:26px;text-align:center;color:var(--accent-mid)}
.omni-node-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-mid);margin-bottom:20px}
.omni-node h3{font-size:26px;margin:0 0 16px;line-height:1.25}
.omni-node p,.omni-feedback p,.omni-simulation p,.omni-engines p,.omni-evidence-grid p{font-size:15px;color:var(--muted);line-height:1.75;margin:0}
.omni-component{display:block;font-size:11px;line-height:1.7;color:var(--accent-mid);margin-top:23px}
.omni-feedback{display:flex;align-items:center;gap:24px;background:var(--accent-wash);border-top:1px solid var(--line);padding:22px 28px}
.omni-feedback>span{font-size:30px;color:var(--accent-mid)}
.omni-feedback p{font-size:14px}
.omni-feedback strong,.omni-simulation strong{font-weight:600;color:var(--ink)}
.omni-simulation{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:22px 28px;border-top:1px solid var(--line)}
.omni-simulation .eyebrow{font-size:10px;margin:4px 0 0;color:var(--muted)}
.omni-simulation p{font-size:14px}
.omni-engine-heading{display:flex;align-items:baseline;justify-content:space-between;gap:30px;margin:42px 0 24px}
.omni-engine-heading h3{font-size:25px;line-height:1.3;margin:0}
.omni-engine-heading>p{font-size:13px;color:var(--muted);margin:0}
.omni-engines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.omni-engines article{border-top:2px solid var(--accent-mid);padding-top:22px}
.omni-engines .eyebrow{font-size:10px;line-height:1.6;color:var(--muted);margin-bottom:14px}
.omni-engines h4{font-size:26px;margin:0 0 14px}
.omni-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.omni-evidence-grid article{padding:29px 26px;border:1px solid var(--line);border-radius:12px;background:var(--surface);min-width:0}
.omni-evidence-label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-mid);margin-bottom:23px}
.omni-evidence-grid h3{font-size:26px;line-height:1.25;margin:0 0 18px}
.omni-evidence-grid .omni-evidence-limit{margin-top:23px;padding-top:19px;border-top:1px solid var(--line);font-size:13px}
.omni-source-note{font-size:12px;color:var(--muted);line-height:1.75;max-width:850px;margin:26px 0 0}
@media(max-width:1000px){.omni-stage{grid-template-columns:190px minmax(0,1fr);gap:32px}.omni-node{padding:26px 21px}.omni-node h3{font-size:24px}.omni-engine-heading{display:block}.omni-engine-heading>p{margin-top:12px}.omni-evidence-grid{gap:16px}.omni-evidence-grid article{padding:24px 20px}}
@media(max-width:760px){.omni-stage{grid-template-columns:1fr;gap:22px;padding:30px 0}.omni-stage-date{display:flex;flex-wrap:wrap;gap:10px 15px;align-items:center;padding-left:38px}.omni-stage-date>p{margin:0;font-size:13px}.omni-index{top:5px}.omni-stage-story h3{font-size:26px}.omni-stage-story>p{font-size:15px}.omni-flow,.omni-engines,.omni-evidence-grid{grid-template-columns:1fr}.omni-node{padding:27px}.omni-node+.omni-node{border-left:0;border-top:1px solid var(--line)}.omni-node+.omni-node:before{content:'↓';left:27px;top:-16px}.omni-node h3{font-size:26px}.omni-node-label{margin-bottom:15px}.omni-component{margin-top:15px}.omni-input{display:block;padding:23px 27px}.omni-input strong{display:block;margin-top:9px}.omni-feedback{gap:16px;padding:24px}.omni-simulation{grid-template-columns:1fr;gap:12px;padding:24px}.omni-engines{gap:28px}.omni-evidence-grid{gap:18px}.omni-evidence-grid article{padding:27px}.omni-decision{padding:19px}.omni-decision p{font-size:14px}.omni-engine-heading{margin-top:34px}}
@media(prefers-reduced-motion:reduce){.omni-stage-story summary>span{transition:none}}
