@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap");
:root {
  --ink:#1c2d46;
  --muted:#596a80;
  --line:#e3e8f0;
  --blue:#2196f3;
  --purple:#6600bf;
  --font-sans:"DM Sans",sans-serif;
}
*,*::before,*::after {
  box-sizing:border-box;
}
html {
  scroll-behavior:smooth;
  scroll-padding-top:24px;
}
body {
  margin:0;
  min-width:320px;
  font-family:var(--font-sans);
  font-size:16px;
  line-height:1.65;
  color:var(--ink);
  background:#fff;
  -webkit-font-smoothing:antialiased;
}
a {
  color:inherit;
  text-decoration:none;
}
button,input,select,textarea {
  font:inherit;
}
button {
  cursor:pointer;
}
img {
  max-width:100%;
}
a,button,input,textarea,article {
  transition:color .4s ease,background-color .4s ease,border-color .4s ease,box-shadow .4s ease;
}
:focus-visible {
  outline:2px solid var(--blue);
  outline-offset:4px;
}
::selection {
  background:rgb(102 0 191 / 15%);
}
.section-shell {
  width:min(1180px,calc(100% - 64px));
  margin-inline:auto;
}
h1,h2,h3,p {
  margin-top:0;
}
h1,h2,h3 {
  color:var(--ink);
}
h2 {
  margin-bottom:0;
  font-size:clamp(32px,3.1vw,44px);
  font-weight:700;
  line-height:1.18;
  letter-spacing:-.035em;
  text-wrap:balance;
}
h3 {
  font-size:22px;
  font-weight:600;
  line-height:1.35;
  letter-spacing:-.02em;
}
em {
  font-family:inherit;
  font-weight:inherit;
  font-style:normal;
}
p {
  font-size:17px;
  line-height:1.7;
  color:var(--muted);
}
small {
  font-size:13px;
  line-height:1.55;
}
.eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 20px;
  font-size:13px;
  font-weight:800;
  line-height:1.55;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--purple);
}
.eyebrow>span {
  width:7px;
  height:7px;
  flex-shrink:0;
  border-radius:50%;
  background:var(--purple);
}
.site-header {
  position:relative;
  z-index:20;
  display:flex;
  justify-content:space-between;
  align-items:center;
  min-height:81px;
  gap:32px;
  padding:16px max(32px,calc((100vw - 1180px)/2));
  border-bottom:1px solid var(--line);
  background:#fff;
}
.logo img {
  display:block;
  width:auto;
  height:38px;
}
.header-menu {
  display:flex;
  align-items:center;
  gap:32px;
}
.site-header nav {
  display:flex;
  gap:28px;
}
.site-header nav a {
  font-size:17px;
  font-weight:600;
  line-height:1.4;
}
.site-header nav a:hover {
  color:var(--purple);
}
.button,.header-cta {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:48px;
  padding:12px 24px;
  border:1px solid var(--purple);
  border-radius:9999px;
  background:var(--purple);
  color:#fff;
  font-size:15px;
  font-weight:600;
  line-height:1.4;
}
.header-cta {
  padding:10px 20px;
  font-size:16px;
  white-space:nowrap;
}
.button:hover,.header-cta:hover {
  background:#fff;
  color:var(--purple);
  border-color:var(--purple);
}
.menu-toggle {
  display:none;
  width:44px;
  height:44px;
  padding:10px;
  border:0;
  background:transparent;
  color:var(--purple);
}
.menu-toggle span {
  display:block;
  width:22px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transition:transform .4s ease,opacity .4s ease;
}
.menu-toggle[aria-expanded="true"] span:first-child {
  transform:translateY(7px) rotate(45deg);
}
.menu-toggle[aria-expanded="true"] span:nth-child(2) {
  opacity:0;
}
.menu-toggle[aria-expanded="true"] span:last-child {
  transform:translateY(-7px) rotate(-45deg);
}
.hero {
  padding-block:72px;
}
.hero-copy {
  max-width:900px;
  margin-inline:auto;
  text-align:center;
}
.hero .eyebrow {
  justify-content:center;
  width:fit-content;
  max-width:100%;
  margin:0 auto 24px;
  padding:8px 14px;
  border:1px solid #dceaf7;
  border-radius:9999px;
  background:#e8f2fc;
  color:var(--blue);
  font-size:12px;
  font-weight:700;
}
.hero .eyebrow>span {
  background:var(--blue);
}
.hero h1 {
  margin:0;
  font-size:clamp(42px,4.65vw,68px);
  font-weight:700;
  line-height:1.08;
  letter-spacing:-.045em;
  text-wrap:balance;
}
.hero h1 em {
  color:var(--blue);
}
.hero .lead {
  max-width:740px;
  margin:24px auto 0;
  font-size:18px;
  line-height:1.75;
}
.actions {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:28px;
  margin-top:32px;
}
.text-link {
  color:var(--muted);
  font-size:15px;
  font-weight:600;
}
.text-link:hover {
  color:var(--purple);
}
.hero-visual {
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);
  gap:16px;
  margin:48px auto 0;
  width:100%;
}
.hero-visual>* {
  min-width:0;
}
.orbit {
  display:none;
}
.growth-card,.share-card,.payout-card {
  padding:28px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.growth-card {
  grid-column:1;
  grid-row:1/3;
  box-shadow:0 18px 48px -18px rgb(102 0 191 / 11%),0 0 28px rgb(102 0 191 / 2.5%);
}
.growth-card>p {
  margin:0 0 20px;
  color:#64748b;
  font-size:12px;
  font-weight:600;
  line-height:1.4;
}
.growth-card>svg {
  display:block;
  width:100%;
  max-height:215px;
  overflow:visible;
}
.growth-card .line {
  fill:none;
  stroke:var(--purple);
  stroke-width:3;
  stroke-linecap:round;
}
.growth-card .area {
  fill:url(#area);
}
.chart-motion {
  transform-origin:center bottom;
  transform-box:view-box;
}
.chart-years {
  display:flex;
  justify-content:space-between;
  margin-top:16px;
  padding-top:12px;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:13px;
}
.share-card {
  display:flex;
  justify-content:center;
  align-items:flex-start;
  flex-direction:column;
  grid-column:2;
  grid-row:1;
  background:#f4effb;
  border-color:#e8dff3;
}
.share-card small {
  color:#64748b;
  font-size:12px;
  font-weight:600;
}
.share-card strong {
  margin:12px 0;
  color:var(--ink);
  font-size:38px;
  font-weight:600;
  line-height:1.15;
  letter-spacing:-.03em;
}
.share-card>span {
  color:var(--muted);
  font-size:13px;
}
.payout-card {
  display:flex;
  align-items:center;
  gap:16px;
  grid-column:2;
  grid-row:2;
  background:#faf8fd;
  border-color:#eee8f5;
}
.payout-card .check {
  display:grid;
  place-items:center;
  width:32px;
  height:32px;
  flex-shrink:0;
  border-radius:50%;
  background:var(--blue);
  color:#fff;
}
.payout-card .check svg {
  width:17px;
  height:17px;
}
.payout-card strong,.payout-card small {
  display:block;
}
.payout-card strong {
  font-size:16px;
  font-weight:600;
  line-height:1.4;
}
.payout-card small {
  margin-top:4px;
  color:var(--muted);
}
.visual-caption {
  grid-column:1/-1;
  margin:0;
  text-align:center;
  color:var(--muted);
  font-size:13px;
  line-height:1.55;
}
.payment-strip {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:24px max(32px,calc((100vw - 1180px)/2));
  border-block:1px solid var(--line);
  font-size:13px;
  color:var(--muted);
}
.payment-strip strong {
  font-size:13px;
  font-weight:600;
}
.payment-strip>div {
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:16px 24px;
  font-size:13px;
  font-weight:600;
}
.payment-strip i {
  width:3px;
  height:3px;
  flex-shrink:0;
  border-radius:50%;
  background:var(--purple);
}
.economics,.platform {
  padding-block:88px;
}
.economics h2 {
  max-width:780px;
}
.economics-grid {
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  align-items:center;
  gap:64px;
  margin-top:40px;
}
.big-number small {
  display:block;
  color:#64748b;
  font-size:12px;
  font-weight:600;
}
.big-number strong>span {
  color:var(--blue);
  font-size:.38em;
  letter-spacing:-.04em;
}
.economics-copy h3 {
  margin:0 0 20px;
  max-width:560px;
  font-size:24px;
}
.economics-copy>p {
  margin-bottom:24px;
}
.economics-copy ul {
  margin:0;
  padding:0;
  list-style:none;
}
.economics-copy li {
  display:flex;
  align-items:center;
  padding:14px 0;
  border-top:1px solid var(--line);
  font-size:16px;
  font-weight:600;
}
.economics-copy li::before {
  content:'✓';
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  flex-shrink:0;
  margin-right:12px;
  border-radius:50%;
  background:var(--blue);
  color:#fff;
  font-size:13px;
  line-height:1;
}
.economics-copy>small {
  display:block;
  margin-top:20px;
  color:var(--muted);
}
.solutions {
  padding-block:72px 88px;
  background:linear-gradient(to bottom,#fff 0%,#f6f8fb 160px,#f6f8fb calc(100% - 140px),#fff 100%);
}
.solutions-heading {
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);
  align-items:end;
  gap:64px;
}
.solutions-heading>p {
  margin:0;
}
.solution-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-top:36px;
}
.solution-grid article {
  position:relative;
  padding:28px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.solution-grid .icon {
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:10px;
  background:#f0e7fb;
  color:var(--purple);
}
.solution-grid .icon svg {
  width:23px;
  height:23px;
}
.solution-grid article>small {
  position:absolute;
  top:32px;
  right:28px;
  color:var(--muted);
}
.solution-grid h3 {
  margin:22px 0 12px;
}
.solution-grid p {
  margin-bottom:0;
  max-width:480px;
  font-size:16px;
  line-height:1.65;
}
.solution-link {
  display:inline-block;
  margin-top:18px;
  color:var(--purple);
  font-size:15px;
  font-weight:600;
}
.solution-link:hover {
  color:var(--blue);
}
.solution-grid article:hover,.steps article:hover {
  border-color:#b99add;
  box-shadow:0 8px 24px rgb(28 45 70 / 4%);
}
.platform-intro {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:start;
  gap:18px 64px;
}
.platform-intro .eyebrow {
  grid-column:1/-1;
  margin:0;
}
.platform-intro h2 {
  grid-column:1;
  max-width:520px;
}
.platform-intro>p:not(.eyebrow) {
  grid-column:2;
  grid-row:2;
  margin:0;
}
.platform-intro>a {
  grid-column:2;
}
.steps {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:40px;
}
.steps article {
  padding:28px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.steps article>span {
  display:block;
  margin-bottom:20px;
  color:var(--purple);
  font-size:13px;
}
.steps article>small {
  display:block;
  color:var(--muted);
  font-size:12px;
  font-weight:600;
}
.steps h3 {
  margin:14px 0 12px;
  font-size:21px;
}
.steps p {
  margin-bottom:0;
  font-size:16px;
}
.support {
  padding-block:88px;
  background:linear-gradient(to bottom,#fff 0%,#f6f8fb 140px,#f6f8fb calc(100% - 140px),#fff 100%);
}
.support-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center;
  gap:64px;
}
.shield,.spark {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  margin-bottom:24px;
  border-radius:12px;
  background:#f0e7fb;
  color:var(--purple);
}
.shield svg,.spark svg {
  width:28px;
  height:28px;
}
.support-points {
  display:grid;
  gap:12px;
}
.support-points article {
  padding:24px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
}
.support-points h3 {
  margin:0 0 8px;
  font-size:21px;
}
.support-points p {
  margin:0;
  font-size:16px;
  line-height:1.65;
}
.contact {
  width:min(1180px,calc(100% - 64px));
  margin:72px auto 88px;
  padding:48px;
  border:1px solid #e8dff3;
  border-radius:16px;
  background:#f4effb;
}
.contact-grid {
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  align-items:center;
  gap:48px;
}
.contact-copy>p:not(.eyebrow) {
  margin:24px 0;
}
.contact-copy>small {
  display:block;
  margin-top:32px;
  color:var(--muted);
}
.contact-copy>a {
  display:inline-block;
  font-size:16px;
  font-weight:600;
  color:var(--purple);
  overflow-wrap:anywhere;
}
.contact-form {
  position:relative;
  min-width:0;
  padding:32px;
  border:1px solid var(--line);
  border-radius:12px;
  background:#fff;
  box-shadow:0 18px 48px -18px rgb(102 0 191 / 11%),0 0 28px rgb(102 0 191 / 2.5%);
}
.form-label {
  margin:0 0 12px;
  color:var(--purple);
  font-size:13px;
  font-weight:800;
  letter-spacing:.08em;
}
.contact-form h3 {
  margin:0 0 28px;
  font-size:26px;
  font-weight:700;
  line-height:1.25;
}
.form-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.contact-form label {
  display:grid;
  gap:7px;
  margin-bottom:20px;
  color:#25324b;
  font-size:14px;
  font-weight:600;
  line-height:1.55;
}
.contact-form input,.contact-form select,.contact-form textarea {
  display:block;
  width:100%;
  min-height:48px;
  padding:12px 14px;
  border:1px solid #d9e1ec;
  border-radius:7px;
  background:#fff;
  color:var(--ink);
  font-size:16px;
  font-weight:400;
  line-height:1.5;
}
.contact-form input,.contact-form select {
  height:48px;
}
.contact-form textarea {
  min-height:128px;
  resize:vertical;
}
.contact-form input:focus,.contact-form textarea:focus {
  outline:none;
  border-color:var(--purple);
  box-shadow:0 0 0 3px rgb(102 0 191 / 9%);
}
.contact-form input::placeholder,.contact-form textarea::placeholder {
  color:#69778c;
}
.select-field {
  min-width:0;
}
.contact .select-field>label {
  margin-bottom:7px;
}
.contact-form .button-purple {
  width:100%;
}
.privacy {
  display:block;
  margin-top:14px;
  color:var(--muted);
  font-size:12px;
  line-height:1.6;
  text-align:center;
}
.success {
  position:absolute;
  inset:0;
  display:grid;
  place-content:center;
  gap:8px;
  padding:24px;
  border-radius:12px;
  background:#fff;
  text-align:center;
  outline:none;
}
.success[hidden] {
  display:none;
}
.success strong {
  font-size:24px;
}
.success>span:not(.success-check) {
  color:var(--muted);
  font-size:15px;
}
.success-check {
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  justify-self:center;
  margin-bottom:12px;
  border-radius:50%;
  background:var(--blue);
  color:#fff;
}
.success-check svg {
  width:26px;
  height:26px;
}
footer {
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:24px;
  width:min(1180px,calc(100% - 64px));
  margin-inline:auto;
  padding:64px 0;
  border-top:1px solid var(--line);
  color:var(--muted);
  font-size:13px;
}
footer img {
  width:auto;
  height:34px;
}
footer p {
  margin:0;
  font-size:13px;
}
footer nav {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
}
footer>div {
  display:flex;
  grid-column:1/-1;
  justify-content:space-between;
  gap:20px;
  padding-top:20px;
  border-top:1px solid var(--line);
}
footer a:hover {
  color:var(--purple);
}
@media(max-width:1100px) {
  .site-header .menu-toggle {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
  }
  .site-header .header-menu {
    display:none;
    position:absolute;
    top:100%;
    left:20px;
    right:20px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:12px;
    background:#fff;
    box-shadow:0 16px 36px rgb(28 45 70 / 12%);
  }
  .site-header .header-menu.open {
    display:block;
  }
  .site-header .header-menu nav {
    display:flex;
    flex-direction:column;
    gap:4px;
  }
  .header-menu nav a {
    padding:12px;
  }
  .site-header .header-menu .header-cta {
    display:flex;
    margin-top:8px;
  }
  .economics-grid,.solutions-heading,.platform-intro,.support-grid,.contact-grid {
    gap:36px;
  }
  .contact {
    padding:36px;
  }
  .contact-grid {
    grid-template-columns:minmax(0,1fr);
  }
  .contact-copy {
    max-width:760px;
  }
  .steps {
    grid-template-columns:minmax(0,1fr);
  }
  footer {
    grid-template-columns:auto 1fr;
  }
  footer nav {
    grid-column:1/-1;
  }
}
@media(max-width:768px) {
  .hero-visual {
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }
  .growth-card {
    grid-column:1/-1;
    grid-row:1;
  }
  .share-card {
    grid-column:1;
    grid-row:2;
  }
  .payout-card {
    grid-column:2;
    grid-row:2;
  }
  .economics-grid,.solutions-heading,.platform-intro,.support-grid {
    grid-template-columns:minmax(0,1fr);
  }
  .platform-intro>p:not(.eyebrow),.platform-intro>a {
    grid-column:1;
    grid-row:auto;
  }
  .payment-strip {
    align-items:flex-start;
    flex-direction:column;
  }
}
@media(max-width:640px) {
  .section-shell {
    width:calc(100% - 40px);
  }
  .site-header {
    padding:16px 20px;
  }
  .hero {
    padding-block:48px;
  }
  .hero-copy {
    text-align:left;
  }
  .hero .eyebrow {
    justify-content:flex-start;
    margin-inline:0;
    padding:8px 12px;
  }
  .hero h1 {
    font-size:40px;
    line-height:1.12;
    letter-spacing:-.035em;
  }
  .hero .lead {
    font-size:17px;
    margin-top:24px;
  }
  .actions {
    align-items:stretch;
    flex-direction:column;
    gap:16px;
  }
  .actions .text-link {
    text-align:center;
  }
  .hero-visual {
    margin-top:32px;
  }
  .growth-card,.share-card,.payout-card {
    padding:22px;
  }
  .share-card strong {
    font-size:32px;
  }
  h2 {
    font-size:31px;
    line-height:1.2;
  }
  .economics,.platform,.support {
    padding-block:56px;
  }
  .solutions {
    padding-block:48px 56px;
  }
  .economics-grid {
    margin-top:32px;
  }
.big-number strong {
    font-size:96px;
  }
  .solution-grid {
    grid-template-columns:minmax(0,1fr);
  }
  .solution-grid article,.steps article {
    padding:24px;
  }
  .payment-strip {
    padding-inline:20px;
  }
  .contact {
    width:calc(100% - 40px);
    margin:48px auto 56px;
    padding:24px;
  }
  .contact-form {
    padding:24px;
  }
  .form-grid {
    grid-template-columns:minmax(0,1fr);
    gap:0;
  }
  footer {
    width:calc(100% - 40px);
    grid-template-columns:minmax(0,1fr);
  }
  footer>div {
    flex-direction:column;
  }
}
@media(max-width:480px) {
  .hero-visual {
    grid-template-columns:minmax(0,1fr);
  }
  .growth-card,.share-card,.payout-card,.visual-caption {
    grid-column:1;
    grid-row:auto;
  }
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    animation:none!important;
    transition:none!important;
    scroll-behavior:auto!important;
  }
}
/* Custom monthly volume menu; the native select retains form validation. */
.custom-select {
  position: relative;
  margin-top: 8px;
}
.custom-select.is-enhanced > select {
  position: absolute;
  width: 1px;
  height: 1px;
  min-height: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  clip-path: inset(50%);
  pointer-events: none;
}
#contact .volume-trigger {
  position: relative;
  display: block;
  width: 100%;
  min-height: 48px;
  padding: 12px 48px 12px 14px;
  border: 1px solid #d9e1ec;
  border-radius: 7px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.4s ease, box-shadow 0.4s ease;
}
#contact .volume-trigger.is-placeholder {
  color: #69778c;
}
.volume-trigger::after {
  content: '';
  position: absolute;
  right: 19px;
  top: 18px;
  width: 8px;
  height: 8px;
  border-right: 1.5px solid #6600bf;
  border-bottom: 1.5px solid #6600bf;
  transform: rotate(45deg);
  transition: transform 0.4s ease;
}
.volume-trigger[aria-expanded="true"]::after {
  transform: translateY(4px) rotate(225deg);
}
#contact .volume-trigger:hover {
  border-color: #b99bdc;
}
#contact .volume-trigger:focus-visible,
#contact .volume-trigger[aria-expanded="true"] {
  outline: none;
  border-color: #6600bf;
  box-shadow: 0 0 0 3px rgb(102 0 191 / 9%);
}
.volume-options {
  position: absolute;
  z-index: 40;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  margin: 0;
  padding: 6px;
  border: 1px solid #e8dff3;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 32px rgb(44 15 78 / 12%);
  list-style: none;
  animation: volume-menu-in 0.4s ease;
}
.volume-options[hidden] {
  display: none;
}
.volume-options > li {
  position: relative;
  padding: 11px 36px 11px 12px;
  border-radius: 7px;
  color: #25324b;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.5;
  cursor: pointer;
  transition: color 0.4s ease, background-color 0.4s ease;
}
.volume-options > li.is-active,
.volume-options > li:hover {
  background: #f4effb;
  color: #6600bf;
}
.volume-options > li[aria-selected="true"] {
  color: #6600bf;
  font-weight: 600;
}
.volume-options > li[aria-selected="true"]::after {
  content: '';
  position: absolute;
  right: 15px;
  top: 16px;
  width: 6px;
  height: 10px;
  border-right: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg);
}
@keyframes volume-menu-in {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  .volume-options {
    animation: none;
  }
}
#contact .custom-select > select {
  margin: 0;
}

