/* ── EMDR Protocol Stepper ──────────────────────────────────────── */
.ep-wrap{box-sizing:border-box;background:#EDFAFD;padding:64px 0;font-family:'Alegreya Sans',Arial,sans-serif;color:#1F2A37;container-type:inline-size;container-name:ep}
.ep-wrap *{box-sizing:border-box;min-width:0}
.ep-inner{max-width:1280px;margin:0 auto;padding:0 40px}
.ep-eyebrow{display:block;font-family:'Montserrat',Arial,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#E8A91E;margin:0 0 12px}
.ep-heading{font-family:'Playfair Display',Georgia,serif;font-weight:800;color:#2B3D52;font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.18;margin:0 0 16px}
.ep-heading em{font-style:italic;color:#E8A91E}
.ep-lead{font-size:1.04rem;line-height:1.7;color:#42505e;max-width:900px;margin:0 0 36px}
.ep-protocol{background:#fff;border:1px solid #D9E6EC;border-radius:18px;padding:30px 32px;overflow:hidden}
.ep-track{display:flex;position:relative;gap:0;margin-bottom:8px}
.ep-track:before{content:"";position:absolute;top:9px;left:5%;right:5%;height:3px;background:#e4eef3;border-radius:3px}
.ep-node,.ep-node:hover,.ep-node:focus,.ep-node:active{-webkit-appearance:none;appearance:none;flex:1 1 0;min-width:0;background:none;border:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:9px;padding:0 4px;font-family:'Montserrat',Arial,sans-serif;position:relative;z-index:1;box-shadow:none}
.ep-dot{width:20px;height:20px;border-radius:50%;background:#fff;border:3px solid #cddbe4;transition:border-color .25s,background .25s,transform .25s}
.ep-node.is-on .ep-dot{border-color:#E8A91E;background:#FFC43D;transform:scale(1.18)}
.ep-node.done .ep-dot{border-color:#FFC43D;background:#FFC43D}
.ep-nlabel{font-size:.68rem;font-weight:700;color:#7d93a6;line-height:1.25;text-align:center;overflow-wrap:anywhere}
.ep-node.is-on .ep-nlabel{color:#2B3D52}
.ep-node:focus-visible{outline:3px solid #E8A91E;outline-offset:3px;border-radius:8px}
.ep-zones{display:grid;gap:8px;margin:14px 0 24px}
.ep-zone{font-family:'Montserrat',Arial,sans-serif;font-weight:700;font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;padding:7px 12px;border-radius:8px;text-align:center;line-height:1.3;overflow-wrap:anywhere}
.ep-zone-stab{background:#eaf3f7;color:#3A506B;border:1px solid #d4e4ec}
.ep-zone-active{background:#FFF8E6;color:#8a6d1f;border:1px solid #f3e2b3}
.ep-panel{display:none}
.ep-panel.is-on{display:block;animation:epFade .35s ease}
@keyframes epFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.ep-ptitle{font-family:'Playfair Display',Georgia,serif;font-weight:700;color:#2B3D52;font-size:1.22rem;margin:0 0 8px;overflow-wrap:anywhere}
.ep-panel p{font-size:1rem;line-height:1.65;color:#42505e;margin:0;max-width:760px;overflow-wrap:anywhere}
.ep-note{margin-top:26px;background:#FFF8E6;border:1px solid #f3e2b3;border-left:4px solid #FFC43D;border-radius:12px;padding:20px 24px;max-width:1000px}
.ep-note-label{display:block;font-family:'Montserrat',Arial,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#E8A91E;margin-bottom:6px}
.ep-note p{font-size:.98rem;line-height:1.6;color:#2B3D52;margin:0;overflow-wrap:anywhere}
@container ep (max-width:760px){
  .ep-protocol{padding:24px 20px}
  .ep-track{flex-wrap:wrap;gap:14px 0}
  .ep-track:before{display:none}
  .ep-node{flex:1 1 25%;flex-direction:row;justify-content:flex-start;gap:8px}
  .ep-nlabel{text-align:left;font-size:.72rem}
  .ep-zones{grid-template-columns:1fr !important;gap:6px}
}
@container ep (max-width:480px){ .ep-node{flex:1 1 50%} }
@supports not (container-type:inline-size){
  @media(max-width:880px){.ep-protocol{padding:24px 20px}.ep-track{flex-wrap:wrap;gap:14px 0}.ep-track:before{display:none}.ep-node{flex:1 1 25%;flex-direction:row;justify-content:flex-start;gap:8px}.ep-nlabel{text-align:left;font-size:.72rem}.ep-zones{grid-template-columns:1fr !important;gap:6px}}
  @media(max-width:560px){.ep-node{flex:1 1 50%}}
}
@media(max-width:880px){.ep-inner{padding:0 28px}.ep-wrap{padding:52px 0}}
@media(max-width:560px){.ep-inner{padding:0 18px}.ep-wrap{padding:44px 0}.ep-node{flex:1 1 50%}}
@media(prefers-reduced-motion:reduce){.ep-dot,.ep-panel.is-on{transition:none;animation:none}}
