.solutions-page h1 {
  font-size:clamp(32px,5vw,56px);
  line-height:1.15;
  letter-spacing:-.04em;
  margin:24px 0;
}
.solutions-page>p { max-width:900px; margin-bottom:24px; }
.solutions-page .intro { font-size:20px; }
.solution-filters {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  padding:28px;
  margin:36px 0 24px;
  background:var(--tint);
  border-radius:var(--radius);
}
.solution-filters label { display:block; font-weight:600; margin-bottom:8px; }
.solution-filters select,.solution-filters input {
  width:100%; min-width:0; min-height:48px; font:inherit;
  color:var(--ink); background:var(--paper); padding:10px;
  border:1px solid var(--muted); border-radius:8px;
}
.solution-filters button { justify-self:start; }
.solution-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.solution-card { display:block; border:1px solid var(--line); border-radius:var(--radius); padding:28px; }
.solution-card:hover { border-color:var(--action); }
.solution-card h2 { font-size:26px; line-height:1.3; letter-spacing:-.02em; }
.solution-card p { margin:18px 0 24px; }
.solution-note { background:var(--tint); padding:28px; border-radius:var(--radius); margin-top:32px; }
.solution-note h2 { font-size:28px; }
.solution-note p { margin:18px 0; }
.solution-note a { margin:12px 16px 0 0; }
.solution-detail { max-width:1040px; }
.solution-detail section { margin-top:36px; }
.solution-detail section h2 { font-size:28px; margin-bottom:18px; }
.solution-detail section p { margin:16px 0; }
.solution-detail li { margin:12px 0; }
.solution-detail .solution-context { border-left:3px solid var(--action); padding:8px 24px; }
.solution-context h2 { margin-top:16px; }
.solution-print { border:0; background:none; font:inherit; padding:8px 0; }
select:focus-visible { outline:2px solid var(--action); outline-offset:4px; }
@media(max-width:680px) {
  .solution-grid,.solution-filters { grid-template-columns:1fr; }
  .solution-filters,.solution-card,.solution-note { padding:20px; }
  .solution-detail .primary-button { max-width:100%; font-size:16px; }
}
@media print {
  .site-header,.site-footer,.skip-link,.solution-print { display:none; }
  .solutions-page { max-width:none; padding:0; }
  .solution-detail section { break-inside:avoid; }
  .solution-detail a { color:black; }
}
