/* Solution worksheet only. Navigation, buttons, brand ticker, and footer reuse the approved homepage. */
.solution .nav__link[aria-current="page"] { color: #cbc4ff; text-decoration: underline; text-underline-offset: 9px; text-decoration-thickness: 2px; }
.solution-hero { padding: calc(var(--nav-h) + 86px) 0 96px; background: linear-gradient(90deg, rgba(8,19,37,.90), rgba(8,19,37,.42)), url('../img/bg-wave.webp') center / cover no-repeat, var(--c-bg); }
.solution-hero h1 { max-width: 850px; margin: 0 0 30px; font-size: clamp(2.9rem, 5.6vw, 5rem); font-weight: 700; line-height: 1.12; letter-spacing: -.04em; }
.solution-hero h1 span { color: #b8b6ff; }
.solution-hero p { max-width: 665px; margin: 0; color: #c1cee3; font-size: clamp(1rem, 1.55vw, 1.15rem); line-height: 1.8; }
.solution-hero .btn { margin-top: 30px; }

.solution-acquisition { background: #edf4f8; color: var(--c-ink); }
.solution-acquisition .partners { padding-bottom: 40px; }
.solution-split { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: clamp(36px, 5.5vw, 76px); }
.acquisition-intro { padding: 78px 0 90px; border-top: 1px solid #cfdbe6; }
.solution-copy h2, .solution-heading h2 { margin: 0 0 26px; font-size: clamp(2rem, 3.45vw, 3rem); font-weight: 600; line-height: 1.2; letter-spacing: -.035em; }
.solution-copy p { margin: 0; font-size: .93rem; line-height: 1.9; color: #bac9de; }
.solution-acquisition .solution-copy p { color: #536178; }
.solution-acquisition .solution-copy .solution-lead { color: #253952; font-size: 1.13rem; line-height: 1.65; font-weight: 500; margin-bottom: 20px; }
.solution-visual { margin: 0; overflow: hidden; border-radius: var(--radius); background: #11233c; box-shadow: 0 20px 48px -24px rgba(8, 19, 37, .45); }
.solution-visual img { width: 100%; height: auto; }

.solution-channels { padding: 92px 0 100px; background: radial-gradient(ellipse at 50% 62%, #152440, var(--c-bg) 70%); }
.solution-heading { text-align: center; max-width: 810px; margin: 0 auto 64px; }
.solution-heading p { margin: 0; color: #b8c7dc; font-size: .95rem; line-height: 1.85; }

/* Semantic content in three nested circles; percentages keep the desktop geometry proportional. */
.acquisition-model { position: relative; container-type: inline-size; width: 100%; max-width: 1080px; aspect-ratio: 1; margin: 0 auto; border: 1px solid #716398; border-radius: 50%; background: linear-gradient(145deg, rgba(73,48,106,.34), rgba(42,41,81,.4)); box-shadow: inset 0 0 80px rgba(118,88,194,.07); }
.channel-circle { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 66.6667%; aspect-ratio: 1; border-radius: 50%; border: 1px solid #5a83b4; background: linear-gradient(150deg, #1b3a59, #102640); box-shadow: 0 0 55px rgba(0,0,0,.15); }
.model-offer { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 23%; aspect-ratio: 1; border-radius: 50%; background: linear-gradient(135deg, #4c79c8, #8055b9); border: 1px solid #aba5eb; box-shadow: 0 0 44px rgba(133,103,229,.25); display: flex; align-items: center; justify-content: center; text-align: center; padding: 12px; }
.model-offer strong { font-size: clamp(1.1rem, 2.25cqw, 1.65rem); font-weight: 600; line-height: 1.35; max-width: 5em; }
.model-channels, .model-outcomes { margin: 0; }
.model-channel, .model-outcome { position: absolute; transform: translate(-50%, -50%); text-align: center; }
.model-channel { width: 29%; }
.model-channel dt { margin-bottom: 9px; font-size: clamp(.96rem, 1.7cqw, 1.15rem); font-weight: 600; color: #fff; }
.model-channel dd, .model-outcome dd { margin: 0; font-size: clamp(.78rem, 1.3cqw, .9rem); line-height: 1.7; color: #c0cfe3; }
.model-channel--email { left: 50%; top: 16%; width: 43%; }
.model-channel--social { left: 80%; top: 42%; }
.model-channel--search { left: 70%; top: 77%; }
.model-channel--display { left: 30%; top: 77%; }
.model-channel--brands { left: 20%; top: 42%; }
.model-outcome dt { margin-bottom: 10px; font-weight: 600; color: #d0bff7; font-size: clamp(.94rem, 1.65cqw, 1.15rem); }
.model-outcome--lead { left: 50%; top: 9.2%; width: 34%; }
.model-outcome--buy { left: 8.9%; top: 50%; width: 14.5%; }
.model-outcome--call { left: 91.1%; top: 50%; width: 14.5%; }

.solution-results { padding: 90px 0 80px; border-top: 1px solid #25374d; background: var(--c-bg-2); }
.solution-visual--results { background: #edf4f8; }
.solution-metrics { margin: 62px 0 0; padding: 42px 0 0; border-top: 1px solid #3a4862; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.solution-metrics > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; text-align: center; padding: 0 20px; border-right: 1px solid #3a4862; }
.solution-metrics > div:last-child { border: 0; }
.solution-metrics dd { margin: 0 0 12px; color: #c6c2ff; font-size: clamp(2.5rem, 4vw, 3.4rem); letter-spacing: -.045em; line-height: 1.1; font-weight: 700; }
.solution-metrics dd span { font-size: .55em; margin-left: 3px; letter-spacing: -.025em; }
.solution-metrics dt { color: #c0cfe3; font-size: .8rem; line-height: 1.7; }

/* Match Partnership's full-screen opening and give the next section room. */
@media (min-width: 601px) {
  .solution-hero {
    min-height: 100vh;
    min-height: 100svh;
    display: flex;
    align-items: center;
    padding: calc(var(--nav-h) + clamp(48px, 7vh, 96px)) 0 clamp(72px, 10vh, 128px);
  }
  .solution-acquisition .partners { padding-top: clamp(56px, 8vh, 88px); }
}

@media (max-width: 960px) {
  .solution-hero { padding-top: calc(var(--nav-h) + 60px); padding-bottom: 72px; }
  .solution-split { grid-template-columns: 1fr; gap: 34px; }
  .solution-copy { max-width: 690px; }
  .solution-visual { width: 100%; max-width: 620px; justify-self: center; }
  .acquisition-intro { padding: 56px 0 64px; }
  .solution-channels { padding: 64px 0; }
  .solution-heading { margin-bottom: 38px; }
  /* Preserve the same nesting and full descriptions instead of shrinking circular text. */
  .acquisition-model { aspect-ratio: auto; border-radius: 36px; padding: 22px; }
  .channel-circle { position: relative; inset: auto; transform: none; width: 100%; aspect-ratio: auto; border-radius: 28px; padding: 30px; }
  .model-offer { position: relative; inset: auto; transform: none; width: 140px; margin: 0 auto 30px; }
  .model-offer strong { font-size: 1.4rem; }
  .model-channels { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
  .model-channel, .model-outcome { position: static; transform: none; width: auto; text-align: left; }
  .model-channel dt, .model-outcome dt { font-size: 1rem; }
  .model-channel dd, .model-outcome dd { font-size: .87rem; }
  .model-channel:last-child { grid-column: 1 / -1; max-width: 420px; }
  .model-outcomes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding: 28px 10px 8px; }
  .solution-results { padding: 64px 0; }
  .solution-metrics { margin-top: 44px; }
  .solution-metrics > div { padding: 0 12px; }
}
@media (max-width: 600px) {
  .solution-hero { padding-top: calc(var(--nav-h) + 46px); padding-bottom: 56px; }
  .solution-hero h1 { font-size: clamp(2.45rem, 9vw, 3.15rem); margin-bottom: 24px; }
  .solution-hero p { font-size: .95rem; }
  .solution-hero .btn { padding: 13px 30px; font-size: .9rem; }
  .solution-acquisition .partners { padding-bottom: 24px; }
  .acquisition-intro { padding: 40px 0 50px; }
  .solution-copy h2, .solution-heading h2 { font-size: 2rem; margin-bottom: 22px; }
  .solution-acquisition .solution-copy .solution-lead { font-size: 1.04rem; }
  .solution-copy p, .solution-heading p { font-size: .88rem; }
  .solution-channels { padding: 50px 0; }
  .solution-heading { text-align: left; }
  .solution-heading h2 br { display: none; }
  .acquisition-model { padding: 12px; border-radius: 28px; }
  .channel-circle { padding: 24px 18px; border-radius: 20px; }
  .model-channels { grid-template-columns: 1fr; gap: 22px; }
  .model-channel + .model-channel { padding-top: 18px; border-top: 1px solid #35536f; }
  .model-outcomes { grid-template-columns: 1fr; padding: 26px 18px 16px; gap: 22px; }
  .model-outcome + .model-outcome { padding-top: 18px; border-top: 1px solid #514568; }
  .solution-results { padding: 50px 0; }
  .solution-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 0; padding-top: 30px; margin-top: 36px; }
  .solution-metrics > div:nth-child(2) { border: 0; }
  .solution-metrics dd { font-size: 2.7rem; }
  .solution-metrics dt { font-size: .73rem; }
}
