/* Homepage button palette follows the supplied purple-and-white reference. */
body:has(.home-additions) .button {
  background:#7540ca;
  color:#fff;
  border-color:#7540ca;
  box-shadow:0 3px 8px #592b9b12;
}
body:has(.home-additions) .button:hover {
  background:#6030b2;
  border-color:#6030b2;
  color:#fff;
}
body:has(.home-additions) .button:active {background:#52269c;color:#fff}
/* Layout rules below only affect the added sections. */
.home-additions {
  --home-purple:#7540ca;
  --home-border:#e7e0ef;
  --home-surface:#f8f5fc;
  --home-text:#25163e;
  --home-muted:#70677d;
  color:var(--home-text);
}
.home-additions>.section,.home-faq-section {padding-top:56px;padding-bottom:56px}
.home-additions .section+.section {border-top:1px solid #eee8f4}
.home-additions p {font-size:15px;line-height:1.8;color:var(--home-muted)}
.home-additions h2 {font-size:32px;line-height:1.28;letter-spacing:-.8px;margin:12px 0 16px}
.home-additions h3 {font-size:19px;line-height:1.4;letter-spacing:-.25px}
.home-additions .eyebrow {font-size:10px;letter-spacing:1.8px}
.home-additions .home-section-heading {max-width:740px;text-align:center;margin:0 auto 34px}
.home-additions .home-section-heading p {margin-bottom:0}
.home-additions .home-inline-actions {display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:28px}
.home-additions .button {font-size:13px;line-height:1.5;border-radius:8px;min-height:44px;padding:12px 20px;text-align:center}
.home-additions .button.secondary {background:#7540ca;color:#fff}
.home-additions .button.secondary:hover {background:#6030b2;color:#fff}
.home-additions .home-editorial-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.home-additions .home-editorial-grid article {padding:26px;border:1px solid var(--home-border);border-radius:15px;background:#fff;box-shadow:0 8px 24px #36204c05}
.home-additions .home-editorial-top {display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.home-additions .home-editorial-top>.icon {width:44px;height:44px;border-radius:12px;background:#f1eafa;color:var(--home-purple)}
.home-additions .home-editorial-top>span:not(.icon) {font:700 12px Manrope,sans-serif;color:#93829f;letter-spacing:1px}
.home-additions .home-editorial-grid h3 {margin:0 0 14px}
.home-additions .home-editorial-grid p {margin:0;font-size:14px}
.home-additions .home-subject-picker {display:grid;grid-template-columns:275px minmax(0,1fr);border:1px solid var(--home-border);border-radius:18px;overflow:hidden;box-shadow:0 12px 32px #36204c06}
.home-additions .home-subject-options {padding:22px;display:flex;flex-direction:column;gap:12px;background:var(--home-surface);border-right:1px solid var(--home-border)}
.home-additions .home-subject-options button {
  font:600 14px 'DM Sans',sans-serif;border:1px solid #e7e0ef;border-radius:10px;background:#fff;
  color:#5b4e6d;padding:17px 16px;cursor:pointer;text-align:left;line-height:1.5;
  transition:background .15s,border-color .15s,color .15s;
}
.home-additions .home-subject-options button:hover {border-color:#ab8bcf;background:#f2eafa}
.home-additions .home-subject-options button[aria-pressed=true] {background:var(--home-purple);border-color:var(--home-purple);color:#fff;box-shadow:0 5px 12px #7540ca1c}
.home-additions .home-subject-panel {padding:34px 36px;background:#fff}
.home-additions .home-panel-label {display:inline-block;font-size:11px;font-weight:600;padding:5px 10px;border-radius:5px;background:#f2ebfa;color:#7040b6;margin-bottom:10px}
.home-additions .home-subject-panel h3 {font-size:23px;max-width:620px;margin:6px 0 16px}
.home-additions .home-subject-panel>p {max-width:690px}
.home-additions .home-panel-note {padding:17px 20px;background:#faf8fd;border-left:3px solid #c0a2e7;border-radius:0 8px 8px 0;margin:20px 0 24px}
.home-additions .home-panel-note strong {font-size:12px;color:#4d365e}
.home-additions .home-panel-note p {font-size:13px;margin:6px 0 0;line-height:1.75}
.home-additions .home-format-grid {display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}
.home-additions .home-format-grid details {border:1px solid var(--home-border);border-radius:12px;background:#fff;overflow:hidden}
.home-additions .home-format-grid details[open] {border-color:#cbb6e8;box-shadow:0 6px 20px #36204c05}
.home-additions .home-format-grid summary {display:flex;align-items:center;gap:14px;padding:20px;min-height:84px;cursor:pointer;font-weight:600;font-size:15px;list-style:none;line-height:1.5}
.home-additions .home-format-grid summary::-webkit-details-marker {display:none}
.home-additions .home-format-number {font-size:12px;color:#8c64bf;background:#f6f0fc;width:34px;height:34px;display:grid;place-items:center;flex-shrink:0;border-radius:8px}
.home-additions .home-format-toggle {margin-left:auto;color:#7540ca;font-size:20px;font-weight:400}
.home-additions .home-format-grid details[open] .home-format-toggle {transform:rotate(45deg)}
.home-additions .home-format-grid details>p {padding:0 22px;margin:0 0 18px;font-size:14px}
.home-additions .home-format-grid details>.button {margin:0 22px 22px}
.home-additions .home-quote-guidance {display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;background:var(--home-surface);border:1px solid var(--home-border);padding:38px;border-radius:18px;margin:12px 0}
.home-additions .home-quote-guidance h2 {font-size:29px}
.home-additions .home-quote-guidance>div>p {font-size:14px}
.home-additions .home-quote-guidance aside {padding:26px;background:#fff;border:1px solid var(--home-border);border-radius:13px;box-shadow:0 8px 18px #36204c05}
.home-additions .home-quote-guidance aside h3 {margin:0 0 20px}
.home-additions .home-quote-guidance ul {list-style:none;margin:0;padding:0}
.home-additions .home-quote-guidance li {display:flex;gap:10px;align-items:baseline;padding:10px 0;border-bottom:1px solid #f0ebf5;font-size:13px;line-height:1.6}
.home-additions .home-quote-guidance li:before {content:'✓';font-size:12px;color:#7540ca;flex-shrink:0}
.home-additions .home-quote-guidance aside p {font-size:12px;margin:16px 0 0}
.home-additions .home-tool-grid {display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.home-additions .home-tool-grid article {grid-column:span 2;padding:24px;border:1px solid var(--home-border);border-radius:14px;display:flex;flex-direction:column;background:#fff;transition:box-shadow .18s,border-color .18s}
.home-additions .home-tool-grid article:nth-last-child(-n+2) {grid-column:span 3}
.home-additions .home-tool-grid article:hover {border-color:#c6acdf;box-shadow:0 8px 22px #36204c09}
.home-additions .home-tool-top {display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}
.home-additions .home-tool-top>.icon {width:42px;height:42px;border-radius:11px}
.home-additions .home-tool-top>span:not(.icon) {font-size:10px;letter-spacing:.3px;color:#867694;background:#f7f4fa;padding:4px 8px;border-radius:5px}
.home-additions .home-tool-grid h3 {margin:0 0 10px}
.home-additions .home-tool-grid p {font-size:14px;margin:0 0 22px}
.home-additions .home-tool-grid .text-link {font-size:13px;font-weight:600;color:#7540ca;margin-top:auto}
.home-additions .home-portal-guidance {display:grid;grid-template-columns:1.4fr 1fr;gap:45px;align-items:center;background:#2f1b50;padding:38px;border-radius:18px;color:#fff;margin:12px 0}
.home-additions .home-portal-guidance .eyebrow {color:#c6a4f1}
.home-additions .home-portal-guidance h2 {font-size:29px}
.home-additions .home-portal-guidance>div>p {color:#d9cde7;font-size:14px}
.home-additions .home-portal-guidance aside {background:#fff;border-radius:13px;padding:28px;color:var(--home-text)}
.home-additions .home-portal-guidance aside h3 {margin:6px 0 12px}
.home-additions .home-portal-guidance aside p {font-size:13px}
.home-additions .home-portal-guidance aside .text-link {font-size:13px;font-weight:600}
.home-additions .home-credit {display:block;font-size:46px;line-height:1.2;font-weight:750;color:#7540ca;letter-spacing:-1px}
.home-additions .home-facts {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:30px 0;margin:32px 0 0;border-top:1px solid var(--home-border);border-bottom:1px solid var(--home-border)}
.home-additions .home-facts div {text-align:center;display:grid;gap:4px;border-right:1px solid var(--home-border)}
.home-additions .home-facts div:last-child {border-right:0}
.home-additions .home-facts strong {font-size:30px;color:#7540ca;line-height:1.4}
.home-additions .home-facts span {font-size:12px;color:var(--home-muted)}
.home-additions .home-faq-layout {display:grid;grid-template-columns:285px minmax(0,1fr);gap:32px;align-items:start;margin-top:32px}
.home-additions .home-faq-controls {padding:22px;background:var(--home-surface);border:1px solid var(--home-border);border-radius:14px;position:sticky;top:110px}
.home-additions .home-faq-controls label {display:block;font-size:12px;font-weight:600}
.home-additions #home-faq-search {display:block;width:100%;margin-top:10px;font:400 13px 'DM Sans',sans-serif;padding:12px;border:1px solid #dfd4eb;border-radius:8px;background:#fff;color:var(--home-text);min-width:0}
.home-additions .home-faq-controls [role=group] {display:grid;gap:7px;margin-top:18px}
.home-additions [data-home-faq-category] {font:500 13px 'DM Sans',sans-serif;border:1px solid transparent;border-radius:7px;background:transparent;color:#6b5a7d;padding:10px 12px;cursor:pointer;text-align:left;line-height:1.5;transition:background .15s,color .15s}
.home-additions [data-home-faq-category]:hover {background:#eee5f7;color:#7540ca}
.home-additions [data-home-faq-category][aria-pressed=true] {background:#7540ca;color:#fff}
.home-additions .home-faq-help {border-top:1px solid #e6ddef;padding-top:18px;margin-top:20px}
.home-additions .home-faq-help strong {font-size:12px}
.home-additions .home-faq-help p {font-size:12px;margin:8px 0}
.home-additions .home-faq-help a {font-size:12px;font-weight:600;color:#7540ca}
.home-additions #home-faq-count {font-size:12px;margin:0 0 12px;color:#877491}
.home-additions .faq-grid {grid-template-columns:1fr;align-items:start;gap:10px}
.home-additions .faq-grid details {background:#fff;border:1px solid var(--home-border);border-radius:10px;overflow:hidden}
.home-additions .faq-grid details[open] {border-color:#c7b0e3;box-shadow:0 5px 15px #36204c04}
.home-additions .faq-grid summary {font-size:14px;font-weight:600;line-height:1.65;padding:18px 20px}
.home-additions .faq-grid summary span {width:22px;height:22px;display:grid;place-items:center;flex-shrink:0;font-size:18px;font-weight:400;background:#f6f1fc;border-radius:50%}
.home-additions .faq-grid details p {padding:0 20px 20px;font-size:14px;line-height:1.85}
.home-additions #home-faq-empty {padding:24px;border:1px dashed #d1bde9;border-radius:10px;background:#fcfaff}
.home-additions [hidden] {display:none!important}
.home-additions a:focus-visible,.home-additions button:focus-visible,.home-additions summary:focus-visible,.home-additions input:focus-visible {outline:3px solid #a17bd4;outline-offset:4px}
.home-review-controls {display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;font-size:13px}
@media(max-width:1050px) {
 .home-additions .home-editorial-grid {gap:15px}
 .home-additions .home-editorial-grid article {padding:20px}
 .home-additions .home-subject-picker {grid-template-columns:230px minmax(0,1fr)}
 .home-additions .home-subject-panel {padding:26px}
 .home-additions .home-quote-guidance,.home-additions .home-portal-guidance {gap:28px;padding:28px}
 .home-additions .home-faq-layout {grid-template-columns:235px minmax(0,1fr);gap:22px}
}
@media(max-width:760px) {
 .home-additions>.section,.home-faq-section {padding-top:36px;padding-bottom:36px}
 .home-additions h2 {font-size:25px;letter-spacing:-.55px}
 .home-additions h3 {font-size:18px}
 .home-additions p {font-size:14px}
 .home-additions .home-section-heading {margin-bottom:24px;text-align:left}
 .home-additions .home-editorial-grid,.home-additions .home-format-grid,.home-additions .home-subject-picker,.home-additions .home-quote-guidance,.home-additions .home-portal-guidance,.home-additions .home-faq-layout {grid-template-columns:1fr}
 .home-additions .home-editorial-grid {gap:14px}
 .home-additions .home-editorial-grid article {padding:23px}
 .home-additions .home-editorial-top {margin-bottom:16px}
 .home-additions .home-subject-options {display:grid;grid-template-columns:1fr 1fr;padding:14px;gap:9px;border-right:0;border-bottom:1px solid var(--home-border)}
 .home-additions .home-subject-options button {padding:13px 10px;font-size:12px;min-height:60px}
 .home-additions .home-subject-panel {padding:23px}
 .home-additions .home-subject-panel h3 {font-size:21px}
 .home-additions .home-panel-note {padding:14px}
 .home-additions .home-format-grid summary {padding:16px;min-height:78px;font-size:14px;gap:12px}
 .home-additions .home-format-grid details>p {padding:0 16px}
 .home-additions .home-format-grid details>.button {margin-left:16px;margin-right:16px}
 .home-additions .home-quote-guidance,.home-additions .home-portal-guidance {padding:23px;gap:24px}
 .home-additions .home-quote-guidance h2,.home-additions .home-portal-guidance h2 {font-size:25px}
 .home-additions .home-quote-guidance aside,.home-additions .home-portal-guidance aside {padding:21px}
 .home-additions .home-tool-grid {grid-template-columns:1fr;gap:13px}
 .home-additions .home-tool-grid article,.home-additions .home-tool-grid article:nth-last-child(-n+2) {grid-column:auto;padding:23px}
 .home-additions .home-tool-top {margin-bottom:16px}
 .home-additions .home-facts {gap:8px;padding:23px 0;margin-top:26px}
 .home-additions .home-facts strong {font-size:27px}
 .home-additions .home-facts span {font-size:11px;padding:0 4px;line-height:1.5}
 .home-additions .home-faq-layout {gap:22px;margin-top:24px}
 .home-additions .home-faq-controls {position:static;padding:18px}
 .home-additions #home-faq-search {font-size:16px}
 .home-additions .home-faq-controls [role=group] {display:flex;flex-wrap:wrap;gap:7px}
 .home-additions [data-home-faq-category] {font-size:12px;border-color:#e5dcee;background:#fff;padding:8px 10px}
 .home-additions .home-faq-help {display:none}
 .home-additions .faq-grid summary {padding:16px;font-size:13px}
 .home-additions .faq-grid details p {padding:0 16px 18px;font-size:13px}
 .home-additions .home-inline-actions {justify-content:flex-start;gap:10px;margin-top:23px}
 .home-additions .button {max-width:100%;font-size:12px;padding:12px 16px}
}
@media(prefers-reduced-motion:reduce) {
 .home-additions button,.home-additions article {transition:none!important}
}
