body.solutions-page { --bg:#fff; --bg-alt:#f2f6f7; --fg:#203743; --fg-soft:#40535b; --muted:#63767e; --accent:#1c6270; --forest:#1c6270; --border:#dbe4e7; background:#fff; color:var(--fg); }
.solution-shell { width:min(1040px,calc(100% - 48px)); margin:0 auto; padding-bottom:48px; font-size:16px; line-height:1.9; }
.solution-shell a { color:#1c6270; text-underline-offset:4px; }
.solution-shell a:focus-visible, .solution-shell button:focus-visible { outline:3px solid #a45b37; outline-offset:4px; }
.solution-breadcrumb { display:flex; flex-wrap:wrap; gap:10px; padding:26px 0 0; font-size:13px; color:#63767e; }
.solution-breadcrumb a { text-decoration:underline; }
.solution-hero { padding:56px 0 42px; border-bottom:1px solid #dbe4e7; }
.solution-eyebrow { color:#1c6270; font-size:13px; font-weight:600; letter-spacing:.08em; margin-bottom:18px; }
.solution-hero h1 { max-width:920px; font-family:var(--serif); font-weight:600; font-size:clamp(31px,4.2vw,46px); line-height:1.4; margin:0 0 22px; }
.solution-lead { color:#203743; font-size:22px; line-height:1.7; margin-bottom:20px; }
.solution-hero>p:not(.solution-eyebrow):not(.solution-lead) { max-width:800px; color:#40535b; margin-bottom:16px; }
.solution-text-link { display:inline-block; font-size:14px; margin-top:14px; text-decoration:underline; }
.solution-section { display:grid; grid-template-columns:240px minmax(0,1fr); gap:32px; padding:38px 0; border-bottom:1px solid #dbe4e7; scroll-margin-top:90px; }
.solution-shell h2 { font-size:24px; font-weight:600; line-height:1.5; margin:0 0 18px; }
.solution-section>h2 { font-size:22px; }
.solution-shell h3 { font-size:21px; line-height:1.5; font-weight:600; margin:0 0 12px; }
.solution-section p { margin:0 0 16px; }
.solution-section ul { padding-left:21px; margin:0 0 20px; }
.solution-section li { padding-left:3px; margin:0 0 12px; }
.solution-section .solution-note, .solution-note { font-size:13px; color:#63767e; line-height:1.85; margin-top:16px; }
.solution-stages { list-style:none; margin:0; padding:0; }
.solution-stages li { display:grid; grid-template-columns:36px minmax(0,1fr); gap:16px; padding:0 0 23px; margin:0 0 24px; border-bottom:1px solid #dbe4e7; }
.solution-stages li:last-child { margin:0; border:0; padding-bottom:0; }
.solution-step { color:#1c6270; font-size:14px; line-height:1.8; font-family:Georgia,serif; }
.solution-stages h3 { font-size:18px; margin-bottom:8px; }
.solution-stages .solution-output { margin:12px 0 0; font-size:14px; padding-left:14px; border-left:2px solid #c5d7de; color:#40535b; }
.solution-overview { padding:40px 0 0; }
.solution-item { display:grid; grid-template-columns:52px minmax(0,1fr); gap:22px; padding:30px 0; border-bottom:1px solid #dbe4e7; }
.solution-item h3 a { text-decoration:none; }
.solution-item h3 a:hover { text-decoration:underline; }
.solution-item p { margin:10px 0; color:#40535b; max-width:850px; font-size:15px; }
.solution-item .solution-question { font-size:18px; color:#203743; }
.solution-button { padding:12px 20px; border:1px solid #1c6270; background:#1c6270; color:#fff; font:inherit; font-size:14px; cursor:pointer; min-height:46px; }
.solution-button:hover { background:#154d58; }
.solution-simple-steps { padding-left:22px; margin:0; }
.solution-reading { display:flex; flex-wrap:wrap; gap:14px 28px; padding-top:30px; font-size:14px; }
.solution-reading a { text-decoration:underline; }
@media(max-width:760px) { .solution-shell { width:calc(100% - 36px); font-size:16px; } .solution-hero { padding:38px 0 30px; } .solution-lead { font-size:19px; } .solution-section { grid-template-columns:1fr; gap:8px; padding:30px 0; } .solution-section>h2 { font-size:22px; } .solution-item { grid-template-columns:28px minmax(0,1fr); gap:12px; padding:26px 0; } .solution-item h3 { font-size:22px; } .solution-item .solution-question { font-size:17px; } .solution-stages li { grid-template-columns:28px minmax(0,1fr); gap:10px; } }
@media print { .solution-button { display:none; } .solution-section { display:block; } .solution-section h2 { break-after:avoid; } .solution-stages li { break-inside:avoid; } }
