/* One light, continuous homepage. All overrides are scoped to IAST's homepage. */
.iast-home {
  --home-paper: #f3f6fa;
  --home-ink: #132b40;
  --home-muted: #536678;
  --home-line: #dbe4ed;
  --home-blue: #006dde;
  --home-gutter: clamp(24px, 6.5vw, 128px);
}
.iast-home #main-content { background: var(--home-paper); }
.iast-home .mobility-hero::after { height: 48px; background: linear-gradient(0deg, var(--home-paper), transparent); }
.iast-home #main-content > section:not(.mobility-hero) {
  position: relative;
  background: transparent;
  padding: 90px 0 !important;
  scroll-margin-top: 115px;
}
.iast-home #main-content > section:not(.mobility-hero) > .container {
  width: calc(100% - var(--home-gutter) * 2);
  max-width: 1440px;
  padding-left: 0 !important; padding-right: 0 !important;
}
.iast-home #main-content > section:not(.mobility-hero)::before {
  content: ''; position: absolute; top: 0; left: var(--home-gutter); right: var(--home-gutter);
  height: 1px; background: linear-gradient(90deg, #cbdce9, #e4eaf1 60%, transparent);
  pointer-events: none;
}
.iast-home #main-content .section-title {
  display: grid; grid-template-columns: 1.2fr 1fr; column-gap: 8%; row-gap: 20px;
  align-items: end; text-align: left; padding-bottom: 44px !important; margin-bottom: 0;
}
.iast-home #main-content .section-title .subtitle {
  grid-column: 1 / -1; display: flex; align-items: center; gap: 12px;
  width: fit-content; margin: 0; padding: 0;
  color: #42627f !important; font: 600 10px/1.5 'Montserrat', Arial, sans-serif;
  letter-spacing: 2px; text-transform: uppercase;
}
.iast-home #main-content .section-title .subtitle::before { content: ''; height: 2px; width: 22px; background: #da8549; }
.iast-home #main-content .section-title .subtitle::after { content: none; }
.iast-home #main-content .section-title h2 {
  margin: 0; padding: 0; color: var(--home-ink) !important;
  font: 600 clamp(30px, 3.1vw, 48px)/1.16 'Montserrat', Arial, sans-serif;
  letter-spacing: -.04em; text-wrap: balance;
}
.iast-home #main-content .section-title p {
  width: auto; max-width: 520px; margin: 0 !important; padding: 0;
  color: var(--home-muted) !important; font-size: 15px !important;
  line-height: 1.85 !important; text-align: left; text-wrap: pretty;
}

