/* Sofelyx V41: styles scoped to methodology only */
.m41{--m41-navy:#0a2140;--m41-blue:#2357e6;--m41-sky:#e9f2ff;--m41-mute:#55667e;--m41-line:#dce5ef;--m41-teal:#087a74; color:#17283f;background:#fff;overflow-x:clip}
.m41 *{box-sizing:border-box}
.m41 .container{width:min(1160px,calc(100% - 40px));margin-inline:auto}
.m41 h1,.m41 h2,.m41 h3{letter-spacing:-.025em;color:var(--m41-navy)}
.m41 h1{font-size:clamp(2.2rem,4.4vw,3.95rem);line-height:1.09;max-width:780px;margin:0 0 21px;font-weight:810}
.m41 h2{font-size:clamp(1.65rem,3vw,2.32rem);line-height:1.18;margin:0 0 15px}
.m41 h3{font-size:1.08rem;line-height:1.3;margin:0 0 9px}
.m41 p{line-height:1.68}
.m41 a{color:#184ed6}
.m41 a:focus-visible,.m41 button:focus-visible,.m41 input:focus-visible,.m41 select:focus-visible,.m41 summary:focus-visible,.m41 [tabindex]:focus-visible{outline:3px solid #efa650;outline-offset:3px}
.m41 .btn{min-height:47px;display:inline-flex;align-items:center;justify-content:center;text-align:center;gap:8px;padding:12px 18px;white-space:normal;text-decoration:none;font-weight:700;font-size:.94rem;border-radius:12px;border:1px solid #c9d7eb;cursor:pointer;transition:transform .15s,background .15s}
.m41 .btn:hover{transform:translateY(-1px)}
.m41 .btn-primary{background:#2357e6;border-color:#2357e6;color:white}
.m41 .btn-secondary{background:white;border-color:#becbe0;color:#123157}
.m41-hero{background:radial-gradient(ellipse at 12% 15%,rgba(75,145,237,.14),transparent 48%),linear-gradient(125deg,#f5faff 3%,#fff 70%);border-bottom:1px solid #e5edf7;padding:23px 0 0}
.m41-breadcrumb{display:flex;gap:11px;align-items:center;color:#62738a;font-size:.82rem;margin-bottom:48px}
.m41-breadcrumb a{color:#3c506e;text-decoration:none}
.m41-hero-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(315px,.85fr);gap:clamp(22px,4vw,68px);align-items:center;margin-bottom:53px}
.m41-eyebrow,.m41-kicker{display:block;color:#166c90;font-size:.8rem;letter-spacing:.11em;font-weight:800;text-transform:uppercase;margin:0 0 16px}
.m41-eyebrow{display:flex;gap:9px;align-items:center}
.m41-dot{height:9px;width:9px;background:#15918b;border-radius:50%;display:inline-block}
.m41-lead{font-size:clamp(1.05rem,1.6vw,1.24rem);color:#52657e;max-width:660px;line-height:1.66;margin:0 0 26px}
.m41-actions{display:flex;flex-wrap:wrap;gap:11px;align-items:center}
.m41-mininote{color:#617288;font-size:.82rem;margin:15px 0 0}
.m41-status{padding:30px 29px;background:#102b4c;border-radius:22px;color:#e0edfc;box-shadow:0 18px 45px rgba(18,41,79,.14)}
.m41-status h2{color:white;font-size:1.35rem;margin:20px 0}
.m41-status-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.m41-status-pill{border:1px solid #63839c;padding:8px 12px;border-radius:30px;font-size:.77rem;color:#eef9ff}
.m41-kpi{color:#95e0d9;font-size:1rem;font-weight:800}
.m41-status-row{display:flex;align-items:flex-start;gap:12px;margin:18px 0;font-size:.89rem;line-height:1.5}
.m41-status-row:last-child{margin-bottom:0}
.m41-check,.m41-warn{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:.75rem;font-weight:900;background:#d5fff2;color:#086b60}
.m41-warn{background:#fff1d7;color:#966317}
.m41-jumplinks{display:flex;gap:7px;flex-wrap:wrap;border-top:1px solid #e2eaf4;padding:12px 0}
.m41-jumplinks a{text-decoration:none;color:#344861;font-weight:650;font-size:.87rem;padding:8px 12px;border-radius:9px}
.m41-jumplinks a:hover{background:#e6eefb}
.m41-body{padding-bottom:70px}
.m41-section{padding:68px 0;border-bottom:1px solid #e4ebf3;scroll-margin-top:30px}
.m41-heading{max-width:785px;margin-bottom:29px}
.m41-heading p{font-size:1.04rem;color:#55667b;margin:0}
.m41-process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.m41-process article{border:1px solid #dce6f0;padding:23px 22px;border-radius:17px;background:white}
.m41-process p,.m41-checkgrid p{color:#56677c;font-size:.91rem;margin:0}
.m41-step{display:inline-block;color:#17686f;background:#e8f8f4;font-size:.76rem;font-weight:800;border-radius:7px;padding:5px 8px;margin-bottom:18px}
.m41-inline-notice{margin:23px 0 0;padding:17px 20px;border-left:4px solid #1a8d87;border-radius:4px 10px 10px 4px;background:#ecf8f7;color:#315665;font-size:.94rem}
.m41-tablewrap{width:100%;overflow-x:auto;border-radius:16px;border:1px solid #d7e2ed;background:white}
.m41-table{border-collapse:collapse;width:100%;min-width:655px;font-size:.91rem}
.m41-table caption{font-size:.84rem;color:#556780;text-align:left;padding:14px 20px;background:#f7fafc}
.m41-table thead{background:#f0f5fa}
.m41-table th,.m41-table td{text-align:left;padding:16px 20px;vertical-align:middle;border-bottom:1px solid #e5ebf2;line-height:1.5}
.m41-table th{color:#203950;font-weight:750}
.m41-table tbody tr:last-child td,.m41-table tbody tr:last-child th{border-bottom:0}
.m41-table thead th{font-size:.81rem;letter-spacing:.02em}
.m41-chip{display:inline-flex;padding:5px 10px;border-radius:8px;font-weight:800;font-size:.8rem;white-space:nowrap}
.m41-chip-doc{background:#eaf1fd;color:#1a4d92}.m41-chip-test{background:#e1f7ee;color:#136b4d}.m41-chip-pend{background:#fff1d9;color:#88600a}.m41-chip-old{background:#fbe9e9;color:#914141}
.m41-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:22px}
.m41-softbox{padding:26px;background:#f6f9fd;border-radius:18px;border:1px solid #e4ebf5}
.m41-softbox p,.m41-softbox li,.m41-dl dd{font-size:.93rem;color:#526478;line-height:1.65}
.m41-softbox p:last-child{margin-bottom:0}
.m41-list,.m41-numberlist{padding-left:21px;margin:12px 0 0}
.m41-list li,.m41-numberlist li{margin:7px 0}
.m41-explain{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:22px}
.m41-explain>div{border-left:3px solid #328ab7;background:#f1f8fd;padding:17px 21px;border-radius:0 10px 10px 0}
.m41-explain p{color:#53677b;margin:7px 0 0;font-size:.92rem}
.m41-checkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.m41-checkgrid article{display:flex;gap:15px;align-items:flex-start;background:white;border:1px solid #dce7f1;border-radius:16px;padding:22px}
.m41-checkgrid article>span{flex:none;background:#edf3ff;color:#2454bf;padding:9px 11px;border-radius:11px;font-size:.75rem;font-weight:800}
.m41-export{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 25px;margin-top:19px;border-radius:17px;background:#eef7f7}
.m41-export h3{margin:0 0 5px}
.m41-export p{margin:0;color:#52677c;font-size:.9rem}
.m41-export button{flex:none}
.m41-lab{background:linear-gradient(125deg,#f6faff,#f3f8fd);padding:38px;margin:68px 0;border:1px solid #d9e5f5;border-radius:22px}
.m41-lab .m41-heading{margin-bottom:21px}
.m41-labhead{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:650px}
.m41-labhead label{display:flex;flex-direction:column;gap:7px;color:#263a57;font-weight:750;font-size:.9rem}
.m41 input,.m41 select{min-width:0;max-width:100%;border:1px solid #b9c9dc;background:white;color:#17283f;border-radius:9px;padding:10px 11px;font:inherit}
.m41-labhead input{width:100%}
.m41-hint{color:#5c6d80;font-size:.92rem;margin:17px 0}
.m41-labtable{background:#fff}
.m41-labtable table{min-width:610px}
.m41-labtable th:first-child{width:40%}
.m41-labtable input,.m41-labtable select{width:100%;max-width:148px;font-size:.87rem;padding:8px}
.m41-labtable tfoot{background:#f3f8ff;font-weight:750}
.m41-lab-actions{display:flex;gap:11px;flex-wrap:wrap;align-items:center;margin-top:22px}
.m41-quiet-button{color:#1e4e92;background:none;border:0;text-decoration:underline;cursor:pointer;font-weight:700;padding:10px 4px}
.m41-quiet-button:disabled{color:#8593a6;cursor:not-allowed}
.m41-result{background:white;border:1px solid #bfcfe5;border-radius:13px;padding:20px 22px;margin-top:18px;line-height:1.5}
.m41-result p{font-size:.9rem;color:#53657a;margin:7px 0 0}
.m41-result strong{font-weight:800}
.m41-result.m41-result-error{border-color:#e4b5a5;background:#fff9f4;color:#733a21}
.m41-result.m41-result-success{border-color:#a9dccf;background:#f8fffd}
.m41-scores{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.m41-scores>div{padding:12px;background:#f1f7fc;border-radius:9px}
.m41-scores small{display:block;font-size:.76rem;color:#5a667b}
.m41-scores b{font-size:1.4rem;display:block;color:#0c345b}
.m41-tiny{font-size:.8rem;color:#61748b;line-height:1.6;margin:17px 0 0}
.m41-dl dt{font-size:.95rem;font-weight:800;margin:15px 0 4px}
.m41-dl dd{margin:0}
.m41-text-link{display:inline-flex;margin-top:10px;font-weight:750}
.m41-disclosures{padding:24px;border-radius:16px;background:#f6f9fd;border:1px solid #e3eaf3;margin-top:19px}
.m41-disclosures p{font-size:.94rem;color:#52657a;margin:9px 0}
.m41-faq{border-top:1px solid #dce5ef}
.m41-faq details{border-bottom:1px solid #dce5ef;padding:20px 5px}
.m41-faq summary{cursor:pointer;font-weight:750;color:#143553;list-style-position:outside;padding-right:20px}
.m41-faq details p{color:#53677b;font-size:.93rem;margin:12px 0 0}
.m41-end{margin:50px 0 0;padding:37px;border-radius:23px;background:#122d50;color:white;display:flex;justify-content:space-between;align-items:center;gap:25px}
.m41-end h2{color:white;font-size:1.65rem}
.m41-end .m41-kicker{color:#89d9d4}
.m41-end p{color:#c8d6e7;margin:0}
.m41-end .btn-secondary{background:transparent;border-color:#7c91ac;color:white}
@media(max-width:900px){.m41-hero-grid{grid-template-columns:1fr;gap:25px;margin-bottom:33px}.m41-status{max-width:740px}.m41-process{grid-template-columns:repeat(2,minmax(0,1fr))}.m41-end{display:block}.m41-end .m41-actions{margin-top:25px}}
@media(max-width:650px){.m41 .container{width:calc(100% - 30px)}.m41-hero{padding-top:18px}.m41-breadcrumb{margin-bottom:28px}.m41 h1{font-size:clamp(2.05rem,9vw,2.8rem)}.m41-lead{font-size:1rem}.m41-hero-grid{gap:23px}.m41-hero .m41-actions .btn{width:100%}.m41-status{padding:24px 21px}.m41-jumplinks{gap:0}.m41-jumplinks a{font-size:.78rem;padding:7px 8px}.m41-section{padding:47px 0}.m41-process,.m41-split,.m41-checkgrid,.m41-explain,.m41-labhead{grid-template-columns:1fr}.m41-process article{padding:20px}.m41-softbox{padding:21px}.m41-export{display:block}.m41-export button{margin-top:18px;width:100%}.m41-lab{padding:20px 13px;margin:48px 0}.m41-lab-actions .btn{width:100%}.m41-scores{grid-template-columns:1fr}.m41-end{padding:27px 22px}.m41-end .m41-actions .btn{width:100%}}
@media(prefers-reduced-motion:reduce){.m41 *{scroll-behavior:auto!important;transition:none!important}}
