/* Solutions hub — established Frozion styling, upright cards. */
:root { --sh-nav-height:66px; }
.sh-hero { padding:32px 0 80px; background:radial-gradient(ellipse at 88% 20%,#f2f1ff 0,#f8fafa 32%,#ffffff 68%); }
.sh-breadcrumb { display:flex; flex-wrap:wrap; gap:8px 16px; font-size:12px; margin-bottom:56px; color:#626a70; }
.sh-breadcrumb a { color:inherit; }
.sh-hero h1 { font-size:clamp(3rem,4.15vw,4rem); line-height:1.08; margin:24px 0 24px; }
.sh-hero .eyebrow { font-size:12px; letter-spacing:.8px; }
.sh-hero-lead { font-size:20px; line-height:1.65; max-width:635px; color:#424a50; }
.sh-hero-support { font-size:14px; line-height:1.85; max-width:600px; }
.sh-label { display:block; font-size:12px; font-weight:600; letter-spacing:.9px; text-transform:uppercase; color:#626a70; line-height:1.7; }
.sh-index { border:1px solid #e1ddff; border-radius:15px; box-shadow:0 22px 65px #2f1d990d; background:white; overflow:hidden; }
.sh-index-heading { padding:32px 32px 24px; background:#f8fafa; border-bottom:1px solid var(--line); }
.sh-index-heading h2 { font-size:32px; margin:16px 0 0; line-height:1.15; }
.sh-index-links { padding:0 24px; }
.sh-index-links a { display:grid; grid-template-columns:22px 1fr 12px; align-items:center; gap:16px; padding:24px 2px; border-bottom:1px solid var(--line); color:var(--brand); }
.sh-index-links a:last-child { border-bottom:0; }
.sh-index-links a:hover strong { color:var(--brand); }
.sh-index-number { font-size:12px; color:#4128cc; }
.sh-index-links strong { font-size:14px; font-weight:500; display:block; color:#424a50; transition:color .15s; }
.sh-index-links small { display:block; font-size:12px; color:#626a70; margin-top:7px; }
.sh-index-footer { border-top:1px solid var(--line); background:#f8fafa; padding:16px 24px; font-size:12px; color:#626a70; }
.sh-nav { position:sticky; top:var(--header-height); z-index:1020; background:white; border-block:1px solid var(--line); box-shadow:0 5px 12px #120a3d04; }
.sh-nav-links { display:grid; grid-template-columns:repeat(5,1fr); }
.sh-nav-links a { display:flex; align-items:center; gap:8px; min-height:66px; padding:16px 16px; font-size:12px; color:#626a70; border-bottom:3px solid transparent; }
.sh-nav-links a span { font-size:12px; color:#626a70; }
.sh-nav-links a.active { color:var(--brand); border-color:var(--brand); background:linear-gradient(0deg,#f2f1ff,transparent); }
.sh-nav-links a:hover { color:var(--brand); background:#f8fafa; }
.sh-nav-mobile { display:none; }
.sh-section { padding:88px 0; }
.sh-section, .sh-path { scroll-margin-top:calc(var(--header-height) + var(--sh-nav-height) + 22px); }
.sh-section h2 { font-size:clamp(2rem,3.3vw,3rem); }
.sh-section h3 { font-size:24px; }
.sh-section p { font-size:14px; line-height:1.85; }
.sh-section .sh-intro { font-size:16px; line-height:1.75; max-width:735px; }
.sh-heading { margin-bottom:40px; }
.sh-heading p:last-child { margin-bottom:0; }
.sh-wash { background:#f8fafa; }
.sh-paths { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.sh-path { padding:32px; border:1px solid var(--line); border-radius:12px; display:flex; flex-direction:column; background:linear-gradient(135deg,#f8fafa,white 70%); }
.sh-path-top { display:flex; align-items:center; gap:16px; margin-bottom:24px; }
.sh-number { width:35px; height:35px; flex:0 0 35px; display:inline-flex; align-items:center; justify-content:center; background:#f2f1ff; border:1px solid #e1ddff; color:#4128cc; border-radius:8px; font-size:12px; }
.sh-path h3 { max-width:390px; font-size:24px; line-height:1.2; margin-bottom:24px; }
.sh-path .sh-pain { font-size:16px; line-height:1.65; color:#424a50; margin-bottom:16px; }
.sh-path .sh-path-copy { font-size:14px; line-height:1.85; margin-bottom:24px; }
.sh-example { margin-top:auto; padding:16px 24px; border:1px solid #f2f1ff; background:#f8fafa; border-radius:8px; }
.sh-example .sh-label { font-size:12px; }
.sh-example h4 { margin:16px 0 8px; font-size:16px; line-height:1.4; letter-spacing:-.02em; color:#1f1266; }
.sh-example p { margin:0; font-size:12px; line-height:1.85; }
.sh-path > .text-link { margin-top:24px; font-size:12px; align-self:flex-start; }
.sh-scope-note { font-size:12px !important; margin:24px 0 0; color:#626a70; }
.sh-reuse-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; border-block:1px solid var(--line); padding:32px 0; }
.sh-reuse-grid h3 { font-size:20px; line-height:1.3; margin:16px 0; }
.sh-reuse-grid p { font-size:12px; margin-bottom:0; }
.sh-principles { margin-top:40px; display:grid; grid-template-columns:1fr 2.4fr; gap:40px; }
.sh-principles-heading h3 { font-size:32px; margin:16px 0 16px; }
.sh-principles-heading p { font-size:12px; }
.sh-principle-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:32px 24px; margin:0; }
.sh-principle-grid dt { display:flex; align-items:center; gap:8px; font-size:12px; font-weight:500; color:#1f1266; }
.sh-principle-grid dt span { width:24px; height:24px; display:inline-flex; align-items:center; justify-content:center; color:#4128cc; background:#f2f1ff; border-radius:5px; font-size:12px; }
.sh-principle-grid dd { font-size:12px; line-height:1.8; margin:16px 0 0; }
.sh-foundation-link { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; border-top:1px solid var(--line); margin-top:40px; padding-top:24px; }
.sh-foundation-link strong { font-size:14px; font-weight:500; }
.sh-foundation-link a { font-size:12px; }
.sh-patterns { display:grid; grid-template-columns:1fr 1fr; gap:48px; }
.sh-patterns article { border-top:2px solid #e1ddff; padding-top:24px; display:flex; flex-direction:column; }
.sh-patterns h3 { margin:16px 0; font-size:24px; line-height:1.2; }
.sh-patterns p { font-size:14px; }
.sh-patterns a { margin-top:auto; font-size:12px; }
.sh-start-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:32px; padding:0; margin:0; list-style:none; }
.sh-start-steps li { border-top:1px solid #e1ddff; padding-top:24px; }
.sh-start-steps h3 { margin:24px 0 16px; font-size:20px; }
.sh-start-steps p { margin-bottom:0; font-size:14px; }
.sh-closing { padding:80px 0 64px; border-top:1px solid var(--line); background:radial-gradient(ellipse at 50% 80%,#e1ddff,transparent 65%),#f8fafa; }
.sh-closing h2 { font-size:clamp(2rem,3.1vw,3rem); line-height:1.2; }
.sh-closing p { max-width:630px; margin:0 auto 32px; font-size:16px; line-height:1.8; }
.sh-closing .sh-download { font-size:12px; margin-top:24px; margin-bottom:0; }
@media (max-width:1199px) {
 .sh-hero h1 { font-size:3rem; }.sh-index-heading { padding:24px; }.sh-index-links { padding-inline:24px; }.sh-index-links a { gap:8px; }.sh-index-links strong { font-size:14px; }.sh-path { padding:32px; }.sh-principles { grid-template-columns:1fr 2.5fr; gap:32px; }
}
@media (max-width:991px) {
 :root { --sh-nav-height:69px; }.sh-hero { padding-bottom:56px; }.sh-breadcrumb { margin-bottom:32px; }.sh-hero h1 { font-size:3.5rem; max-width:710px; }.sh-hero-lead,.sh-hero-support { max-width:100%; }.sh-index-links { display:grid; grid-template-columns:1fr 1fr; gap:0 32px; }.sh-index-links a:nth-last-child(-n+2) { border-bottom:0; }.sh-index-heading h2 br { display:none; }.sh-index-heading h2 { font-size:24px; }.sh-index-heading { padding:24px; }.sh-index-footer { padding:16px 24px; }.sh-nav-links { display:none; }.sh-nav-mobile { display:flex; align-items:center; gap:16px; padding:16px 0; }.sh-nav-mobile label { flex:0 0 84px; font-size:12px; color:#626a70; }.sh-nav-mobile select { font-size:12px; border-color:var(--line); padding-block:8px; }.sh-section { padding:64px 0; }.sh-reuse-grid { grid-template-columns:1fr 1fr; }.sh-principles { grid-template-columns:1fr; gap:24px; }.sh-principles-heading p { margin-bottom:0; }.sh-start-steps { gap:24px; }.navbar-collapse.show { max-height:calc(100svh - 90px); overflow-y:auto; }
}
@media (max-width:767px) {
 .sh-hero { padding:24px 0 48px; }.sh-breadcrumb { margin-bottom:24px; }.sh-hero h1 { font-size:3rem; margin-top:16px; }.sh-hero-lead { font-size:16px; }.sh-hero-support { font-size:14px; }.sh-index-links { grid-template-columns:1fr; gap:0; }.sh-index-links a:nth-last-child(2) { border-bottom:1px solid var(--line); }.sh-index-links a { min-height:80px; padding-block:16px; }.sh-index-links strong { font-size:14px; }.sh-index-heading h2 { font-size:24px; }.sh-index-heading { padding:24px; }.sh-index-heading h2 { margin-top:8px; }.sh-index-footer { font-size:12px; padding-inline:24px; }.sh-section { padding:56px 0; }.sh-section h2 { font-size:2rem; }.sh-section .sh-intro { font-size:16px; }.sh-heading { margin-bottom:32px; }.sh-paths { grid-template-columns:1fr; gap:24px; }.sh-path { padding:24px 24px; }.sh-path h3 { font-size:24px; }.sh-path .sh-pain { font-size:16px; }.sh-path .sh-path-copy { font-size:14px; }.sh-path-top { gap:16px; margin-bottom:24px; }.sh-path-top .sh-label { font-size:12px; }.sh-example { padding:16px; }.sh-reuse-grid { gap:32px 24px; }.sh-reuse-grid h3 { font-size:16px; }.sh-principle-grid { grid-template-columns:1fr 1fr; gap:24px 24px; }.sh-patterns { grid-template-columns:1fr; gap:32px; }.sh-patterns h3 { font-size:24px; }.sh-start-steps { grid-template-columns:1fr; gap:24px; }.sh-start-steps h3 { margin:16px 0 16px; }.sh-closing { padding:56px 0; }.sh-closing .eyebrow { font-size:12px; letter-spacing:.7px; }.sh-closing h2 { font-size:2rem; }.sh-closing p { font-size:14px; }.sh-nav-mobile label { flex-basis:78px; }
}
@media (max-width:399px) {
 .sh-hero h1 { font-size:2.5rem; }.sh-reuse-grid { grid-template-columns:1fr; }.sh-index-links { padding-inline:16px; }.sh-path { padding:24px 16px; }
}
@media (prefers-reduced-motion:reduce) {
 *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; }
}
@media print {
 .site-header,.sh-nav,.site-footer,.sh-download { display:none !important; }.sh-section,.sh-hero,.sh-closing { padding:24px 0; }.sh-path { break-inside:avoid; }.accordion-collapse { display:block !important; }.sh-paths { gap:16px; }
}