/* A softly raised engineering stage links the cinematic opening to the light page. */
.iast-home #main-content #hero {
  height: auto !important; min-height: 0 !important; padding-top: 72px !important;
  padding-bottom: 58px !important; overflow: visible !important;
  background: radial-gradient(ellipse at 85% 15%, #e3edf7, transparent 55%), linear-gradient(#f3f6fa, #f3f6fa);
}
.iast-home #main-content #hero::before { top: 0; left: 50%; right: auto; width: 1px; height: 38px; background: linear-gradient(#8da9c1, #cad8e5); }
.iast-home #hero #hero-carousel {
  position: relative; width: calc(100% - var(--home-gutter) * 2); max-width: 1440px;
  margin: 0 auto; padding-bottom: 80px; min-height: 0 !important; height: auto !important;
  border: 1px solid #dce5ee; border-radius: 24px;
  background: linear-gradient(120deg, #fff 35%, #f5f8fc);
  box-shadow: 0 28px 65px -44px rgba(23, 56, 88, .28);
  overflow: hidden !important;
}
.iast-home #hero #hero-carousel .carousel-item {
  height: var(--engineering-height, auto) !important; min-height: 0 !important;
  background: transparent; overflow: visible !important;
}
.iast-home #hero #hero-carousel .carousel-item > .container {
  width: 100%; max-width: none; min-height: 570px !important;
  padding: 48px !important; margin: 0; display: flex; align-items: center;
}
.iast-home #hero .row { margin: 0; width: 100%; --bs-gutter-x: 0; row-gap: 30px !important; }
.iast-home #hero .hero-content { display: flex !important; margin: 0 !important; padding: 0 38px 0 0 !important; text-align: left; }
.iast-home #hero .hero-content h1 {
  padding: 0 !important; margin: 0 0 22px !important;
  color: var(--home-ink) !important; text-align: left !important;
  font: 600 clamp(26px, 2.6vw, 40px)/1.18 'Montserrat', Arial, sans-serif !important;
  letter-spacing: -.04em; text-wrap: balance;
}
.iast-home #hero .hero-content p { color: var(--home-muted) !important; font-size: 15px !important; line-height: 1.8 !important; text-align: left !important; padding: 0 !important; margin: 0 !important; max-width: 520px; }
.iast-home #hero .hero-image { margin: 0 !important; padding: 0 !important; max-height: none !important; overflow: visible !important; }
.iast-home #hero .hero-image::before { inset: -18px -12px 30px 25px; border: 1px solid #d7e5f2; background: linear-gradient(145deg, #e3edf8, #f4f8fc); border-radius: 20px; transform: rotate(3deg); }
.iast-home #hero .hero-image img { width: 100% !important; height: auto !important; max-height: 400px; aspect-ratio: 1.35; object-fit: contain !important; background: #edf3f9; border-radius: 16px !important; box-shadow: 0 22px 40px -22px #49637d55; }
.iast-home #hero .hero-image .floating-card {
  top: auto !important; right: 20px !important; bottom: -22px !important; left: auto !important; transform: none !important;
  min-width: 0; max-width: 90%; padding: 14px 18px !important; gap: 12px;
  border: 1px solid #dce6ef; border-radius: 12px; background: rgba(255,255,255,.95);
  box-shadow: 0 18px 36px -24px #17385866; animation: none;
}
.iast-home #hero .floating-card .card-icon { width: 38px; height: 38px; border-radius: 8px; background: #ebf3fc; }
.iast-home #hero .floating-card .card-icon i { color: #2b76b8; font-size: 20px; }
.iast-home #hero .floating-card h5 { color: var(--home-ink) !important; font-size: 12px !important; }
.iast-home #hero .floating-card .growth-percentage { color: #357ba9 !important; font-size: 15px !important; font-weight: 600; line-height: 1.4; }
.iast-home #hero .mbd-feature-cards { gap: 8px !important; padding: 0; margin-top: 24px !important; flex-wrap: wrap !important; }
.iast-home #hero .carousel-item .mbd-feat-card {
  flex: 1 1 0 !important; max-width: none !important; min-width: 0;
  gap: 8px; padding: 10px !important; background: #f1f6fb !important;
  border: 1px solid #e0e9f2 !important; border-radius: 8px !important;
  box-shadow: none !important; animation: none !important; backdrop-filter: none;
}
.iast-home #hero .mbd-feat-card .mbd-feat-title { color: #31516e !important; font: 500 11px/1.45 'Roboto', Arial, sans-serif !important; }
.iast-home #hero .mbd-feat-card .mbd-feat-icon { background: transparent !important; color: #247cc4 !important; box-shadow: none; margin: 0 !important; }
.iast-home #hero .mbd-feat-icon i { font-size: 16px; color: #247cc4; }
.iast-home #hero .hero-cta { width: 100%; justify-content: flex-start !important; margin: 26px 0 0 !important; }
.iast-home #hero .hero-cta .btn-primary,
.iast-home #about-us .about-content button {
  width: auto !important; max-width: none !important; margin: 0; padding: 13px 24px !important;
  border: 1px solid #338ceb; border-radius: 5px; background: #006dde;
  color: #fff !important; font: 500 14px/1.5 'Roboto', Arial, sans-serif;
  box-shadow: none; transition: background .25s, transform .25s;
}
.iast-home #hero .hero-cta .btn-primary:hover, .iast-home #about-us .about-content button:hover { background: #005bbd; transform: translateY(-2px); box-shadow: none; }
.iast-home #hero .carousel-control-prev, .iast-home #hero .carousel-control-next {
  top: auto !important; bottom: 22px !important; transform: none !important;
  width: 42px; height: 42px; border: 1px solid #d2dfec;
  background: #fff; box-shadow: none; opacity: 1;
}
.iast-home #hero .carousel-control-prev { left: auto; right: 98px; }
.iast-home #hero .carousel-control-next { left: auto; right: 44px; }
.iast-home #hero .carousel-control-prev:hover, .iast-home #hero .carousel-control-next:hover { background: #eaf3fc; border-color: #95bce1; }
.iast-home #hero #hero-carousel::after {
  content: 'EMBEDDED  /  AUTOMOTIVE  /  AI'; position: absolute; bottom: 37px; left: 48px;
  font: 500 9px/1.4 'Montserrat', Arial, sans-serif; letter-spacing: 1.8px; color: #7890a6; pointer-events: none;
}
.iast-home #hero #hero-carousel.home-measuring .carousel-item { display: block !important; position: absolute !important; float: none !important; width: 100%; height: auto !important; min-height: 0 !important; visibility: hidden !important; transform: none !important; }

