:is(.fsi-page-shell, .fsi-page-host) {
  --blue: #0b3d91;
  --blue-dark: #06265e;
  --ink: #101521;
  --muted: #657083;
  --white: #fff;
  --line: #dce1e9;
  --line-light: rgba(255,255,255,.18);
  --green: #66d59a;
}

:is(.fsi-page-shell, .fsi-page-host),:is(.fsi-page-shell, .fsi-page-host) * { box-sizing: border-box; }
html:has(> body.fsi-landing) { scroll-behavior: smooth; }
:is(.fsi-page-shell, .fsi-page-host) { background: var(--white); color: var(--ink); font-family: Arial, Helvetica, sans-serif; margin: 0; }
:is(.fsi-page-shell, .fsi-page-host) a { color: inherit; text-decoration: none; }
:is(.fsi-page-shell, .fsi-page-host) img { display: block; max-width: 100%; }
:is(.fsi-page-shell, .fsi-page-host) .skip-link { background: var(--white); left: 1rem; padding: .8rem 1rem; position: fixed; top: -5rem; z-index: 20; }
:is(.fsi-page-shell, .fsi-page-host) .skip-link:focus { top: 1rem; }

:is(.fsi-page-shell, .fsi-page-host) .site-header { align-items: center; background: rgba(255,255,255,.94); border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto 1fr; min-height: 82px; padding: .8rem clamp(1.25rem,4vw,4.5rem); position: sticky; top: 0; z-index: 10; }
:is(.fsi-page-shell, .fsi-page-host) .brand { align-items: center; display: inline-flex; width: fit-content; }
:is(.fsi-page-shell, .fsi-page-host) .brand img { height: 32px; object-fit: contain; width: auto; }
:is(.fsi-page-shell, .fsi-page-host) .desktop-nav { display: flex; gap: clamp(1.3rem,2.5vw,2.8rem); }
:is(.fsi-page-shell, .fsi-page-host) .desktop-nav a { color: #465166; font-size: .76rem; letter-spacing: .04em; }
:is(.fsi-page-shell, .fsi-page-host) .desktop-nav a:hover { color: var(--blue); }
:is(.fsi-page-shell, .fsi-page-host) .header-actions { align-items: center; display: flex; gap: 1rem; justify-self: end; }
:is(.fsi-page-shell, .fsi-page-host) .mobile-menu { display: none; position: relative; }
:is(.fsi-page-shell, .fsi-page-host) .mobile-menu summary { cursor: pointer; font-size: .76rem; list-style: none; padding: .7rem; }
:is(.fsi-page-shell, .fsi-page-host) .mobile-menu nav { background: var(--white); border: 1px solid var(--line); display: grid; min-width: 180px; padding: .5rem; position: absolute; right: 0; top: 2.8rem; }
:is(.fsi-page-shell, .fsi-page-host) .mobile-menu nav a { padding: .75rem; }
:is(.fsi-page-shell, .fsi-page-host) .button { background: var(--blue); border: 1px solid var(--blue); color: var(--white); display: inline-flex; font-size: .78rem; font-weight: 700; justify-content: center; letter-spacing: .035em; padding: 1rem 1.25rem; transition: background .25s ease, color .25s ease, transform .25s ease; }
:is(.fsi-page-shell, .fsi-page-host) .button:hover { background: var(--blue-dark); border-color: var(--blue-dark); transform: translateY(-2px); }
:is(.fsi-page-shell, .fsi-page-host) .button-small { padding: .78rem 1rem; }

:is(.fsi-page-shell, .fsi-page-host) .hero { display: grid; grid-template-columns: 1.05fr .95fr; grid-template-rows: minmax(0,1fr) auto; height: calc(100svh - 82px); max-height: 980px; min-height: 680px; }
:is(.fsi-page-shell, .fsi-page-host) .hero-copy { display: flex; flex-direction: column; grid-column: 1; grid-row: 1; justify-content: center; min-height: 0; padding: clamp(4rem,13svh,7.5rem) clamp(1.25rem,5vw,6rem) 3rem clamp(1.25rem,4vw,4.5rem); }
:is(.fsi-page-shell, .fsi-page-host) .eyebrow { color: var(--blue); font-size: .7rem; font-weight: 750; letter-spacing: .16em; margin: 0 0 1.5rem; text-transform: uppercase; }
:is(.fsi-page-shell, .fsi-page-host) .section-index { align-self: start; color: var(--blue); font-family: "Courier New", monospace; font-size: .7rem; letter-spacing: .11em; text-transform: uppercase; }
:is(.fsi-page-shell, .fsi-page-host) h1,:is(.fsi-page-shell, .fsi-page-host) h2,:is(.fsi-page-shell, .fsi-page-host) h3 { text-wrap: balance; }
:is(.fsi-page-shell, .fsi-page-host) h1 { font-size: clamp(3.2rem,min(6.5vw,8svh),7.2rem); font-weight: 500; letter-spacing: -.065em; line-height: .94; margin: 0; max-width: 15ch; text-wrap: pretty; }
:is(.fsi-page-shell, .fsi-page-host) .heading-accent { color: var(--blue); }
:is(.fsi-page-shell, .fsi-page-host) .section-dark .heading-accent { color: #b9d2ff; }
:is(.fsi-page-shell, .fsi-page-host) .hero-summary { color: var(--muted); font-size: clamp(1rem,1.35vw,1.22rem); line-height: 1.6; margin: 2rem 0; max-width: 39rem; }
:is(.fsi-page-shell, .fsi-page-host) .hero-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1.5rem; }
:is(.fsi-page-shell, .fsi-page-host) .text-link { border-bottom: 1px solid currentColor; font-size: .9rem; padding: .75rem 0 .35rem; }
:is(.fsi-page-shell, .fsi-page-host) .text-link span { color: var(--blue); margin-left: .5rem; }
:is(.fsi-page-shell, .fsi-page-host) .hero-proof { border-top: 1px solid var(--line); display: grid; grid-column: 1; grid-row: 2; grid-template-columns: repeat(3,1fr); margin: 0 clamp(1.25rem,5vw,6rem) 3rem clamp(1.25rem,4vw,4.5rem); padding-top: 1.2rem; }
:is(.fsi-page-shell, .fsi-page-host) .hero-proof div + div { border-left: 1px solid var(--line); padding-left: 1.2rem; }
:is(.fsi-page-shell, .fsi-page-host) .hero-proof dt { color: var(--muted); font-size: .64rem; letter-spacing: .12em; text-transform: uppercase; }
:is(.fsi-page-shell, .fsi-page-host) .hero-proof dd { font-size: .9rem; font-weight: 650; margin: .45rem 0 0; }
:is(.fsi-page-shell, .fsi-page-host) .hero-visual { background: var(--white); display: grid; grid-column: 2; grid-row: 1 / span 2; grid-template-rows: minmax(0,1fr) auto; height: 100%; margin: 0; min-height: 0; overflow: hidden; position: relative; }
:is(.fsi-page-shell, .fsi-page-host) .hero-visual::before { background: radial-gradient(circle at 50% 45%,rgba(20,84,216,.08),transparent 52%); content: ""; grid-area: 1 / 1; pointer-events: none; position: relative; z-index: 1; }
:is(.fsi-page-shell, .fsi-page-host) .hero-visual img { grid-area: 1 / 1; height: 100%; min-height: 0; object-fit: contain; padding: clamp(3rem,7vw,7rem); width: 100%; }
:is(.fsi-page-shell, .fsi-page-host) .hero-visual figcaption { background: var(--blue); color: var(--white); font-size: .85rem; line-height: 1.45; padding: 1.25rem 1.5rem; position: relative; z-index: 2; }
:is(.fsi-page-shell, .fsi-page-host) .hero-visual figcaption span { border-right: 1px solid var(--line-light); margin-right: 1rem; padding-right: 1rem; }

:is(.fsi-page-shell, .fsi-page-host) .section { padding: clamp(5rem,10vw,10rem) clamp(1.25rem,4vw,4.5rem); }
:is(.fsi-page-shell, .fsi-page-host) .section-dark { background: var(--blue-dark); color: var(--white); }
:is(.fsi-page-shell, .fsi-page-host) .section-heading { display: grid; gap: 2rem; grid-template-columns: minmax(150px,.8fr) minmax(0,3fr); margin-bottom: clamp(3.5rem,8vw,7rem); }
:is(.fsi-page-shell, .fsi-page-host) .services-heading { align-items: center; grid-template-columns: minmax(130px,.6fr) minmax(0,1.55fr) minmax(220px,1fr); }
:is(.fsi-page-shell, .fsi-page-host) .services-heading-figure { justify-self: start; margin: 0; max-width: 420px; width: 100%; }
:is(.fsi-page-shell, .fsi-page-host) .services-heading-visual { display: block; height: clamp(140px,16vw,220px); object-fit: contain; object-position: center left; width: 100%; }
:is(.fsi-page-shell, .fsi-page-host) .section-heading h2,:is(.fsi-page-shell, .fsi-page-host) .contact h2 { font-size: clamp(2.8rem,5.7vw,6.4rem); font-weight: 500; letter-spacing: -.058em; line-height: .96; margin: 0; max-width: 18ch; }
:is(.fsi-page-shell, .fsi-page-host) .section-intro { color: rgba(255,255,255,.7); line-height: 1.7; margin: 2rem 0 0; max-width: 48rem; }
:is(.fsi-page-shell, .fsi-page-host) .section-dark .section-index,:is(.fsi-page-shell, .fsi-page-host) .eyebrow-light { color: rgba(255,255,255,.58); }

:is(.fsi-page-shell, .fsi-page-host) .service-list { border-top: 1px solid var(--line); }
:is(.fsi-page-shell, .fsi-page-host) .service-row { align-items: start; border-bottom: 1px solid var(--line); display: grid; gap: clamp(1rem,3vw,3rem); grid-template-columns: 52px 1.2fr 1.25fr .9fr; padding: 2.5rem 0; }
:is(.fsi-page-shell, .fsi-page-host) .service-row > span,:is(.fsi-page-shell, .fsi-page-host) .integration-flow > li > span,:is(.fsi-page-shell, .fsi-page-host) .application-card span,:is(.fsi-page-shell, .fsi-page-host) .process-grid > li > span { color: var(--blue); font-family: "Courier New", monospace; font-size: .72rem; }
:is(.fsi-page-shell, .fsi-page-host) .service-row h3 { font-size: clamp(1.5rem,2.6vw,2.5rem); font-weight: 520; letter-spacing: -.04em; margin: 0; }
:is(.fsi-page-shell, .fsi-page-host) .service-row p { color: var(--muted); line-height: 1.65; margin: 0; }
:is(.fsi-page-shell, .fsi-page-host) .service-row ul { list-style: none; margin: 0; padding: 0; }
:is(.fsi-page-shell, .fsi-page-host) .service-row li { border-top: 1px solid var(--line); font-size: .82rem; padding: .72rem 0; }
:is(.fsi-page-shell, .fsi-page-host) .service-row li::before { color: var(--blue); content: "↘"; margin-right: .55rem; }

:is(.fsi-page-shell, .fsi-page-host) .integration-layout { border: 1px solid var(--line-light); display: grid; grid-template-columns: minmax(0,1.35fr) minmax(320px,.65fr); }
:is(.fsi-page-shell, .fsi-page-host) .integration-layout figure { align-content: center; background: var(--white); display: grid; margin: 0; min-height: 620px; overflow: hidden; padding: clamp(1.5rem,4vw,4rem); }
:is(.fsi-page-shell, .fsi-page-host) .integration-layout figure img { display: block; height: auto !important; margin: auto; max-width: 100%; object-fit: contain; transform-origin: var(--zoom-x,50%) var(--zoom-y,50%); transition: transform .55s cubic-bezier(.2,.7,.2,1),transform-origin .18s ease-out; width: 100%; will-change: transform; }
@media (hover: hover) and (pointer: fine) {
  :is(.fsi-page-shell, .fsi-page-host) .integration-layout figure { cursor: zoom-in; }
  :is(.fsi-page-shell, .fsi-page-host) .integration-layout figure:hover img { transform: scale(1.22); }
}
:is(.fsi-page-shell, .fsi-page-host) .integration-layout figcaption { color: rgba(255,255,255,.45); font-size: .65rem; margin-top: 1rem; }
:is(.fsi-page-shell, .fsi-page-host) .integration-flow { border-left: 1px solid var(--line-light); list-style: none; margin: 0; padding: 0; }
:is(.fsi-page-shell, .fsi-page-host) .integration-flow li { border-bottom: 1px solid var(--line-light); display: grid; gap: 1rem; grid-template-columns: 35px 1fr; min-height: 155px; padding: clamp(1.5rem,3vw,2.6rem); }
:is(.fsi-page-shell, .fsi-page-host) .integration-flow li:last-child { border-bottom: 0; }
:is(.fsi-page-shell, .fsi-page-host) .integration-flow h3 { font-size: clamp(1.25rem,2vw,1.8rem); font-weight: 520; letter-spacing: -.035em; margin: 0 0 .55rem; }
:is(.fsi-page-shell, .fsi-page-host) .integration-flow p { color: rgba(255,255,255,.64); font-size: .86rem; line-height: 1.55; margin: 0; }
:is(.fsi-page-shell, .fsi-page-host) .rights-note { border-top: 1px solid var(--line-light); color: rgba(255,255,255,.5); font-size: .7rem; line-height: 1.6; margin: 2rem 0 0; max-width: 70rem; padding-top: 1.2rem; }

:is(.fsi-page-shell, .fsi-page-host) .application-grid { display: grid; gap: 1px; grid-template-columns: repeat(3,1fr); }
:is(.fsi-page-shell, .fsi-page-host) .applications-heading { align-items: end; grid-template-columns: minmax(130px,.55fr) minmax(0,1.4fr) minmax(300px,1.2fr); }
:is(.fsi-page-shell, .fsi-page-host) .applications-heading-figure { justify-self: start; margin: 0; max-width: 580px; width: 100%; }
:is(.fsi-page-shell, .fsi-page-host) .applications-heading-visual { display: block; max-height: 390px; object-fit: contain; object-position: left bottom; width: 100%; }
:is(.fsi-page-shell, .fsi-page-host) .services-heading-figure figcaption,:is(.fsi-page-shell, .fsi-page-host) .applications-heading-figure figcaption { color: var(--muted); font-size: .7rem; letter-spacing: .04em; margin-top: .65rem; }
:is(.fsi-page-shell, .fsi-page-host) .application-card { background: var(--blue-dark); color: var(--white); overflow: hidden; }
:is(.fsi-page-shell, .fsi-page-host) .application-card figure { aspect-ratio: 1.1; background: var(--white); margin: 0; overflow: hidden; }
:is(.fsi-page-shell, .fsi-page-host) .application-card figure img { height: 100%; object-fit: cover; transition: transform .7s cubic-bezier(.2,.7,.2,1); width: 100%; }
:is(.fsi-page-shell, .fsi-page-host) .application-card:hover figure img { transform: scale(1.035); }
:is(.fsi-page-shell, .fsi-page-host) .application-card > div { border-top: 1px solid var(--line-light); min-height: 265px; padding: clamp(1.5rem,3vw,2.7rem); }
:is(.fsi-page-shell, .fsi-page-host) .application-card span { color: #8fb8ff; text-transform: uppercase; }
:is(.fsi-page-shell, .fsi-page-host) .application-card h3 { font-size: clamp(1.8rem,3vw,3rem); font-weight: 520; letter-spacing: -.045em; margin: 2.5rem 0 1rem; }
:is(.fsi-page-shell, .fsi-page-host) .application-card p { color: rgba(255,255,255,.67); line-height: 1.65; margin: 0; }

:is(.fsi-page-shell, .fsi-page-host) .process { background: #f7f9fc; }
:is(.fsi-page-shell, .fsi-page-host) .process-grid { border-left: 1px solid var(--line); border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(4,1fr); list-style: none; margin: 0; padding: 0; }
:is(.fsi-page-shell, .fsi-page-host) .process-grid li { border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); min-height: 290px; padding: clamp(1.5rem,3vw,2.8rem); }
:is(.fsi-page-shell, .fsi-page-host) .process-grid h3 { font-size: clamp(1.8rem,3vw,3rem); font-weight: 520; letter-spacing: -.045em; margin: 4rem 0 .8rem; }
:is(.fsi-page-shell, .fsi-page-host) .process-grid p { color: var(--muted); font-size: .9rem; line-height: 1.65; margin: 0; }

:is(.fsi-page-shell, .fsi-page-host) .faq-list { border-top: 1px solid var(--line); margin-left: calc((100% + 2rem) * .205); }
:is(.fsi-page-shell, .fsi-page-host) .faq-list details { border-bottom: 1px solid var(--line); }
:is(.fsi-page-shell, .fsi-page-host) .faq-list summary { align-items: center; cursor: pointer; display: grid; font-size: clamp(1rem,1.7vw,1.35rem); font-weight: 570; gap: 1rem; grid-template-columns: 50px 1fr auto; list-style: none; padding: 1.5rem 0; }
:is(.fsi-page-shell, .fsi-page-host) .faq-list summary::-webkit-details-marker { display: none; }
:is(.fsi-page-shell, .fsi-page-host) .faq-list summary::after { color: var(--blue); content: "+"; font-size: 1.5rem; transition: transform .2s ease; }
:is(.fsi-page-shell, .fsi-page-host) .faq-list details[open] summary::after { transform: rotate(45deg); }
:is(.fsi-page-shell, .fsi-page-host) .faq-list summary span { color: var(--blue); font-family: "Courier New", monospace; font-size: .7rem; }
:is(.fsi-page-shell, .fsi-page-host) .faq-list details > p { color: var(--muted); line-height: 1.65; margin: 0; max-width: 55rem; padding: 0 4rem 1.8rem; }

:is(.fsi-page-shell, .fsi-page-host) .contact { background: var(--blue); color: var(--white); padding: clamp(5.5rem,11vw,11rem) clamp(1.25rem,4vw,4.5rem); }
:is(.fsi-page-shell, .fsi-page-host) .contact h2 { font-size: clamp(3.2rem,8vw,8.5rem); max-width: 18ch; }
:is(.fsi-page-shell, .fsi-page-host) .contact .heading-accent { color: #b9d2ff; }
:is(.fsi-page-shell, .fsi-page-host) .contact > p:not(.eyebrow) { color: rgba(255,255,255,.72); font-size: 1.05rem; line-height: 1.65; margin: 2.5rem 0; max-width: 46rem; }
:is(.fsi-page-shell, .fsi-page-host) .contact-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 2rem; }
:is(.fsi-page-shell, .fsi-page-host) .button-light { background: var(--white); border-color: var(--white); color: var(--blue); }
:is(.fsi-page-shell, .fsi-page-host) .button-light:hover { background: var(--blue-dark); color: var(--white); }
:is(.fsi-page-shell, .fsi-page-host) .contact-link { border-bottom: 1px solid rgba(255,255,255,.55); padding: .8rem 0 .4rem; }


:is(.fsi-page-shell, .fsi-page-host) .reveal { animation: rise .7s cubic-bezier(.2,.7,.2,1) both; }
:is(.fsi-page-shell, .fsi-page-host) .reveal-delay { animation-delay: .14s; }
@keyframes rise { from { opacity: 0; transform: translateY(18px); } }
@supports (animation-timeline: view()) {
  :is(.fsi-page-shell, .fsi-page-host) .scroll-reveal { animation: reveal-on-scroll linear both; animation-range: entry 8% cover 30%; animation-timeline: view(); }
  @keyframes reveal-on-scroll { from { opacity: 0; transform: translateY(24px); } }
}

@media (max-width: 1100px) {
  :is(.fsi-page-shell, .fsi-page-host) .site-header { grid-template-columns: 1fr auto; }
  :is(.fsi-page-shell, .fsi-page-host) .desktop-nav { display: none; }
  :is(.fsi-page-shell, .fsi-page-host) .mobile-menu { display: block; }
  :is(.fsi-page-shell, .fsi-page-host) .hero { grid-template-columns: 1fr; height: auto; max-height: none; min-height: 0; }
  :is(.fsi-page-shell, .fsi-page-host) .hero-copy { grid-column: 1; grid-row: 1; min-height: calc(100svh - 82px); padding-bottom: 7rem; }
  :is(.fsi-page-shell, .fsi-page-host) .hero-visual { grid-column: 1; grid-row: 2; height: clamp(480px, 62svh, 680px); }
  :is(.fsi-page-shell, .fsi-page-host) .hero-proof { align-self: end; grid-column: 1; grid-row: 1; margin-bottom: 2rem; position: relative; z-index: 1; }
  :is(.fsi-page-shell, .fsi-page-host) .service-row { grid-template-columns: 45px 1fr 1.4fr; }
  :is(.fsi-page-shell, .fsi-page-host) .service-row ul { grid-column: 3; }
  :is(.fsi-page-shell, .fsi-page-host) .integration-layout { grid-template-columns: 1fr; }
  :is(.fsi-page-shell, .fsi-page-host) .integration-flow { border-left: 0; border-top: 1px solid var(--line-light); display: grid; grid-template-columns: repeat(2,1fr); }
  :is(.fsi-page-shell, .fsi-page-host) .integration-flow li:nth-child(odd) { border-right: 1px solid var(--line-light); }
  :is(.fsi-page-shell, .fsi-page-host) .process-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 820px) {
  :is(.fsi-page-shell, .fsi-page-host) .section-heading { grid-template-columns: 1fr; margin-bottom: 3.5rem; }
  :is(.fsi-page-shell, .fsi-page-host) .applications-heading > .section-index { order: 1; }
  :is(.fsi-page-shell, .fsi-page-host) .applications-heading-figure { justify-self: start; margin: -1rem 0 0; max-width: 500px; order: 2; }
  :is(.fsi-page-shell, .fsi-page-host) .applications-heading > div:nth-child(2) { order: 3; }
  :is(.fsi-page-shell, .fsi-page-host) .service-row { grid-template-columns: 38px 1fr; }
  :is(.fsi-page-shell, .fsi-page-host) .service-row p,:is(.fsi-page-shell, .fsi-page-host) .service-row ul { grid-column: 2; }
  :is(.fsi-page-shell, .fsi-page-host) .integration-layout figure { min-height: 420px; }
  :is(.fsi-page-shell, .fsi-page-host) .integration-flow,:is(.fsi-page-shell, .fsi-page-host) .application-grid { grid-template-columns: 1fr; }
  :is(.fsi-page-shell, .fsi-page-host) .integration-flow li:nth-child(odd) { border-right: 0; }
  :is(.fsi-page-shell, .fsi-page-host) .faq-list { margin-left: 0; }
}

@media (max-width: 560px) {
  :is(.fsi-page-shell, .fsi-page-host) .site-header { min-height: 70px; }
  :is(.fsi-page-shell, .fsi-page-host) .brand img { height: 25px; }
  :is(.fsi-page-shell, .fsi-page-host) .header-actions > .button-small { font-size: 0; min-height: 40px; padding: .65rem .8rem; }
  :is(.fsi-page-shell, .fsi-page-host) .header-actions > .button-small::after { content: "Start project"; font-size: .72rem; }
  :is(.fsi-page-shell, .fsi-page-host) h1 { font-size: clamp(2.65rem,11vw,3.2rem); }
  :is(.fsi-page-shell, .fsi-page-host) .section-heading h2,:is(.fsi-page-shell, .fsi-page-host) .contact h2 { font-size: clamp(2.15rem,9.5vw,3rem); }
  :is(.fsi-page-shell, .fsi-page-host) .hero-copy { min-height: calc(100svh - 70px); padding-top: 3rem; }
  :is(.fsi-page-shell, .fsi-page-host) .hero-visual { height: clamp(360px, 56svh, 520px); }
  :is(.fsi-page-shell, .fsi-page-host) .hero-proof { gap: .8rem; }
  :is(.fsi-page-shell, .fsi-page-host) .applications-heading-figure { max-width: 380px; }
  :is(.fsi-page-shell, .fsi-page-host) .hero-proof div + div { padding-left: .8rem; }
  :is(.fsi-page-shell, .fsi-page-host) .section { padding-bottom: 5rem; padding-top: 5rem; }
  :is(.fsi-page-shell, .fsi-page-host) .process-grid { grid-template-columns: 1fr; }
  :is(.fsi-page-shell, .fsi-page-host) .process-grid li { min-height: 240px; }
  :is(.fsi-page-shell, .fsi-page-host) .faq-list summary { grid-template-columns: 32px 1fr auto; }
  :is(.fsi-page-shell, .fsi-page-host) .faq-list details > p { padding-left: 0; padding-right: 0; }
  :is(.fsi-page-shell, .fsi-page-host) .contact-actions { align-items: stretch; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html:has(> body.fsi-landing) { scroll-behavior: auto; }
  :is(.fsi-page-shell, .fsi-page-host),:is(.fsi-page-shell, .fsi-page-host) *,:is(.fsi-page-shell, .fsi-page-host) *::before,:is(.fsi-page-shell, .fsi-page-host) *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  :is(.fsi-page-shell, .fsi-page-host) .integration-layout figure:hover img { transform: none; }
}

@media (max-width: 820px) {
  :is(.fsi-page-shell, .fsi-page-host) .hero { grid-template-rows: auto auto auto; }
  :is(.fsi-page-shell, .fsi-page-host) .hero-copy { grid-row: 1; min-height: 0; padding-bottom: 2rem; }
  :is(.fsi-page-shell, .fsi-page-host) .hero-visual { grid-row: 2; }
  :is(.fsi-page-shell, .fsi-page-host) .hero-proof { align-self: auto; grid-row: 3; margin: 2rem clamp(1.25rem,5vw,6rem) 3rem clamp(1.25rem,4vw,4.5rem); }
}
