.section.dark{background:var(--dark);color:#fff}
.hero .btn.hero-primary{background:var(--deep);border-color:var(--deep)}
.hero .btn.hero-primary:hover{background:#3d056f;border-color:#3d056f}
.btn.outline-pink{background:transparent;color:var(--purple);border-color:var(--purple)}
.btn.outline-pink:hover{background:var(--purple);border-color:var(--purple);color:#fff}
.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:46px}
.qcard{display:flex;flex-direction:column;padding:30px 28px;border:1px solid var(--line);border-radius:16px;background:#fff}
.qcard svg{width:38px;height:38px;margin-bottom:18px;color:var(--purple)}
.qcard p{color:var(--muted)}
.qcard .go{margin-top:auto;color:var(--deep);font-weight:700;font-size:.92rem;text-decoration:none}
.qcard .go:hover{color:var(--purple)}
.ways{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:46px}
.way{padding:30px 28px;border:1px solid var(--line);border-radius:16px;background:#fff}
.way h3{margin-bottom:10px}
.way p{margin-bottom:14px;color:var(--muted)}
.way .addr{display:inline-block;color:var(--deep);font-weight:600;word-break:break-word}
.way a.mail{color:var(--deep);font-weight:700;text-decoration-color:var(--rose);text-underline-offset:4px}
.way a.mail:hover{color:var(--purple)}
.support-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:58px;align-items:start}
.support-list{display:grid;gap:12px}
.support-list a{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 21px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.05);color:#fff;text-decoration:none;font-size:.98rem;transition:background .2s,border-color .2s}
.support-list a:hover{border-color:var(--pink);background:rgba(255,255,255,.1)}
.support-list a::after{content:"→";color:var(--pink)}
.support-note{margin-top:26px;font-size:.88rem;color:#cfbfd4}
.support-note .addr{color:#fff;font-weight:600}
.coaching{display:grid;grid-template-columns:1.05fr .95fr;gap:58px;align-items:center}
.coaching-box{padding:34px 32px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 44px rgba(48,6,66,.08)}
.coaching-box h3{margin-bottom:12px}
.coaching-box p{margin-bottom:0;color:var(--muted);font-size:.95rem}
.faq details{padding:20px 0;border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;color:var(--deep);font-size:1.04rem;font-weight:600}
.faq details p{padding-top:13px;color:var(--ink)}
.faq details p:last-child{margin-bottom:0}
.limits{display:grid;grid-template-columns:.9fr 1.1fr;gap:58px;align-items:start}
.limit-list{margin:0;padding:0;list-style:none}
.limit-list li{position:relative;padding:0 0 14px 34px;color:var(--muted)}
.limit-list li::before{position:absolute;top:0;left:0;color:var(--purple);content:"◦";font-size:1.4rem;line-height:1.2}
.limit-note{margin-top:22px;padding:22px 25px;border-left:4px solid var(--rose);border-radius:0 14px 14px 0;background:#fff1f7;color:var(--ink)}
.crisis{background:linear-gradient(135deg,#250037,#4e0888);color:#fff}
.crisis h2,.crisis h3{color:#fff}
.crisis .eyebrow{color:var(--pink)}
.crisis-intro{max-width:780px;margin-bottom:42px;color:#eadfec}
.crisis-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.crisis-card{padding:28px 26px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14)}
.crisis-card h3{margin-bottom:16px;font-size:1.05rem}
.crisis-card dl{margin:0}
.crisis-card dt{margin-bottom:2px;font-weight:600;font-size:.95rem}
.crisis-card dd{margin:0 0 15px;color:#e2d4e6;font-size:.88rem}
.crisis-card dd:last-child{margin-bottom:0}
.crisis-card .num{color:#fff;font-weight:700}
.crisis-card a{color:#f2c9e4}
.crisis-foot{margin-top:30px;font-size:.85rem;color:#cfbfd4}
@media(max-width:900px){.quick,.crisis-grid{grid-template-columns:1fr 1fr}.support-grid,.coaching,.limits{grid-template-columns:1fr;gap:38px}}
@media(max-width:620px){.quick,.ways,.crisis-grid{grid-template-columns:1fr}}
.support-list details{border:1px solid #ffffff2e;border-radius:12px;background:#ffffff0d;overflow:hidden}
.support-list summary{display:flex;justify-content:space-between;gap:18px;padding:18px 21px;cursor:pointer;list-style:none;color:#fff;font-size:.98rem;font-weight:600}
.support-list summary::-webkit-details-marker{display:none}
.support-list summary::after{content:"+";color:#eca4d3;font-size:1.25rem;line-height:1.3}
.support-list details[open] summary::after{content:"−"}
.support-list details[open]{border-color:#c997da}
.support-list summary:hover{background:#ffffff0a}
.support-answer{padding:0 21px 21px;color:#e8ddec;font-size:.93rem}
.support-answer p{margin:0 0 17px}
.support-list .support-answer a{display:inline;padding:0;background:none;border:0;border-radius:0;color:#f5b7e1;text-decoration:underline;text-underline-offset:3px;font-size:inherit}
.support-list .support-answer a::after{content:none}
.support-list .support-answer a.btn{display:inline-flex;padding:10px 17px;border:1px solid #f5b7e1;border-radius:7px;text-decoration:none}
.support-followup{margin:24px 0 0!important;padding-top:17px;border-top:1px solid #ffffff25}
.support-note{line-height:1.7}
.ways .way{display:flex;flex-direction:column}
.ways .way>p:last-child{margin-top:auto;padding-top:16px}
.way a.mail.btn{color:var(--deep);font-weight:500;text-decoration:none}
.way a.mail.btn:hover{color:#fff;background:var(--deep)}
.coaching-feature{background:#8e176f;color:white}
.coaching-feature h2,.coaching-feature h3{color:white}
.coaching-feature .eyebrow{color:#ffd3ed}
.coaching-feature .coaching-box{background:#ffffff10;border-color:#ffffff40;box-shadow:none}
.coaching-feature .coaching-box p{color:#fff1fa}
.coaching-feature .actions{margin-top:32px}
.coaching-feature .btn{background:#4e0888;border-color:#fff6;color:white}
.coaching-feature .btn:hover{background:#310653}
.coaching-feature p{color:#fff1fa}
.faq .support-followup{border-top-color:var(--line)}
summary:focus-visible,a:focus-visible{outline:2px solid #b707b7;outline-offset:4px}
@media(max-width:620px){.coaching-feature .btn{width:100%;text-align:center}.support-list summary{padding:17px}.support-answer{padding:0 17px 20px}}