/* ============ APPROACH — flowing operating model ============ */
.flow{position:relative;padding:clamp(2rem,5vh,4rem) 0 clamp(4rem,9vh,8rem);}
.flow__spine{position:absolute;left:calc(var(--gutter) + 1.1rem);top:0;bottom:clamp(4rem,9vh,8rem);width:2px;background:var(--hair);z-index:0;}
.flow__spine i{position:absolute;top:0;left:0;width:100%;height:0;background:linear-gradient(180deg,var(--k-gold),var(--k-blue-soft));transition:height .2s linear;}
@media(max-width:760px){.flow__spine{left:1.1rem;}}
.flow__steps{position:relative;z-index:1;display:flex;flex-direction:column;gap:clamp(1.5rem,4vh,3rem);}
.flowstep{display:grid;grid-template-columns:auto 1fr;gap:clamp(1.5rem,4vw,3.5rem);align-items:start;}
.flowstep__node{position:relative;width:2.4rem;height:2.4rem;flex:none;}
.flowstep__dot{position:absolute;inset:0;border-radius:50%;border:2px solid var(--hair);background:var(--surface-0);display:flex;align-items:center;justify-content:center;font-size:.72rem;color:var(--text-dim);font-variant-numeric:tabular-nums;transition:border-color .5s var(--ease),color .5s,background .5s;}
.flowstep.in .flowstep__dot{border-color:var(--k-gold);color:var(--k-gold);}
.flowstep__body{padding-bottom:.5rem;}
.flowstep__h{font-size:clamp(1.6rem,4vw,3rem);font-weight:600;letter-spacing:-.03em;line-height:1;display:flex;align-items:baseline;gap:1rem;flex-wrap:wrap;}
.flowstep__arrow{color:var(--k-blue-soft);font-family:var(--serif);font-style:italic;font-size:1.4rem;opacity:.5;}
.flowstep__d{color:var(--text-secondary);max-width:56ch;margin-top:.8rem;font-size:var(--h);}
.flowstep:last-child .flowstep__arrow{display:none;}

/* engagement models — refined horizontal rows, not bordered cards */
.emodels{border-top:1px solid var(--hair);}
.emodel{display:grid;grid-template-columns:.5rem 1fr;gap:1.6rem;padding:clamp(1.4rem,3vh,2.2rem) 0;border-bottom:1px solid var(--hair);transition:background .4s;position:relative;}
.emodel::before{content:"";width:.5rem;height:.5rem;border-radius:50%;background:var(--k-gold);margin-top:.6rem;}
.emodel__top{display:flex;align-items:baseline;gap:1.2rem;flex-wrap:wrap;}
.emodel__name{font-size:clamp(1.3rem,2.6vw,2rem);font-weight:600;letter-spacing:-.02em;}
.emodel__tags{display:flex;gap:.5rem;flex-wrap:wrap;margin-left:auto;}
.emodel__tags span{font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text-dim);border:1px solid var(--hair);border-radius:100px;padding:.3em .9em;}
.emodel__d{color:var(--text-secondary);margin-top:.6rem;max-width:66ch;}
.emodel__d a{color:var(--k-gold);}
@media(max-width:640px){.emodel__tags{margin-left:0;width:100%;}}
