/* Visual refinement for the existing Solutions routes. Uses shared brand tokens. */
.sol-polished { background:var(--surface); }
.sol-polished .sol-shell { width:min(1180px,calc(100% - 64px)); }
.sol-polished .sd-pagebar { padding-block:22px 12px; }
.sol-polished .sol-hero {
  position:relative;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:48px;
  padding:38px;
  margin-block:12px 44px;
  border:1px solid var(--ai-border);
  border-radius:24px;
  background:var(--ai-bg);
}
.sol-polished:not(.sol-detail) .sol-hero { margin-top:32px; }
.sol-polished .sol-hero-copy { max-width:470px; }
.public-design #main-content .sol-polished h1 { text-wrap:balance; }
.public-design #main-content .sol-polished .sol-hero-copy > .sol-eyebrow {
  display:inline-flex;
  padding:6px 10px;
  margin-bottom:22px;
  color:var(--ai);
  background:var(--surface);
  border:1px solid var(--ai-border);
  border-radius:6px;
  letter-spacing:.02em;
}
.sol-polished .sol-lead { max-width:44ch; }
.sol-polished .sx-hero-photo { min-height:410px; padding:22px; border:0; border-radius:18px; box-shadow:var(--elev-2); }
.sol-polished .sx-hero-photo .sd-art-caption { margin-top:210px; padding:16px; border:0; box-shadow:var(--elev-1); }
.sol-polished .sol-hub-art { padding:0; }
.sol-polished .sol-hub-art > img.sx-hub-photo { max-height:370px; min-height:270px; border-radius:16px; }
.sol-polished .sol-art-caption { justify-content:flex-start; padding:16px; margin-top:12px; border-radius:12px; background:var(--surface); }
.sol-polished .sol-section { padding-block:52px; }
.public-design #main-content .sol-polished .sol-section-head > .sol-eyebrow { color:var(--ai); }
.sol-polished .sol-section-head { max-width:740px; margin-bottom:26px; }
.sol-polished .sol-section-head h2 { text-wrap:balance; }
.sol-polished .sol-section-head p { max-width:68ch; }
.sol-polished nav.sol-jumpbar { border-top:0; box-shadow:var(--elev-1); }
.sol-polished .sol-jumps { gap:18px; }
.sol-polished .sol-jumps a { padding-inline:4px; min-height:56px; }
.sol-polished .sol-jumps a[aria-current] { color:var(--ai); border-color:var(--ai); }

/* One workspace, with a step rail and a larger, uncropped product screen. */
.sol-polished .sx-tour-workspace {
  display:grid;
  grid-template-columns:minmax(210px,.72fr) minmax(0,2fr);
  gap:0;
  overflow:hidden;
  border:1px solid var(--ai-border);
  border-radius:20px;
  background:var(--ai-bg);
  box-shadow:var(--elev-2);
}
.sol-polished .sx-step-nav {
  grid-column:1;
  grid-row:1;
  display:flex;
  flex-direction:column;
  gap:10px;
  margin:0;
  padding:24px 18px;
  align-self:start;
}
.sol-polished .sx-step-nav button {
  align-items:flex-start;
  justify-content:flex-start;
  gap:12px;
  min-height:76px;
  padding:16px 12px;
  background:transparent;
  border-color:transparent;
  border-radius:12px;
  line-height:22px;
  text-align:left;
}
.sol-polished .sx-step-nav button > span {
  display:grid;
  place-items:center;
  flex:0 0 28px;
  min-height:28px;
  margin-top:-3px;
  border:1px solid var(--ai-border);
  border-radius:8px;
  background:var(--surface);
  color:var(--ai);
  font-size:12px;
}
.sol-polished .sx-step-nav button:hover { background:var(--surface); border-color:var(--ai-border); }
.sol-polished .sx-step-nav button[aria-pressed="true"] { background:var(--ai); border-color:var(--ai); color:var(--surface); box-shadow:var(--elev-2); }
.sol-polished .sx-step-nav button[aria-pressed="true"] > span { color:var(--ai); border-color:var(--surface); }
.sol-polished .sx-tour-panel {
  grid-column:2;
  grid-row:1;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:24px;
  padding:28px;
  margin:0;
  border:0;
  border-left:1px solid var(--ai-border);
  border-radius:0;
  background:var(--surface);
}
.sol-polished .sx-step-nav[hidden] ~ .sx-tour-panel { grid-row:auto; grid-column:1/-1; border:0; border-bottom:1px solid var(--ai-border); }
.sol-polished .sx-tour-copy { max-width:70ch; }
.public-design #main-content .sol-polished .sx-tour-copy > .sol-eyebrow { margin-bottom:8px; color:var(--ai); }
.public-design #main-content .sol-polished .sx-tour-copy h3 { margin:0; }
.sol-polished .sx-tour-copy > p:not(.sol-eyebrow) { margin:10px 0 16px; }
.sol-polished .sd-preview-heading { padding:12px 16px; background:var(--surface-canvas); }
.sol-polished .sd-preview-heading > span:last-child { padding:2px 8px; border-radius:4px; background:var(--ai-bg); color:var(--ai); }
.sol-polished .sd-preview-image { height:390px; padding:12px; border-color:var(--border); gap:12px; }
.sol-polished .sd-preview-expand { box-shadow:none; border-color:var(--ai-border); color:var(--ai); }
.sol-polished .sx-tour-footer { grid-column:1/-1; padding:18px 24px; border-top:1px solid var(--ai-border); background:var(--surface); }
.sol-polished .sx-tour-footer [data-tour-status] { font-size:12px; }
.sol-polished .sx-tour-footer [data-tour-prev] { border-color:transparent; }

