/*
 * Full-stack implementation page, expressed through the AJAIA About page's
 * editorial system. The source content is untouched; only layout, hierarchy,
 * color, and motion are changed.
 */

body.full-stack-about {
  --fs-navy: #001d6b;
  --fs-navy-deep: #071334;
  --fs-blue: #0b3fa7;
  --fs-sky: #97c2f8;
  --fs-sky-soft: #eef5ff;
  --fs-paper: #ffffff;
  --fs-ink: #1b1c1c;
  --fs-muted: #5e687d;
  --fs-rule: rgba(0, 29, 107, 0.16);
  --fs-rule-dark: rgba(190, 216, 255, 0.18);
  --fs-ease: cubic-bezier(0.23, 1, 0.32, 1);
  background: var(--fs-paper);
}

html.full-stack-about-pending body [data-framer-name="Main"] {
  opacity: 0 !important;
}

html body [data-framer-name="Main"] {
  transition: opacity 280ms cubic-bezier(0.23, 1, 0.32, 1);
}

/* Hero — the same centered, neural, quiet confidence used on About. */
body.full-stack-about .fs-about-hero {
  min-height: clamp(720px, 86vh, 880px) !important;
  padding: clamp(150px, 17vh, 190px) 0 clamp(104px, 12vh, 136px) !important;
  background:
    linear-gradient(rgba(120, 169, 241, 0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 169, 241, 0.055) 1px, transparent 1px),
    radial-gradient(70% 92% at 82% 22%, rgba(38, 91, 198, 0.34), transparent 74%),
    #071334 !important;
  background-size: 92px 92px, 92px 92px, auto, auto !important;
}

body.full-stack-about .fs-about-hero::before {
  content: "";
  position: absolute;
  inset: 8% 5% 8% auto;
  z-index: 1;
  width: min(44vw, 620px);
  border-right: 1px solid rgba(151, 194, 248, 0.2);
  border-left: 1px solid rgba(151, 194, 248, 0.08);
  pointer-events: none;
}

body.full-stack-about .fs-about-hero-frame {
  position: absolute;
  right: clamp(28px, 7vw, 112px);
  bottom: clamp(28px, 6vw, 86px);
  z-index: 2;
  width: clamp(52px, 6vw, 82px);
  aspect-ratio: 1;
  border-right: 1px solid rgba(151, 194, 248, 0.5);
  border-bottom: 1px solid rgba(151, 194, 248, 0.5);
  pointer-events: none;
}

body.full-stack-about
  .fs-about-hero
  > [data-framer-name="Container"] {
  width: min(1080px, calc(100% - 96px)) !important;
}

body.full-stack-about
  .fs-about-hero
  [data-framer-name="Text Content"] {
  width: min(980px, 100%) !important;
}

body.full-stack-about .fs-about-hero h1 {
  max-width: 960px !important;
  font-size: clamp(50px, 5.25vw, 76px) !important;
  font-weight: 500 !important;
  line-height: 1.04 !important;
  letter-spacing: -0.052em !important;
}

body.full-stack-about .fs-about-hero p {
  max-width: 760px !important;
  margin-top: 28px !important;
  font-size: clamp(15px, 1.16vw, 18px) !important;
  line-height: 1.72 !important;
}

body.full-stack-about .fs-about-hero form,
body.full-stack-about .fs-about-hero [data-service-template-form] {
  margin-top: 38px !important;
  border-color: rgba(181, 210, 250, 0.28) !important;
  background: rgba(7, 19, 52, 0.48) !important;
  box-shadow: none !important;
  backdrop-filter: blur(12px);
}

body.full-stack-about .service-template-neural {
  opacity: 0.52;
}

/* Metrics are an integrated evidence rail, not four floating cards. */
body.full-stack-about [data-service-template-stats] {
  padding: 0 !important;
  background: var(--fs-navy) !important;
  border-top: 1px solid var(--fs-rule-dark);
  border-bottom: 1px solid var(--fs-rule-dark);
}

body.full-stack-about [data-service-template-stats]::before,
body.full-stack-about [data-service-template-stats]::after {
  display: none !important;
}

