.raft-solution-hero {
  padding: clamp(58px, 8vw, 104px) 0 clamp(52px, 7vw, 88px);
}

.raft-solution-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .72fr);
  gap: clamp(42px, 8vw, 108px);
  align-items: end;
}

.raft-solution-hero h1 {
  max-width: 13ch;
  margin: 17px 0 23px;
  font-family: var(--raft-serif);
  font-size: clamp(48px, 6.6vw, 79px);
  font-weight: 400;
  line-height: .98;
  letter-spacing: -.04em;
}

.raft-solution-intro {
  max-width: 61ch;
  margin: 0;
  color: var(--raft-muted);
  font-size: 17px;
  line-height: 1.67;
}

.raft-solution-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 30px;
}

.raft-solution-brief {
  padding: 28px;
  border-top: 4px solid var(--raft-cobalt);
  background: var(--raft-white);
  box-shadow: 0 18px 50px rgba(39, 32, 22, .07);
}

.raft-solution-brief h2 {
  max-width: 14ch;
  margin: 11px 0 23px;
  font: 400 31px/1.08 var(--raft-serif);
}

.raft-solution-brief dl { margin: 0; }
.raft-solution-brief dl div { padding: 13px 0; border-top: 1px solid var(--raft-rule); }
.raft-solution-brief dt { margin-bottom: 4px; color: var(--raft-cobalt); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.raft-solution-brief dd { margin: 0; color: var(--raft-muted); font-size: 13px; line-height: 1.55; }

.raft-role-switcher { border-top: 1px solid var(--raft-rule); border-bottom: 1px solid var(--raft-rule); background: var(--raft-paper-deep); }
.raft-role-switcher-inner { display: grid; grid-template-columns: auto repeat(5, minmax(0, 1fr)); align-items: stretch; }
.raft-role-switcher-label { display: flex; align-items: center; padding-right: 24px; color: var(--raft-muted); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.raft-role-switcher a { display: flex; min-height: 64px; padding: 12px 16px; align-items: center; justify-content: center; border-left: 1px solid var(--raft-rule); color: var(--raft-muted); font-size: 12px; text-align: center; text-decoration: none; }
.raft-role-switcher a:hover { background: var(--raft-white); color: var(--raft-ink); }
.raft-role-switcher a[aria-current="page"] { background: var(--raft-cobalt); color: #fff; }

.raft-solution-section { padding: clamp(64px, 8vw, 102px) 0; }
.raft-solution-heading { display: grid; grid-template-columns: 1.08fr .72fr; gap: clamp(34px, 7vw, 90px); align-items: end; margin-bottom: 38px; }
.raft-solution-heading h2 { max-width: 14ch; margin: 10px 0 0; font: 400 clamp(35px, 4.7vw, 54px)/1.04 var(--raft-serif); letter-spacing: -.025em; }
.raft-solution-heading > p { max-width: 53ch; margin: 0; color: var(--raft-muted); font-size: 14px; line-height: 1.65; }

.raft-solution-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--raft-ink); }
.raft-solution-card { min-width: 0; padding: 25px 24px 8px 0; }
.raft-solution-card + .raft-solution-card { padding-left: 24px; border-left: 1px solid var(--raft-rule); }
.raft-solution-card > span { color: var(--raft-cobalt); font-family: var(--raft-serif); font-size: 20px; }
.raft-solution-card h3 { margin: 34px 0 10px; font: 400 25px/1.12 var(--raft-serif); }
.raft-solution-card p { margin: 0; color: var(--raft-muted); font-size: 13px; line-height: 1.63; }

.raft-capital-routes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--raft-rule); border: 1px solid var(--raft-rule); }
.raft-capital-route { min-width: 0; padding: clamp(25px, 4vw, 38px); background: var(--raft-white); }
.raft-capital-route h3 { margin: 9px 0 12px; font: 400 32px/1.08 var(--raft-serif); }
.raft-capital-route > p { min-height: 4.8em; margin: 0 0 22px; color: var(--raft-muted); font-size: 13px; line-height: 1.6; }
.raft-capital-route ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--raft-rule); }
.raft-capital-route li { position: relative; padding: 11px 0 11px 16px; border-bottom: 1px solid var(--raft-rule); font-size: 12px; }
.raft-capital-route li::before { position: absolute; top: 17px; left: 1px; width: 6px; height: 6px; background: var(--raft-cobalt); content: ""; transform: rotate(45deg); }