/* Partner review between the solutions and platform sections. */
#partner-testimonial { padding-block:8px 0; }
#partner-testimonial .testimonial-card { display:grid; grid-template-columns:minmax(0,240px) minmax(0,1fr); align-items:center; gap:48px; margin:0; padding:40px; border:1px solid #e8dff3; border-radius:16px; background:#f8f5fc; box-shadow:0 18px 48px -24px rgb(102 0 191 / 8%); }
#partner-testimonial .testimonial-kicker { margin:0 0 24px; color:var(--purple); font-size:12px; font-weight:800; line-height:1.5; letter-spacing:.08em; text-transform:uppercase; }
#partner-testimonial .testimonial-profile { display:flex; align-items:center; gap:12px; min-width:0; }
#partner-testimonial .testimonial-avatar { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; border-radius:50%; background:#eee4f9; color:var(--purple); font-size:19px; font-weight:700; }
#partner-testimonial .testimonial-name { display:block; color:var(--ink); font-size:16px; font-weight:700; line-height:1.4; }
#partner-testimonial .testimonial-review-count { display:inline-block; margin-top:4px; color:var(--muted); font-size:13px; line-height:1.5; }
#partner-testimonial .testimonial-name:hover,#partner-testimonial .testimonial-review-count:hover { color:var(--purple); text-decoration:underline; text-underline-offset:3px; }
#partner-testimonial .testimonial-stars { display:flex; gap:4px; margin-top:24px; color:var(--purple); }
#partner-testimonial .testimonial-stars svg { width:19px; height:19px; fill:currentColor; }
#partner-testimonial .testimonial-meta { display:flex; align-items:center; gap:10px; margin-top:10px; color:var(--muted); font-size:13px; line-height:1.5; }
#partner-testimonial .testimonial-new { padding:3px 9px; border-radius:9999px; background:#eee4f9; color:var(--purple); font-size:11px; font-weight:600; }
#partner-testimonial .testimonial-quote { min-width:0; margin:0; }
#partner-testimonial .testimonial-quote p { margin:0; color:var(--ink); font-size:20px; font-weight:400; line-height:1.7; letter-spacing:-.015em; }
@media(max-width:900px) {
 #partner-testimonial .testimonial-card { grid-template-columns:minmax(0,1fr); gap:28px; padding:32px; }
 #partner-testimonial .testimonial-kicker { margin-bottom:20px; }
 #partner-testimonial .testimonial-stars { margin-top:20px; }
}
@media(max-width:640px) {
 #partner-testimonial .testimonial-card { gap:24px; padding:24px; }
 #partner-testimonial .testimonial-quote p { font-size:17px; }
}