body.full-stack-about [data-service-template-stats-grid] {
  width: min(1240px, calc(100% - 96px)) !important;
  border-right: 1px solid var(--fs-rule-dark);
  border-left: 1px solid var(--fs-rule-dark);
}

body.full-stack-about [data-service-template-stat] {
  min-height: 174px !important;
  padding: 36px 30px !important;
  justify-content: flex-end !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid var(--fs-rule-dark) !important;
  box-shadow: none !important;
}

body.full-stack-about [data-service-template-stat]:last-child {
  border-right: 0 !important;
}

body.full-stack-about [data-service-template-stat] strong,
body.full-stack-about [data-service-template-stat] strong * {
  color: #eaf3ff !important;
  font-size: clamp(38px, 4.1vw, 58px) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: -0.055em !important;
}

body.full-stack-about [data-service-template-stat] p {
  margin-top: 12px !important;
  color: rgba(224, 237, 255, 0.7) !important;
  font-family: "Fragment Mono", monospace !important;
  font-size: 10px !important;
  line-height: 1.4 !important;
  letter-spacing: 0.12em !important;
}

/* Shared editorial foundations. */
body.full-stack-about [data-service-template-part] {
  width: min(1240px, calc(100% - 96px)) !important;
}

body.full-stack-about [data-service-template-part] h2 {
  font-weight: 500 !important;
}

body.full-stack-about [data-service-template-part] p,
body.full-stack-about [data-service-template-part] blockquote,
body.full-stack-about [data-service-template-part] li {
  color: var(--fs-muted) !important;
  line-height: 1.72 !important;
}

body.full-stack-about .fs-about-decorative-wrapper {
  display: none !important;
}

/* Editorial introduction. */
body.full-stack-about .fs-about-copy {
  --service-part-bg: var(--fs-paper);
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr) !important;
  column-gap: clamp(64px, 8vw, 124px) !important;
  row-gap: 18px !important;
  padding-top: clamp(96px, 9vw, 132px) !important;
  padding-bottom: clamp(92px, 8vw, 120px) !important;
  border-bottom: 1px solid var(--fs-rule);
}

body.full-stack-about .fs-about-copy > h2 {
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
  max-width: 720px !important;
  font-size: clamp(46px, 4.6vw, 66px) !important;
  line-height: 1.03 !important;
}

body.full-stack-about .fs-about-copy > p {
  grid-column: 2 !important;
  max-width: 48ch !important;
  margin: 0 !important;
}

body.full-stack-about .fs-about-copy > p:last-child {
  margin-top: 10px !important;
  color: var(--fs-navy) !important;
  font-weight: 600 !important;
}

/* Six-stage implementation model. */
body.full-stack-about .fs-about-process-heading,
body.full-stack-about .fs-about-process-grid {
  --service-part-bg: var(--fs-sky-soft);
}

body.full-stack-about .fs-about-process-heading {
  padding-top: clamp(94px, 8vw, 122px) !important;
  padding-bottom: clamp(52px, 5vw, 72px) !important;
}

body.full-stack-about .fs-about-process-heading h2 {
  max-width: 920px !important;
  font-size: clamp(48px, 5vw, 70px) !important;
  line-height: 1.02 !important;
}

body.full-stack-about .fs-about-process-grid {
  display: grid !important;
  width: min(1240px, calc(100% - 96px)) !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding-top: 0 !important;
  padding-bottom: clamp(96px, 8vw, 126px) !important;
  border-top: 1px solid var(--fs-rule);
  border-left: 1px solid var(--fs-rule);
}

body.full-stack-about .fs-about-process-grid > * {
  display: contents !important;
}

body.full-stack-about .fs-about-process-card {
  position: relative !important;
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 270px !important;
  padding: 98px 32px 34px !important;
  align-items: flex-end !important;
  justify-self: stretch !important;
  align-self: stretch !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid var(--fs-rule) !important;
  border-bottom: 1px solid var(--fs-rule) !important;
  box-shadow: none !important;
  transform: none;
}

body.full-stack-about .fs-about-process-card::before,
body.full-stack-about .fs-about-deliverable::before,
body.full-stack-about .fs-about-audience-card::before {
  content: var(--fs-item);
  position: absolute;
  top: 28px;
  left: 30px;
  color: var(--fs-blue);
  font-family: "Fragment Mono", monospace;
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.12em;
}