/* Contrast and spacing separate evaluation, setup, help, and next steps. */
.sol-polished .sx-two { gap:24px; }
.sol-polished .sx-card { padding:30px; border-radius:16px; background:var(--surface-canvas); }
.sol-polished .sx-card.sx-tint { background:var(--ai-bg); border-color:var(--ai-border); }
.sol-polished .sx-card .sol-icon { width:44px; height:44px; background:var(--surface); border:1px solid var(--ai-border); }
.sol-polished .sx-setup { gap:0; }
.sol-polished .sx-setup li { position:relative; padding:26px 28px 0 0; border-top:2px solid var(--ai-border); }
.sol-polished .sx-setup li > span { display:grid; place-items:center; width:36px; height:36px; color:var(--ai); background:var(--ai-bg); border:1px solid var(--ai-border); border-radius:50%; }
.sol-polished .sx-setup li:last-child { padding-right:0; }
.sol-polished .sx-guide { padding:24px 18px; border-radius:14px; }
.sol-polished .sx-guide:hover { background:var(--ai-bg); border-color:var(--ai-border); }
.sol-polished .sx-guide > .sol-icon { flex-basis:40px; width:40px; height:40px; }
.sol-polished .sd-faq { display:grid; gap:10px; border:0; }
.sol-polished .sd-faq details { border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.sol-polished .sd-faq details[open] { border-color:var(--ai-border); background:var(--ai-bg); }
.sol-polished .sd-faq summary { padding:18px 20px; }
.sol-polished .sd-faq details > div { padding:0 20px 20px; }
.sol-polished .sd-others { gap:0 24px; border-top:1px solid var(--border); }
.sol-polished .sd-other { padding:18px 0; border:0; border-bottom:1px solid var(--border); border-radius:0; }
.sol-polished .sd-other:hover { color:var(--ai); background:var(--ai-bg); }
.sol-polished .sol-close { padding:40px; background:var(--ai); border:0; border-radius:20px; color:var(--surface); }
.public-design #main-content .sol-polished .sol-close :is(h2,p,.sol-eyebrow) { color:var(--surface); }
.sol-polished .sol-close .sol-icon { color:var(--ai); background:var(--ai-bg); }
.sol-polished .sol-close .sol-close-links a { color:var(--text); }
.sol-polished .sx-topic-links a { background:var(--surface-canvas); border-radius:12px; }
.sol-polished .sx-topic-links a:hover { border-color:var(--ai-border); color:var(--ai); }
.sol-polished .sol-market-group-head { padding-bottom:16px; border-bottom:1px solid var(--border); }
.sol-polished .sol-market-card { border-radius:16px; }
.sol-polished .sol-market-card:hover { border-color:var(--ai-border); box-shadow:var(--elev-2); }
.sol-polished .sol-market-copy { padding:22px; }
.sol-polished .sol-market-end { padding-top:16px; border-top:1px solid var(--border); }
.sol-polished .sol-filter-options button[aria-pressed="true"] { color:var(--surface); background:var(--ai); border-color:var(--ai); }
.sol-polished .sol-icon { color:var(--ai); background:var(--ai-bg); }
.sol-polished .cr-matchup { padding:28px; background:var(--surface); border:1px solid var(--ai-border); border-radius:16px; box-shadow:var(--elev-2); }
.sol-polished .cr-brands { gap:14px; align-items:center; }
.sol-polished .cr-brands > strong { padding:8px 0; }
.sol-polished .cr-brands > span { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:var(--ai-bg); font-size:12px; }
.sol-polished .cr-table-wrap { border-radius:16px; }
.sol-polished .cr-table tbody tr:nth-child(even) { background:var(--surface-canvas); }
.sol-polished .cr-check-row label { padding:10px 14px; border:1px solid var(--border); border-radius:10px; }
.sol-polished .cr-check-row label:has(:checked) { border-color:var(--ai); background:var(--ai-bg); }
.sol-polished .cr-check-footer { align-items:flex-start; }
.sol-polished .cmp-fit-card { background:var(--surface); border-color:var(--ai-border); box-shadow:var(--elev-2); }
.sol-polished .cmp-fit-number { background:var(--ai-bg); color:var(--ai); }
.sol-polished .cmp-directory-link { padding:22px; border-radius:14px; }
.sol-polished .cmp-directory-link:hover { background:var(--ai-bg); border-color:var(--ai-border); }
.sol-polished .cmp-directory-link > i { color:var(--ai); }

@media(max-width:1040px) {
  .sol-polished .sol-hero { gap:28px; padding:28px; }
  .sol-polished .sx-hero-photo { min-height:380px; padding:16px; }
  .sol-polished .sx-tour-workspace { grid-template-columns:minmax(190px,.72fr) minmax(0,2fr); }
  .sol-polished .sx-tour-panel { padding:22px; }
  .sol-polished .sx-step-nav { padding:18px 12px; }
}
@media(max-width:840px) {
  .sol-polished .sol-hero { grid-template-columns:1fr; gap:28px; }
  .sol-polished .sol-hero-copy,.sol-polished .sol-lead { max-width:100%; }
  .sol-polished .sx-hero-photo { min-height:330px; }
  .sol-polished .sx-hero-photo .sd-art-caption { margin-top:160px; }
  .sol-polished .sx-tour-workspace { grid-template-columns:1fr; }
  .sol-polished .sx-step-nav { grid-row:auto; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:16px; gap:8px; }
  .sol-polished .sx-step-nav button { flex-direction:column; padding:14px; min-height:116px; }
  .sol-polished .sx-step-nav button > span { flex:0 0 28px; width:28px; margin:0; }
  .sol-polished .sx-tour-panel { grid-column:1; grid-row:auto; border-left:0; border-top:1px solid var(--ai-border); }
  .sol-polished .sx-guides { grid-template-columns:1fr; }
  .sol-polished .cmp-directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .sol-polished .sol-shell { width:calc(100% - 32px); }
  .sol-polished .sd-pagebar { gap:8px; padding-block:12px; }
  .sol-polished .sd-pagebar > .sol-link,.sol-polished .sd-switcher summary { font-size:12px; }
  .sol-polished .sd-switcher summary { padding-inline:10px; }
  .sol-polished .sol-hero { padding:22px; margin-block:8px 28px; border-radius:18px; }
  .sol-polished:not(.sol-detail) .sol-hero { margin-top:20px; }
  .sol-polished .sol-hero-copy > .sol-actions { display:grid; grid-template-columns:1fr; }
  .sol-polished .sx-hero-photo { min-height:280px; padding:12px; border-radius:12px; }
  .sol-polished .sx-hero-photo .sd-art-caption { margin-top:140px; padding:12px; gap:10px; }
  .sol-polished .sx-hero-photo .sd-art-caption .sol-icon { display:none; }
  .sol-polished .sol-section { padding-block:34px; }
  .sol-polished .sol-jumps { gap:16px; }
  .sol-polished .sol-jumps a { min-height:50px; }
  .sol-polished .sx-tour-workspace { border-radius:14px; }
  .sol-polished .sx-step-nav { grid-template-columns:1fr; padding:12px; gap:6px; }
  .sol-polished .sx-step-nav button { flex-direction:row; align-items:center; min-height:52px; padding:12px; }
  .sol-polished .sx-tour-panel { padding:18px; gap:20px; }
  .sol-polished .sd-preview-image { height:280px; padding:8px; }
  .sol-polished .sd-preview-heading { padding:10px; gap:6px; }
  .sol-polished .sx-tour-footer { padding:16px; gap:14px; }
  .sol-polished .sx-tour-footer .sol-actions { flex-wrap:nowrap; }
  .sol-polished .sx-tour-footer .sol-btn { padding-inline:12px; }
  .sol-polished .sx-two { gap:14px; }
  .sol-polished .sx-card { padding:24px; }
  .sol-polished .sx-setup { gap:0; }
  .sol-polished .sx-setup li { padding:0 0 28px 28px; border-top:0; border-left:2px solid var(--ai-border); margin-left:18px; }
  .sol-polished .sx-setup li > span { margin-left:-47px; }
  .sol-polished .sx-setup li:last-child { padding-bottom:0; border-left-color:transparent; }
  .sol-polished .sd-faq summary { padding:16px; }
  .sol-polished .sd-faq details > div { padding:0 16px 16px; }
  .sol-polished .sd-others { grid-template-columns:1fr; }
  .sol-polished .sd-other { min-height:56px; }
  .sol-polished .sol-close { padding:26px; border-radius:16px; gap:22px; }
  .sol-polished .cmp-directory-grid { grid-template-columns:1fr; }
  .sol-polished .cr-matchup { padding:22px; }
}
@media print {
  .sol-polished .sol-hero,.sol-polished .sol-close { background:var(--surface); border:1px solid var(--border); }
  .public-design #main-content .sol-polished .sol-close :is(h2,p,.sol-eyebrow) { color:var(--text); }
  .sol-polished .sx-tour-workspace { display:block; box-shadow:none; }
  .sol-polished [data-tour-panel],.sol-polished [data-tour-panel][hidden] { display:block !important; border:0; }
  .sol-polished .sd-preview-image { height:auto; }
}
