.sv-main { overflow: hidden; }

.sv-container,
.sv-section {
  margin: 0 auto;
  max-width: 1248px;
  padding-left: 24px;
  padding-right: 24px;
}

.sv-hero {
  align-items: center;
  display: grid;
  gap: clamp(46px, 7vw, 96px);
  grid-template-columns: minmax(0, 1.03fr) minmax(380px, .77fr);
  padding-bottom: 82px;
  padding-top: 70px;
}

.sv-hero--overview {
  display: block;
  min-height: 0;
  padding-bottom: 88px;
  padding-top: 115px;
  text-align: center;
}

.sv-hero-copy { max-width: 760px; }
.sv-hero--overview .sv-hero-copy { margin: 0 auto; max-width: 1060px; }

.sv-hero h1,
.sv-heading h2,
.sv-proof-copy h2,
.sv-final h2 {
  font-weight: 600;
  letter-spacing: -.074em;
  line-height: .94;
  margin: 0;
}

.sv-hero h1 { font-size: clamp(62px, 7.5vw, 105px); }
.sv-hero--overview h1 { font-size: clamp(62px, 7.5vw, 98px); }

.sv-hero h1 em,
.sv-heading h2 em,
.sv-proof-copy h2 em,
.sv-final h2 em {
  font-family: "Source Serif 4", "Source Serif 4 Fallback", Georgia, serif;
  font-style: italic;
  font-weight: 600;
  letter-spacing: -.078em;
}

.sv-lede {
  color: var(--tp-muted);
  font-size: clamp(17px, 1.5vw, 20px);
  line-height: 1.55;
  margin: 28px 0 0;
  max-width: 690px;
}

.sv-hero--overview .sv-lede { margin-left: auto; margin-right: auto; }
.sv-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 36px; }
.sv-hero--overview .sv-actions { justify-content: center; }

.sv-mini-proof {
  border-top: 1px solid var(--tp-line);
  display: flex;
  flex-wrap: wrap;
  gap: 10px 28px;
  margin-top: 48px;
  padding-top: 20px;
}

.sv-mini-proof span { color: var(--tp-muted); font-family: monospace; font-size: 11px; text-transform: uppercase; }

.sv-overview-list { padding-bottom: 112px; }
.sv-overview-head,
.sv-heading-row {
  align-items: end;
  display: flex;
  justify-content: space-between;
  margin-bottom: 34px;
}

.sv-overview-head h2 { font-size: 22px; letter-spacing: -.05em; margin: 0; }
.sv-overview-head span { color: var(--tp-muted); font-family: monospace; font-size: 11px; text-transform: uppercase; }

.sv-featured-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }

.sv-service-card {
  background: #fff;
  border: 6px solid #f8f8f8;
  border-radius: 19px;
  box-shadow: var(--tp-shadow);
  color: inherit;
  display: flex;
  flex-direction: column;
  min-height: 540px;
  overflow: hidden;
  padding: 34px;
  position: relative;
  text-decoration: none;
  transition: transform .2s ease;
}