body.full-stack-about .fs-about-process-card > :first-child,
body.full-stack-about .fs-about-deliverable > :first-child,
body.full-stack-about .fs-about-audience-card > :first-child {
  display: none !important;
}

body.full-stack-about .fs-about-process-card > :last-child,
body.full-stack-about .fs-about-deliverable > :last-child,
body.full-stack-about .fs-about-audience-card > :last-child {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  transform: none !important;
}

body.full-stack-about .fs-about-process-card p {
  color: var(--fs-navy) !important;
  font-family: "Poppins", sans-serif !important;
  font-size: clamp(17px, 1.35vw, 20px) !important;
  font-weight: 500 !important;
  line-height: 1.42 !important;
  letter-spacing: -0.025em !important;
}

/* Partners — About-style logo rail with the source list retained for parity. */
body.full-stack-about .fs-about-partners,
body.full-stack-about .fs-about-partners-cta {
  --service-part-bg: var(--fs-paper);
}

body.full-stack-about .fs-about-partners {
  display: grid !important;
  grid-template-columns: minmax(0, 0.82fr) minmax(360px, 1.18fr) !important;
  column-gap: clamp(70px, 9vw, 140px) !important;
  padding-top: clamp(102px, 9vw, 136px) !important;
  padding-bottom: 0 !important;
}

body.service-template-page.service-template-route--full-stack-ai-implementation.full-stack-about
  .fs-about-partners {
  display: grid !important;
}

body.full-stack-about .fs-about-partners > h2 {
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  font-size: clamp(50px, 5.1vw, 72px) !important;
}

body.full-stack-about .fs-about-partners > p {
  grid-column: 2 !important;
  max-width: 48ch !important;
  margin: 8px 0 0 !important;
}

body.full-stack-about .fs-about-partners .service-template-partner-carousel {
  grid-column: 1 / -1 !important;
  margin-top: clamp(58px, 6vw, 82px) !important;
  background: transparent !important;
  border-color: var(--fs-rule) !important;
}

body.full-stack-about .service-template-partner-group {
  gap: 0;
  padding: 0;
}

body.full-stack-about .service-template-partner-item {
  width: clamp(190px, 17vw, 236px);
  min-height: 112px;
  padding: 26px 24px;
  background: transparent;
  border: 0;
  border-right: 1px solid var(--fs-rule);
}

body.full-stack-about .fs-about-partners-cta {
  padding-top: 42px !important;
  padding-bottom: clamp(94px, 8vw, 124px) !important;
}

/* Button treatment shared by the page. */
body.full-stack-about .fs-about-partners-cta a,
body.full-stack-about .fs-about-impact-cta a,
body.full-stack-about .fs-about-ready-cta a {
  min-height: 54px !important;
  border: 1px solid rgba(0, 29, 107, 0.18) !important;
  border-radius: 0 !important;
  background: var(--fs-sky) !important;
  color: var(--fs-navy) !important;
  box-shadow: none !important;
  transition:
    background-color 220ms var(--fs-ease),
    color 220ms var(--fs-ease),
    border-color 220ms var(--fs-ease),
    transform 160ms var(--fs-ease) !important;
}

body.full-stack-about .fs-about-partners-cta a:active,
body.full-stack-about .fs-about-impact-cta a:active,
body.full-stack-about .fs-about-ready-cta a:active,
body.full-stack-about .fs-about-hero button:active {
  transform: scale(0.97) !important;
}

/* Dark integration passage. */
body.full-stack-about .fs-about-integrations {
  --service-part-bg: var(--fs-navy-deep);
  display: grid !important;
  grid-template-columns: minmax(0, 0.86fr) minmax(420px, 1.14fr) !important;
  gap: clamp(56px, 8vw, 124px) !important;
  padding-top: clamp(108px, 10vw, 150px) !important;
  padding-bottom: clamp(108px, 10vw, 150px) !important;
  align-items: center !important;
}

body.full-stack-about .fs-about-integrations > * {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
}

body.full-stack-about .fs-about-integrations h2 {
  max-width: 660px !important;
  color: #eef5ff !important;
  font-size: clamp(46px, 4.5vw, 66px) !important;
}

