/* HOME (Figma 830:449) — desktop values are 1:1 with the 1512px artboard. */

.home { --home-h2: clamp(32px, 1.6rem + 1.9vw, 48px); --home-xl: clamp(44px, 1.6rem + 4.2vw, 84px); }
.home-h2 { font-family: var(--ff-display); font-weight: var(--fw-medium); font-size: var(--home-h2); line-height: 1.2; color: var(--c-black); }
.home-eyebrow { font-family: var(--ff-display); font-weight: 300; font-size: 20px; line-height: 1.2; letter-spacing: .4px; color: var(--c-black); margin-bottom: 8px; }
.home-link { display: inline-block; font-family: var(--ff-display); font-weight: 300; font-size: 20px; letter-spacing: .4px; color: var(--c-blue); transition: transform var(--dur) var(--ease); }
.home-link:hover { transform: translateX(4px); }
.home-link--black { color: var(--c-black); }
.home-link-strong { font-family: var(--ff-display); font-weight: 600; font-style: italic; font-size: 16px; letter-spacing: .32px; color: var(--c-black); background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size var(--dur) var(--ease); }
.home-link-strong:hover { background-size: 100% 1px; }

/* ---------- 1 Hero ---------- */
.home-hero { position: relative; isolation: isolate; padding-top: 367px; }
.home-hero__bg { position: absolute; inset: -10px 0 auto; height: 979px; z-index: -1; overflow: hidden; pointer-events: none; }
.home-hero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .3; }
.home-hero__bg::after { content: ""; position: absolute; inset: 0;
  background: linear-gradient(to top, #fff 0%, rgba(255,255,255,.4) 55%, rgba(255,255,255,.1) 100%); }
.home-hero__inner { display: grid; grid-template-columns: 1fr 403px; align-items: start; column-gap: 32px; }
.home-hero__title { max-width: 576px; font-size: var(--fs-hero-fluid); }
.home-hero__ctas { display: grid; gap: 24px; justify-items: start; margin-top: 91px; padding: 0; list-style: none; }
.home-cta { display: inline-flex; align-items: center; gap: 0; color: var(--c-blue); font-family: var(--ff-display); font-weight: 500; font-style: italic; font-size: 16px; line-height: 1.2; }
.home-cta__icon, .home-cta__label { background: #fff; border-radius: 49px; height: 50px; display: inline-grid; place-items: center; transition: transform var(--dur) var(--ease), background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease); }
.home-cta__icon { width: 50px; }
.home-cta__icon img { width: 19px; height: auto; }
.home-cta__icon--plane img { width: 21px; transform: rotate(45deg); transition: transform var(--dur) var(--ease); }
.home-cta__label { padding-inline: 32px; min-width: 174px; }
.home-cta:hover .home-cta__label { background: var(--c-blue); color: #fff; }
.home-cta:hover .home-cta__icon { transform: rotate(-12deg); }
.home-cta:hover .home-cta__icon--plane { transform: translateX(4px); }
.home-cta:hover .home-cta__icon--plane img { transform: rotate(45deg) translateY(-2px); }

.home-intro { display: grid; grid-template-columns: 431px 430px 1fr; margin-top: 75px; }
.home-intro__col { position: relative; padding-top: 74px; padding-right: 64px; font-family: var(--ff-body); font-weight: 300; font-size: 17px; line-height: 30px; letter-spacing: .34px; color: var(--c-grey); max-width: 431px; }
.home-intro__col strong { font-weight: 600; }
.home-intro__col::before { content: ""; position: absolute; left: 0; top: 0; height: 2px; width: 100%; background: var(--line, var(--c-blue)); transform-origin: left; }
.home-intro__col--green { --line: var(--c-green); }
.home-intro__col--lila { --line: var(--c-lila); padding-right: 0; }
.js .home-intro[data-reveal] > .home-intro__col::before { transform: scaleX(0); transition: transform 1100ms var(--ease) calc(var(--i, 0) * 120ms + 300ms); }
.js .home-intro.is-in > .home-intro__col::before { transform: none; }

/* ---------- 2 Why ---------- */
.home-why { padding-top: 236px; }
.home-why__head { display: grid; grid-template-columns: 646px 1fr; }
.home-why__head .home-h2 { max-width: 606px; }
.home-why__lead { max-width: 468px; padding-top: 32px; }
.home-why__list { display: grid; grid-template-columns: 323px 323px 1fr; margin-top: 63px; padding: 0; list-style: none; }
.home-why__list > li { padding-right: 48px; }
.home-why__list p { max-width: 277px; margin-top: 12px; }
.home-why__title { font-family: var(--ff-display); font-weight: 700; font-size: 20px; letter-spacing: .4px; line-height: normal; }

/* ---------- 3 Two solutions ---------- */
.home-solutions { padding-top: 157px; }
.home-solutions__frame { position: relative; height: 585px; margin-bottom: -76px; display: grid; place-items: start center; padding-top: 167px; }
.home-solutions__frame::before { content: ""; position: absolute; inset: 0; border: 1px solid var(--c-grey);
  /* gaps: sides open around the heading, bottom open behind the photo */
  -webkit-mask: linear-gradient(#000 0 0) top / 100% 60px no-repeat, linear-gradient(#000 0 0) bottom left / calc(50% - 318px) 260px no-repeat, linear-gradient(#000 0 0) bottom right / calc(50% - 318px) 260px no-repeat;
          mask: linear-gradient(#000 0 0) top / 100% 60px no-repeat, linear-gradient(#000 0 0) bottom left / calc(50% - 318px) 260px no-repeat, linear-gradient(#000 0 0) bottom right / calc(50% - 318px) 260px no-repeat; }
.home-solutions__label { position: absolute; top: 25px; font-family: ui-monospace, "Lekton", "SFMono-Regular", Menlo, monospace; font-weight: 700; font-size: 20px; line-height: 1.1; letter-spacing: 4px; color: var(--c-black); }
.home-solutions__label--l { left: 29px; } .home-solutions__label--r { right: 29px; }
.home-solutions__title { max-width: 706px; text-align: center; font-family: var(--ff-display); font-weight: 500; font-size: var(--home-xl); line-height: 1; color: var(--c-black); }

.home-solutions__body { position: relative; display: grid; grid-template-columns: 1fr 437px 1fr; column-gap: 0; align-items: start; }
.home-solutions__intro { position: relative; padding: 147px 0 0 36px; max-width: 384px; }
.home-solutions__name { font-family: var(--ff-display); font-weight: 700; font-size: 20px; letter-spacing: .4px; line-height: normal; max-width: 261px; }
.home-solutions__intro .t-body { margin-top: 8px; max-width: 317px; }
.home-solutions__num { position: absolute; left: -11px; top: 171px; display: inline-flex; align-items: center; font-family: var(--ff-display); font-weight: 700; font-size: 20px; letter-spacing: .4px; color: var(--c-grey); }
.home-solutions__num svg { width: 24px; height: 24px; flex: none; }
.home-solutions__num { white-space: nowrap; }
.home-solutions__next { position: absolute; right: 37px; top: 387px; display: block; width: 110px; height: 125px; }
.home-solutions__thumb { display: block; width: 100%; height: 100%; border-radius: 20px; overflow: hidden; position: relative; }
.home-solutions__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--dur-slow) var(--ease); }
.home-solutions__thumb::after { content: ""; position: absolute; inset: 0; background: rgba(138,56,245,.5); transition: opacity var(--dur) var(--ease); }
.home-solutions__next:hover .home-solutions__thumb img { transform: scale(1.06); }
.home-solutions__next:hover .home-solutions__thumb::after { opacity: .6; }
.home-solutions__num--lila { left: auto; right: calc(100% + 4px); top: auto; bottom: 0; color: var(--c-lila); }
.home-solutions__media { position: relative; height: 515px; border-radius: 20px; overflow: hidden; margin: 0; }
.home-solutions__media img { width: 100%; height: 100%; object-fit: cover; }
.home-solutions__features { padding: 147px 0 0 52px; }
@media (min-width: 1200px) { .home-solutions__list li { white-space: nowrap; } }
.home-solutions__list { padding: 0; list-style: none; font-family: var(--ff-body); font-weight: 300; font-size: 16px; line-height: 40px; color: var(--c-grey); }
.home-solutions__list li::before { content: "• "; }
.home-solutions__features .home-link-strong { display: inline-block; margin-top: 24px; }

/* ---------- 4 Marquee ---------- */
.home-marquee { margin-top: 177px; padding-block: 8px; font-family: var(--ff-display); font-style: italic; font-weight: 400; font-size: var(--home-xl); line-height: 1.2; color: var(--c-black); --marquee-dur: 45s; }
.home-marquee .marquee__track { gap: 0; }
.home-marquee span { padding-right: .4em; }
.home-marquee:hover .marquee__track { animation-play-state: paused; }

/* ---------- 5 Trust ---------- */
.home-trust { padding-top: 210px; padding-bottom: 137px; }
.home-trust__head { display: grid; grid-template-columns: 646px 1fr; }
.home-trust__head .home-h2 { max-width: 544px; }
.home-stats { display: grid; grid-template-columns: 209px 222px 1fr; margin: 0; }
.home-stats__item { display: flex; flex-direction: column-reverse; justify-content: flex-end; }
.home-stats__value { margin: 0; font-family: var(--ff-display); font-weight: 500; font-style: italic; font-size: clamp(44px, 2rem + 2vw, 64px); line-height: 1.2; letter-spacing: 1.28px; color: var(--c-blue); white-space: nowrap; }
.home-stats__value span { display: inline-block; vertical-align: top; margin-top: .45em; margin-left: 6px; font-family: var(--ff-body); font-weight: 500; font-size: 16px; line-height: 28px; letter-spacing: 0; }
.home-stats__label { margin-top: 0; max-width: 177px; font-family: var(--ff-body); font-weight: 300; font-style: italic; font-size: 16px; line-height: 20px; color: var(--c-blue); }

.home-logos { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 92px; padding: 0; list-style: none; }
.home-logos__item { position: relative; flex: none; height: 62px; }
.home-logos__item img { position: absolute; inset: 0; height: 100%; width: 100%; object-fit: cover; filter: grayscale(0); transition: transform var(--dur) var(--ease); }
.home-logos__item:hover img { transform: scale(1.04); }
.home-logos__item--ingold { width: 150px; height: 64px; } .home-logos__item--ingold img { object-fit: contain; }
.home-logos__item--ba, .home-logos__item--aa { width: 227px; }
.home-logos__item--lh { width: 226px; }
.home-logos__item--swiss { width: 133px; height: 35px; }

.home-divider { position: relative; height: 21px; margin-top: 140px; display: grid; place-items: center; }
.home-divider::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: var(--c-grey); }
.home-divider img { position: relative; width: 21px; transform: rotate(90deg); background: #fff; padding-inline: 2px; box-sizing: content-box; }

.home-quote { display: grid; grid-template-columns: 646px 1fr; margin-top: 86px; }
.home-quote__aside { display: flex; flex-direction: column; justify-content: space-between; gap: 40px; }
.home-quote__aside .t-body { max-width: 303px; padding-top: 6px; }
.home-arrows { display: flex; gap: 20px; }
.home-arrow { width: 50px; height: 50px; display: grid; place-items: center; border: 1px solid #bbb; border-radius: 10px; color: var(--c-black); background: transparent; transition: background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), border-color var(--dur-fast) var(--ease); }
.home-arrow:hover:not(:disabled) { background: var(--c-blue); border-color: var(--c-blue); color: #fff; }
.home-arrow:disabled { cursor: default; opacity: .45; }
.home-quote [data-slider-prev]:disabled, .home-quote [data-slider-next]:disabled { opacity: 1; }
.home-quote__slides { display: grid; }
.home-quote__slide { grid-area: 1 / 1; margin: 0; opacity: 0; visibility: hidden; transition: opacity var(--dur-slow) var(--ease), visibility 0s linear var(--dur-slow); }
.home-quote__slide.is-active { opacity: 1; visibility: visible; transition-delay: 0s; }
.home-quote__text { margin: 0; max-width: 626px; font-family: var(--ff-display); font-weight: 300; font-style: italic; font-size: clamp(19px, 1rem + .6vw, 24px); line-height: 1.65; color: var(--c-grey); }
.home-quote__author { display: flex; align-items: center; gap: 18px; margin-top: 52px; }
.home-quote__author img { width: 64px; height: 64px; border-radius: 50%; flex: none; }
.home-quote__name { display: block; font-size: 16px; line-height: 28px; color: var(--c-black); }
.home-quote__role { display: block; font-weight: 200; font-style: italic; font-size: 14px; line-height: 28px; color: var(--c-black); }

/* ---------- 6 Light band ---------- */
.home-band { background: var(--c-light-grey); border-radius: 20px; padding-top: 133px; overflow: hidden; }
.home-benefits__head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; }
.home-benefits__head .home-h2 { max-width: 545px; }
.home-benefits__lead { max-width: 350px; margin-top: 2px; }
.home-benefits__head .home-arrows { margin-bottom: 2px; }
.home-benefits .home-benefits__track {
  --pad: max(var(--gutter), calc((100vw - var(--container)) / 2));
  display: flex; gap: 20px; margin: 45px 0 0; padding: 0 var(--pad) 8px; list-style: none;
  overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--pad); overscroll-behavior-x: contain;
  scrollbar-width: none; -webkit-overflow-scrolling: touch;
}
.home-benefits__track::-webkit-scrollbar { display: none; }
.home-benefits__track:focus-visible { outline-offset: -3px; }
.home-benefit { flex: 0 0 min(1057px, 100%); scroll-snap-align: start; display: grid; grid-template-columns: 480px 1fr; gap: 54px; padding: 20px; min-height: 520px; background: #fff; border-radius: 20px; position: relative; }
.home-benefit__media { border-radius: 12px; overflow: hidden; height: 480px; }
.home-benefit__media--green { background: var(--c-green); }
.home-benefit__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1200ms var(--ease); }
.home-benefit:hover .home-benefit__media img { transform: scale(1.03); }
.home-benefit__body { padding: 34px 40px 60px 0; }
.home-benefit__title { font-family: var(--ff-display); font-weight: 700; font-size: clamp(24px, 1.2rem + .8vw, 32px); letter-spacing: .64px; line-height: normal; }
.home-benefit__list { margin-top: 18px; padding: 0; list-style: none; font-size: 16px; line-height: 32px; color: var(--c-grey); }
.home-benefit__list li::before { content: "• "; }
.home-benefit__note { margin-top: 28px; max-width: 430px; font-family: var(--ff-display); font-style: italic; font-size: 16px; line-height: 1.6; }
.home-benefit:first-child .home-benefit__note { max-width: 301px; }
.home-round { position: absolute; right: 40px; bottom: 50px; width: 50px; height: 50px; border-radius: 50%; display: grid; place-items: center; background: var(--c-lila); color: #fff; transition: transform var(--dur) var(--ease), background-color var(--dur-fast) var(--ease); }
.home-round--green { background: var(--c-green); }
.home-round:hover, .home-post:hover .home-round { transform: translateX(4px); }

/* ---------- 7 Human expertise (dark) ---------- */
.home-human { position: relative; isolation: isolate; margin-top: 138px; min-height: 808px; padding: 140px 0 163px; color: #fff; }
.home-human__bg { position: absolute; inset: 0; z-index: -1; overflow: hidden; border-radius: 12px; background: #000; }
.home-human__bg img { width: 100%; height: 100%; object-fit: cover; transform: scaleX(-1); }
.home-human__bg::after { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.63); }
.home-human__head { display: grid; grid-template-columns: 861px 1fr; align-items: end; }
.home-human__sub { margin-top: 63px; font-family: var(--ff-display); font-size: 20px; letter-spacing: .4px; line-height: normal; }
.home-human__sub strong { font-weight: 700; }
.home-human__text { margin-top: 17px; max-width: 537px; font-size: 16px; line-height: 28px; }
.home-approach { display: inline-flex; align-items: center; gap: 2px; justify-self: start; margin-bottom: 30px; font-family: var(--ff-display); font-weight: 500; font-style: italic; font-size: 16px; line-height: 1.2; color: #fff; }
.home-approach__icon, .home-approach__label { height: 48px; border: 1px solid #fff; border-radius: 50px; display: inline-grid; place-items: center; transition: background-color var(--dur-fast) var(--ease), color var(--dur-fast) var(--ease), transform var(--dur) var(--ease); }
.home-approach__icon { width: 48px; }
.home-approach__icon img { width: 23px; }
.home-approach__label { width: 238px; }
.home-approach:hover .home-approach__label { background: #fff; color: var(--c-black); }
.home-approach:hover .home-approach__icon { transform: rotate(-15deg); }
.home-human__cols { display: grid; grid-template-columns: 431px 430px 1fr; margin-top: 71px; padding: 0; list-style: none; }
.home-human__cols > li { display: flex; flex-direction: column; justify-content: space-between; gap: 40px; min-height: 189px; padding-left: 44px; padding-right: 40px; border-left: .5px solid var(--c-light-blue); }
.home-human__cols > li:nth-child(n+2) { padding-left: 24px; }
.home-human__colTitle { color: #fff; font-weight: 700; font-size: 20px; letter-spacing: .4px; line-height: normal; max-width: 209px; }
.home-human__cols p { font-size: 16px; line-height: 28px; max-width: 279px; }

/* ---------- 8 Intelligence ---------- */
.home-intel { padding: 158px 0 92px; }
.home-intel__head { display: grid; grid-template-columns: 646px 1fr; }
.home-intel__head .home-h2 { max-width: 606px; }
.home-intel__lead { max-width: 368px; padding-top: 10px; }
.home-intel__grid { display: grid; grid-template-columns: 405px 1fr; gap: 20px; margin-top: 45px; }
.home-intel__media { margin: 0; border-radius: 20px; overflow: hidden; min-height: 646px; }
.home-intel__media img { width: 100%; height: 100%; object-fit: cover; }
.home-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 0; padding: 0; list-style: none; }
.home-step { display: flex; flex-direction: column; justify-content: space-between; gap: 40px; min-height: 313px; padding: 49px 42px 45px; background: #fff; border-radius: 20px; transition: transform var(--dur) var(--ease), box-shadow var(--dur) var(--ease); }
.home-step:hover { transform: translateY(-4px); box-shadow: var(--sh-card); }
.home-step__title { display: flex; align-items: center; gap: 0; font-family: var(--ff-display); font-weight: 700; font-size: 20px; line-height: 1.2; color: var(--c-black); }
.home-step__num::after { content: ""; display: inline-block; vertical-align: middle; width: 27px; height: 1px; margin: 0 24px 0 12px; background: var(--c-black); }
.home-step .t-body { max-width: 269px; }
.home-tagline { display: flex; align-items: center; gap: 24px; margin-top: 145px; font-family: var(--ff-display); font-style: italic; font-size: clamp(18px, 1rem + .5vw, 24px); line-height: 1.2; color: var(--c-grey); }
.home-tagline__line { flex: 1; max-width: 627px; height: .5px; margin-inline: auto; background: var(--c-grey); }
.js .home-tagline[data-reveal] .home-tagline__line { transform: scaleX(0); transition: transform 1200ms var(--ease) 250ms; }
.js .home-tagline.is-in .home-tagline__line { transform: none; }

/* ---------- 9 Leadership ---------- */
.home-leaders { padding: 166px 0 54px; }
.home-leaders__grid { display: grid; grid-template-columns: 431px 411px 411px; column-gap: 19px; }
.home-leaders__grid > :first-child { margin-right: -19px; }
.home-leaders__intro { padding-top: 64px; }
.home-leaders__intro .home-h2 { max-width: 405px; }
.home-leaders__text { max-width: 339px; margin-top: 30px; }
.home-leaders__intro .home-link { margin-top: 26px; }
.home-person { min-height: 457px; padding: 39px 40px 40px; border: 1px solid var(--c-light-blue); border-radius: 20px; transition: border-color var(--dur) var(--ease), transform var(--dur) var(--ease); }
.home-person:hover { border-color: var(--c-blue); transform: translateY(-4px); }
.home-person__photo { width: 100px; height: 100px; border-radius: 10px; object-fit: cover; }
.home-person__name { margin-top: 20px; font-family: var(--ff-display); font-weight: 700; font-size: clamp(26px, 1.4rem + .5vw, 32px); letter-spacing: .64px; line-height: normal; }
.home-person__role { margin-top: 4px; font-style: italic; font-size: 16px; line-height: 28px; color: var(--c-black); min-height: 56px; }
.home-person .t-body { margin-top: 24px; max-width: 331px; }

/* ---------- 10 Built for aviation ---------- */
.home-built { position: relative; isolation: isolate; margin-top: 0; min-height: 808px; display: grid; align-items: center; color: #fff; padding-block: 120px; }
.home-built__bg { position: absolute; inset: 0; z-index: -1; overflow: hidden; border-radius: 20px; background: #000; }
.home-built__bg img { width: 100%; height: 100%; object-fit: cover; }
.home-built__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.35), rgba(0,0,0,.1) 50%, rgba(0,0,0,.35)); }
.home-built__inner { display: grid; grid-template-columns: 431px 430px 1fr; align-items: center; }
.home-built__title { font-family: var(--ff-display); font-weight: 500; font-size: var(--home-xl); line-height: 1; color: #fff; max-width: 400px; }
.home-built__tag { align-self: center; padding-top: 12px; font-family: var(--ff-display); font-style: italic; font-size: 20px; line-height: 1.2; }
.home-built__tag strong { display: block; font-weight: 700; }
.home-built__text { padding-left: 31px; border-left: .5px solid var(--c-light-blue); max-width: 404px; font-size: 16px; line-height: 28px; }
.home-built__text p + p { margin-top: 28px; }

/* ---------- 11 Insights ---------- */
.home-insights { padding: 238px 0 138px; }
.home-insights__head { display: grid; grid-template-columns: 754px 1fr; }
.home-insights__head .home-h2 { max-width: 659px; }
.home-insights__side { padding-top: 28px; max-width: 397px; }
.home-insights__side .home-link { margin-top: 30px; }
.home-posts { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 40px; padding: 0; list-style: none; }
.home-post { position: relative; height: 100%; min-height: 526px; padding: 40px 40px 40px; background: var(--c-light-grey); border-radius: 20px; }
.home-post__media { height: 280px; border-radius: 20px; overflow: hidden; }
.home-post__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1200ms var(--ease); }
.home-post:hover .home-post__media img { transform: scale(1.04); }
.home-post__title { margin-top: 24px; max-width: 539px; padding-right: 64px; font-family: var(--ff-display); font-weight: 600; font-size: clamp(20px, 1.1rem + .4vw, 24px); line-height: 1.2; }
.home-post__title a::after { content: ""; position: absolute; inset: 0; border-radius: 20px; } /* whole card clickable */
.home-post__meta { margin-top: 18px; font-size: 16px; line-height: 28px; color: var(--c-black); }
.home-post__btn { width: 48px; height: 48px; right: 40px; bottom: 40px; }

/* ================= Responsive ================= */
@media (max-width: 1440px) {
  .home-hero__inner { grid-template-columns: 1fr minmax(260px, 403px); }
  .home-intro, .home-human__cols, .home-built__inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-why__head, .home-trust__head, .home-intel__head, .home-quote { grid-template-columns: 51% 1fr; }
  .home-why__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
  .home-human__head { grid-template-columns: 1fr auto; gap: 32px; }
  .home-leaders__grid { grid-template-columns: 1fr 1fr 1fr; column-gap: 20px; }
  .home-leaders__grid > :first-child { margin-right: 0; }
  .home-insights__head { grid-template-columns: 1fr minmax(300px, 397px); gap: 48px; }
  .home-benefit { flex-basis: min(1057px, 84%); }
  .home-solutions__body { grid-template-columns: 1fr minmax(300px, 437px) 1fr; }
  .home-solutions__features { padding-left: 40px; }
}

@media (max-width: 1199px) {
  .home-hero { padding-top: 240px; }
  .home-solutions__frame::before { -webkit-mask: none; mask: none; border-bottom: 0; }
  .home-solutions__frame { height: auto; padding: 120px 24px 80px; margin-bottom: 0; }
  .home-solutions__body { grid-template-columns: 1fr 1fr; gap: 48px 40px; }
  .home-solutions__media { grid-column: 1 / -1; grid-row: 1; height: auto; aspect-ratio: 16 / 10; }
  .home-solutions__intro { padding-top: 0; }
  .home-solutions__num { top: 2px; left: -12px; }
  .home-solutions__features { padding: 0; }
  .home-solutions__next { position: relative; right: auto; top: auto; margin: 24px 0 0 36px; }
  .home-benefit { grid-template-columns: minmax(0, 40%) 1fr; gap: 40px; }
  .home-benefit__media { height: auto; min-height: 420px; }
  .home-leaders__grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .home-leaders__intro { grid-column: 1 / -1; padding: 0 0 24px; }
  .home-human__head { grid-template-columns: 1fr; align-items: start; }
  .home-approach { margin-bottom: 0; }
}

@media (max-width: 899px) {
  .home-hero { padding-top: 160px; }
  .home-hero__bg { height: 760px; }
  .home-hero__inner, .home-why__head, .home-trust__head, .home-intel__head, .home-quote, .home-insights__head { grid-template-columns: 1fr; gap: 24px; }
  .home-hero__ctas { margin-top: 16px; grid-auto-flow: row; }
  .home-intro { grid-template-columns: 1fr; gap: 40px; margin-top: 72px; }
  .home-intro__col { padding: 32px 0 0; max-width: 560px; }
  .home-why { padding-top: 112px; }
  .home-why__lead { padding-top: 0; }
  .home-why__list { grid-template-columns: 1fr; gap: 28px; margin-top: 48px; }
  .home-solutions { padding-top: 112px; }
  .home-solutions__frame { padding: 88px 16px 56px; }
  .home-solutions__body { grid-template-columns: 1fr; }
  .home-solutions__intro { max-width: none; }
  .home-marquee { margin-top: 104px; }
  .home-trust { padding: 112px 0 96px; }
  .home-stats { margin-top: 16px; }
  .home-logos { flex-wrap: wrap; justify-content: center; gap: 28px 40px; margin-top: 64px; }
  .home-divider { margin-top: 72px; }
  .home-quote { margin-top: 48px; gap: 40px; }
  .home-quote__aside { order: 2; flex-direction: row; align-items: center; flex-wrap: wrap; }
  .home-quote__author { margin-top: 32px; }
  .home-band { padding-top: 96px; border-radius: 16px; }
  .home-benefits__head { flex-wrap: wrap; }
  .home-benefit { flex-basis: 86%; grid-template-columns: 1fr; gap: 24px; padding: 16px; }
  .home-benefit__media { min-height: 0; aspect-ratio: 4 / 3; height: auto; }
  .home-benefit__body { padding: 0 8px 80px; }
  .home-round { right: 24px; bottom: 24px; }
  .home-human { margin-top: 96px; padding: 96px 0; min-height: 0; }
  .home-human__sub { margin-top: 32px; }
  .home-human__cols { grid-template-columns: 1fr; gap: 32px; margin-top: 64px; }
  .home-human__cols > li, .home-human__cols > li:nth-child(n+2) { min-height: 0; gap: 12px; padding-left: 24px; }
  .home-intel { padding: 104px 0 80px; }
  .home-intel__grid { grid-template-columns: 1fr; margin-top: 48px; }
  .home-intel__media { min-height: 0; aspect-ratio: 4 / 3; }
  .home-step { min-height: 220px; padding: 32px 28px; }
  .home-tagline { margin-top: 72px; }
  .home-leaders { padding: 104px 0 48px; }
  .home-built { min-height: 640px; padding-block: 96px; }
  .home-built__inner { grid-template-columns: 1fr; gap: 32px; }
  .home-built__text { padding-left: 24px; }
  .home-insights { padding: 120px 0 96px; }
  .home-insights__side { padding-top: 0; }
  .home-posts { grid-template-columns: 1fr; margin-top: 40px; }
  .home-post { min-height: 0; }
}

@media (max-width: 639px) {
  .home-hero { padding-top: 136px; }
  .home-cta__label { padding-inline: 24px; }
  .home-solutions__label { top: 16px; font-size: 14px; letter-spacing: 3px; }
  .home-solutions__label--l { left: 16px; } .home-solutions__label--r { right: 16px; }
  .home-stats { grid-template-columns: 1fr 1fr; row-gap: 24px; }
  .home-stats__value span { font-size: 14px; }
  .home-logos { gap: 20px 24px; }
  .home-steps { grid-template-columns: 1fr; }
  .home-step { min-height: 0; }
  .home-tagline { flex-wrap: wrap; justify-content: space-between; gap: 12px; }
  .home-tagline__line { order: 3; flex-basis: 100%; max-width: none; }
  .home-leaders__grid { grid-template-columns: 1fr; }
  .home-person { min-height: 0; padding: 28px; }
  .home-person__role { min-height: 0; }
  .home-post { padding: 16px 16px 24px; }
  .home-post__media { height: auto; aspect-ratio: 16 / 9; border-radius: 12px; }
  .home-post__title { padding-right: 56px; }
  .home-post__btn { right: 16px; bottom: 24px; }
  .home-approach__label { width: auto; padding-inline: 24px; }
}

/* late overrides */
.home-human .home-h2 { color: #fff; }
.home-human__cols > li:nth-child(1) .home-human__colTitle { max-width: 142px; }
.home-human__cols > li:nth-child(2) .home-human__colTitle { max-width: 136px; }
.home-step:nth-child(odd) .t-body { max-width: 204px; }
.home-step:nth-child(2) .t-body { max-width: 248px; }
.home-solutions__list li, .home-benefit__list li { position: relative; padding-left: .75em; }
.home-solutions__list li::before, .home-benefit__list li::before { content: "•"; position: absolute; left: 0; }
.home-logos__item--ingold { --ar: 150 / 64; } .home-logos__item--ba, .home-logos__item--aa { --ar: 227 / 62; }
.home-logos__item--lh { --ar: 226 / 62; } .home-logos__item--swiss { --ar: 133 / 35; }
@media (max-width: 899px) {
  .home-logos__item { width: auto; height: 52px; aspect-ratio: var(--ar); }
  .home-logos__item--swiss { height: 30px; }
  .home-solutions__list { line-height: 30px; }
  .home-solutions__list li + li { margin-top: 8px; }
}
@media (max-width: 639px) {
  .home-logos { gap: 20px 28px; }
  .home-logos__item { height: 42px; }
  .home-logos__item--swiss { height: 24px; }
}
@media (max-width: 899px) { .home-benefit { min-height: 0; align-content: start; } }
@media (max-width: 899px) { .home-built__bg::after { background: linear-gradient(180deg, rgba(0,0,0,.35), rgba(0,0,0,.7)); } .home-built__bg img { object-position: 30% 50%; } }