.sv-service-card:hover { transform: translateY(-4px); }
.sv-service-card--dark { background: #060706; border-color: #060706; color: #fff; }
.sv-service-card--green { background: var(--tp-accent); border-color: var(--tp-accent); color: var(--tp-on-accent); }
.sv-service-card--green .sv-card-index,
.sv-service-card--green p { color: var(--tp-on-accent-muted); }
.sv-service-card--green .sv-card-pill { background: var(--tp-accent-raised); color: #d7d7d7; }

.sv-card-top { align-items: center; display: flex; justify-content: space-between; }
.sv-card-index { color: #8d8d8d; font-family: monospace; font-size: 11px; }
.sv-service-card--dark .sv-card-index { color: #888; }
.sv-card-pill { background: #f2f2f2; border-radius: 999px; font-size: 11px; font-weight: 600; padding: 9px 12px; }
.sv-service-card--dark .sv-card-pill { background: #202020; color: #aaa; }
.sv-service-card h3 { font-size: clamp(38px, 4vw, 58px); letter-spacing: -.065em; line-height: .98; margin: auto 0 20px; max-width: 530px; }
.sv-service-card h3 em { font-family: "Source Serif 4", "Source Serif 4 Fallback", Georgia, serif; font-style: italic; font-weight: 600; }
.sv-service-card p { color: var(--tp-muted); font-size: 15px; line-height: 1.55; margin: 0; max-width: 520px; }
.sv-service-card--dark p { color: #999; }
.sv-service-card--green p { color: var(--tp-on-accent-muted); }
.sv-card-link { align-items: center; display: flex; font-size: 14px; font-weight: 600; gap: 10px; margin-top: 30px; }
.sv-card-link span { transition: transform .2s ease; }
.sv-service-card:hover .sv-card-link span { transform: translateX(4px); }

.sv-secondary-list { border-top: 1px solid var(--tp-line); margin-top: 58px; }
.sv-secondary-row {
  align-items: center;
  border-bottom: 1px solid var(--tp-line);
  color: inherit;
  display: grid;
  gap: 24px;
  grid-template-columns: 54px minmax(0, .9fr) minmax(0, 1.1fr) auto;
  padding: 28px 0;
  text-decoration: none;
}
.sv-secondary-row > span:first-child { color: var(--tp-muted); font-family: monospace; font-size: 11px; }
.sv-secondary-row strong { font-size: 23px; letter-spacing: -.045em; }
.sv-secondary-row p { color: var(--tp-muted); font-size: 14px; line-height: 1.5; margin: 0; }
.sv-secondary-row i { font-size: 22px; font-style: normal; transition: transform .2s ease; }
.sv-secondary-row:hover i { transform: translateX(4px); }

.sv-mobile-visual {
  background: #090909;
  border: 7px solid #f8f8f8;
  border-radius: 26px;
  box-shadow: var(--tp-shadow);
  min-height: 620px;
  overflow: hidden;
  padding: 34px;
  position: relative;
}

.sv-mobile-visual::before {
  background: radial-gradient(circle at 70% 16%, rgba(255,255,255,.18), transparent 30%), radial-gradient(circle at 18% 80%, rgba(126,126,126,.25), transparent 34%);
  content: "";
  inset: 0;
  position: absolute;
}

.sv-mobile-shot {
  border: 5px solid #fff;
  border-radius: 18px;
  box-shadow: 0 30px 60px rgba(0,0,0,.42);
  display: block;
  height: 310px;
  object-fit: cover;
  position: absolute;
  width: 410px;
}
.sv-mobile-shot--one { left: -86px; top: 78px; transform: rotate(-7deg); }
.sv-mobile-shot--two { bottom: 55px; right: -92px; transform: rotate(7deg); }
.sv-visual-label { bottom: 28px; color: #fff; font-family: monospace; font-size: 11px; left: 30px; position: absolute; text-transform: uppercase; z-index: 2; }

.sv-system-visual {
  background: #fff;
  border: 7px solid #f8f8f8;
  border-radius: 26px;
  box-shadow: var(--tp-shadow);
  min-height: 610px;
  overflow: hidden;
  padding: 26px;
  position: relative;
}

.sv-browser-bar { align-items: center; border-bottom: 1px solid var(--tp-line); display: flex; gap: 7px; height: 34px; }
.sv-browser-bar i { background: #ddd; border-radius: 50%; height: 8px; width: 8px; }
.sv-system-grid { display: grid; gap: 12px; grid-template-columns: .72fr 1.28fr; height: calc(100% - 35px); padding-top: 16px; }
.sv-system-nav { background: #090909; border-radius: 14px; padding: 18px; }
.sv-system-nav strong { color: #fff; display: block; font-size: 17px; margin-bottom: 35px; }
.sv-system-nav span { background: #242424; border-radius: 999px; display: block; height: 9px; margin: 15px 0; width: 75%; }
.sv-system-nav span:nth-child(3) { background: #bdbdbd; width: 92%; }
.sv-system-content { display: grid; gap: 12px; grid-template-rows: .85fr 1.15fr; }
.sv-system-metrics { display: grid; gap: 10px; grid-template-columns: repeat(2, 1fr); }
.sv-system-metrics div { background: #f1f1f1; border-radius: 13px; padding: 18px; }
.sv-system-metrics span { color: #888; display: block; font-family: monospace; font-size: 9px; text-transform: uppercase; }
.sv-system-metrics strong { display: block; font-size: 33px; letter-spacing: -.06em; margin-top: 34px; }
.sv-system-chart { align-items: end; background: #0a0a0a; border-radius: 13px; display: flex; gap: 8px; overflow: hidden; padding: 24px; }
.sv-system-chart i { background: #dcdcdc; border-radius: 5px 5px 0 0; display: block; flex: 1; height: 36%; opacity: .88; }
.sv-system-chart i:nth-child(2) { height: 62%; }.sv-system-chart i:nth-child(3) { height: 48%; }.sv-system-chart i:nth-child(4) { height: 84%; }.sv-system-chart i:nth-child(5) { height: 70%; }.sv-system-chart i:nth-child(6) { height: 96%; }

.sv-ai-visual {
  background: #060706;
  border: 7px solid #f8f8f8;
  border-radius: 26px;
  box-shadow: var(--tp-shadow);
  color: #fff;
  min-height: 610px;
  overflow: hidden;
  padding: 28px;
  position: relative;
}

.sv-ai-visual::before {
  background: radial-gradient(circle at 84% 5%, rgba(255,255,255,.16), transparent 26%), radial-gradient(circle at 0 100%, rgba(126,126,126,.2), transparent 32%);
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}

.sv-ai-console-head,
.sv-ai-console-foot { align-items: center; display: flex; justify-content: space-between; position: relative; z-index: 1; }
.sv-ai-console-head { border-bottom: 1px solid rgba(255,255,255,.14); font-size: 13px; font-weight: 600; padding: 2px 0 22px; }
.sv-ai-console-head i { color: #aaa; font-size: 11px; font-style: normal; font-weight: 400; }
.sv-ai-console-head b { background: #bdbdbd; border-radius: 50%; display: inline-block; height: 7px; margin-right: 6px; width: 7px; }
.sv-ai-flow { display: grid; gap: 9px; margin: 42px 0 34px; position: relative; z-index: 1; }
.sv-ai-node { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: 15px; display: grid; gap: 4px 14px; grid-template-columns: 38px 1fr; padding: 19px; }
.sv-ai-node--active { background: var(--tp-accent-raised); border-color: var(--tp-accent-border); color: #fff; transform: translateX(-14px); width: calc(100% + 14px); }
.sv-ai-node > span { color: #858585; font-family: monospace; font-size: 10px; grid-row: 1 / 3; padding-top: 3px; }
.sv-ai-node--active > span { color: var(--tp-on-accent-muted); }
.sv-ai-node strong { font-size: 18px; letter-spacing: -.035em; }
.sv-ai-node small { color: #929292; font-size: 12px; }
.sv-ai-node--active small { color: var(--tp-on-accent-muted); }
.sv-ai-connector { color: #666; font-family: monospace; font-size: 14px; padding-left: 31px; }
.sv-ai-console-foot { border-top: 1px solid rgba(255,255,255,.14); display: grid; gap: 9px 18px; grid-template-columns: 1fr auto; padding-top: 20px; }
.sv-ai-console-foot span { color: #777; font-family: monospace; font-size: 10px; text-transform: uppercase; }
.sv-ai-console-foot strong { color: #dcdcdc; font-size: 12px; }

.sv-team-visual {
  background: #fff;
  border: 7px solid #f8f8f8;
  border-radius: 26px;
  box-shadow: var(--tp-shadow);
  min-height: 610px;
  overflow: hidden;
  padding: 28px;
}

.sv-team-head { align-items: center; border-bottom: 1px solid var(--tp-line); display: flex; justify-content: space-between; padding: 3px 0 22px; }
.sv-team-head span { font-size: 15px; font-weight: 600; }
.sv-team-head i { background: #f2f2f2; border-radius: 999px; color: #777; font-size: 10px; font-style: normal; padding: 8px 10px; text-transform: uppercase; }
.sv-team-person { align-items: center; border-bottom: 1px solid var(--tp-line); color: inherit; display: grid; gap: 16px; grid-template-columns: 70px 1fr auto; padding: 18px 0; text-decoration: none; }
.sv-team-person img { border-radius: 12px; height: 70px; object-fit: cover; object-position: center 32%; width: 70px; }
.sv-team-person span { min-width: 0; }
.sv-team-person strong { display: block; font-size: 17px; letter-spacing: -.035em; }
.sv-team-person small { color: var(--tp-muted); display: block; font-size: 11px; line-height: 1.35; margin-top: 5px; }
.sv-team-person b { font-size: 18px; font-weight: 400; transition: transform .2s ease; }
.sv-team-person:hover b { transform: translateX(4px); }
.sv-team-next { background: var(--tp-accent); border-radius: 14px; color: var(--tp-on-accent); margin-top: 22px; padding: 20px; }
.sv-team-next span { color: var(--tp-on-accent-muted); display: block; font-family: monospace; font-size: 10px; text-transform: uppercase; }
.sv-team-next strong { display: block; font-size: 19px; letter-spacing: -.035em; margin-top: 8px; }

.sv-agency-visual {
  background: #fff;
  border: 7px solid #f8f8f8;
  border-radius: 26px;
  box-shadow: var(--tp-shadow);
  min-height: 610px;
  overflow: hidden;
  padding: 28px;
}

.sv-agency-head { align-items: center; border-bottom: 1px solid var(--tp-line); display: flex; justify-content: space-between; padding: 3px 0 22px; }
.sv-agency-head > span { font-size: 15px; font-weight: 600; }
.sv-agency-head i { color: #777; font-size: 10px; font-style: normal; text-transform: uppercase; }
.sv-agency-head i b { background: #8d8d8d; border-radius: 50%; display: inline-block; height: 7px; margin-right: 6px; width: 7px; }
.sv-agency-client { background: #080808; border-radius: 15px; color: #fff; margin-top: 22px; padding: 22px; }
.sv-agency-client span { color: #dcdcdc; display: block; font-family: monospace; font-size: 10px; text-transform: uppercase; }
.sv-agency-client strong { display: block; font-size: 21px; letter-spacing: -.04em; margin-top: 24px; }
.sv-agency-client small { color: #8d8d8d; display: block; font-size: 11px; margin-top: 6px; }
.sv-agency-lanes { display: grid; gap: 9px; margin-top: 18px; }
.sv-agency-lanes article { align-items: center; border: 1px solid var(--tp-line); border-radius: 13px; display: grid; gap: 4px 16px; grid-template-columns: 92px 1fr; padding: 15px 17px; }
.sv-agency-lanes article > span { color: #888; font-family: monospace; font-size: 9px; grid-row: 1 / 3; }
.sv-agency-lanes article strong { font-size: 15px; letter-spacing: -.025em; }
.sv-agency-lanes article small { color: var(--tp-muted); font-size: 10px; }
.sv-agency-lanes .sv-agency-lane--active { background: var(--tp-accent); border-color: var(--tp-accent); color: var(--tp-on-accent); }
.sv-agency-lanes .sv-agency-lane--active > span,
.sv-agency-lanes .sv-agency-lane--active small { color: var(--tp-on-accent-muted); }
.sv-agency-team { align-items: center; display: grid; gap: 8px 16px; grid-template-columns: 1fr auto; margin-top: 22px; }
.sv-agency-team > span { color: var(--tp-muted); font-family: monospace; font-size: 9px; text-transform: uppercase; }
.sv-agency-team > div { display: flex; grid-row: 1 / 3; }
.sv-agency-team i { align-items: center; background: #080808; border: 3px solid #fff; border-radius: 50%; color: #fff; display: flex; font-size: 9px; font-style: normal; height: 38px; justify-content: center; margin-left: -7px; width: 38px; }
.sv-agency-team i:first-child { margin-left: 0; }
.sv-agency-team strong { font-size: 13px; }

.sv-agency-model { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 52px; }
.sv-agency-model article { border: 1px solid rgba(255,255,255,.18); border-radius: 17px; min-height: 250px; padding: 27px; }
.sv-agency-model article > span { color: #dcdcdc; font-family: monospace; font-size: 11px; }
.sv-agency-model h3 { font-size: 27px; letter-spacing: -.05em; margin: 66px 0 12px; }
.sv-agency-model p { color: #999; font-size: 14px; line-height: 1.55; margin: 0; }

.sv-match-steps { display: grid; gap: 12px; margin-top: 52px; }
.sv-match-steps article { align-items: start; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; display: grid; gap: 26px; grid-template-columns: 54px 1fr; padding: 25px; }
.sv-match-steps article > span { align-items: center; background: #1e1e1e; border-radius: 50%; color: #dcdcdc; display: flex; font-family: monospace; font-size: 11px; height: 44px; justify-content: center; width: 44px; }
.sv-match-steps h3 { font-size: 24px; letter-spacing: -.045em; margin: 0 0 8px; }
.sv-match-steps p { color: #999; font-size: 14px; line-height: 1.55; margin: 0; max-width: 780px; }

.sv-profile-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 48px; }
.sv-profile-card { background: #fff; border: 6px solid #f8f8f8; border-radius: 18px; box-shadow: var(--tp-shadow); color: inherit; overflow: hidden; padding: 10px 10px 26px; text-decoration: none; transition: transform .2s ease; }
.sv-profile-card:hover { transform: translateY(-4px); }
.sv-profile-card img { border-radius: 11px; display: block; height: 290px; object-fit: cover; object-position: center 32%; width: 100%; }
.sv-profile-card > span { color: var(--tp-muted); display: block; font-family: monospace; font-size: 9px; margin: 22px 14px 0; text-transform: uppercase; }
.sv-profile-card h3 { font-size: 27px; letter-spacing: -.05em; margin: 22px 14px 8px; }
.sv-profile-card p { color: var(--tp-muted); font-size: 13px; line-height: 1.45; margin: 0 14px; min-height: 38px; }
.sv-profile-card i { align-items: center; display: flex; font-size: 12px; font-style: normal; font-weight: 600; gap: 8px; margin: 30px 14px 0; }
.sv-profile-card i b { font-size: 15px; font-weight: 400; transition: transform .2s ease; }
.sv-profile-card:hover i b { transform: translateX(4px); }
.sv-proof--quote .sv-proof-media { object-position: center 28%; }

.sv-section { padding-bottom: 112px; padding-top: 112px; }
.sv-section--tight { padding-top: 62px; }
.sv-section--dark { background: #050505; color: #fff; max-width: none; padding-left: max(24px, calc((100vw - 1200px) / 2)); padding-right: max(24px, calc((100vw - 1200px) / 2)); }

.sv-heading { max-width: 800px; }
.sv-heading h2,
.sv-proof-copy h2,
.sv-final h2 { font-size: clamp(46px, 5.5vw, 72px); }
.sv-heading p { color: var(--tp-muted); font-size: 17px; line-height: 1.55; margin: 24px 0 0; max-width: 650px; }
.sv-heading-row .sv-heading { max-width: 760px; }
.sv-heading-row > p { color: var(--tp-muted); font-size: 15px; line-height: 1.55; margin: 0 0 6px 50px; max-width: 380px; }

.sv-fit-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 48px; }
.sv-fit-card { background: #fff; border: 6px solid #f8f8f8; border-radius: 17px; box-shadow: var(--tp-shadow); min-height: 315px; padding: 30px; }
.sv-fit-card > span { color: #8b8b8b; font-family: monospace; font-size: 11px; }
.sv-fit-card h3 { font-size: 27px; letter-spacing: -.05em; line-height: 1.05; margin: 72px 0 14px; }
.sv-fit-card p { color: var(--tp-muted); font-size: 14px; line-height: 1.55; margin: 0; }

.sv-deliverable-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 52px; }
.sv-deliverable { border-top: 1px solid rgba(255,255,255,.2); padding: 28px 0 12px; }
.sv-deliverable span { color: #dcdcdc; font-family: monospace; font-size: 11px; }
.sv-deliverable h3 { font-size: 27px; letter-spacing: -.05em; margin: 20px 0 10px; }
.sv-deliverable p { color: #999; font-size: 14px; line-height: 1.55; margin: 0; max-width: 510px; }

.sv-process { display: grid; gap: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 52px; }
.sv-process-step { border-left: 1px solid var(--tp-line); min-height: 290px; padding: 0 26px 20px; }
.sv-process-step:first-child { border-left: 0; padding-left: 0; }
.sv-process-step > span { color: var(--tp-muted); font-family: monospace; font-size: 11px; }
.sv-process-step h3 { font-size: 24px; letter-spacing: -.05em; margin: 90px 0 13px; }
.sv-process-step p { color: var(--tp-muted); font-size: 13px; line-height: 1.55; margin: 0; }

.sv-proof {
  align-items: stretch;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .72fr);
}
.sv-proof-media { border-radius: 20px; min-height: 520px; object-fit: cover; overflow: hidden; width: 100%; }
.sv-proof-copy { background: var(--tp-accent); border-radius: 20px; color: var(--tp-on-accent); display: flex; flex-direction: column; justify-content: space-between; padding: clamp(36px, 5vw, 64px); }
.sv-proof-copy blockquote { font-size: 19px; line-height: 1.5; margin: 38px 0; }
.sv-proof-copy cite { font-size: 13px; font-style: normal; font-weight: 600; }
.sv-proof-copy cite span { display: block; font-weight: 400; margin-top: 4px; opacity: .65; }

.sv-talent-strip { align-items: center; background: #fff; border: 6px solid #f8f8f8; border-radius: 20px; box-shadow: var(--tp-shadow); display: grid; gap: 30px; grid-template-columns: 110px 1fr auto; margin-top: 58px; padding: 18px 24px 18px 18px; }
.sv-talent-strip img,
.sv-talent-placeholder { border-radius: 13px; height: 110px; object-fit: cover; width: 110px; }
.sv-talent-placeholder { align-items: center; background: #111; color: #fff; display: flex; font-size: 32px; font-weight: 600; justify-content: center; }
.sv-talent-strip h3 { font-size: 24px; letter-spacing: -.05em; margin: 0 0 7px; }
.sv-talent-strip p { color: var(--tp-muted); font-size: 14px; line-height: 1.45; margin: 0; }

.sv-architecture { display: grid; gap: 12px; margin-top: 52px; }
.sv-layer { align-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; display: grid; gap: 20px; grid-template-columns: 48px minmax(180px, .7fr) minmax(0, 1.3fr); padding: 24px; }
.sv-layer > span { align-items: center; background: #1e1e1e; border-radius: 50%; color: #dcdcdc; display: flex; font-family: monospace; font-size: 11px; height: 40px; justify-content: center; width: 40px; }
.sv-layer strong { font-size: 20px; letter-spacing: -.04em; }
.sv-layer p { color: #999; font-size: 14px; line-height: 1.5; margin: 0; }

.sv-faqs { border-top: 1px solid var(--tp-line); margin-top: 48px; }
.sv-faqs details { border-bottom: 1px solid var(--tp-line); padding: 0; }
.sv-faqs summary { cursor: pointer; font-size: 20px; font-weight: 600; letter-spacing: -.035em; list-style: none; padding: 26px 52px 26px 0; position: relative; }
.sv-faqs summary::-webkit-details-marker { display: none; }
.sv-faqs summary::after { content: "+"; font-size: 26px; font-weight: 400; position: absolute; right: 8px; top: 21px; }
.sv-faqs details[open] summary::after { content: "−"; }
.sv-faqs details p { color: var(--tp-muted); font-size: 15px; line-height: 1.65; margin: -6px 0 28px; max-width: 850px; }

.sv-final {
  align-items: end;
  background: var(--tp-accent);
  color: var(--tp-on-accent);
  border-radius: 24px;
  display: flex;
  gap: 50px;
  justify-content: space-between;
  margin: 70px auto 24px;
  max-width: 1200px;
  padding: clamp(42px, 6vw, 76px);
}
.sv-final > div { max-width: 760px; }
.sv-final p { color: var(--tp-on-accent-muted); font-size: 16px; line-height: 1.5; margin: 22px 0 0; max-width: 620px; }
.sv-final .tp-button { flex: none; }
.sv-final .tp-button--dark { background: #fff; border-color: #fff; color: var(--tp-ink); }
.sv-final .tp-button--dark:hover { background: #f0f0f0; }

@media (max-width: 940px) {
  .sv-hero { grid-template-columns: 1fr; min-height: 0; padding-top: 82px; }
  .sv-hero-copy { max-width: 820px; }
  .sv-mobile-visual, .sv-system-visual, .sv-ai-visual, .sv-team-visual, .sv-agency-visual { margin: 0 auto; max-width: 680px; width: 100%; }
  .sv-fit-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sv-fit-grid .sv-fit-card:last-child { grid-column: 1 / -1; }
  .sv-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sv-process-step:nth-child(3) { border-left: 0; padding-left: 0; }
  .sv-proof { grid-template-columns: 1fr; }
  .sv-proof-media { min-height: 440px; }
  .sv-heading-row { align-items: start; flex-direction: column; }
  .sv-heading-row > p { margin: 22px 0 0; }
  .sv-final { align-items: start; flex-direction: column; }
  .sv-profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sv-profile-card:last-child { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .sv-container, .sv-section { padding-left: 20px; padding-right: 20px; }
  .sv-hero { gap: 52px; padding-bottom: 78px; padding-top: 70px; }
  .sv-hero--overview { padding-bottom: 58px; padding-top: 84px; text-align: left; }
  .sv-hero h1, .sv-hero--overview h1 { font-size: clamp(54px, 16vw, 72px); }
  .sv-hero--overview .sv-lede { margin-left: 0; }
  .sv-hero--overview .sv-actions { justify-content: flex-start; }
  .sv-actions { display: grid; }
  .sv-actions .tp-button { width: 100%; }
  .sv-mini-proof { display: grid; }
  .sv-overview-list { padding-bottom: 82px; }
  .sv-featured-grid { grid-template-columns: 1fr; }
  .sv-service-card { min-height: 440px; padding: 28px; }
  .sv-secondary-row { gap: 12px; grid-template-columns: 36px 1fr auto; }
  .sv-secondary-row p { grid-column: 2 / 4; }
  .sv-mobile-visual, .sv-system-visual, .sv-ai-visual, .sv-team-visual, .sv-agency-visual { min-height: 500px; }
  .sv-mobile-visual { padding: 22px; }
  .sv-mobile-shot { height: 235px; width: 315px; }
  .sv-mobile-shot--one { left: -90px; top: 68px; }
  .sv-mobile-shot--two { bottom: 75px; right: -100px; }
  .sv-system-visual { min-height: 480px; padding: 18px; }
  .sv-system-grid { grid-template-columns: .56fr 1.44fr; }
  .sv-system-nav { padding: 12px; }
  .sv-system-nav strong { font-size: 11px; }
  .sv-system-metrics strong { font-size: 24px; }
  .sv-ai-visual, .sv-team-visual, .sv-agency-visual { padding: 20px; }
  .sv-ai-flow { margin: 30px 0 24px; }
  .sv-ai-node { grid-template-columns: 30px 1fr; padding: 16px; }
  .sv-ai-node--active { transform: none; width: 100%; }
  .sv-team-person { gap: 12px; grid-template-columns: 58px 1fr auto; }
  .sv-team-person img { height: 58px; width: 58px; }
  .sv-agency-lanes article { grid-template-columns: 72px 1fr; }
  .sv-section { padding-bottom: 82px; padding-top: 82px; }
  .sv-section--dark { padding-left: 20px; padding-right: 20px; }
  .sv-heading h2, .sv-proof-copy h2, .sv-final h2 { font-size: clamp(42px, 12vw, 54px); }
  .sv-heading p { font-size: 15px; }
  .sv-fit-grid, .sv-deliverable-grid { grid-template-columns: 1fr; }
  .sv-profile-grid { grid-template-columns: 1fr; }
  .sv-profile-card:last-child { grid-column: auto; }
  .sv-profile-card img { height: 340px; }
  .sv-agency-model { grid-template-columns: 1fr; }
  .sv-agency-model article { min-height: 230px; padding: 24px; }
  .sv-agency-model h3 { margin-top: 48px; }
  .sv-fit-grid .sv-fit-card:last-child { grid-column: auto; }
  .sv-fit-card { min-height: 285px; padding: 26px; }
  .sv-process { grid-template-columns: 1fr; }
  .sv-process-step, .sv-process-step:first-child, .sv-process-step:nth-child(3) { border-left: 0; border-top: 1px solid var(--tp-line); min-height: 0; padding: 25px 0 30px; }
  .sv-process-step h3 { margin: 35px 0 12px; }
  .sv-proof-media { min-height: 280px; }
  .sv-proof-copy { border-radius: 18px; padding: 38px 26px; }
  .sv-talent-strip { align-items: start; grid-template-columns: 80px 1fr; padding: 14px; }
  .sv-talent-strip img, .sv-talent-placeholder { height: 80px; width: 80px; }
  .sv-talent-strip .tp-button { grid-column: 1 / -1; width: 100%; }
  .sv-layer { align-items: start; grid-template-columns: 44px 1fr; padding: 20px; }
  .sv-layer p { grid-column: 2; }
  .sv-match-steps article { gap: 16px; grid-template-columns: 44px 1fr; padding: 20px; }
  .sv-match-steps article > span { height: 38px; width: 38px; }
  .sv-faqs summary { font-size: 17px; }
  .sv-final { border-radius: 0; margin: 40px 0 0; padding: 60px 20px; }
  .sv-final .tp-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .sv-service-card, .sv-card-link span, .sv-secondary-row i { transition: none; }
}
