/* Solution pages reuse the shell tokens, article typography and native product cards. */
.solution-page-header { margin-bottom:28px; }
.solution-page-header h1 { margin:0 0 16px; font-size:32px; font-weight:650; line-height:1.35; letter-spacing:-.025em; }
.solution-intro { color:var(--muted); font-size:16px; line-height:1.75; }
.solution-intro p { margin:0 0 12px; }
.solutions-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.solution-card { min-width:0; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.solution-card-link { display:flex; flex-direction:column; height:100%; color:var(--ink); text-decoration:none; }
.solution-card-link:hover { color:var(--ink); }
.solution-card-link:focus-visible { outline-offset:-3px; }
.solution-card-image { aspect-ratio:16/9; background:var(--surface); overflow:hidden; }
.solution-card-image img { width:100%; height:100%; object-fit:cover; display:block; }
.solution-card-body { display:flex; flex-direction:column; flex:1; padding:22px; }
.solution-card h2 { margin:0 0 12px; font-size:20px; font-weight:600; line-height:1.45; }
.solution-card p { margin:0 0 22px; color:var(--muted); font-size:14px; line-height:1.75; }
.solution-card-more { display:flex; justify-content:space-between; gap:16px; color:var(--primary); margin-top:auto; font-size:14px; }
.solution-card-link:hover h2 { color:var(--primary); }
.solution-layout { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:48px; align-items:start; }
.solution-article { min-width:0; }
.solution-detail .solution-page-header { border-bottom:1px solid var(--line); padding-bottom:24px; }
.solution-detail .solution-page-header h1 { margin-bottom:0; }
.solution-content > :first-child { margin-top:0; }
.solution-content > :last-child { margin-bottom:0; }
.solution-sidebar { display:grid; gap:24px; }
.solution-sidebar-panel { border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.solution-sidebar h2 { margin:0; font-size:16px; font-weight:600; line-height:1.5; }
.solution-sidebar-panel h2 { padding:16px 20px; background:var(--surface); border-bottom:1px solid var(--line); }
.solution-sidebar-panel ul { list-style:none; padding:0 20px; margin:0; }
.solution-sidebar-panel li + li { border-top:1px solid var(--line); }
.solution-sidebar-panel li a { min-height:58px; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0; color:var(--ink); text-decoration:none; font-size:14px; line-height:1.6; }
.solution-sidebar-panel li a:hover { color:var(--primary); }
.solution-sidebar-panel li a span { color:var(--muted); }
.solution-sidebar-all { display:block; padding:15px 20px; border-top:1px solid var(--line); font-size:14px; text-decoration:none; }
.solution-contact { border-left:2px solid var(--primary); padding:4px 0 4px 18px; }
.solution-contact p { color:var(--muted); font-size:14px; line-height:1.7; margin:12px 0; }
.solution-contact a { display:inline-block; padding:8px 0; font-size:14px; text-decoration:none; }
.solution-products { margin-top:48px; padding-top:28px; border-top:1px solid var(--line); }
.solution-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px 24px; flex-wrap:wrap; margin-bottom:18px; }
.solution-section-heading h2 { margin:0; font-size:24px; font-weight:600; }
.solution-section-heading > a { font-size:14px; text-decoration:none; padding-block:8px; }
.solution-product-categories { display:flex; flex-wrap:wrap; gap:10px; list-style:none; padding:0; margin:0 0 24px; }
.solution-product-categories a { display:block; padding:10px 14px; border:1px solid var(--line); border-radius:4px; font-size:13px; line-height:1.6; color:var(--ink); text-decoration:none; }
.solution-product-categories a:hover { color:var(--primary); border-color:var(--primary); }
@media(max-width:1000px) {
 .solutions-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .solution-layout { grid-template-columns:minmax(0,1fr) 250px; gap:28px; }
}
@media(max-width:800px) {
 .solution-layout { grid-template-columns:minmax(0,1fr); gap:32px; }
 .solution-sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; }
}
@media(max-width:700px) {
 .solutions-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
 .solution-page-header h1 { font-size:26px; }
 .solution-card-body { padding:20px; }
 .solution-sidebar { grid-template-columns:minmax(0,1fr); }
 .solution-products { margin-top:32px; padding-top:24px; }
 .solution-section-heading h2 { font-size:22px; }
}
