/* ── Safety Window (Crisis) ─────────────────────────────────────── */
.sw-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:sw}
.sw-wrap *{box-sizing:border-box;min-width:0}
.sw-inner{max-width:1280px;margin:0 auto;padding:0 40px}
.sw-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}
.sw-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}
.sw-heading em{font-style:italic;color:#E8A91E}
.sw-lead{font-size:1.04rem;line-height:1.7;color:#42505e;max-width:880px;margin:0 0 36px}
.sw-stage{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:30px;align-items:stretch}
.sw-curve-card{background:#fff;border:1px solid #D9E6EC;border-radius:18px;padding:26px 28px;min-width:0;display:flex;flex-direction:column}
.sw-curve-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.sw-curve-label{font-family:'Montserrat',Arial,sans-serif;font-weight:700;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:#7d93a6}
.sw-curve-note{font-family:'Montserrat',Arial,sans-serif;font-weight:700;font-size:.74rem;color:#C0573F;background:#fdf1ee;border:1px solid #f3d8d0;border-radius:30px;padding:5px 13px;transition:color .3s,background .3s,border-color .3s}
.sw-curve-note.safe{color:#E8A91E;background:#FFF8E6;border-color:#f3e2b3}
.sw-curve{position:relative}
.sw-curve svg{width:100%;height:auto;display:block}
.sw-axis{stroke:#dbe7ed;stroke-width:1.5}
.sw-risk-area{fill:rgba(192,87,63,.12);transition:fill .6s ease}
.sw-risk-line{fill:none;stroke:#C0573F;stroke-width:3;stroke-linecap:round;transition:stroke .6s ease}
.sw-risk-area.safe{fill:rgba(255,196,61,.16)}
.sw-risk-line.safe{stroke:#E8A91E}
.sw-peak{fill:#C0573F;transition:cx .6s ease,cy .6s ease,fill .6s ease;opacity:.9}
.sw-peak.safe{fill:#E8A91E}
.sw-curve-x{display:flex;justify-content:space-between;margin-top:8px;padding:0 4px}
.sw-curve-x span{font-family:'Montserrat',Arial,sans-serif;font-size:.66rem;font-weight:600;color:#9aabb8;letter-spacing:.02em}
.sw-curve-cap{font-size:.92rem;line-height:1.55;color:#5a6b78;margin:18px 0 0}
.sw-guards{display:flex;flex-direction:column;gap:12px;min-width:0}
.sw-guard{display:flex;gap:14px;align-items:flex-start;text-align:left;background:#fff;border:1px solid #D9E6EC;border-left:4px solid #D9E6EC;border-radius:14px;padding:18px 20px;cursor:pointer;font-family:inherit;width:100%;max-width:100%;min-width:0;box-shadow:none;overflow:hidden;white-space:normal;transition:border-color .25s,box-shadow .25s,transform .2s}
.sw-guard:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(58,80,107,.08);border-left-color:#FFC43D}
.sw-guard.is-on{border-left-color:#FFC43D;box-shadow:0 10px 26px rgba(58,80,107,.12)}
.sw-guard:focus-visible{outline:3px solid #E8A91E;outline-offset:2px}
.sw-gnum{font-family:'Playfair Display',Georgia,serif;font-weight:800;font-size:1.15rem;color:#FFC43D;flex-shrink:0;line-height:1.4;min-width:30px}
.sw-gtx{flex:1 1 auto;min-width:0;width:100%}
.sw-gtitle{display:block;width:100%;font-family:'Playfair Display',Georgia,serif;font-weight:700;font-size:1.04rem;color:#2B3D52;line-height:1.3;margin:0 0 5px;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.sw-gbody{display:block;width:100%;font-size:.93rem;line-height:1.55;color:#42505e;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.sw-applied{display:flex;align-items:center;gap:10px;background:#FFF8E6;border:1px solid #f3e2b3;border-radius:12px;padding:13px 16px;font-family:'Montserrat',Arial,sans-serif;font-weight:700;font-size:.82rem;color:#8a6d1f;margin-top:2px;opacity:0;transform:translateY(6px);transition:opacity .4s,transform .4s}
.sw-applied.show{opacity:1;transform:none}
.sw-check{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#FFC43D;color:#2B3D52;font-size:.8rem;flex-shrink:0}
.sw-crisis{margin-top:30px;background:#FFC43D;color:#2B3D52;border-radius:16px;padding:24px 28px;display:flex;gap:18px;align-items:flex-start}
.sw-crisis svg{flex-shrink:0;margin-top:3px}
.sw-crisis p{font-size:1.06rem;font-weight:700;line-height:1.55;margin:0;color:#2B3D52;overflow-wrap:anywhere}
.sw-crisis a{color:#2B3D52;text-decoration:underline;font-weight:800}
@container sw (max-width:840px){.sw-stage{grid-template-columns:1fr;gap:24px}}
@supports not (container-type:inline-size){@media(max-width:980px){.sw-stage{grid-template-columns:1fr;gap:24px}}}
@media(max-width:880px){.sw-inner{padding:0 28px}.sw-wrap{padding:52px 0}}
@media(max-width:560px){.sw-inner{padding:0 18px}.sw-wrap{padding:44px 0}.sw-curve-card{padding:20px}.sw-guard{padding:15px 16px}.sw-crisis{flex-direction:column;gap:10px;padding:20px}}
@media(prefers-reduced-motion:reduce){.sw-risk-area,.sw-risk-line,.sw-peak,.sw-guard,.sw-applied{transition:none}}
