:root{--ec-navy:#071725;--ec-blue:#157a9c;--ec-cyan:#43c2d7;--ec-ink:#132331;--ec-muted:#62717d;--ec-line:#dce5eb;--ec-soft:#f4f7f9;--ec-warn:#fff7e7}.ec-hero{background:var(--ec-navy);color:white;padding:3.4rem 0 2.6rem}.ec-back{color:#9fc3d1;text-decoration:none;font-size:.85rem}.ec-hero-grid{display:grid;grid-template-columns:1.45fr .7fr;gap:4rem;align-items:end;margin-top:3.2rem}.ec-kicker,.ec-hero aside span,.ec-hero aside small{font-size:.72rem;letter-spacing:.12em;color:#8fb5c5}.ec-hero h1{font-size:clamp(2.8rem,7vw,5.8rem);line-height:.94;margin:.55rem 0 1.2rem}.ec-lead{font-size:1.25rem;color:#c8d8df;max-width:650px}.ec-hero aside{border-left:2px solid var(--ec-cyan);padding-left:1.4rem}.ec-hero aside strong{display:block;font-size:1.35rem;margin:.5rem 0}.ec-hero aside p{color:#c6d5dc}.ec-flow,.ec-pipeline,.ec-wf,.ec-plan-flow,.ec-sem-flow,.ec-mgmt{display:flex;align-items:stretch;gap:.55rem;margin-top:2.6rem}.ec-flow b{flex:1;border:1px solid #315064;padding:.8rem .5rem;text-align:center;font-size:.68rem;letter-spacing:.08em}.ec-flow i,.ec-pipeline i,.ec-wf i,.ec-plan-flow i,.ec-sem-flow i,.ec-mgmt i{align-self:center;font-style:normal;color:var(--ec-cyan)}.ec-two{display:grid;grid-template-columns:.8fr 1.2fr;gap:4rem}.ec-copy p{font-size:1.05rem;line-height:1.75;color:#4e5e69}.ec-model,.ec-classic,.ec-management{background:var(--ec-soft)}.ec-dims,.ec-questions,.ec-matches,.ec-stack{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.ec-dims article,.ec-questions article,.ec-matches article,.ec-stack article{border:1px solid var(--ec-line);background:white;padding:1.25rem}.ec-dims span,.ec-questions span,.ec-matches span,.ec-stack span,.ec-pipeline span,.ec-plan-flow span,.ec-wf span,.ec-sem-flow span,.ec-mgmt span,.ec-var-main span,.ec-drill span,.ec-context span{display:block;font-size:.67rem;letter-spacing:.09em;color:var(--ec-blue);font-weight:800}.ec-dims strong,.ec-questions strong,.ec-matches strong,.ec-stack strong{display:block;margin:.45rem 0}.ec-rule{margin-top:1.5rem;border-left:3px solid var(--ec-blue);padding:1rem 1.2rem;background:white;color:#4d5d68}.ec-pipeline>div,.ec-plan-flow>div,.ec-wf>div,.ec-sem-flow>div,.ec-mgmt>div{flex:1;border:1px solid var(--ec-line);padding:1rem;background:white}.ec-pipeline strong,.ec-plan-flow strong,.ec-wf strong,.ec-sem-flow strong,.ec-mgmt strong{display:block;margin:.35rem 0}.ec-pipeline small,.ec-plan-flow small,.ec-wf small,.ec-sem-flow small,.ec-mgmt small{color:var(--ec-muted)}.ec-context{display:grid;grid-template-columns:repeat(6,1fr);gap:.6rem;margin:2rem 0}.ec-context>div{background:var(--ec-navy);color:white;padding:1rem}.ec-context span{color:#83cfe0}.ec-context strong{display:block;margin-top:.35rem}.ec-demo{text-align:right;font-size:.72rem;color:#7a8790}.ec-workflow{background:#0b2130;color:white}.ec-workflow .eyebrow,.ec-workflow h2{color:white}.ec-workflow .ec-wf>div{background:#102b3d;border-color:#29485a}.ec-workflow .ec-wf span{color:#77d4e5}.ec-workflow .ec-wf small{color:#b7cbd4}.ec-workflow .ec-rule{background:#102b3d;color:#c7d7de;border-color:var(--ec-cyan)}.ec-var-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:1rem;margin-top:2rem}.ec-var-main{background:var(--ec-navy);color:white;padding:2rem}.ec-var-main span{color:#83d8e8}.ec-var-main>strong{display:block;font-size:3rem;margin:.6rem 0;color:#ffcf75}.ec-var-main b{font-size:1.15rem}.ec-var-main p{color:#c4d2d9;line-height:1.6}.ec-drill{display:grid;gap:.7rem}.ec-drill div{border:1px solid var(--ec-line);padding:1rem}.ec-drill strong{display:block;font-size:1.5rem;margin-top:.4rem}.ec-semantic{background:#071725;color:white}.ec-semantic h2,.ec-semantic .eyebrow{color:white}.ec-sem-flow>div{background:#102b3d;border-color:#29495b}.ec-sem-flow span{color:#7bd7e8}.ec-sem-flow small{color:#b8cbd4}.ec-vector{border-top:3px solid var(--ec-cyan)!important}.ec-matches article{background:#102b3d;border-color:#29495b}.ec-matches p{color:#bdd0d8}.ec-warning{margin-top:1.2rem;padding:1.2rem;border:1px solid #755d2f;background:#241f16}.ec-warning span{font-size:.68rem;color:#ffd37d;letter-spacing:.1em}.ec-warning strong{display:block;margin:.35rem 0}.ec-warning p{color:#d9c9a9}.ec-decision{border-top:3px solid var(--ec-blue)!important}.ec-architecture{background:#eef3f6}.ec-stack{grid-template-columns:repeat(4,1fr)}.ec-status{margin-top:1.5rem;padding:1.2rem;background:white;border-left:3px solid var(--ec-blue)}.ec-status>span{font-size:.68rem;font-weight:800;letter-spacing:.1em;color:var(--ec-blue)}.ec-close{background:#0b1d29;color:white;padding:4rem 0}.ec-close-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}.ec-close span{font-size:.7rem;letter-spacing:.1em;color:#8fb5c5}.ec-close h2{color:white}.ec-close p{color:#c2d0d7}.ec-close a{color:#8ee7f6;text-decoration:none;font-weight:700;margin-right:1.5rem}@media(max-width:900px){.ec-hero-grid,.ec-two,.ec-var-grid,.ec-close-grid{grid-template-columns:1fr;gap:1.5rem}.ec-dims,.ec-questions,.ec-matches,.ec-stack{grid-template-columns:1fr 1fr}.ec-context{grid-template-columns:repeat(3,1fr)}.ec-flow,.ec-pipeline,.ec-wf,.ec-plan-flow,.ec-sem-flow,.ec-mgmt{flex-direction:column}.ec-flow i,.ec-pipeline i,.ec-wf i,.ec-plan-flow i,.ec-sem-flow i,.ec-mgmt i{transform:rotate(90deg)}}@media(max-width:600px){.ec-dims,.ec-questions,.ec-matches,.ec-stack,.ec-context{grid-template-columns:1fr}.ec-hero{padding-top:2rem}}

/* v1.4 evidence-based retail CPM case */
.ec-evidence{background:#f7f9fc}.ec-evidence-grid,.ec-kpis,.ec-driver-grid,.ec-hdc-grid{display:grid;gap:14px}.ec-evidence-grid{grid-template-columns:repeat(3,1fr);margin-top:28px}.ec-evidence-grid article,.ec-kpis article,.ec-driver-grid article,.ec-hdc-grid>div{border:1px solid #dce4ee;background:#fff;padding:22px;border-radius:12px}.ec-evidence-grid span,.ec-kpis span,.ec-driver-grid span,.ec-hdc-grid span{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:#64748b;margin-bottom:8px}.ec-kpis{grid-template-columns:repeat(4,1fr);margin:28px 0 14px}.ec-kpis strong{font-size:1.55rem;display:block}.ec-kpis b{display:block;margin-top:7px}.ec-kpis small{display:block;margin-top:5px;color:#64748b}.ec-kpi-bad b{color:#a83232}.ec-driver-grid{grid-template-columns:repeat(3,1fr);margin-top:24px}.ec-driver-grid strong{font-size:1.12rem}.ec-driver-grid p{margin-bottom:0}.ec-proof{border-left:4px solid #2d6cdf;background:#eef4ff;padding:18px 20px;margin-top:22px}.ec-proof strong{display:block;margin-bottom:5px}.ec-hdc{background:#0d1726;color:#e8eef8}.ec-hdc .eyebrow,.ec-hdc p{color:#aebbd0}.ec-hdc-grid{grid-template-columns:1.25fr .75fr;margin-top:28px}.ec-hdc-grid>div{background:#111f32;border-color:#26384f}.ec-hdc-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;line-height:2;color:#dce8f8}.ec-hdc-code b{color:#7fb0ff}.ec-source-note{font-size:.86rem;color:#64748b;margin-top:18px}.ec-source-note a{color:inherit;text-decoration:underline}.ec-basis{display:inline-flex;gap:8px;align-items:center;padding:7px 10px;border-radius:999px;background:#e9f7ef;color:#24623b;font-size:.72rem;font-weight:700;letter-spacing:.08em}.ec-synth{background:#fff4df;color:#815b16}.ec-research{background:#eef0ff;color:#464d9a}@media(max-width:850px){.ec-evidence-grid,.ec-kpis,.ec-driver-grid,.ec-hdc-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.ec-evidence-grid,.ec-kpis,.ec-driver-grid,.ec-hdc-grid{grid-template-columns:1fr}}

/* EPIP V1.5 · Business Question → Data Model → Engineering Evidence */
.epip-v15-head{display:grid;grid-template-columns:1fr .65fr;gap:4rem;align-items:end}
.epip-v15-head h2{max-width:760px}
.epip-v15-head p{max-width:760px}
.epip-v15-status{border-left:3px solid #7867d9;padding-left:1rem}
.epip-v15-status span,.epip-v15-label,.epip-evidence-head>span{font-size:.52rem;font-weight:900;letter-spacing:.11em;color:#7867d9}
.epip-v15-status strong{display:block;margin:.35rem 0;font-size:.78rem}.epip-v15-status small{font-size:.6rem;line-height:1.5;color:#6e7a8d}
.epip-model-flow{display:grid;grid-template-columns:1.1fr 22px 1.35fr 22px 1.15fr 22px .9fr;gap:.4rem;align-items:stretch;margin:2rem 0}
.epip-model-flow>div{border:1px solid #dce2eb;background:#f8fafc;padding:.9rem;border-radius:7px}
.epip-model-flow span{display:block;font-size:.48rem;font-weight:900;letter-spacing:.08em;color:#7867d9;margin-bottom:.45rem}
.epip-model-flow strong{font-size:.66rem;line-height:1.45;color:#132139}.epip-model-flow>i{display:grid;place-items:center;font-style:normal;color:#7867d9}
.epip-v15-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:1rem}
.epip-star,.epip-lineage,.epip-evidence{border:1px solid #dce2eb;background:#fff;padding:1.15rem;border-radius:8px}
.epip-star h3,.epip-lineage h3,.epip-evidence h3{margin:.35rem 0 1rem;color:#132139}
.epip-star-map{display:grid;grid-template-columns:1fr 1.25fr 1fr;grid-template-areas:". time ." "org fact product" ". channel ." ". scenario .";gap:.55rem;align-items:center;margin:1.1rem 0}
.epip-star-map b,.epip-star-map strong{border:1px solid #ccd5e1;padding:.65rem;text-align:center;font-size:.58rem;background:#f8fafc;border-radius:6px}
.epip-star-map .f-plan{grid-area:fact;background:#132139;color:#fff;border-color:#132139}.epip-star-map .f-plan small{display:block;color:#b8c4d5;font-weight:500;margin-top:.35rem;line-height:1.45}
.d-time{grid-area:time}.d-org{grid-area:org}.d-product{grid-area:product}.d-channel{grid-area:channel}.d-scenario{grid-area:scenario}
.epip-star p{font-size:.64rem;line-height:1.6;color:#69768a}
.epip-lineage-flow{display:grid;gap:.3rem;text-align:center}.epip-lineage-flow>b,.epip-lineage-flow>strong{border:1px solid #d2dae5;padding:.5rem;font-size:.58rem;background:#f8fafc;border-radius:5px}
.epip-lineage-flow>strong{background:#7867d9;color:#fff;border-color:#7867d9}.epip-lineage-flow>i{font-style:normal;color:#7867d9;font-size:.7rem}.epip-lineage-flow>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:.35rem}.epip-lineage-flow>div>b{border:1px solid #d2dae5;padding:.45rem;font-size:.54rem;background:#fff;border-radius:5px}
.epip-underhood{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:1rem 0}.epip-underhood article{border:1px solid #dce2eb;background:#f8fafc;padding:1rem;border-radius:7px}.epip-underhood span{font-size:.48rem;font-weight:900;letter-spacing:.09em;color:#7867d9}.epip-underhood code{display:block;margin:.65rem 0;padding:.65rem;background:#132139;color:#e8edf5;font-size:.58rem;line-height:1.55;border-radius:5px;white-space:normal}.epip-underhood p{font-size:.6rem;line-height:1.55;color:#69768a;margin:0}
.epip-evidence{margin-top:1rem}.epip-evidence-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;border-bottom:1px solid #e2e7ee;padding-bottom:.8rem}.epip-evidence-head h3{margin:0}.epip-evidence-list{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}.epip-evidence-list>div{display:grid;grid-template-columns:1fr auto;gap:.25rem .8rem;align-items:center;border-bottom:1px solid #edf0f4;padding:.7rem 0}.epip-evidence-list b{font-size:.65rem;color:#18263d}.epip-evidence-list small{grid-column:1;font-size:.5rem;color:#778397}.epip-evidence-list span{grid-column:2;grid-row:1/3;font-size:.48rem;font-weight:900;letter-spacing:.05em}.ev-built{color:#24725a}.ev-target{color:#9a6b17}.ev-research{color:#7867d9}
@media(max-width:900px){.epip-v15-head,.epip-v15-grid{grid-template-columns:1fr;gap:1.2rem}.epip-model-flow{grid-template-columns:1fr}.epip-model-flow>i{transform:rotate(90deg)}.epip-underhood{grid-template-columns:1fr}.epip-evidence-list{grid-template-columns:1fr}}
@media(max-width:560px){.epip-star-map{grid-template-columns:1fr;grid-template-areas:"time" "org" "product" "channel" "scenario" "fact"}.epip-evidence-head{display:block}.epip-evidence-head h3{margin-top:.4rem}}
