/* ── Schizoaffective vs Schizophrenia · Overlap (Venn) ──────────── */
.vs-wrap{box-sizing:border-box;background:#F4FAFC;padding:64px 0;font-family:'Alegreya Sans',Arial,sans-serif;color:#1F2A37;container-type:inline-size;container-name:vs}
.vs-wrap *{box-sizing:border-box;min-width:0}
.vs-inner{width:100%;max-width:1280px;margin:0 auto;padding:0 40px}
.vs-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}
.vs-heading{font-family:'Playfair Display',Georgia,serif;font-weight:800;color:#2B3D52;font-size:clamp(1.4rem,3vw,2.25rem);line-height:1.2;margin:0 0 14px;overflow-wrap:anywhere}
.vs-heading em{font-style:italic;color:#E8A91E}
.vs-intro{font-size:1.02rem;line-height:1.7;color:#42505e;max-width:820px;margin:0 0 6px;overflow-wrap:anywhere}
.vs-grid{display:grid;grid-template-columns:minmax(260px,400px) minmax(0,1fr);gap:46px;align-items:center;margin-top:38px}
.vs-venn-wrap{width:100%;max-width:400px}
.vs-venn{width:100%;height:auto;display:block;overflow:visible}
.vs-circle{transition:fill .25s,stroke .25s}
.vs-cA{fill:rgba(58,80,107,.14);stroke:#3A506B;stroke-width:2}
.vs-cB{fill:rgba(232,169,30,.16);stroke:#E8A91E;stroke-width:2}
.vs-zA.on .vs-cA{fill:rgba(58,80,107,.30)}
.vs-zB.on .vs-cB{fill:rgba(232,169,30,.34)}
.vs-overlap{fill:rgba(255,196,61,.28);stroke:#E8A91E;stroke-width:1.5;pointer-events:none;transition:fill .25s}
.vs-overlap.on{fill:rgba(255,196,61,.6)}
.vs-lbl{font-family:'Montserrat',Arial,sans-serif;font-weight:700;pointer-events:none}
.vs-venn text{overflow:visible}
.vs-lblA{fill:#3A506B}.vs-lblB{fill:#8a6d1f}.vs-lblC{fill:#2B3D52}
.vs-sub{font-family:'Montserrat',Arial,sans-serif;font-weight:600;font-size:9.5px;pointer-events:none}
.vs-subA{fill:#5f7283}.vs-subB{fill:#a88523}.vs-subC{fill:#8a6d1f}
.vs-hit{cursor:pointer;fill:transparent}
.vs-cards{display:grid;gap:14px;min-width:0}
.vs-card{display:block;background:#fff;border:1px solid #D9E6EC;border-radius:14px;padding:20px 24px;cursor:pointer;border-left:4px solid transparent;transition:transform .2s,box-shadow .2s,border-color .2s;text-align:left;font-family:inherit;width:100%;max-width:100%;min-width:0;box-shadow:none;overflow:hidden;white-space:normal}
.vs-card:hover{border-color:#b9cdd8;transform:translateY(-2px);box-shadow:0 8px 20px rgba(58,80,107,.08)}
.vs-card.on{box-shadow:0 10px 26px rgba(58,80,107,.12)}
.vs-card[data-z="A"].on{border-left-color:#3A506B}
.vs-card[data-z="C"].on{border-left-color:#FFC43D}
.vs-card[data-z="B"].on{border-left-color:#E8A91E}
.vs-card:focus-visible{outline:3px solid #E8A91E;outline-offset:2px}
.vs-ch{display:flex;align-items:flex-start;gap:10px;margin:0;min-width:0}
.vs-dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;background:#3A506B}
.vs-card[data-z="C"] .vs-dot{background:#FFC43D}
.vs-card[data-z="B"] .vs-dot{background:#E8A91E}
.vs-ctitle{display:block;width:100%;font-family:'Playfair Display',Georgia,serif;font-weight:700;color:#2B3D52;font-size:1.08rem;margin:0;line-height:1.25;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.vs-ctext{display:block;width:100%;font-size:.95rem;line-height:1.55;color:#42505e;margin:6px 0 0;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.vs-note{margin-top:30px;background:#FFF8E6;border:1px solid #F3E2B3;border-left:4px solid #FFC43D;border-radius:12px;padding:18px 22px;font-size:.95rem;line-height:1.55;color:#2B3D52;max-width:1000px;overflow-wrap:anywhere}
.vs-note a,.vs-note a.inline{color:#E8A91E;font-weight:700;text-decoration:none;border-bottom:1px solid #e3c98f}

/* Container queries: respond to the WIDGET width, not the viewport. */
@container vs (max-width:900px){
  .vs-grid{grid-template-columns:1fr;gap:30px}
  .vs-venn-wrap{max-width:360px;margin:0 auto}
}
@container vs (max-width:560px){
  .vs-inner{padding:0 20px}
  .vs-card{padding:16px 18px}
}
/* Fallback for browsers without container query support */
@supports not (container-type:inline-size){
  @media(max-width:1000px){.vs-grid{grid-template-columns:1fr;gap:30px}.vs-venn-wrap{max-width:360px;margin:0 auto}}
  @media(max-width:560px){.vs-inner{padding:0 20px}.vs-card{padding:16px 18px}}
}
@media(max-width:880px){.vs-inner{padding:0 24px}.vs-wrap{padding:52px 0}}
@media(max-width:560px){.vs-inner{padding:0 18px}.vs-wrap{padding:44px 0}}
@media(prefers-reduced-motion:reduce){.vs-circle,.vs-overlap,.vs-card{transition:none}}