body.full-stack-about .fs-about-integrations p,
body.full-stack-about .fs-about-integrations li {
  color: rgba(230, 239, 255, 0.74) !important;
}

body.full-stack-about .fs-about-integrations > :last-child {
  display: flex !important;
  min-height: 360px !important;
  padding: 40px !important;
  align-items: center !important;
  overflow: hidden !important;
  border: 1px solid var(--fs-rule-dark);
  background:
    linear-gradient(rgba(151, 194, 248, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(151, 194, 248, 0.07) 1px, transparent 1px),
    rgba(15, 53, 127, 0.32) !important;
  background-size: 54px 54px !important;
}

body.full-stack-about .fs-about-integrations ul {
  width: max-content !important;
  min-width: 100% !important;
  height: auto !important;
  gap: 26px !important;
  padding: 0 !important;
  align-items: center !important;
}

/* The difference — one editorial argument, one proof list. */
body.full-stack-about .fs-about-difference {
  --service-part-bg: var(--fs-paper);
  padding-top: clamp(110px, 10vw, 150px) !important;
  padding-bottom: clamp(110px, 10vw, 150px) !important;
}

body.full-stack-about .fs-about-difference > :first-child {
  grid-template-columns: minmax(0, 0.88fr) minmax(400px, 1.12fr) !important;
  column-gap: clamp(72px, 9vw, 140px) !important;
  row-gap: 24px !important;
}

body.full-stack-about .fs-about-difference h2 {
  position: sticky;
  top: 112px;
  max-width: 520px !important;
  font-size: clamp(52px, 5.2vw, 74px) !important;
}

body.full-stack-about .fs-about-difference p {
  max-width: 58ch !important;
}

body.full-stack-about .fs-about-difference p:nth-of-type(3) {
  margin-top: 32px !important;
  color: var(--fs-navy) !important;
  font-family: "Fragment Mono", monospace !important;
  font-size: 10px !important;
  letter-spacing: 0.12em !important;
}

body.full-stack-about .fs-about-difference ul {
  width: 100% !important;
  max-width: none !important;
  margin: 4px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border-top: 1px solid var(--fs-rule);
}

body.full-stack-about .fs-about-difference-item {
  position: relative;
  max-width: none !important;
  margin: 0 !important;
  padding: 20px 0 20px 58px !important;
  border-bottom: 1px solid var(--fs-rule);
  color: var(--fs-ink) !important;
}

body.full-stack-about .fs-about-difference-item::before,
body.full-stack-about .fs-about-impact-item::before {
  content: var(--fs-item);
  position: absolute;
  top: 23px;
  left: 0;
  color: #4a7fd3;
  font-family: "Fragment Mono", monospace;
  font-size: 10px;
  letter-spacing: 0.1em;
}

body.service-template-page.service-template-route--full-stack-ai-implementation.full-stack-about
  .fs-about-difference-item::before,
body.service-template-page.service-template-route--full-stack-ai-implementation.full-stack-about
  .fs-about-impact-item::before {
  content: var(--fs-item) !important;
}

/* Impact — About's large measured-outcomes typography and disciplined rows. */
body.full-stack-about .fs-about-impact,
body.full-stack-about .fs-about-impact-cta {
  --service-part-bg: var(--fs-sky-soft);
  color: var(--fs-ink);
}

body.full-stack-about .fs-about-impact {
  display: grid !important;
  grid-template-columns: minmax(0, 0.92fr) minmax(400px, 1.08fr) !important;
  column-gap: clamp(72px, 9vw, 140px) !important;
  row-gap: 24px !important;
  padding-top: clamp(108px, 10vw, 150px) !important;
  padding-bottom: 46px !important;
}

body.full-stack-about .fs-about-impact h2 {
  grid-column: 1 !important;
  grid-row: 1 / span 3 !important;
  max-width: 620px !important;
  color: var(--fs-navy) !important;
  font-size: clamp(50px, 5vw, 72px) !important;
}

body.full-stack-about .fs-about-impact > p,
body.full-stack-about .fs-about-impact > ul {
  grid-column: 2 !important;
}

body.full-stack-about .fs-about-impact > p {
  color: var(--fs-muted) !important;
}

body.full-stack-about .fs-about-impact > p:last-child:empty,
body.full-stack-about .fs-about-impact > p:last-child:has(br:only-child) {
  display: none !important;
}

body.full-stack-about .fs-about-impact ul {
  width: 100% !important;
  max-width: none !important;
  margin: 8px 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border-top: 1px solid var(--fs-rule);
}

body.full-stack-about .fs-about-impact-item {
  position: relative;
  max-width: none !important;
  margin: 0 !important;
  padding: 19px 0 19px 58px !important;
  border-bottom: 1px solid var(--fs-rule);
  color: var(--fs-navy) !important;
  font-size: 17px !important;
  line-height: 1.5 !important;
}

body.full-stack-about .fs-about-impact-cta {
  padding-top: 0 !important;
  padding-bottom: clamp(100px, 9vw, 136px) !important;
  text-align: right;
}

/* Deliverables — the About page's modular service-stack rhythm. */
body.full-stack-about .fs-about-deliverables-heading,
body.full-stack-about .fs-about-deliverables-grid {
  --service-part-bg: var(--fs-paper);
}

body.full-stack-about .fs-about-deliverables-heading {
  padding-top: clamp(108px, 10vw, 150px) !important;
  padding-bottom: clamp(52px, 5vw, 72px) !important;
}

body.full-stack-about .fs-about-deliverables-heading h2 {
  max-width: 860px !important;
  font-size: clamp(54px, 5.6vw, 78px) !important;
}

body.full-stack-about .fs-about-deliverables-grid {
  display: grid !important;
  width: min(1240px, calc(100% - 96px)) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding-top: 0 !important;
  padding-bottom: clamp(104px, 9vw, 138px) !important;
  border-top: 1px solid var(--fs-rule);
  border-left: 1px solid var(--fs-rule);
}

body.full-stack-about .fs-about-deliverables-grid > * {
  display: contents !important;
}

body.full-stack-about .fs-about-deliverable {
  position: relative !important;
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 230px !important;
  padding: 82px 36px 34px !important;
  align-items: flex-end !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid var(--fs-rule) !important;
  border-bottom: 1px solid var(--fs-rule) !important;
  box-shadow: none !important;
}

body.full-stack-about .fs-about-deliverable.fs-about-grid-last {
  grid-column: 1 / -1 !important;
}

body.full-stack-about .fs-about-deliverable p {
  color: var(--fs-muted) !important;
  font-size: 15px !important;
  line-height: 1.58 !important;
}

body.full-stack-about .fs-about-deliverable strong {
  display: inline;
  color: var(--fs-navy) !important;
  font-family: "Poppins", sans-serif !important;
  font-size: clamp(21px, 2vw, 28px) !important;
  font-weight: 500 !important;
  line-height: 1.22 !important;
  letter-spacing: -0.035em !important;
}

body.full-stack-about .fs-about-deliverable br {
  display: block;
  margin-top: 8px;
  content: "";
}

/* FAQ — split like the services reference, with the original accordion intact. */
body.full-stack-about .fs-about-faq {
  --service-part-bg: var(--fs-sky-soft);
  padding-top: clamp(108px, 10vw, 146px) !important;
  padding-bottom: clamp(108px, 10vw, 146px) !important;
}

body.full-stack-about
  .fs-about-faq
  [data-framer-name="Faqs and Tag"] {
  grid-template-columns: minmax(0, 0.78fr) minmax(420px, 1.22fr) !important;
  gap: clamp(72px, 9vw, 140px) !important;
}

body.full-stack-about .fs-about-faq h3 {
  padding: 24px 54px 24px 4px !important;
  border-color: var(--fs-rule) !important;
  font-family: "Poppins", sans-serif !important;
  font-size: 17px !important;
  font-weight: 500 !important;
}

body.full-stack-about .fs-about-faq blockquote {
  padding-left: 4px !important;
}

/* Audience — an editorial qualification matrix, not icon cards. */
body.full-stack-about .fs-about-audience-heading,
body.full-stack-about .fs-about-audience-grid {
  --service-part-bg: var(--fs-paper);
}

body.full-stack-about .fs-about-audience-heading {
  padding-top: clamp(110px, 10vw, 150px) !important;
  padding-bottom: clamp(52px, 5vw, 72px) !important;
}

body.full-stack-about .fs-about-audience-heading h2 {
  max-width: 840px !important;
  font-size: clamp(54px, 5.5vw, 78px) !important;
}

body.full-stack-about .fs-about-audience-grid {
  display: grid !important;
  width: min(1240px, calc(100% - 96px)) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  padding-top: 0 !important;
  padding-bottom: clamp(108px, 9vw, 142px) !important;
  border-top: 1px solid var(--fs-rule);
  border-left: 1px solid var(--fs-rule);
}

body.full-stack-about .fs-about-audience-grid > * {
  display: contents !important;
}

body.full-stack-about .fs-about-audience-card {
  position: relative !important;
  display: flex !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 210px !important;
  padding: 82px 36px 32px !important;
  align-items: flex-end !important;
  background: transparent !important;
  border: 0 !important;
  border-right: 1px solid var(--fs-rule) !important;
  border-bottom: 1px solid var(--fs-rule) !important;
  box-shadow: none !important;
}

body.full-stack-about .fs-about-audience-card.fs-about-grid-last {
  grid-column: 1 / -1 !important;
}

body.full-stack-about .fs-about-audience-card p {
  max-width: 44ch !important;
  color: var(--fs-navy) !important;
  font-family: "Poppins", sans-serif !important;
  font-size: clamp(17px, 1.5vw, 21px) !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  letter-spacing: -0.025em !important;
}

/* Final statement mirrors the About page's dark closing passage. */
body.full-stack-about .fs-about-ready,
body.full-stack-about .fs-about-ready-cta {
  --service-part-bg: var(--fs-navy-deep);
}

body.full-stack-about .fs-about-ready {
  padding-top: clamp(120px, 12vw, 174px) !important;
  padding-bottom: 46px !important;
  text-align: left !important;
}

body.full-stack-about .fs-about-ready h2 {
  max-width: 1040px !important;
  margin: 0 !important;
  color: #f1f7ff !important;
  font-size: clamp(52px, 5.6vw, 82px) !important;
  line-height: 1.02 !important;
  text-align: left !important;
}

body.full-stack-about .fs-about-ready-cta {
  padding-top: 0 !important;
  padding-bottom: clamp(116px, 11vw, 164px) !important;
  text-align: left;
}

/* Short, purposeful motion only. */
body.full-stack-about.fs-about-motion-ready .fs-about-reveal {
  opacity: 0;
  transform: translateY(10px);
  transition:
    opacity 280ms var(--fs-ease),
    transform 280ms var(--fs-ease);
}

body.full-stack-about.fs-about-motion-ready .fs-about-reveal.fs-about-visible {
  opacity: 1;
  transform: translateY(0);
}

body.full-stack-about .fs-about-process-card,
body.full-stack-about .fs-about-deliverable,
body.full-stack-about .fs-about-audience-card {
  transition:
    background-color 220ms var(--fs-ease),
    color 220ms var(--fs-ease) !important;
}

@media (hover: hover) and (pointer: fine) {
  body.full-stack-about .fs-about-process-card:hover,
  body.full-stack-about .fs-about-deliverable:hover,
  body.full-stack-about .fs-about-audience-card:hover {
    transform: none !important;
    background: rgba(151, 194, 248, 0.13) !important;
  }

  body.full-stack-about .service-template-partner-item:hover {
    transform: none;
    background: var(--fs-sky-soft);
    border-color: var(--fs-rule);
  }

  body.full-stack-about .fs-about-partners-cta a:hover,
  body.full-stack-about .fs-about-impact-cta a:hover,
  body.full-stack-about .fs-about-ready-cta a:hover {
    background: var(--fs-navy) !important;
    border-color: var(--fs-navy) !important;
    color: #fff !important;
  }
}

@media (max-width: 980px) {
  body.full-stack-about
    .fs-about-hero
    > [data-framer-name="Container"],
  body.full-stack-about [data-service-template-stats-grid],
  body.full-stack-about [data-service-template-part],
  body.full-stack-about .fs-about-process-grid,
  body.full-stack-about .fs-about-deliverables-grid,
  body.full-stack-about .fs-about-audience-grid {
    width: min(100% - 48px, 760px) !important;
  }

  body.full-stack-about .fs-about-copy,
  body.full-stack-about .fs-about-partners,
  body.full-stack-about .fs-about-integrations,
  body.full-stack-about .fs-about-difference > :first-child,
  body.full-stack-about .fs-about-impact,
  body.full-stack-about
    .fs-about-faq
    [data-framer-name="Faqs and Tag"] {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 34px !important;
  }

  body.full-stack-about .fs-about-copy > h2,
  body.full-stack-about .fs-about-copy > p,
  body.full-stack-about .fs-about-partners > h2,
  body.full-stack-about .fs-about-partners > p,
  body.full-stack-about .fs-about-impact h2,
  body.full-stack-about .fs-about-impact > p,
  body.full-stack-about .fs-about-impact > ul {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  body.full-stack-about .fs-about-partners .service-template-partner-carousel {
    grid-column: 1 !important;
  }

  body.full-stack-about .fs-about-process-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.full-stack-about .fs-about-difference h2 {
    position: static;
  }

  body.full-stack-about .fs-about-integrations > :last-child {
    min-height: 290px !important;
  }
}

@media (max-width: 640px) {
  body.full-stack-about .fs-about-hero {
    min-height: 700px !important;
    padding: 132px 0 82px !important;
  }

  body.full-stack-about .fs-about-hero::before {
    right: 18px;
    width: 52vw;
  }

  body.full-stack-about
    .fs-about-hero
    > [data-framer-name="Container"],
  body.full-stack-about [data-service-template-stats-grid],
  body.full-stack-about [data-service-template-part],
  body.full-stack-about .fs-about-process-grid,
  body.full-stack-about .fs-about-deliverables-grid,
  body.full-stack-about .fs-about-audience-grid {
    width: calc(100% - 36px) !important;
  }

  body.full-stack-about .fs-about-hero h1 {
    font-size: clamp(38px, 11.4vw, 52px) !important;
    line-height: 1.02 !important;
  }

  body.full-stack-about [data-service-template-stats-grid] {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.full-stack-about [data-service-template-stat] {
    min-height: 136px !important;
    padding: 26px 18px !important;
    border-bottom: 1px solid var(--fs-rule-dark) !important;
  }

  body.full-stack-about .fs-about-copy,
  body.full-stack-about .fs-about-partners,
  body.full-stack-about .fs-about-integrations,
  body.full-stack-about .fs-about-impact {
    padding-top: 82px !important;
    padding-bottom: 82px !important;
  }

  body.full-stack-about .fs-about-copy {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
  }

  body.full-stack-about .fs-about-copy > h2,
  body.full-stack-about .fs-about-copy > p {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  body.full-stack-about [data-service-template-part] h2,
  body.full-stack-about .fs-about-copy > h2,
  body.full-stack-about .fs-about-process-heading h2,
  body.full-stack-about .fs-about-partners > h2,
  body.full-stack-about .fs-about-integrations h2,
  body.full-stack-about .fs-about-difference h2,
  body.full-stack-about .fs-about-impact h2,
  body.full-stack-about .fs-about-deliverables-heading h2,
  body.full-stack-about .fs-about-audience-heading h2,
  body.full-stack-about .fs-about-ready h2 {
    font-size: clamp(34px, 10.5vw, 48px) !important;
    line-height: 1.06 !important;
  }

  body.full-stack-about .fs-about-process-heading,
  body.full-stack-about .fs-about-deliverables-heading,
  body.full-stack-about .fs-about-audience-heading {
    padding-top: 80px !important;
    padding-bottom: 38px !important;
  }

  body.full-stack-about .fs-about-process-grid,
  body.full-stack-about .fs-about-deliverables-grid,
  body.full-stack-about .fs-about-audience-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    padding-bottom: 82px !important;
  }

  body.full-stack-about .fs-about-process-card,
  body.full-stack-about .fs-about-deliverable,
  body.full-stack-about .fs-about-audience-card {
    grid-column: 1 !important;
    min-height: 176px !important;
    padding: 68px 24px 26px !important;
  }

  body.full-stack-about .fs-about-process-card::before,
  body.full-stack-about .fs-about-deliverable::before,
  body.full-stack-about .fs-about-audience-card::before {
    top: 24px;
    left: 24px;
  }

  body.full-stack-about .fs-about-partners .service-template-partner-carousel {
    margin-top: 30px !important;
  }

  body.full-stack-about .service-template-partner-item {
    min-height: 88px;
  }

  body.full-stack-about .fs-about-partners-cta {
    padding-top: 32px !important;
    padding-bottom: 80px !important;
  }

  body.service-template-page.service-template-route--full-stack-ai-implementation.full-stack-about
    .fs-about-partners {
    padding-bottom: 0 !important;
  }

  body.full-stack-about .fs-about-partners-cta > *,
  body.full-stack-about .fs-about-impact-cta > *,
  body.full-stack-about .fs-about-ready-cta > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  body.full-stack-about .fs-about-partners-cta a,
  body.full-stack-about .fs-about-impact-cta a,
  body.full-stack-about .fs-about-ready-cta a {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 76px !important;
    padding: 10px 0 10px 16px !important;
    justify-content: space-between !important;
    gap: 12px !important;
    white-space: normal !important;
  }

  body.full-stack-about .fs-about-partners-cta a *,
  body.full-stack-about .fs-about-impact-cta a *,
  body.full-stack-about .fs-about-ready-cta a * {
    min-width: 0 !important;
    white-space: normal !important;
  }

  body.full-stack-about .fs-about-partners-cta a [data-framer-name="Text Wrapper"],
  body.full-stack-about .fs-about-impact-cta a [data-framer-name="Text Wrapper"],
  body.full-stack-about .fs-about-ready-cta a [data-framer-name="Text Wrapper"] {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    overflow: visible !important;
  }

  body.full-stack-about
    .fs-about-partners-cta
    a
    [data-framer-name="Text Wrapper"]
    > :first-child,
  body.full-stack-about
    .fs-about-impact-cta
    a
    [data-framer-name="Text Wrapper"]
    > :first-child,
  body.full-stack-about
    .fs-about-ready-cta
    a
    [data-framer-name="Text Wrapper"]
    > :first-child {
    width: 100% !important;
    max-width: none !important;
  }

  body.full-stack-about .fs-about-partners-cta a h4,
  body.full-stack-about .fs-about-impact-cta a h4,
  body.full-stack-about .fs-about-ready-cta a h4,
  body.full-stack-about .fs-about-partners-cta a h4 *,
  body.full-stack-about .fs-about-impact-cta a h4 *,
  body.full-stack-about .fs-about-ready-cta a h4 * {
    width: 100% !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    text-align: left !important;
  }

  body.full-stack-about .fs-about-partners-cta a [data-framer-name="Arrow Wrapper"],
  body.full-stack-about .fs-about-impact-cta a [data-framer-name="Arrow Wrapper"],
  body.full-stack-about .fs-about-ready-cta a [data-framer-name="Arrow Wrapper"] {
    flex: 0 0 50px !important;
  }

  body.full-stack-about .fs-about-integrations > :last-child {
    min-height: 230px !important;
    padding: 24px !important;
  }

  body.full-stack-about .fs-about-difference,
  body.full-stack-about .fs-about-faq {
    padding-top: 82px !important;
    padding-bottom: 82px !important;
  }

  body.full-stack-about .fs-about-difference > :first-child {
    gap: 22px !important;
  }

  body.full-stack-about .fs-about-impact {
    gap: 26px !important;
  }

  body.full-stack-about .fs-about-impact-cta {
    padding-bottom: 82px !important;
    text-align: left;
  }

  body.full-stack-about .fs-about-faq h3 {
    padding-right: 48px !important;
  }

  body.full-stack-about .fs-about-ready {
    padding-top: 92px !important;
    padding-bottom: 36px !important;
  }

  body.full-stack-about .fs-about-ready-cta {
    padding-bottom: 92px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body [data-framer-name="Main"] {
    transition: none !important;
  }

  body.full-stack-about.fs-about-motion-ready .fs-about-reveal {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  body.full-stack-about .fs-about-partners-cta a,
  body.full-stack-about .fs-about-impact-cta a,
  body.full-stack-about .fs-about-ready-cta a,
  body.full-stack-about .fs-about-hero button {
    transition: none !important;
  }
}
