.wryt-solutions-page { --sol-blue:#0d6fae; --sol-ink:#172b38; }
.sol-container { width:calc(100% - 6rem); max-width:80rem; margin-inline:auto; }
.sol-eyebrow { font: .72rem/1.6 monospace; letter-spacing:.13em; margin-bottom:1.4rem; }
.sol-hero { margin:0 1rem; border-radius:2rem; background:linear-gradient(125deg,#075881,#1188cd); color:white; padding:5rem 0; overflow:hidden; }
.sol-hero-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:4rem; align-items:center; }
.sol-hero h1 { color:white; font-size:clamp(2.6rem,4.4vw,4.5rem); line-height:1.1; letter-spacing:-.05em; margin:0 0 1.6rem; }
.sol-hero h1 span { color:#c6e4f6; }
.sol-hero p { max-width:40ch; font-size:1.2rem; line-height:1.6; margin:0 0 1rem; }
.sol-hero .sol-hero-detail { font-size:1rem; color:#e0f0fa; line-height:1.7; }
.sol-actions { display:flex; flex-wrap:wrap; gap:1rem; margin-top:2rem; }
.sol-button { gap:1rem; letter-spacing:.08em; font-size:.72rem; line-height:1.5; padding:1rem 1.4rem; max-width:100%; white-space:normal; }
.sol-button > span:last-child { flex:none; }
.sol-secondary { background:#ffffff15!important; color:white!important; border:1px solid #ffffff55; }
.sol-map { position:relative; padding:2rem; background:#ffffff12; border:1px solid #ffffff45; border-radius:1.5rem; box-shadow:0 1.5rem 4rem #00344d20; }
.sol-map-label { font:.65rem/1.6 monospace; letter-spacing:.12em; color:#d9effb; margin-bottom:1.75rem; }
.sol-map-node { display:flex; align-items:center; gap:1rem; background:#fff; color:var(--sol-ink); border-radius:1rem; padding:1.25rem; margin-bottom:1rem; position:relative; }
.sol-map-node > span { display:grid; place-items:center; flex:none; width:2.5rem; height:2.5rem; background:#d6fd70; border-radius:50%; font:.8rem monospace; }
.sol-map-node:nth-of-type(3) { margin-left:0; }
.sol-map-node strong { display:block; font-size:1rem; font-weight:500; line-height:1.4; }
.sol-map-node small { display:block; font-size:.8rem; line-height:1.6; color:#5d6c76; margin-top:.35rem; }
.sol-map-bottom { display:flex; align-items:center; gap:.65rem; font-size:.8rem; margin-top:1.5rem; }
.sol-status { width:.5rem; height:.5rem; border-radius:50%; background:#d6fd70; flex:none; }
.sol-section { padding-block:4.5rem; }
.sol-heading { text-align:center; max-width:47rem; margin:0 auto 3rem; }
.sol-heading h2,.sol-closing h2 { font-size:clamp(2rem,3.2vw,3.25rem); line-height:1.18; letter-spacing:-.045em; margin:0 0 1.25rem; text-wrap:balance; }
.sol-heading p { max-width:42rem; margin:0 auto; color:#5b656c; font-size:1rem; line-height:1.75; }
.sol-outcomes { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.sol-outcomes article { padding:2.5rem; background:#edf5fa; border-radius:1.5rem; display:flex; flex-direction:column; align-items:flex-start; }
.sol-outcomes article:nth-child(2) { background:#edffbc; }
.sol-kicker { font:.7rem monospace; letter-spacing:.12em; margin-bottom:1.5rem; }
.sol-outcomes h3 { font-size:2rem; line-height:1.2; margin:0 0 1.25rem; letter-spacing:-.04em; }
.sol-outcomes p { line-height:1.7; color:#48545c; margin:0; }
.sol-outcomes ul { list-style:none; padding:0; margin:1.5rem 0 2rem; line-height:1.7; }
.sol-outcomes li { margin:.5rem 0; padding-left:1.5rem; position:relative; }
.sol-outcomes li::before { content:'✓'; position:absolute; left:0; }
.sol-outcomes .sol-button { margin-top:auto; }
.sol-paths { background:#f7f9fa; scroll-margin-top:6rem; }
.sol-filters { display:flex; gap:.6rem; justify-content:center; flex-wrap:wrap; }
.sol-filters button { font:inherit; font-size:.85rem; line-height:1.4; padding:.8rem 1.2rem; border:1px solid #d7e0e5; border-radius:2rem; background:white; color:#374d5b; cursor:pointer; min-height:44px; }
.sol-filters button[aria-pressed=true] { background:#172b38; border-color:#172b38; color:white; }
.sol-filters button:focus-visible,.sol-button:focus-visible { outline:3px solid #1682bc; outline-offset:4px; }
.sol-result-count { margin:1.5rem 0; text-align:center; font-size:.8rem; color:#64737c; }
.sol-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.sol-card { display:flex; flex-direction:column; align-items:flex-start; min-width:0; padding:2rem; border:1px solid #e3e9ed; background:white; border-radius:1.5rem; }
.sol-card[hidden] { display:none; }
.sol-card-top { display:flex; justify-content:space-between; align-items:center; width:100%; margin-bottom:1.5rem; }
.sol-icon { display:grid; place-items:center; width:3rem; height:3rem; background:#eaf3fa; color:#23658e; border-radius:.85rem; }
.sol-icon svg { width:1.7rem; height:1.7rem; }
.sol-number { font:.7rem monospace; color:#7e8b94; }
.sol-card h3 { font-size:1.5rem; line-height:1.25; margin:0 0 1rem; letter-spacing:-.03em; text-wrap:balance; }
.sol-card p { font-size:.9rem; line-height:1.7; color:#61707a; margin:0 0 1rem; }
.sol-card .sol-card-tagline { font-weight:500; color:#203644; }
.sol-card ul { list-style:none; padding:0; width:100%; margin:0 0 1.5rem; }
.sol-card li { border-top:1px solid #edf0f2; padding:.7rem 0 .7rem 1.25rem; position:relative; font-size:.85rem; line-height:1.5; color:#435661; }
.sol-card li::before { content:'+'; position:absolute; left:0; color:#276785; }
.sol-card .sol-button { margin-top:auto; font-size:.62rem; padding:.85rem 1rem; }
.sol-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:2rem; padding:0; margin:0 0 2rem; list-style:none; }
.sol-steps li { border-top:1px solid #d7e1e8; padding-top:1.5rem; }
.sol-steps span { display:grid; place-items:center; width:2.75rem; height:2.75rem; border-radius:50%; background:#d6fd70; font:.8rem monospace; margin-bottom:1.25rem; }
.sol-steps h3 { font-size:1.3rem; line-height:1.3; margin:0 0 1rem; }
.sol-steps p { font-size:.95rem; line-height:1.7; color:#5c6972; }
.sol-center { display:flex; justify-content:center; }
.sol-closing { display:flex; align-items:center; justify-content:space-between; gap:3rem; background:#eaf3fa; padding:3rem; border-radius:1.5rem; }
.sol-closing p { max-width:45ch; line-height:1.7; color:#566872; margin:0; }
.sol-closing .sol-button { flex:none; }
@media(max-width:1199px) {
 .sol-hero-grid { gap:2rem; }
 .sol-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .sol-closing { flex-direction:column; align-items:flex-start; }
}
@media(max-width:991px) {
 .sol-container { width:calc(100% - 3rem); }
 .sol-hero-grid { grid-template-columns:1fr; }
 .sol-hero { padding-block:3rem; }
 .sol-hero p { max-width:48ch; }
 .sol-map { max-width:38rem; width:100%; margin:1rem auto 0; }
 .sol-outcomes article { padding:2rem; }
}
@media(max-width:599px) {
 .sol-container { width:calc(100% - 2rem); }
 .sol-hero { margin:0 .75rem; border-radius:1.5rem; padding-block:2.5rem; }
 .sol-hero .sol-container { width:calc(100% - 2.5rem); }
 .sol-hero h1 { font-size:2.5rem; }
 .sol-hero p { font-size:1.05rem; }
 .sol-actions { flex-direction:column; align-items:stretch; }
 .sol-actions .sol-button { justify-content:space-between; }
 .sol-map { padding:1.25rem; }
 .sol-map-node { padding:1rem; gap:.75rem; }
 .sol-map-node:nth-of-type(3) { margin-left:0; }
 .sol-map-node > span { width:2rem; height:2rem; }
 .sol-section { padding-block:3rem; }
 .sol-heading { margin-bottom:2rem; }
 .sol-outcomes,.sol-card-grid,.sol-steps { grid-template-columns:1fr; }
 .sol-outcomes article,.sol-card { padding:1.5rem; }
 .sol-outcomes h3 { font-size:1.75rem; }
 .sol-filters { justify-content:flex-start; gap:.5rem; }
 .sol-filters button { padding:.7rem .9rem; font-size:.8rem; }
 .sol-result-count { text-align:left; }
 .sol-closing { padding:1.75rem; gap:2rem; }
 .sol-closing .sol-button { width:100%; justify-content:space-between; }
 .sol-eyebrow { font-size:.65rem; }
}
@media(min-width:1200px) { .sol-card-grid[data-visible-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); } }
.sol-card-grid[data-visible-count="1"] { grid-template-columns:minmax(0,1fr); max-width:42rem; margin-inline:auto; }
/* All three map steps share one column with identical edges. */
.sol-map .sol-map-node{margin-left:0!important;margin-right:0!important;width:100%;box-sizing:border-box;transform:none!important}