/* Rating follows the reviewer name; dates frame the feedback. */
#partner-testimonial .testimonial-profile .testimonial-stars { margin-top:8px; }

#partner-testimonial .testimonial-quote p { display:inline; }
#partner-testimonial .testimonial-meta.testimonial-date-inline { display:inline-flex; margin:0 0 0 10px; vertical-align:baseline; font-style:normal; letter-spacing:normal; white-space:nowrap; }

/* Qualitative partner benefits replace the percentage display. */
@media(max-width:640px) {
 }

/* Decorative flowing strands: no copy, metrics, or icons. */
#economics .economics-motion { position:relative; min-width:0; height:360px; overflow:hidden; border-radius:20px; background:radial-gradient(ellipse at center,#f1e9fb 0%,#faf8fd 58%,#fff 78%); }
#economics .economics-flow { display:block; width:100%; height:100%; mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent); }
@media(max-width:1100px) { #economics .economics-motion { height:330px; } }
@media(max-width:640px) { #economics .economics-motion { height:280px; } }

/* Support illustration above the independence heading. */
#support .support-illustration { display:block; width:320px; max-width:100%; height:auto; margin:0 auto 24px; }


/* Align inquiry controls even when application labels wrap. */
#contact .form-grid { align-items:end; gap:20px; margin-bottom:20px; }
#contact .form-grid>label { min-width:0; margin-bottom:0; }
#contact .form-grid>.select-field>label { margin:0 0 7px; }
#contact .form-grid .custom-select { margin-top:0; }
#contact .volume-trigger { height:48px; min-height:48px; padding-block:11px; }

/* Company and application estimates each occupy their own full-width row. */
#contact .form-grid>label:has(input[name="company"]),
#contact .form-grid>.select-field { grid-column:1 / -1; }