.raft-solution-proof { background: var(--raft-ink); color: var(--raft-paper); }
.raft-solution-proof-inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(300px, .7fr); gap: clamp(44px, 9vw, 118px); padding: clamp(64px, 8vw, 102px) 0; align-items: center; }
.raft-solution-proof h2 { max-width: 16ch; margin: 11px 0 0; font: 400 clamp(36px, 5vw, 58px)/1.04 var(--raft-serif); letter-spacing: -.025em; }
.raft-solution-proof .raft-label { color: #9eb0ff; }
.raft-solution-proof blockquote { margin: 0; padding: 0 0 0 24px; border-left: 2px solid var(--raft-cobalt); }
.raft-solution-proof blockquote p { margin: 0; color: #d2cbc2; font: 400 24px/1.35 var(--raft-serif); }
.raft-solution-proof blockquote footer { margin-top: 16px; color: #99928b; font-size: 11px; line-height: 1.55; }

.raft-workflow { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--raft-ink); }
.raft-workflow article { min-width: 0; padding: 24px 20px 8px 0; }
.raft-workflow article + article { padding-left: 20px; border-left: 1px solid var(--raft-rule); }
.raft-workflow span { color: var(--raft-cobalt); font-family: var(--raft-serif); font-size: 19px; }
.raft-workflow h3 { margin: 31px 0 9px; font: 400 22px/1.15 var(--raft-serif); }
.raft-workflow p { margin: 0; color: var(--raft-muted); font-size: 12px; line-height: 1.62; }

.raft-audience { display: grid; grid-template-columns: minmax(250px, .65fr) minmax(0, 1.15fr); gap: clamp(38px, 8vw, 110px); align-items: start; }
.raft-audience h2 { margin: 10px 0 14px; font: 400 clamp(34px, 4.2vw, 49px)/1.05 var(--raft-serif); }
.raft-audience > div:first-child p { margin: 0; color: var(--raft-muted); font-size: 13px; line-height: 1.65; }
.raft-audience-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--raft-rule); border: 1px solid var(--raft-rule); }
.raft-audience-list span { padding: 17px 18px; background: var(--raft-white); font-size: 12px; }

.raft-solution-cta-links { display: flex; flex-wrap: wrap; gap: 10px 26px; margin-top: 17px; }
.raft-solution-cta-links a { color: #dfe5ff; font-size: 12px; text-underline-offset: 4px; }

@media (max-width: 880px) {
  .raft-solution-hero-grid, .raft-solution-heading, .raft-solution-proof-inner, .raft-audience { grid-template-columns: 1fr; }
  .raft-role-switcher-inner { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .raft-role-switcher-label { grid-column: 1 / -1; padding: 13px 0; }
  .raft-role-switcher a:first-of-type { border-left: 0; }
  .raft-workflow { grid-template-columns: 1fr 1fr; }
  .raft-workflow article:nth-child(3) { padding-left: 0; border-top: 1px solid var(--raft-rule); border-left: 0; }
  .raft-workflow article:nth-child(4) { border-top: 1px solid var(--raft-rule); }
}

@media (max-width: 620px) {
  .raft-solution-hero { padding-top: 44px; }
  .raft-solution-hero h1 { font-size: clamp(44px, 13vw, 62px); }
  .raft-solution-actions { flex-direction: column; }
  .raft-solution-actions .raft-action { width: 100%; }
  .raft-role-switcher-inner, .raft-solution-grid, .raft-capital-routes, .raft-workflow, .raft-audience-list { grid-template-columns: 1fr; }
  .raft-role-switcher a, .raft-role-switcher a:first-of-type { min-height: 50px; justify-content: flex-start; border-top: 1px solid var(--raft-rule); border-left: 0; text-align: left; }
  .raft-solution-card, .raft-solution-card + .raft-solution-card { padding: 22px 0; border-top: 1px solid var(--raft-rule); border-left: 0; }
  .raft-solution-card:first-child { border-top: 0; }
  .raft-solution-card h3 { margin-top: 20px; }
  .raft-workflow article, .raft-workflow article + article, .raft-workflow article:nth-child(3), .raft-workflow article:nth-child(4) { padding: 22px 0; border-top: 1px solid var(--raft-rule); border-left: 0; }
  .raft-workflow article:first-child { border-top: 0; }
  .raft-workflow h3 { margin-top: 20px; }
}