/* Existing figures become a quiet evidence strip, with the same typography. */
.iast-home #main-content #stats { padding: 12px 0 68px !important; }
.iast-home #main-content #stats::before { display: none; }
.iast-home #stats .row { --bs-gutter-x: 0; --bs-gutter-y: 0; border: 1px solid var(--home-line); border-radius: 16px; overflow: hidden; background: #fff9; }
.iast-home #stats .stats-item { background: transparent; box-shadow: none; padding: 25px 28px !important; gap: 16px; border-right: 1px solid var(--home-line); }
.iast-home #stats .col-lg-3:last-child .stats-item { border-right: 0; }
.iast-home #stats .stats-item i { color: #6089ad; font-size: 26px; margin: 0; }
.iast-home #stats .stats-item span { font: 600 35px/1.15 'Montserrat', Arial, sans-serif; letter-spacing: -.04em; color: #163b59 !important; }
.iast-home #stats .stats-item .fs-6 { font-size: 17px !important; }
.iast-home #stats .stats-item p { margin: 6px 0 0; color: #587086 !important; font-size: 12px !important; }

/* Photographic panels, restrained highlights, and consistent elevation. */
.iast-home .industries-scroll-wrapper {
  --industry-gap: 24px; --industry-visible: 3;
  --industry-card-width: clamp(260px, 28cqw, 400px);
  container-type: inline-size;
  width: calc(100% - var(--home-gutter) * 2); max-width: 1440px; margin-inline: auto;
  padding: 20px 0 38px !important; overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 16px, #000 calc(100% - 16px), transparent);
}
.iast-home .industries-carousel-track {
  gap: var(--industry-gap); animation: home-industry-scroll 55s linear infinite;
  /* Center a full group of cards, with matching peeks at both edges. */
  margin-left: calc((100cqw - var(--industry-visible) * var(--industry-card-width) - (var(--industry-visible) - 1) * var(--industry-gap)) / 2 - var(--industry-card-width) - var(--industry-gap));
}
@keyframes home-industry-scroll { to { transform: translateX(calc(-50% - var(--industry-gap) / 2)); } }
.iast-home .industries-carousel-track:hover { animation-play-state: paused; }
.iast-home .industry-large-card {
  width: var(--industry-card-width); border-radius: 16px; box-shadow: 0 22px 36px -26px #14345477;
  border: 1px solid #d5e1ec; transition: transform .55s cubic-bezier(.2,.8,.2,1), box-shadow .55s, border-color .55s;
}
.iast-home .industry-large-card::after { content: ''; position: absolute; bottom: 15px; left: 24px; width: 20px; height: 2px; background: #e5a068; opacity: .7; transition: width .55s, opacity .55s; }
.iast-home .industry-large-card:hover { transform: translateY(-7px); border-color: #8ab4d4; box-shadow: 0 22px 38px -18px #163c6260, 0 0 0 1px #89b8de30; }
.iast-home .industry-large-card:hover::after { width: 42px; opacity: 1; }
.iast-home .industry-image { aspect-ratio: 4 / 3; }
.iast-home .industry-image img { transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.iast-home .industry-large-card:hover .industry-image img { transform: scale(1.05); }
.iast-home .industry-label { left: 24px; right: 24px; bottom: 30px; text-align: left; font: 600 14px/1.4 'Montserrat', Arial, sans-serif; letter-spacing: 1px; text-shadow: none; transition: transform .55s, letter-spacing .55s; }
.iast-home .industry-large-card:hover .industry-label { transform: translateY(-3px); letter-spacing: 1.3px; }
.iast-home #certifications { background: radial-gradient(ellipse at 0 40%, #e7f0f8, transparent 65%) !important; }
.iast-home #certifications .section-title { padding-bottom: 36px !important; }
.iast-home #certifications .about-showcase { margin: 0 0 28px; }
.iast-home #certifications .about-showcase > .row { --bs-gutter-x: 0; display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,.85fr); align-items: center !important; gap: clamp(28px, 3.5vw, 64px); }
.iast-home #certifications .about-showcase > .row > div { width: 100%; min-width: 0; max-width: 100%; }
.iast-home #certifications .cert-3d-wrapper {
  container-type: inline-size; width: 100%; max-width: none !important; height: 520px;
  border: 1px solid #d5e3ef; border-radius: 20px; perspective: 1800px;
  background: radial-gradient(ellipse at 50% 30%, #fff 0%, #f2f7fc 45%, #e5eef7 100%);
  box-shadow: 0 26px 55px -40px #17385855; overflow: hidden;
}
.iast-home #certifications .cert-3d-wrapper::after { content: ''; position: absolute; bottom: 27px; left: 20%; width: 60%; height: 10px; border-radius: 50%; background: #7298b42b; filter: blur(8px); pointer-events: none; }
.iast-home #certifications .cert-3d-carousel { animation-duration: 32s; }
.iast-home #certifications .cert-3d-wrapper:focus-within .cert-3d-carousel { animation-play-state: paused; }
.iast-home #certifications .cert-3d-card {
  width: min(260px, 34cqw); height: 400px; scale: 1;
  backface-visibility: hidden;
  transform: translate(-50%, -50%) rotateY(calc(var(--i) * 51.428571deg)) translateZ(min(285px, 37cqw));
}
.iast-home #certifications .cert-3d-card-inner { padding: 18px; border-color: #dae5ee; border-radius: 16px; box-shadow: 0 20px 36px -18px #16385744; }
.iast-home #certifications .cert-3d-image { height: 85px; flex-shrink: 0; border-radius: 10px; }
.iast-home #certifications .cert-3d-content { display: flex; flex-direction: column; flex: 1; width: 100%; min-height: 0; }
.iast-home #certifications .cert-3d-content h3 { color: var(--home-ink) !important; font-weight: 600; }
.iast-home #certifications .cert-3d-content p { color: var(--home-muted) !important; font-size: 13px !important; line-height: 1.65 !important; min-height: 0; margin-bottom: 14px; }
.iast-home #certifications .cert-3d-content button { margin-top: auto; padding: 10px 12px; font-size: 11px; background: #eaf3fc; color: #216398; border: 1px solid #d5e6f4; border-radius: 5px; box-shadow: none; }
.iast-home #certifications .about-highlights { padding: 0; text-align: left; background: transparent; }
.iast-home #certifications .about-highlights .highlight-item { padding: 20px 14px; margin: 0; gap: 18px; border: 1px solid transparent; border-bottom-color: #d9e4ed; border-radius: 10px; transition: transform .4s, background .4s, border-color .4s, box-shadow .4s; }
.iast-home #certifications .about-highlights .highlight-item:hover { transform: translateX(4px); background: #ffffffb3; border-color: #d5e4f1; box-shadow: 0 12px 24px -20px #204d7955; }
.iast-home #certifications .highlight-item:hover .highlight-icon { border-color: #deb28f; background: #fff7ef; }
.iast-home #certifications .highlight-content h4 { font: 600 17px/1.4 'Montserrat', Arial, sans-serif; }
.iast-home #certifications .highlight-content h4 a { color: #173d5c; }
.iast-home #certifications .highlight-content p { color: var(--home-muted) !important; font-size: 14px !important; margin: 9px 0 0; line-height: 1.8 !important; }
.iast-home #certifications .highlight-icon { margin: 0; width: 40px; min-width: 40px; height: 40px; border: 1px solid #d5e5f2; border-radius: 10px; background: #edf5fc; transition: background .4s, border-color .4s; }
.iast-home #certifications .highlight-icon i { color: #397eae; font-size: 20px; }
.iast-home .happiest-card { animation: none; background: #fff; border: 1px solid #dfe7ef; box-shadow: 0 16px 35px -25px #203f5b44; }
.iast-home #about-us .about-slider-shell { border: 1px solid #d8e4ee; box-shadow: 0 30px 55px -35px #16395777; border-radius: 22px; }
.iast-home #about-us .about-slide .about-item::before { background: linear-gradient(90deg, rgba(6,23,39,.88), rgba(10,32,52,.40) 65%, rgba(8,25,40,.22)); }
.iast-home #about-us .about-name { font-family: 'Montserrat', Arial, sans-serif; font-weight: 600; letter-spacing: -.025em; }
.iast-home #about-us .about-des { color: #dbe6f0; }
.iast-home #why-us .process-container { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; max-width: none; padding: 0; }
.iast-home #why-us .process-item { padding: 0; align-items: stretch; }
.iast-home #why-us .process-item .content { height: 100%; background: linear-gradient(150deg, #fff, #f7fafd); border: 1px solid #d8e4ef; border-radius: 16px; box-shadow: 0 25px 40px -33px #244c7555; }
.iast-home #why-us .process-item .card-body { padding: 32px; flex-direction: column; align-items: flex-start; text-align: left; gap: 28px; }
.iast-home #why-us .process-item .step-icon { width: 48px; height: 48px; border-radius: 12px; background: #eaf3fc; border: 1px solid #d6e8f6; box-shadow: none; transform: none; }
.iast-home #why-us .step-icon i { color: #2477b5; font-size: 23px; }
.iast-home #why-us .step-content h3 { color: var(--home-ink) !important; font: 600 20px/1.4 'Montserrat', Arial, sans-serif; letter-spacing: -.02em; }
.iast-home #why-us .step-content p { color: var(--home-muted) !important; font-size: 14px !important; line-height: 1.85 !important; margin: 16px 0 0; }
.iast-home .partner-logo { border: 1px solid #dce5ed; background: #fff; border-radius: 12px; box-shadow: none; }
.iast-home .partners-carousel-track { animation-duration: 48s; }
.iast-home .floating-cta { box-shadow: 0 6px 20px #005dbb26; }

/* Reveal transforms never own carousel transforms. No scroll interception. */
.iast-home .home-reveal {
  transition: opacity .85s ease, transform 1.05s cubic-bezier(.16,1,.3,1);
  transition-delay: var(--reveal-delay, 0ms);
}
.iast-home.home-motion-ready .home-reveal:not(.is-revealed) { opacity: 0; transform: perspective(1100px) translate3d(0,42px,0) rotateX(3deg) scale(.985); }
.iast-home .home-reveal.is-revealed { opacity: 1; transform: none; }
.iast-home .home-reveal:focus-within { opacity: 1 !important; transform: none !important; }
.iast-home .home-depth { transform: perspective(1200px) rotateX(var(--depth-x, 0deg)) rotateY(var(--depth-y, 0deg)); transition: transform .55s cubic-bezier(.2,.8,.2,1); }
.iast-home .home-depth:hover { transform: perspective(1200px) rotateX(var(--depth-x, 0deg)) rotateY(var(--depth-y, 0deg)) translateY(-4px); }
.iast-home .home-chapter:not(.home-in-view) .industries-carousel-track,
.iast-home .home-chapter:not(.home-in-view) .partners-carousel-track,
.iast-home .home-chapter:not(.home-in-view) .cert-3d-carousel { animation-play-state: paused !important; }
.iast-home #hero-carousel.home-slide-enter .carousel-item.active .hero-content > * { animation: home-slide-in .75s cubic-bezier(.16,1,.3,1) both; }
.iast-home #hero-carousel.home-slide-enter .carousel-item.active .hero-content > :nth-child(2) { animation-delay: .08s; }
.iast-home #hero-carousel.home-slide-enter .carousel-item.active .hero-content > :nth-child(3) { animation-delay: .16s; }
.iast-home #hero-carousel.home-slide-enter .carousel-item.active .hero-content > :nth-child(4) { animation-delay: .24s; }
@keyframes home-slide-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

@media (max-width: 1100px) {
  .iast-home #hero #hero-carousel .carousel-item > .container { padding: 35px !important; }
  .iast-home #hero .hero-content { padding-right: 25px !important; }
  .iast-home #hero .mbd-feature-cards { flex-direction: column; }
  .iast-home #hero .mbd-feat-card { width: 100%; }
  .iast-home #stats .stats-item { padding: 22px 18px !important; }
  .iast-home #why-us .process-item .card-body { padding: 24px; }
}
@media (max-width: 991px) {
  .iast-home .industries-scroll-wrapper { --industry-visible: 2; --industry-card-width: clamp(220px, 43cqw, 360px); }
  .iast-home #main-content .section-title { grid-template-columns: 1fr; row-gap: 18px; }
  .iast-home #main-content .section-title p { max-width: 650px; }
  .iast-home #main-content > section:not(.mobility-hero) { padding: 66px 0 !important; }
  .iast-home #certifications .about-showcase > .row { grid-template-columns: 1fr; row-gap: 28px; }
  .iast-home #certifications .about-showcase > .row > div { width: 100%; }
  .iast-home #certifications .about-highlights { padding: 0; }
  .iast-home #stats .col-lg-3:nth-child(2) .stats-item { border-right: 0; }
  .iast-home #stats .col-lg-3:nth-child(-n + 2) .stats-item { border-bottom: 1px solid var(--home-line); }
  .iast-home #why-us .process-container { grid-template-columns: 1fr; gap: 18px; }
  .iast-home #why-us .process-item .card-body { flex-direction: row; gap: 22px; }
}
@media (max-width: 768px) {
  .iast-home .industries-scroll-wrapper { --industry-visible: 1; --industry-gap: 18px; --industry-card-width: calc(100cqw - 36px); }
  .iast-home #certifications .cert-3d-wrapper { height: 500px; }
  /* Keep the rotating orbit; counter-turn the faces on phones for readable,
     generously sized cards without intersecting planes or clipped edges. */
  .iast-home #certifications .cert-3d-card { width: min(290px, 68cqw); height: 410px; backface-visibility: visible; animation-play-state: inherit; transform: translate(-50%, -50%) rotateY(calc(var(--i) * 51.428571deg)) translateZ(min(100px, 10cqw)); }
  .iast-home #certifications .cert-3d-card-inner { padding: 18px; animation: home-cert-face 32s linear infinite; animation-play-state: inherit; }
  .iast-home #certifications .cert-3d-image { height: 72px; }
  .iast-home #certifications .cert-3d-content h3 { font-size: 15px; margin-bottom: 10px; }
  .iast-home #certifications .cert-3d-content p { font-size: 12px !important; line-height: 1.65 !important; }
  .iast-home #certifications .about-highlights .highlight-item { padding: 18px 0; gap: 14px; }
  .iast-home #main-content { padding-left: 0; padding-right: 0; }
  .iast-home .mobility-hero { margin-inline: 0; width: 100%; }
  .iast-home #hero #hero-carousel { border-radius: 18px; padding-bottom: 78px; }
  .iast-home #hero #hero-carousel .carousel-item > .container { padding: 28px 22px 34px !important; min-height: 0 !important; }
  .iast-home #hero #hero-carousel .carousel-item .row { display: flex !important; flex-direction: column !important; gap: 30px !important; }
  .iast-home #hero .carousel-item .row > .col-md-6 { display: block !important; width: 100%; padding: 0; }
  .iast-home #hero .carousel-item .row > .col-md-6:first-child { order: 2 !important; }
  .iast-home #hero .carousel-item .row > .col-md-6:last-child { order: 1 !important; }
  .iast-home #hero .hero-content { display: flex !important; flex-direction: column; padding: 0 !important; }
  .iast-home #hero .hero-content h1 { font-size: 27px !important; order: 0 !important; margin-bottom: 18px !important; }
  .iast-home #hero .hero-content p { font-size: 14px !important; order: 1 !important; }
  .iast-home #hero .hero-image img { aspect-ratio: 1.5; max-height: 300px; }
  .iast-home #hero .hero-image .floating-card { right: 10px !important; bottom: -16px !important; padding: 10px 12px !important; }
  .iast-home #hero .floating-card .card-icon { width: 28px; height: 28px; }
  .iast-home #hero .floating-card h5 { font-size: 10px !important; }
  .iast-home #hero .floating-card .growth-percentage { font-size: 12px !important; }
  .iast-home #hero .mbd-feature-cards { flex-direction: row; gap: 6px !important; order: 2 !important; }
  .iast-home #hero .carousel-item .mbd-feat-card { flex: 1 1 100% !important; flex-direction: row; padding: 9px 12px !important; }
  .iast-home #hero .mbd-feat-card .mbd-feat-title { font-size: 12px !important; }
  .iast-home #hero .hero-cta { order: 3 !important; margin-top: 22px !important; }
  .iast-home #hero .hero-cta .btn-primary { font-size: 13px !important; }
  .iast-home #hero .carousel-control-prev { right: 76px; }
  .iast-home #hero .carousel-control-next { right: 22px; }
  .iast-home #hero #hero-carousel::after { left: 22px; content: 'EXPLORE ENGINEERING'; font-size: 8px; letter-spacing: 1px; }
  .iast-home #stats .stats-item { padding: 20px 12px !important; gap: 10px; }
  .iast-home #stats .stats-item span { font-size: 29px !important; }
  .iast-home #stats .stats-item i { font-size: 22px; }
  .iast-home #stats .stats-item p { font-size: 11px !important; }
  .iast-home #main-content .section-title h2 { font-size: 32px; }
  .iast-home #main-content .section-title p { font-size: 14px !important; }
  .iast-home #main-content .section-title { padding-bottom: 30px !important; }
  .iast-home #why-us .process-item .card-body { flex-direction: column; }
  .iast-home #about-us .about-content { text-align: left; left: 26px; width: calc(100% - 52px); max-width: none; }
  .iast-home #about-us .about-name { font-size: 26px; }
  .iast-home #about-us .about-des { font-size: 14px; }
  .iast-home #about-us .about-slider-shell { height: 470px; }
  .iast-home .home-depth { transform: none !important; }
  .iast-home.home-motion-ready .home-reveal:not(.is-revealed) { transform: translateY(22px); }
}
@keyframes home-cert-face {
  from { transform: rotateY(calc(var(--i) * -51.428571deg)); }
  to { transform: rotateY(calc(var(--i) * -51.428571deg - 360deg)); }
}
@media (max-width: 360px) {
  .iast-home { --home-gutter: 18px; }
  .iast-home #hero #hero-carousel .carousel-item > .container { padding: 24px 18px !important; }
  .iast-home #hero .hero-content h1 { font-size: 25px !important; }
  .iast-home #hero #hero-carousel::after { content: 'ENGINEERING'; }
}
/* Laptop windows have less vertical room than desktop monitors, especially
   with OS scaling. Size the existing compositions by available height. */
@media (min-width: 992px) and (max-height: 850px) {
  .iast-home #main-content > section:not(.mobility-hero) { padding: clamp(26px, 4.5svh, 38px) 0 !important; }
  .iast-home #main-content .section-title { row-gap: 10px; padding-bottom: 22px !important; }
  .iast-home #main-content .section-title h2 { font-size: clamp(27px, 4.4svh, 36px); }
  .iast-home #main-content .section-title p { font-size: 13px !important; line-height: 1.65 !important; }
  .iast-home #main-content #hero { padding-top: 32px !important; padding-bottom: 30px !important; }
  .iast-home #hero #hero-carousel { padding-bottom: 54px; }
  .iast-home #hero #hero-carousel .carousel-item > .container { min-height: 0 !important; padding: 26px 32px !important; }
  .iast-home #hero .hero-content h1 { font-size: clamp(25px, 3.8svh, 32px) !important; margin-bottom: 14px !important; }
  .iast-home #hero .hero-content p { font-size: 14px !important; line-height: 1.65 !important; }
  .iast-home #hero .hero-image img { max-height: clamp(220px, 38svh, 300px); aspect-ratio: 1.65; }
  .iast-home #hero .mbd-feature-cards { margin-top: 16px !important; flex-direction: row; }
  .iast-home #hero .carousel-item .mbd-feat-card { padding: 8px !important; }
  .iast-home #hero .hero-cta { margin-top: 18px !important; }
  .iast-home #hero .hero-cta .btn-primary { padding: 10px 20px !important; }
  .iast-home #hero .carousel-control-prev, .iast-home #hero .carousel-control-next { bottom: 12px !important; width: 34px; height: 34px; }
  .iast-home #hero #hero-carousel::after { bottom: 23px; }
  .iast-home #main-content #stats { padding: 0 0 30px !important; }
  .iast-home #stats .stats-item { padding: 18px 22px !important; }
  .iast-home .industry-image { aspect-ratio: 1.6; }
  .iast-home .industries-scroll-wrapper { padding: 12px 0 22px !important; }
  .iast-home #certifications .section-title { padding-bottom: 20px !important; }
  .iast-home #main-content #certifications { padding-block: 20px !important; }
  .iast-home #certifications .about-showcase { margin-bottom: 0 !important; }
  .iast-home #certifications .happiest-work-banner { margin-top: 12px; }
  .iast-home #certifications .happiest-card { width: 320px; }
  .iast-home #certifications .cert-3d-wrapper { height: clamp(350px, 49svh, 400px); perspective: 3000px; }
  .iast-home #certifications .cert-3d-card { height: 290px; }
  .iast-home #certifications .cert-3d-card-inner { padding: 12px; }
  .iast-home #certifications .cert-3d-image { height: 48px; margin-bottom: 10px; }
  .iast-home #certifications .cert-3d-image img { max-height: 44px; }
  .iast-home #certifications .cert-3d-content h3 { font-size: 16px; margin-bottom: 8px; }
  .iast-home #certifications .cert-3d-content p { font-size: 12px !important; line-height: 1.5 !important; margin-bottom: 8px; }
  .iast-home #certifications .cert-3d-content button { padding: 7px 8px; }
  .iast-home #certifications .about-highlights .highlight-item { padding: 12px 10px; gap: 14px; }
  .iast-home #certifications .highlight-content h4 { font-size: 15px; }
  .iast-home #certifications .highlight-content p { font-size: 13px !important; line-height: 1.6 !important; margin-top: 5px; }
  .iast-home #about-us .about-slider-shell { height: clamp(340px, 52svh, 430px); }
  .iast-home #why-us .process-item .card-body { padding: 24px; gap: 18px; }
}
@media (min-width: 992px) and (max-height: 650px) {
  .iast-home #main-content #certifications { padding-block: 16px !important; }
  .iast-home #certifications .section-title { padding-bottom: 14px !important; }
  .iast-home #certifications .about-highlights .highlight-item { padding-block: 8px; }
}
.iast-home .industry-priorities { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.iast-home .industry-priority { position: relative; isolation: isolate; overflow: hidden; min-height: 250px; border-radius: 16px; background: #132b40; border: 1px solid #cadce9; box-shadow: 0 18px 30px -24px #16385777; transition: transform .45s, box-shadow .45s, border-color .45s; }
.iast-home .industry-priority > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1s ease; }
.iast-home .industry-priority::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, #071a2bf5, #0c20377a 65%, #0c203720); }
.iast-home .industry-priority-copy { position: absolute; inset: auto 24px 24px; text-align: left; }
.iast-home .industry-priority-number { display: block; color: #c3dcf0 !important; font-size: 9px; letter-spacing: 1.5px; margin-bottom: 14px; }
.iast-home .industry-priority h3 { color: #fff !important; font: 600 clamp(22px, 2vw, 30px)/1.2 'Montserrat', sans-serif; margin: 0 0 12px; }
.iast-home .industry-priority p { color: #d2e0ed !important; font-size: 12px !important; line-height: 1.7 !important; margin: 0; max-width: 310px; min-height: 3.4em; }
.iast-home .industry-priority-copy::after { content: ''; display: block; width: 24px; height: 2px; background: #e5a068; margin-top: 16px; transition: width .45s; }
@media (hover: hover) {
  .iast-home .industry-priority:hover { transform: translateY(-5px); border-color: #83b9e3; box-shadow: 0 24px 40px -22px #16385777; }
  .iast-home .industry-priority:hover > img { transform: scale(1.045); }
  .iast-home .industry-priority:hover .industry-priority-copy::after { width: 48px; }
}
.iast-home #main-content .industry-support-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 24px; }
.iast-home .industry-support-heading p { margin: 0; color: #536678 !important; font-size: 11px !important; letter-spacing: 1px; text-transform: uppercase; }
.iast-home .industry-motion-toggle { border: 0; background: transparent; color: #42627f; font-size: 11px; padding: 10px 0; text-decoration: underline; text-underline-offset: 4px; }
.iast-home .industry-supporting { --industry-visible: 4; --industry-card-width: calc((100cqw - 72px) / 4); padding: 10px 0 18px !important; }
.iast-home .industry-supporting .industry-image { height: 100px; aspect-ratio: auto; }
.iast-home .industry-supporting .industry-label { font-size: 11px; bottom: 20px; left: 18px; }
.iast-home .industry-supporting .industry-large-card::after { left: 18px; bottom: 10px; }
.iast-home .industry-supporting .industries-carousel-track { animation-duration: 42s; margin-left: 0; }
.iast-home .industry-supporting.is-paused .industries-carousel-track { animation-play-state: paused !important; }
@media (min-width: 992px) and (max-height: 850px) {
  .iast-home .industry-priority { min-height: 190px; }
  .iast-home .industry-priority-copy { inset: auto 20px 18px; }
  .iast-home .industry-priority-number { margin-bottom: 10px; }
  .iast-home .industry-priority h3 { font-size: 24px; margin-bottom: 8px; }
  .iast-home .industry-priority-copy::after { margin-top: 10px; }
  .iast-home #main-content .industry-support-heading { margin-top: 12px; }
  .iast-home .industry-supporting .industry-image { height: 76px; }
}
@media (max-width: 767px) {
  .iast-home .industry-priorities { grid-template-columns: 1fr; gap: 14px; }
  .iast-home .industry-priority { min-height: 170px; }
  .iast-home .industry-priority > img { object-position: center 45%; }
  .iast-home .industry-priority-copy { inset: auto 20px 18px; }
  .iast-home .industry-priority-number { margin-bottom: 8px; }
  .iast-home .industry-priority h3 { margin-bottom: 8px; }
  .iast-home .industry-priority-copy::after { margin-top: 10px; }
  .iast-home .industry-supporting { --industry-visible: 2; --industry-card-width: calc((100cqw - 18px) / 2); }
  .iast-home .industry-support-heading p { font-size: 9px; letter-spacing: .5px; }
  .iast-home .industry-motion-toggle { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) {
  .iast-home .industry-motion-toggle { display: none; }
  .iast-home .industry-supporting [aria-hidden="true"] { display: none; }
  .iast-home .home-reveal, .iast-home.home-motion-ready .home-reveal:not(.is-revealed), .iast-home .home-depth { opacity: 1; transform: none !important; transition: none !important; }
  .iast-home #main-content > section:not(.mobility-hero) *, .iast-home #main-content > section:not(.mobility-hero) *::before, .iast-home #main-content > section:not(.mobility-hero) *::after { animation: none !important; transition: none !important; }
  .iast-home #hero .carousel-item.active .hero-content > *, .iast-home #about-us .about-content > *, .iast-home #about-us .about-content button { opacity: 1 !important; }
  .iast-home #certifications .cert-3d-wrapper { height: auto; perspective: none; overflow: visible; }
  .iast-home #certifications .cert-3d-carousel { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap: 18px; height: auto; padding: 18px; transform: none; }
  .iast-home #certifications .cert-3d-card { position: static; width: auto; height: auto; transform: none; scale: 1; }
  .iast-home #certifications .cert-3d-card-inner { min-height: 320px; }
  .iast-home .industries-scroll-wrapper { overflow-x: auto; mask-image: none; }
  .iast-home .industries-carousel-track, .iast-home .partners-carousel-track { transform: none !important; }
  .iast-home .industries-carousel-track { margin-left: 0; }
}
